:root {
  --nayuta-ink: #16221d;
  --nayuta-green: #126247;
  --nayuta-green-deep: #103d31;
  --nayuta-lime: #a8d94e;
  --nayuta-mist: #f2f6ef;
  --nayuta-blue-mist: #edf4f8;
  --nayuta-line: #d8e1da;
  --nayuta-white: #ffffff;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "BIZ UDGothic", "BIZ UDPGothic", "Hiragino Sans",
    "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif !important;
  color: var(--nayuta-ink);
  background: var(--nayuta-white);
  word-break: normal;
  overflow-wrap: break-word;
}

button,
input,
select,
textarea {
  font-family: inherit !important;
}

a {
  transition: color 0.2s ease, background-color 0.2s ease, opacity 0.2s ease;
}

::selection {
  color: var(--nayuta-ink);
  background: #d8ecb3;
}

.section-inner {
  width: min(1200px, calc(100% - 48px));
}

.section-head .en {
  color: var(--nayuta-green);
  font-size: 2.2rem;
  line-height: 1.25;
}

.section-head .jp {
  color: var(--nayuta-ink);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}

.header-pc .wrap {
  padding: 2.4rem 5vw;
  border-bottom: 1px solid rgba(22, 34, 29, 0.12);
  background: rgba(255, 255, 255, 0.96);
}

.header-pc .wrap .block:nth-child(2) nav ul li a {
  color: var(--nayuta-ink);
}

.header-pc .wrap .block:nth-child(2) nav ul li a:hover {
  color: var(--nayuta-green);
  opacity: 1;
}

.header-btn div,
.header-btn a {
  background: var(--nayuta-green-deep);
  border-radius: 6px;
  box-shadow: 0 6px 16px rgba(16, 61, 49, 0.18);
}

.header-btn a:hover {
  background: var(--nayuta-green);
  opacity: 1;
}

.site-ttl p:nth-child(1) {
  color: var(--nayuta-green);
}

.site-ttl p:nth-child(2) {
  color: var(--nayuta-ink);
}

.mission-section .container {
  background-color: var(--nayuta-mist);
}

.mission2-section .filter {
  background: var(--nayuta-green-deep);
  opacity: 0.68;
}

.mission2-section .container .head .en {
  color: #d9efbd;
}

.business-section,
.biz-section,
.survey-section,
.registration-section,
.permit-section,
.flow-section,
.faq-section,
.team-section,
.price-section,
.page-contact-section,
.about-section,
.company-section,
.recruit-section,
.access-section,
.blog-section,
.single-section {
  position: relative;
}

.business-section .head-wrap .more,
.biz-section .more,
.return a {
  color: var(--nayuta-green);
}

.business-section .head-wrap .more:hover,
.biz-section .more:hover,
.return a:hover {
  color: var(--nayuta-green-deep);
  opacity: 1;
}

.business-wrap .block {
  border-radius: 8px 8px 0 8px;
  box-shadow: 0 10px 24px rgba(22, 34, 29, 0.14);
}

.business-wrap .block .filter {
  background: var(--nayuta-green-deep);
  opacity: 0.52;
}

.business-wrap .block:hover .filter {
  opacity: 0.22;
}

.lineup-section {
  background: var(--nayuta-mist);
}

.lineup-section .container .wrap .block {
  border: 1px solid var(--nayuta-line);
  border-radius: 8px 8px 0 8px;
  background: var(--nayuta-white);
  color: var(--nayuta-ink);
  box-shadow: 0 8px 20px rgba(22, 34, 29, 0.08);
}

.lineup-section .container .wrap .block:hover {
  background: #f9fcf7;
  opacity: 1;
}

.link-section {
  background: var(--nayuta-blue-mist);
}

.link-section .container .wrap .block {
  border: 1px solid #cfdee8;
  border-radius: 8px;
  background: var(--nayuta-white);
  box-shadow: 0 8px 20px rgba(19, 57, 76, 0.08);
}

.link-section .container .wrap .block:hover {
  background: #fbfdff;
  opacity: 1;
}

.link2-section {
  background: var(--nayuta-green-deep);
}

.link2-section .container .wrap .block {
  border-radius: 8px;
  box-shadow: none;
}

.link2-section .container .wrap .block:hover {
  background: #f6fbf1;
  opacity: 1;
}

.contact-section {
  background-color: #e7f1dc;
}

.contact-section .wrap a {
  border-radius: 8px;
}

.contact-section .wrap a .bg::before {
  background: #95b9a1;
  border-radius: 8px;
}

.contact-section .wrap a .bg::after {
  border-radius: 8px;
}

.contact-section .wrap a:hover {
  opacity: 1;
}

.contact-section .wrap a:hover .bg::after {
  background: #fbfef8;
}

.contact-section .wrap a .content .block:nth-child(2) .mail {
  border-radius: 6px;
  background: var(--nayuta-lime);
}

.mv-section.page-mv .container .wrap .en {
  color: var(--nayuta-green);
}

.mv-section.page-mv .container .wrap .page-ttl {
  color: var(--nayuta-ink);
}

.biz-intro-section .ttl,
.equip-section .container .head,
.flow-section .container .intro,
.page-contact-section .container .intro {
  color: var(--nayuta-ink);
}

.biz-intro-section .txt,
.biz-section .container .wrap .block .body div .txt2,
.flow-section .container .flow .wrap .block:nth-child(2) .txt,
.about-section .container .wrap .block .box .txt {
  line-height: 2;
}

.biz-wrap {
  border: 1px solid var(--nayuta-line);
  border-radius: 8px;
  background: #f7faf5;
}

.biz-wrap .biz-circle {
  background: var(--nayuta-lime);
}

.nayuta-info-note {
  border: 1px solid var(--nayuta-line);
  border-left: 4px solid var(--nayuta-green);
  border-radius: 8px;
  background: var(--nayuta-mist);
  box-shadow: none;
}

.price-section .nayuta-info-note {
  background: var(--nayuta-blue-mist);
  border-color: #cfdee8;
  border-left-color: #397796;
}

.flow-section .container .flow .wrap {
  border-color: var(--nayuta-line);
}

.flow-section .container .flow .wrap .block:nth-child(1) .number {
  background: var(--nayuta-green);
}

.flow-section .container .flow .wrap .block:nth-child(2) .head .ttl {
  color: var(--nayuta-green-deep);
}

.faq-section .container .side-col ul {
  border-left-color: var(--nayuta-green);
}

.faq-section .container .side-col ul li a {
  color: var(--nayuta-ink);
}

.faq-section .container .side-col ul li a:hover {
  color: var(--nayuta-green);
  opacity: 1;
}

.faq-section .container .main-col .faq .head {
  color: var(--nayuta-green-deep);
}

.faq-section .container .main-col .faq .wrap .block {
  border-bottom-color: var(--nayuta-line);
}

.faq-section .container .main-col .faq .wrap .block .box.question {
  background: #f7faf5;
}

.faq-section .container .main-col .faq .wrap .block .box.answer {
  background: var(--nayuta-white);
}

.faq-section .container .main-col .faq .wrap .block .box .inbox .txt {
  line-height: 1.9;
}

.company-table tr {
  border-bottom-color: var(--nayuta-line);
}

.company-table tr th {
  color: var(--nayuta-green-deep);
}

.company-table tr td {
  color: var(--nayuta-ink);
}

.nayuta-philosophy-section {
  margin: 12rem 0 14rem;
}

.nayuta-philosophy-section .section-head {
  margin-bottom: 3.2rem;
}

.nayuta-philosophy-hero {
  position: relative;
  overflow: hidden;
  padding: 4.8rem;
  border-radius: 8px;
  background: #102e25;
  color: #fff;
}

.nayuta-philosophy-hero::after {
  content: "";
  position: absolute;
  right: 3.2rem;
  bottom: 3.2rem;
  width: 14rem;
  height: 14rem;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
}

.nayuta-philosophy-hero p {
  position: relative;
  z-index: 1;
  max-width: 900px;
  color: #fff;
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.5;
}

.nayuta-philosophy-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.6rem;
  margin-top: 1.6rem;
}

.nayuta-philosophy-card,
.nayuta-value-block {
  border: 1px solid var(--nayuta-line);
  border-radius: 8px;
  background: var(--nayuta-white);
}

.nayuta-philosophy-card {
  padding: 3.2rem;
}

.nayuta-philosophy-card span,
.nayuta-value-head .en {
  display: block;
  margin-bottom: 1rem;
  color: #d19700;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.nayuta-philosophy-card h3,
.nayuta-value-head h3 {
  color: var(--nayuta-green-deep);
  font-size: 2.2rem;
  line-height: 1.55;
}

.nayuta-philosophy-card h3 {
  margin-bottom: 1.4rem;
}

.nayuta-philosophy-card p {
  color: #31483d;
  font-size: 1.5rem;
  line-height: 2;
}

.nayuta-value-block {
  margin-top: 1.6rem;
  padding: 3.2rem;
  background: #f8fbf6;
}

.nayuta-value-head {
  margin-bottom: 2.4rem;
}

.nayuta-value-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.2rem;
  padding: 0;
  margin: 0;
  counter-reset: nayuta-value;
  list-style: none;
}

.nayuta-value-list li {
  position: relative;
  min-height: 13rem;
  padding: 2rem 2rem 2rem 5.6rem;
  border: 1px solid rgba(16, 61, 49, 0.12);
  border-radius: 8px;
  background: var(--nayuta-white);
  counter-increment: nayuta-value;
}

.nayuta-value-list li::before {
  content: counter(nayuta-value);
  position: absolute;
  top: 2rem;
  left: 2rem;
  display: grid;
  place-items: center;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  background: var(--nayuta-green);
  color: #fff;
  font-size: 1.3rem;
  font-weight: 700;
}

.nayuta-value-list strong,
.nayuta-value-list span {
  display: block;
}

.nayuta-value-list strong {
  margin-bottom: 0.8rem;
  color: var(--nayuta-green-deep);
  font-size: 1.6rem;
  line-height: 1.5;
}

.nayuta-value-list span {
  color: #31483d;
  font-size: 1.4rem;
  line-height: 1.8;
}

.page-contact-section .container .wrap .block:nth-child(2),
.page-contact-section .container .wrap .block:nth-child(1) .box,
.contact-box {
  border-radius: 8px;
}

.page-contact-section .container .wrap .block:nth-child(2) {
  border: 1px solid var(--nayuta-line);
  background: #f8fbf6;
}

.page-contact-section .container .wrap .block:nth-child(1) .box:nth-child(3) .sns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.4rem;
  max-width: 380px;
}

.page-contact-section .container .wrap .block:nth-child(1) .box:nth-child(3) .sns a {
  width: auto;
  min-height: 13.6rem;
  padding: 0;
  padding-bottom: 0;
  border: 1px solid var(--nayuta-line);
  background: #f6f7f1;
}

.page-contact-section .container .wrap .block:nth-child(1) .box:nth-child(3) .sns a:nth-child(1) {
  margin-right: 0;
}

.page-contact-section .container .wrap .block:nth-child(1) .box:nth-child(3) .sns a > div {
  position: static;
  min-height: 13.6rem;
  padding: 2.2rem 1rem 1.8rem;
  flex-direction: column;
}

.page-contact-section .container .wrap .block:nth-child(1) .box:nth-child(3) .sns a img {
  max-height: 4.8rem;
  margin-bottom: 1.6rem;
}

.page-contact-section .container .wrap .block:nth-child(1) .box:nth-child(3) .sns a .txt {
  position: static;
  display: block;
  font-size: 1.3rem;
  line-height: 1.4;
}

.nayuta-social-mark {
  display: grid;
  place-items: center;
  width: 4.8rem;
  height: 4.8rem;
  margin: 0 auto 1.6rem;
  border-radius: 50%;
  background: #050505;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 800;
  letter-spacing: 0;
}

.nayuta-social-mark.is-youtube {
  width: 5.8rem;
  border-radius: 8px;
}

.nayuta-social-mark.is-tiktok {
  background: linear-gradient(135deg, #111 0%, #111 55%, #00f2ea 55%, #ff0050 100%);
  font-size: 1.5rem;
}

.page-contact-section input[type="text"],
.page-contact-section input[type="email"],
.page-contact-section input[type="tel"],
.page-contact-section textarea {
  border: 1px solid #bac9bd;
  border-radius: 6px;
  background: var(--nayuta-white);
}

.page-contact-section input[type="text"]:focus,
.page-contact-section input[type="email"]:focus,
.page-contact-section input[type="tel"]:focus,
.page-contact-section textarea:focus {
  border-color: var(--nayuta-green);
  box-shadow: 0 0 0 3px rgba(18, 98, 71, 0.14);
}

.page-contact-section input[type="submit"] {
  border-radius: 6px;
  background: var(--nayuta-green);
  color: var(--nayuta-white);
}

.page-contact-section input[type="submit"]:hover {
  background: var(--nayuta-green-deep);
  opacity: 1;
}

.blog-list li a {
  border-radius: 8px;
}

.blog-list li a .img,
.single-section .container .wrap .main-col .single .head .img {
  border-radius: 8px;
}

.blog-list li a:hover {
  opacity: 1;
}

.blog-list li a:hover .ttl {
  color: var(--nayuta-green);
}

.single-section .container {
  border-bottom-color: var(--nayuta-line);
}

.single-section .container .wrap .main-col .single .head .ttl {
  color: var(--nayuta-ink);
  line-height: 1.5;
}

.footer {
  background: var(--nayuta-green-deep);
  color: var(--nayuta-white);
}

.footer a,
.footer .container .wrap .block:nth-child(1) .head h2,
.footer .container .wrap .block:nth-child(1) .head p {
  color: var(--nayuta-white);
}

.footer .container .copyright {
  color: #dbe7df;
}

@media screen and (min-width: 768px) {
  .section-head .en {
    font-size: 2.8rem;
  }

  .section-head .jp {
    font-size: 2.2rem;
  }

  .business-section,
  .biz-section,
  .survey-section,
  .registration-section,
  .permit-section,
  .flow-section,
  .faq-section,
  .team-section,
  .price-section,
  .page-contact-section,
  .about-section,
  .company-section,
  .recruit-section,
  .access-section,
  .blog-section,
  .single-section {
    margin-top: 12rem;
    margin-bottom: 12rem;
  }

  .company-section .company-table tr,
  .recruit-section .company-table tr {
    padding-top: 2.2rem;
    padding-bottom: 2.2rem;
  }
}

@media screen and (max-width: 767px) {
  .section-inner {
    width: min(100% - 40px, 1200px);
  }

  .header-sp {
    min-height: 8rem;
    background: var(--nayuta-white);
    border-bottom: 1px solid rgba(22, 34, 29, 0.1);
  }

  .header-sp .site-ttl {
    left: 2rem;
  }

  .header-btn {
    right: 1.4rem;
  }

  .mv-section {
    margin-bottom: 3rem;
  }

  .mission-section .container,
  .lineup-section,
  .link-section,
  .link2-section,
  .contact-section {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .mission2-section {
    padding-top: 14rem;
    padding-bottom: 14rem;
  }

  .business-section,
  .biz-section,
  .survey-section,
  .registration-section,
  .permit-section,
  .flow-section,
  .faq-section,
  .team-section,
  .price-section,
  .page-contact-section,
  .about-section,
  .company-section,
  .recruit-section,
  .access-section,
  .blog-section,
  .single-section {
    margin-top: 7rem;
    margin-bottom: 7rem;
  }

  .biz-wrap,
  .nayuta-info-note {
    padding: 2.4rem 2rem;
  }

  .lineup-section .container .wrap .block,
  .link-section .container .wrap .block,
  .link2-section .container .wrap .block {
    border-radius: 8px;
  }

  .faq-section .container .main-col .faq .wrap .block .box {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }

  .page-contact-section .container .wrap .block:nth-child(2) {
    padding: 3.2rem 2rem;
  }

  .footer {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.nayuta-blog-gateway {
  margin: 0 0 5.6rem;
  padding: 0;
  overflow: hidden;
  border: 1px solid #0f3a2d;
  border-radius: 8px;
  background: #0f2d24;
  box-shadow: 0 24px 60px rgba(14, 45, 36, 0.16);
}

.nayuta-blog-gateway--unified {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  min-height: 360px;
}

.nayuta-blog-gateway__content {
  position: relative;
  padding: 4.8rem;
}

.nayuta-blog-gateway__content::after {
  content: "";
  position: absolute;
  right: 3.2rem;
  bottom: 3.2rem;
  width: 16rem;
  height: 16rem;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
}

.nayuta-blog-gateway__365 {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 3.6rem;
  background: #f4f8ef;
  color: var(--nayuta-ink);
}

.nayuta-blog-gateway__content .en,
.nayuta-guide-kicker {
  margin-bottom: 0.8rem;
  color: #d7a323;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.nayuta-blog-gateway__content h2 {
  max-width: 680px;
  margin-bottom: 1.8rem;
  color: #fff;
  font-size: 4rem;
  line-height: 1.35;
}

.nayuta-blog-gateway__content p:not(.en) {
  max-width: 720px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 1.7rem;
  line-height: 1.9;
}

.nayuta-blog-gateway__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 3.2rem;
}

.nayuta-blog-gateway__primary,
.nayuta-blog-gateway__secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 1.2rem 1.8rem;
  border-radius: 6px;
  font-size: 1.5rem;
  font-weight: 700;
}

.nayuta-blog-gateway__primary {
  background: #fff;
  color: var(--nayuta-green-deep);
}

.nayuta-blog-gateway__secondary {
  border: 1px solid rgba(255, 255, 255, 0.36);
  color: #fff;
}

.nayuta-blog-gateway__primary:hover,
.nayuta-blog-gateway__secondary:hover {
  opacity: 0.86;
}

.nayuta-blog-gateway__365 .label {
  margin-bottom: 1.4rem;
  color: var(--nayuta-green);
  font-size: 1.3rem;
  font-weight: 700;
  text-transform: uppercase;
}

.nayuta-blog-gateway__365 strong {
  margin-bottom: 1.4rem;
  color: var(--nayuta-green-deep);
  font-size: 2.8rem;
  line-height: 1.35;
}

.nayuta-blog-gateway__365 p {
  color: #354b40;
  font-size: 1.5rem;
  line-height: 1.8;
}

.nayuta-guide-365 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.48fr);
  gap: 2.4rem;
  padding: 3.4rem;
  border: 1px solid #123a2f;
  border-radius: 8px;
  background: #102e25;
}

.nayuta-guide-365 h2 {
  margin-bottom: 1.4rem;
  color: #fff;
  font-size: 3.2rem;
  line-height: 1.35;
}

.nayuta-guide-365 p {
  color: rgba(255, 255, 255, 0.84);
  font-size: 1.6rem;
  line-height: 1.9;
}

.nayuta-guide-365__link {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 210px;
  padding: 2.8rem;
  border-radius: 8px;
  background: #f4f8ef;
}

.nayuta-guide-365__link span,
.nayuta-guide-365__link strong {
  display: block;
}

.nayuta-guide-365__link span {
  margin-bottom: 1rem;
  color: var(--nayuta-green);
  font-size: 1.3rem;
  font-weight: 700;
}

.nayuta-guide-365__link strong {
  color: var(--nayuta-green-deep);
  font-size: 2rem;
  line-height: 1.5;
}

.nayuta-guide {
  padding: 10rem 0 14rem;
}

.nayuta-guide-hero,
.nayuta-guide-block,
.nayuta-guide-ending {
  margin-bottom: 8rem;
}

.nayuta-guide-hero {
  max-width: 920px;
}

.nayuta-guide-hero h2 {
  margin-bottom: 2.2rem;
  color: var(--nayuta-green-deep);
  font-size: 4.2rem;
  line-height: 1.35;
}

.nayuta-guide-hero p:not(.nayuta-guide-kicker) {
  color: #32483d;
  font-size: 1.8rem;
  line-height: 2;
}

.nayuta-guide-hero p:not(:last-child) {
  margin-bottom: 1.4rem;
}

.nayuta-guide-nav {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-bottom: 8rem;
  padding: 1.2rem;
  border: 1px solid var(--nayuta-line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
}

.nayuta-guide-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0.8rem 1.4rem;
  border-radius: 6px;
  background: #f2f6ef;
  color: var(--nayuta-green-deep);
  font-size: 1.4rem;
  font-weight: 700;
}

.nayuta-guide-nav a:hover {
  background: var(--nayuta-green);
  color: var(--nayuta-white);
}

.nayuta-guide-block .section-head {
  margin-bottom: 3.2rem;
}

.nayuta-guide-purpose-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.6rem;
}

.nayuta-guide-purpose,
.nayuta-guide-flow,
.nayuta-guide-structure-grid article,
.nayuta-guide-contact,
.nayuta-guide-ending {
  border: 1px solid var(--nayuta-line);
  border-radius: 8px;
  background: var(--nayuta-white);
}

.nayuta-guide-purpose {
  padding: 2.8rem;
}

.nayuta-guide-purpose__number {
  display: inline-block;
  margin-bottom: 1.4rem;
  color: #d99a00;
  font-size: 1.4rem;
  font-weight: 700;
}

.nayuta-guide-purpose h3,
.nayuta-guide-flow h3,
.nayuta-guide-structure-grid h3,
.nayuta-guide-docs h3 {
  color: var(--nayuta-green-deep);
  font-size: 2rem;
  line-height: 1.55;
}

.nayuta-guide-purpose h3 {
  margin-bottom: 1.2rem;
}

.nayuta-guide-purpose p,
.nayuta-guide-intro,
.nayuta-guide-structure-grid,
.nayuta-guide-message,
.nayuta-guide-contact p,
.nayuta-guide-ending p {
  color: #31483d;
  font-size: 1.5rem;
  line-height: 1.9;
}

.nayuta-guide-purpose ul,
.nayuta-guide-structure-grid ul,
.nayuta-guide-docs ul {
  padding-left: 1.2em;
  margin: 1.6rem 0 2rem;
}

.nayuta-guide-purpose li,
.nayuta-guide-structure-grid li,
.nayuta-guide-docs li {
  margin-bottom: 0.7rem;
  font-size: 1.4rem;
  line-height: 1.7;
}

.nayuta-guide-purpose a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  color: var(--nayuta-green);
  font-size: 1.4rem;
  font-weight: 700;
}

.nayuta-guide-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--nayuta-line);
  border-radius: 8px;
  background: var(--nayuta-white);
}

.nayuta-guide-category-table {
  width: 100%;
  min-width: 720px;
}

.nayuta-guide-category-table th,
.nayuta-guide-category-table td {
  padding: 1.8rem 2rem;
  border-bottom: 1px solid var(--nayuta-line);
  font-size: 1.5rem;
  line-height: 1.8;
  text-align: left;
  vertical-align: top;
}

.nayuta-guide-category-table thead th {
  background: #f2f6ef;
  color: var(--nayuta-green-deep);
  font-weight: 700;
}

.nayuta-guide-category-table tbody th {
  width: 28%;
  color: var(--nayuta-green-deep);
  font-weight: 700;
}

.nayuta-guide-category-table tr:last-child th,
.nayuta-guide-category-table tr:last-child td {
  border-bottom: 0;
}

.nayuta-guide-flow-grid,
.nayuta-guide-structure-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.6rem;
  margin-top: 2.8rem;
}

.nayuta-guide-flow {
  padding: 2.8rem;
  background: #fbfdf9;
}

.nayuta-guide-flow h3 {
  margin-bottom: 1.8rem;
}

.nayuta-guide-flow ol {
  display: grid;
  gap: 1.2rem;
  padding: 0;
  margin: 0;
  list-style: none;
  counter-reset: guide-flow;
}

.nayuta-guide-flow li {
  position: relative;
  padding: 1.3rem 1.4rem 1.3rem 4.2rem;
  border-radius: 6px;
  background: var(--nayuta-white);
  color: #283f34;
  font-size: 1.5rem;
  line-height: 1.6;
  counter-increment: guide-flow;
}

.nayuta-guide-flow li::before {
  content: counter(guide-flow);
  position: absolute;
  top: 1.2rem;
  left: 1.2rem;
  display: grid;
  place-items: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  background: var(--nayuta-green);
  color: var(--nayuta-white);
  font-size: 1.2rem;
  font-weight: 700;
}

.nayuta-guide-structure-grid article {
  padding: 3rem;
}

.nayuta-guide-structure-grid h3 {
  margin-bottom: 1.8rem;
}

.nayuta-guide-structure-grid dl {
  margin: 0;
}

.nayuta-guide-structure-grid dl div {
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--nayuta-line);
}

.nayuta-guide-structure-grid dl div:last-child {
  border-bottom: 0;
}

.nayuta-guide-structure-grid dt {
  margin-bottom: 0.4rem;
  color: var(--nayuta-green);
  font-size: 1.5rem;
  font-weight: 700;
}

.nayuta-guide-structure-grid dd {
  margin: 0;
  font-size: 1.4rem;
  line-height: 1.8;
}

.nayuta-guide-message {
  margin-top: 2rem;
  padding: 2.8rem;
  border-left: 5px solid #d99a00;
  border-radius: 8px;
  background: #f7faf5;
}

.nayuta-guide-contact {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
  gap: 3rem;
  padding: 4rem;
  background: #f7faf5;
}

.nayuta-guide-contact h2 {
  margin-bottom: 1.6rem;
  color: var(--nayuta-green-deep);
  font-size: 3rem;
  line-height: 1.45;
}

.nayuta-guide-docs {
  padding: 2.4rem;
  border-radius: 8px;
  background: var(--nayuta-white);
}

.nayuta-guide-contact-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 1.2rem 1.8rem;
  border-radius: 6px;
  background: var(--nayuta-green);
  color: var(--nayuta-white);
  font-size: 1.5rem;
  font-weight: 700;
}

.nayuta-guide-contact-button:hover {
  background: var(--nayuta-green-deep);
  color: var(--nayuta-white);
}

.nayuta-guide-ending {
  padding: 3.2rem;
  text-align: center;
}

.nayuta-guide-ending strong {
  display: block;
  margin-top: 1.8rem;
  color: var(--nayuta-green-deep);
  font-size: 2.2rem;
  line-height: 1.6;
}

.nayuta-service-page {
  padding: 10rem 0 14rem;
}

.nayuta-service-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: 3rem;
  margin-bottom: 5rem;
  padding: 4.8rem;
  border-radius: 8px;
  background: #102e25;
  color: #fff;
}

.nayuta-service-kicker {
  margin-bottom: 1rem;
  color: #d7a323;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.nayuta-service-hero h2 {
  margin-bottom: 1.8rem;
  font-size: 4rem;
  line-height: 1.35;
}

.nayuta-service-hero p:not(.nayuta-service-kicker) {
  color: rgba(255, 255, 255, 0.86);
  font-size: 1.7rem;
  line-height: 1.95;
}

.nayuta-service-visual {
  display: grid;
  place-items: end start;
  min-height: 300px;
  padding: 2.6rem;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.02)),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.08) 0 1px, transparent 1px 34px),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.08) 0 1px, transparent 1px 34px);
}

.nayuta-service-visual span {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  padding: 0.8rem 1.2rem;
  border-radius: 6px;
  background: #fff;
  color: var(--nayuta-green-deep);
  font-size: 1.4rem;
  font-weight: 700;
}

.nayuta-service-overview,
.nayuta-service-two-col,
.nayuta-service-cta {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 2.4rem;
  margin-bottom: 6rem;
  padding: 3.2rem;
  border: 1px solid var(--nayuta-line);
  border-radius: 8px;
  background: #f7faf5;
}

.nayuta-service-overview h2,
.nayuta-service-two-col h2,
.nayuta-service-cta h2 {
  color: var(--nayuta-green-deep);
  font-size: 2.6rem;
  line-height: 1.45;
}

.nayuta-service-overview ul,
.nayuta-service-two-col ul,
.nayuta-service-two-col ol {
  display: grid;
  gap: 1rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.nayuta-service-overview li,
.nayuta-service-two-col li {
  padding: 1.3rem 1.5rem;
  border-radius: 6px;
  background: #fff;
  color: #283f34;
  font-size: 1.5rem;
  line-height: 1.7;
}

.nayuta-service-block {
  margin-bottom: 6rem;
}

.nayuta-service-block .section-head {
  margin-bottom: 2.8rem;
}

.nayuta-service-case-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.6rem;
}

.nayuta-service-case {
  min-height: 230px;
  padding: 2.6rem;
  border: 1px solid var(--nayuta-line);
  border-radius: 8px;
  background: #fff;
}

.nayuta-service-case h3 {
  margin-bottom: 1.2rem;
  color: var(--nayuta-green-deep);
  font-size: 1.9rem;
  line-height: 1.55;
}

.nayuta-service-case p,
.nayuta-service-cta p {
  color: #31483d;
  font-size: 1.5rem;
  line-height: 1.9;
}

.nayuta-service-two-col section {
  padding: 2.4rem;
  border-radius: 8px;
  background: #fff;
}

.nayuta-service-two-col h2 {
  margin-bottom: 1.8rem;
}

.nayuta-service-two-col ol {
  counter-reset: service-flow;
}

.nayuta-service-two-col ol li {
  position: relative;
  padding-left: 4.4rem;
  counter-increment: service-flow;
}

.nayuta-service-two-col ol li::before {
  content: counter(service-flow);
  position: absolute;
  top: 1.2rem;
  left: 1.2rem;
  display: grid;
  place-items: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  background: var(--nayuta-green);
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
}

.nayuta-service-cta {
  align-items: center;
  margin-bottom: 0;
  background: #102e25;
}

.nayuta-service-cta h2 {
  color: #fff;
}

.nayuta-service-cta p {
  color: rgba(255, 255, 255, 0.84);
}

.nayuta-service-cta a {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 1.2rem 2rem;
  border-radius: 6px;
  background: #fff;
  color: var(--nayuta-green-deep);
  font-size: 1.5rem;
  font-weight: 700;
}

@media screen and (max-width: 999px) {
  .nayuta-guide-contact {
    padding: 2.8rem;
  }

  .nayuta-blog-gateway--unified,
  .nayuta-guide-365,
  .nayuta-philosophy-grid,
  .nayuta-value-list,
  .nayuta-service-hero,
  .nayuta-service-overview,
  .nayuta-service-two-col,
  .nayuta-service-cta {
    grid-template-columns: 1fr;
  }

  .nayuta-service-case-grid {
    grid-template-columns: 1fr;
  }

  .nayuta-blog-gateway__content {
    padding: 3.2rem;
  }

  .nayuta-guide-purpose-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nayuta-guide-contact {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 767px) {
  .nayuta-blog-gateway {
    margin-bottom: 4rem;
  }

  .nayuta-guide-purpose-grid,
  .nayuta-guide-flow-grid,
  .nayuta-guide-structure-grid {
    grid-template-columns: 1fr;
  }

  .nayuta-blog-gateway__content,
  .nayuta-blog-gateway__365,
  .nayuta-guide-365,
  .nayuta-guide-365__link {
    padding: 2.4rem;
  }

  .nayuta-blog-gateway__content h2,
  .nayuta-guide-contact h2 {
    font-size: 2.4rem;
  }

  .nayuta-blog-gateway__365 strong,
  .nayuta-guide-365 h2 {
    font-size: 2.4rem;
  }

  .nayuta-guide {
    padding: 7rem 0 9rem;
  }

  .nayuta-service-page {
    padding: 7rem 0 9rem;
  }

  .nayuta-philosophy-section {
    margin: 7rem 0 8rem;
  }

  .nayuta-philosophy-hero,
  .nayuta-philosophy-card,
  .nayuta-value-block {
    padding: 2.4rem;
  }

  .nayuta-philosophy-hero p {
    font-size: 2.4rem;
  }

  .nayuta-philosophy-hero::after {
    right: 1.8rem;
    bottom: 1.8rem;
    width: 9rem;
    height: 9rem;
  }

  .nayuta-value-list li {
    min-height: auto;
  }

  .nayuta-guide-hero h2 {
    font-size: 3rem;
  }

  .nayuta-service-hero {
    padding: 2.4rem;
  }

  .nayuta-service-hero h2 {
    font-size: 3rem;
  }

  .nayuta-service-visual {
    min-height: 220px;
  }

  .nayuta-guide-hero p:not(.nayuta-guide-kicker) {
    font-size: 1.6rem;
  }

  .nayuta-guide-nav {
    position: static;
    margin-bottom: 5rem;
  }

  .nayuta-guide-nav a {
    flex: 1 1 calc(50% - 0.8rem);
    justify-content: center;
    padding-right: 1rem;
    padding-left: 1rem;
    text-align: center;
  }

  .nayuta-guide-hero,
  .nayuta-guide-block,
  .nayuta-guide-ending {
    margin-bottom: 5.5rem;
  }

  .nayuta-guide-purpose,
  .nayuta-guide-flow,
  .nayuta-guide-structure-grid article,
  .nayuta-guide-contact,
  .nayuta-guide-ending {
    padding: 2.2rem;
  }

  .nayuta-guide-category-table {
    min-width: 640px;
  }
}
