.inner-page { background: #f8f9f6; }
.inner-page .header { background: #101e24e8; }
.inner-page .header [aria-current="page"] { color: var(--mint); }
.inner-page main { overflow: clip; }
.page-hero { min-height: 600px; background: var(--ink); color: #f6faf8; position: relative; overflow: hidden; }
.page-hero::before { content: ''; position: absolute; width: 750px; height: 750px; border: 1px solid #ffffff0a; border-radius: 50%; right: -220px; top: -270px; box-shadow: 0 0 0 125px #ffffff05,0 0 0 260px #ffffff03; }
.page-hero-inner { min-height: inherit; display: grid; grid-template-columns: 1.2fr .8fr; gap: 50px; align-items: center; padding-top: 100px; padding-bottom: 75px; position: relative; }
.page-kicker { display: flex; gap: 22px; align-items: center; color: #9cead6; font-size: 11px; letter-spacing: .18em; font-weight: 700; margin-bottom: 35px; }
.page-kicker span { color: #80979a; font-size: 10px; }
.page-hero h1 { font-size: clamp(47px, 5.25vw, 78px); line-height: 1.3; letter-spacing: -.062em; margin-bottom: 26px; }
.page-hero h1 span { color: var(--mint); }
.page-hero-inner>div:first-child>p:last-child { color: #b7c7c7; font-size: 16px; max-width: 570px; }
.page-symbol { width: 400px; height: 400px; max-width: 100%; position: relative; justify-self: center; transform: rotate(-22deg); }
.symbol-path { position: absolute; width: 105px; height: 330px; border: 32px solid #8ce4cb; border-left: 0; border-bottom: 0; border-radius: 0 135px 0 0; top: 35px; left: 90px; opacity: .95; }
.symbol-path.path-two { transform: rotate(180deg); left: 195px; border-color: #789ca1; opacity: .7; }
.symbol-core { position: absolute; width: 20px; height: 20px; border-radius: 50%; background: white; top: 192px; left: 192px; box-shadow: 0 0 0 19px #a5eedc22; }
.business-hero-art { width: 430px; max-width: 100%; height: 380px; justify-self: center; position: relative; display: flex; justify-content: center; gap: 44px; align-items: center; }
.business-hero-art i { display: block; width: 58px; height: 300px; border: 1px solid #92e7cf88; border-radius: 32px; transform: rotate(27deg); background: linear-gradient(180deg,#92e7cf30,transparent); }
.business-hero-art i:nth-child(2) { height: 380px; border-color: #a6d2d188; background: linear-gradient(180deg,#a6d2d122,transparent); }
.business-hero-art i:nth-child(3) { height: 250px; border-color: #a0d9c388; }
.business-hero-art span { position: absolute; font-size: 11px; letter-spacing: .1em; color: #a5d8ca; bottom: 9px; }
.business-hero-art span:nth-of-type(1) { left: 65px; }.business-hero-art span:nth-of-type(2) { left: 205px; }.business-hero-art span:nth-of-type(3) { right: 40px; }
.contact-hero-art { width: 360px; height: 320px; max-width: 100%; justify-self: center; position: relative; }
.contact-hero-art span { position: absolute; width: 95%; height: 5px; background: linear-gradient(90deg,transparent,#80d2bb); transform: rotate(30deg); top: 40%; left: 0; border-radius: 4px; }
.contact-hero-art span:nth-child(2) { transform: rotate(-30deg); background: linear-gradient(90deg,transparent,#9eb8bc); top: 60%; }
.contact-hero-art i { position: absolute; width: 24px; height: 24px; border-radius: 50%; background: #aaf3db; left: 48%; top: 48%; box-shadow: 0 0 0 22px #aaf3db22,0 0 0 65px #aaf3db0a; }
.page-section { padding-top: clamp(80px, 9vw, 135px); padding-bottom: clamp(85px, 10vw, 150px); }
.page-section-label { display: flex; justify-content: space-between; gap: 15px; border-top: 1px solid #bdcfc5; padding-top: 18px; color: #397a68; font-size: 10px; font-weight: 700; letter-spacing: .18em; margin-bottom: 60px; }
.page-section-label span { color: #6f8578; letter-spacing: 0; }
.company-intro-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 90px; }
.company-intro-grid h2,.company-principles h2,.company-fields h2,.business-details h2,.solutions-summary h2,.contact-page-section h2 { font-size: clamp(34px, 3.5vw, 52px); line-height: 1.35; letter-spacing: -.05em; }
.company-intro-grid>div { max-width: 520px; padding-top: 6px; }
.company-intro-grid p { color: #526763; font-size: 15px; }
.company-intro-grid .page-lead { font-size: 23px; line-height: 1.6; color: var(--text); font-weight: 600; margin-bottom: 28px; }
.company-principles { background: #e7efea; padding: 100px 0 120px; }
.company-principles h2 { margin-bottom: 65px; }
.principles-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.principles-grid article { border-top: 2px solid #589e86; padding: 25px 20px 0 0; min-height: 210px; }
.principles-grid article>span { font-size: 10px; letter-spacing: .15em; color: #43806f; font-weight: 700; }
.principles-grid h3 { font-size: 25px; font-weight: 600; margin: 35px 0 10px; }
.principles-grid p { color: #586f65; font-size: 14px; max-width: 340px; }
.company-fields-intro,.business-details-intro,.solutions-summary-head { display: flex; justify-content: space-between; gap: 50px; align-items: end; margin-bottom: 52px; }
.company-fields-intro p,.business-details-intro p,.solutions-summary-head p { color: #5a7068; font-size: 14px; max-width: 320px; margin-bottom: 6px; }
.field-links { border-top: 1px solid #bbcfc4; }
.field-links a { display: grid; grid-template-columns: 90px 1fr 40px; align-items: center; min-height: 115px; border-bottom: 1px solid #bbcfc4; transition: padding .25s,color .25s; }
.field-links a:hover { padding-left: 14px; color: #187360; }
.field-links a>span:first-child { color: #73958a; font-size: 14px; }
.field-links strong { font-size: clamp(21px, 2vw, 30px); font-weight: 500; }
.field-links a>span:last-child { font-size: 22px; }
.page-end { background: #12272a; color: white; padding: 90px 0 100px; }
.page-end .wrap { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; column-gap: 30px; }
.page-end p { color: #9be9d3; font-size: 10px; letter-spacing: .2em; width: 100%; margin-bottom: 22px; }
.page-end h2 { font-size: clamp(30px, 3vw, 45px); margin-bottom: 0; }
.business-jump { border-bottom: 1px solid #c7d9cf; background: #e8f0eb; }
.business-jump .wrap { display: flex; align-items: center; gap: 40px; min-height: 77px; }
.business-jump span { font-size: 11px; color: #4c7366; margin-right: auto; }
.business-jump a { min-height: 44px; display: inline-flex; align-items: center; font-size: 12px; font-weight: 600; }
.business-jump a:hover { color: #187360; }
.detail-chapter { scroll-margin-top: 100px; border-top: 1px solid #bfcfc7; padding: 24px 0 100px; }
.detail-chapter:last-child { padding-bottom: 0; }
.detail-chapter-top { display: flex; justify-content: space-between; color: #427e6d; font-size: 11px; letter-spacing: .15em; font-weight: 700; margin-bottom: 50px; }
.detail-chapter-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 85px; }
.detail-chapter h3 { font-size: clamp(30px, 3.15vw, 46px); line-height: 1.4; letter-spacing: -.05em; max-width: 520px; margin-bottom: 22px; }
.detail-chapter-grid>div:first-child>p:last-child { max-width: 500px; color: #526761; font-size: 15px; }
.detail-audience { color: #2f806c; font-size: 13px; font-weight: 600; }
.detail-info { border-left: 1px solid #c6d8cb; padding-left: 40px; }
.detail-info h4 { font-size: 12px; color: #327967; margin: 0 0 16px; }
.detail-info p,.detail-info li { font-size: 14px; color: #536962; }
.detail-info ul { list-style: none; padding: 0; margin: 25px 0; }
.detail-info li { border-bottom: 1px solid #d8e2dc; padding: 12px 0; }
.detail-info li::before { content:'↗'; margin-right: 14px; color: #27846d; }
.detail-preparation { background: #e9f1eb; padding: 20px 25px; margin: 27px 0; }
.detail-preparation strong { font-size: 11px; color: #2a7662; }
.detail-preparation p { margin: 8px 0 0; }
.detail-info .detail-scope { font-size: 12px; color: #6d7d73; }
.detail-info>a { display: inline-flex; gap: 35px; padding: 14px 0; margin-top: 8px; color: #146b56; border-bottom: 1px solid #81ad9a; font-size: 13px; font-weight: 700; }
.solutions-summary { background: #e5eee8; }
.solution-summary-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.solution-summary { background: #f8faf7; min-height: 350px; padding: 30px; display: flex; flex-direction: column; }
.solution-summary>span { font-size: 10px; letter-spacing: .15em; color: #4a806f; font-weight: 700; }
.solution-summary h3 { font-size: 25px; line-height: 1.5; margin: 45px 0 15px; }
.solution-summary p { color: #5d7168; font-size: 14px; }
.solution-summary a { margin-top: auto; padding-top: 25px; display: flex; justify-content: space-between; font-size: 12px; font-weight: 700; color: #20745e; }
.contact-page-section { background: #e7efea; }
.contact-page-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: min(7vw,100px); align-items: start; }
.contact-guide { margin-top: 55px; border-top: 1px solid #bed2c6; }
.contact-guide article { display: grid; grid-template-columns: 40px 1fr; gap: 12px; padding: 22px 0; border-bottom: 1px solid #bed2c6; }
.contact-guide article>span { color: #4d9378; font-size: 11px; }
.contact-guide h3 { font-size: 17px; font-weight: 600; margin: 0 0 7px; }
.contact-guide p { color: #5b7067; font-size: 13px; margin: 0; }
.contact-page-section .contact-notice { margin-top: 32px; }
.contact-form-wrap { padding: 30px 40px 40px; background: #fbfcf9; box-shadow: 0 25px 70px #234b3820; }
.form-heading { border-bottom: 1px solid #c7d7cb; padding-bottom: 20px; display: flex; justify-content: space-between; font-size: 19px; font-weight: 600; margin-bottom: 30px; }
.form-heading span { font-size: 10px; letter-spacing: .15em; color: #6d8c79; align-self: center; }
.inner-page .footer { background: #f8f9f6; }
@media(max-width:1100px) { .page-hero-inner { grid-template-columns: 1fr .7fr; }.company-intro-grid,.detail-chapter-grid { gap: 45px; }.contact-page-grid { gap: 35px; }.business-jump .wrap { gap: 25px; } }
@media(max-width:760px) {
  .page-hero { min-height: 530px; }
  .page-hero-inner { grid-template-columns: 1fr; padding-top: 130px; padding-bottom: 50px; align-content: start; gap: 0; }
  .page-kicker { margin-bottom: 25px; font-size: 9px; }
  .page-hero h1 { font-size: clamp(39px, 10vw, 55px); line-height: 1.3; }
  .page-hero-inner>div:first-child>p:last-child { font-size: 14px; }
  .page-symbol,.business-hero-art,.contact-hero-art { position: absolute; width: 260px; height: 260px; opacity: .22; right: -80px; top: 140px; z-index: 0; pointer-events: none; }
  .page-hero-inner>div:first-child { position: relative; z-index: 1; }
  .page-section { padding-top: 75px; padding-bottom: 85px; }
  .page-section-label { margin-bottom: 40px; }
  .company-intro-grid,.detail-chapter-grid,.contact-page-grid { grid-template-columns: 1fr; gap: 25px; }
  .company-intro-grid h2,.company-principles h2,.company-fields h2,.business-details h2,.solutions-summary h2,.contact-page-section h2 { font-size: 32px; }
  .company-intro-grid .page-lead { font-size: 20px; }
  .company-principles { padding: 75px 0; }.company-principles h2 { margin-bottom: 35px; }
  .principles-grid,.solution-summary-list { grid-template-columns: 1fr; gap: 0; }
  .principles-grid article { min-height: 0; padding: 22px 0 30px; }.principles-grid h3 { margin: 16px 0 10px; }
  .company-fields-intro,.business-details-intro,.solutions-summary-head { display: block; margin-bottom: 35px; }
  .company-fields-intro p,.business-details-intro p,.solutions-summary-head p { margin-top: 20px; }
  .field-links a { grid-template-columns: 37px 1fr 24px; min-height: 88px; gap: 8px; }.field-links strong { font-size: 18px; }
  .page-end { padding: 70px 0 80px; }.page-end .wrap { display: block; }.page-end h2 { margin-bottom: 25px; }
  .business-jump .wrap { gap: 15px; overflow-x: auto; white-space: nowrap; min-height: 65px; }.business-jump span { display: none; }.business-jump a { flex: 0 0 auto; font-size: 11px; }
  .detail-chapter { padding-bottom: 80px; }.detail-chapter-top { margin-bottom: 30px; font-size: 9px; }
  .detail-chapter h3 { font-size: 29px; }.detail-info { border-left: 0; border-top: 1px solid #c6d8cb; padding: 27px 0 0; }
  .solution-summary { min-height: 0; margin-bottom: 12px; padding: 26px; }.solution-summary h3 { margin-top: 23px; }
  .contact-guide { margin-top: 30px; }.contact-form-wrap { padding: 25px 20px; margin-top: 20px; }
}
