*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

body {
  min-height: 100vh;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

button,
input,
textarea,
select {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

:root {
  --bousai-color-navy-950: #052f5f;
  --bousai-color-navy-900: #073b73;
  --bousai-color-navy-700: #165a91;
  --bousai-color-orange-600: #e95600;
  --bousai-color-orange-500: #ff6b12;
  --bousai-color-orange-100: #fff0e7;
  --bousai-color-white: #ffffff;
  --bousai-color-gray-950: #17202a;
  --bousai-color-gray-700: #465566;
  --bousai-color-gray-300: #cbd5df;
  --bousai-color-gray-100: #eef3f7;
  --bousai-color-background: #f7f9fb;
  --bousai-color-sky-100: #eaf5fb;
  --bousai-color-green-600: #287a62;
  --bousai-color-yellow-100: #fff8dc;

  --bousai-font-sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  --bousai-font-size-xs: 0.75rem;
  --bousai-font-size-sm: 0.875rem;
  --bousai-font-size-base: 1rem;
  --bousai-font-size-lg: 1.125rem;
  --bousai-font-size-xl: clamp(1.25rem, 2vw, 1.5rem);
  --bousai-font-size-2xl: clamp(1.75rem, 4vw, 2.5rem);
  --bousai-font-size-3xl: clamp(2rem, 5vw, 3.5rem);
  --bousai-line-height-body: 1.8;
  --bousai-line-height-heading: 1.35;

  --bousai-space-1: 0.25rem;
  --bousai-space-2: 0.5rem;
  --bousai-space-3: 0.75rem;
  --bousai-space-4: 1rem;
  --bousai-space-5: 1.5rem;
  --bousai-space-6: 2rem;
  --bousai-space-7: 3rem;
  --bousai-space-8: 4rem;
  --bousai-section-space: clamp(3.5rem, 8vw, 7.5rem);

  --bousai-content-width: 75rem;
  --bousai-reading-width: 46rem;
  --bousai-gutter: clamp(1rem, 4vw, 2rem);
  --bousai-radius-sm: 0.5rem;
  --bousai-radius-md: 1rem;
  --bousai-radius-lg: 1.5rem;
  --bousai-shadow-card: 0 0.75rem 2rem rgb(5 47 95 / 10%);
  --bousai-shadow-raised: 0 1.25rem 3.5rem rgb(5 47 95 / 18%);
  --bousai-transition: 180ms ease;
  --bousai-focus-ring: 0 0 0 0.1875rem rgb(255 107 18 / 35%);
}

html {
  scroll-behavior: smooth;
  text-size-adjust: 100%;
}

body.bousai-page {
  overflow-x: hidden;
  color: var(--bousai-color-gray-950);
  background: var(--bousai-color-background);
  font-family: var(--bousai-font-sans);
  font-size: var(--bousai-font-size-base);
  line-height: var(--bousai-line-height-body);
  -webkit-font-smoothing: antialiased;
}

.bousai-page h1,
.bousai-page h2,
.bousai-page h3,
.bousai-page h4 {
  color: var(--bousai-color-navy-950);
  font-weight: 700;
  line-height: var(--bousai-line-height-heading);
}

.bousai-page a {
  color: var(--bousai-color-navy-900);
  text-underline-offset: 0.2em;
}

.bousai-page :focus-visible {
  outline: 0;
  box-shadow: var(--bousai-focus-ring);
}

.bousai-page [id] {
  scroll-margin-top: 8rem;
}

.bousai-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.bousai-skip-link {
  position: fixed;
  z-index: 1000;
  top: var(--bousai-space-3);
  left: var(--bousai-space-3);
  padding: var(--bousai-space-2) var(--bousai-space-4);
  color: var(--bousai-color-white);
  background: var(--bousai-color-navy-950);
  border-radius: var(--bousai-radius-sm);
  transform: translateY(-200%);
}

.bousai-skip-link:focus {
  transform: translateY(0);
}

.bousai-container {
  width: min(100% - (var(--bousai-gutter) * 2), var(--bousai-content-width));
  margin-inline: auto;
}

.bousai-container--reading {
  max-width: var(--bousai-reading-width);
}

.bousai-main {
  min-height: 60vh;
}

.bousai-section-stack {
  display: block;
}

.bousai-section {
  padding-block: var(--bousai-section-space);
}

.bousai-section--navy {
  color: var(--bousai-color-white);
  background: var(--bousai-color-navy-950);
}

.bousai-grid {
  display: grid;
  gap: var(--bousai-space-5);
}

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

.bousai-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bousai-explain-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(2rem, 6vw, 6rem);
}

/* キャリカレ共通シェル。正本: 調理師合格指導講座 rn */
:root{--ccj-orange:#f67921;--ccj-blue:#0068c0;--ccj-entry:#f24343;--ccj-paper:#008acb;--ccj-text:#333;--ccj-muted:#686868;--ccj-footer:#f5f5f5;--ccj-header-height:55px}
.ccj-only-pc{display:none}.ccj-only-sp{display:flex}
.l-header{position:fixed;z-index:999;top:0;left:0;width:100%;color:var(--ccj-text);background:#fff;font-family:var(--bousai-font-sans)}
.l-header.has-shadow{box-shadow:0 3px 6px rgb(0 0 0/4%)}
.l-header__bottom{height:55px;background:#fff}.ccj-header-container{width:100%;height:100%;margin-inline:auto}
.l-headerBottomContainer{height:100%;align-items:center;justify-content:space-between;padding-inline:16px}
.l-headerLogo{width:143px;flex:0 0 auto}.l-headerLogo a,.l-headerLogo img{display:block}.l-headerLogo img{width:100%;height:auto}
.l-headerRight{display:flex;min-width:0;align-items:center;gap:10px}.l-headerEntryWrapper{display:flex;align-items:center}
.l-headerEntry{display:flex;width:95px;height:35px;align-items:center;justify-content:center;color:var(--ccj-blue)!important;background:#fff;border:2px solid var(--ccj-blue);border-radius:5px;font-size:12px;font-weight:700;text-decoration:none}
.l-headerEntry span{display:flex;align-items:center;gap:6px}.l-headerEntry span::before{width:18px;height:20px;background:url("/course/status/document-production/assets/images/menu-1009-siryou_icon.png") center/contain no-repeat;content:""}
.l-headerMenuButton{position:relative;display:block;width:42px;height:42px;padding:0;background:var(--ccj-orange);border:0;border-radius:5px;cursor:pointer}
.l-headerMenuButton::before,.l-headerMenuButton::after{position:absolute;left:50%;width:24px;height:3px;background:#fff;content:"";transform:translateX(-50%);transition:180ms ease}
.l-headerMenuButton::before{top:12px;box-shadow:0 8px 0 #fff}.l-headerMenuButton::after{top:28px}
.l-headerMenuButton.is-active::before{top:20px;box-shadow:none;transform:translateX(-50%) rotate(45deg)}.l-headerMenuButton.is-active::after{top:20px;transform:translateX(-50%) rotate(-45deg)}
.l-headerMenuButton span,.l-headerSearch .btn-search-open span{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.ccj-header-menu-backdrop{position:fixed;z-index:998;inset:55px 0 auto;background:transparent}.ccj-header-menu-backdrop[hidden]{display:none}
.l-headerNav{width:100%;max-height:calc(100svh - 55px);overflow-y:auto;color:var(--ccj-text);background:#fff;border-top:1px solid var(--ccj-orange);box-shadow:0 5px 10px rgb(0 0 0/12%)}
.l-headerNavMenu{padding:0;list-style:none;color:var(--ccj-text);font-size:13px}.l-headerNavMenu li{border-bottom:1px solid var(--ccj-orange)}
.l-headerNavMenu a{position:relative;display:flex;width:100%;min-height:40px;align-items:center;gap:8px;padding:8px 40px 8px 18px;color:var(--ccj-text)!important;text-decoration:none}
.l-headerNavMenu a::after{position:absolute;top:50%;right:16px;color:#c8c8c8;content:"›";font-size:20px;transform:translateY(-50%)}
.l-headerNavMenu.hasIcon{font-size:16px;font-weight:700}.l-headerNavMenu.hasIcon a{min-height:48px}.l-headerNavMenu.hasIcon a::before{width:24px;height:24px;flex:0 0 auto;background:#fff1e7;border:2px solid var(--ccj-orange);border-radius:50%;content:""}
.l-headerNavButtons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px 18px max(18px,env(safe-area-inset-bottom))}
.l-headerNavButton{display:flex;min-height:58px;align-items:center;justify-content:center;padding:10px;color:#fff!important;border-radius:5px;font-size:15px;font-weight:700;text-align:center;text-decoration:none}.l-headerNavButton__whitepaper{background:var(--ccj-paper)}.l-headerNavButton__entry{background:var(--ccj-entry)}
body.is-ccj-menu-open{overflow:hidden}.l-header+.bousai-main{padding-top:var(--ccj-header-height)}

.l-footer{min-width:0;padding:32px 0 20px;color:var(--ccj-text);background:var(--ccj-footer);font-family:var(--bousai-font-sans)}
.l-footerBanner{padding-inline:32px}.l-footerBanner__container{width:min(100%,1040px);margin-inline:auto}.l-footerBanner__slide{position:relative;margin-bottom:24px}.l-footerBanner .swiper{overflow:hidden}
.l-footerBanner .swiper-slide a,.l-footerBanner .swiper-slide img{display:block}.l-footerBanner .swiper-slide img{width:100%;height:auto}
.l-footerBanner .swiper-button-prev,.l-footerBanner .swiper-button-next{width:20px;height:28px;margin-top:0;color:#c8c8c8;transform:translateY(-50%)}.l-footerBanner .swiper-button-prev{left:-24px}.l-footerBanner .swiper-button-next{right:-24px}.l-footerBanner .swiper-button-prev::after,.l-footerBanner .swiper-button-next::after{font-size:18px;font-weight:800}
.l-footerUnderContents{display:flex;width:min(calc(100% - 32px),1342px);flex-direction:column;gap:24px;margin:0 auto}.l-footerRight{order:-1}.l-footer__container{width:82.05%;margin-inline:auto}
.l-footerSns__title{display:none;margin-bottom:14px;font-size:14px;font-weight:700;text-align:center}.l-footerSnsList{display:flex;justify-content:space-between;padding:0;list-style:none}.l-footerSnsList__item{width:min(9.6vw,38px)}
.l-footerSnsList__item a,.l-footerSnsList__item img{display:block}.l-footerSnsList__item a{min-width:44px;min-height:44px;padding:3px;margin:-3px}.l-footerSnsList__item img{width:100%;height:auto}.l-footerSnsList__item .ccj-line-pc{display:none}
.l-footerSitemap{padding-top:4px}.l-footerSitemapList{display:grid;gap:0;padding:0;border-top:1px solid #bcbcbc;list-style:none}.l-footerSitemapList li{position:relative;padding-left:14px;border-bottom:1px solid #bcbcbc}.l-footerSitemapList li::before{position:absolute;top:15px;left:0;content:"›";font-weight:800}
.l-footerSitemapList a{display:flex;min-height:48px;align-items:center;color:var(--ccj-text)!important;font-size:11px;font-weight:700;line-height:1.667;text-decoration:none}.l-footerSecure{display:none}
.l-footerCopyright{margin-top:24px;padding:0 16px env(safe-area-inset-bottom);text-align:center}.l-footerCopyright small{color:var(--ccj-muted);font-size:9px;font-weight:600}
.c-pageTop{position:fixed;z-index:3;right:14px;bottom:132px;margin:0}.c-pageTop__link,.c-pageTop__link img{display:block;width:41px;height:41px}
@media(hover:hover){.l-headerEntry:hover{color:#fff!important;background:var(--ccj-blue)}.l-headerNavMenu a:hover{background:#fff7f1}.l-footerBanner a:hover img{opacity:.82}.l-footerSitemapList a:hover{text-decoration:underline}}

@media(min-width:1024px){
 :root{--ccj-header-height:67px}.ccj-only-pc{display:flex}.ccj-only-sp{display:none}
 .l-header{position:relative;border-bottom:1px solid #d3d3d3}.l-header.has-shadow{box-shadow:none}.l-header__bottom{height:67px}.ccj-header-container{max-width:1536px}.l-headerBottomContainer{padding:0 clamp(20px,3.5vw,50px)}
 .l-headerLogo{width:clamp(150px,12.5vw,179px)}.l-headerRight{height:100%;gap:clamp(12px,1.7vw,26px)}.l-headerNavMenu{display:flex;height:100%;align-items:center;gap:clamp(12px,1.7vw,26px)}.l-headerNavMenu li{height:100%;border:0}.l-headerNavMenu a{height:100%;min-height:0;padding:0;color:#505050!important;font-size:clamp(11px,1vw,14px);white-space:nowrap}.l-headerNavMenu a::after{display:none}
 .l-headerEntry{width:clamp(110px,9.3vw,133px);height:42px;font-size:12px}.l-headerSearch{position:relative;display:flex;width:clamp(150px,20.7vw,297px);align-items:center}.l-headerSearch .input-search{width:100%;height:33px;padding:0 48px 0 14px;color:#333;background:#e8e8e8;border:0;border-radius:5px;font:inherit;font-size:13px}
 .l-headerSearch .btn-search-open{position:absolute;top:50%;right:0;display:grid;width:40px;height:33px;place-items:center;padding:0;background:#bebebe;border:0;border-radius:0 5px 5px 0;cursor:pointer;transform:translateY(-50%)}.l-headerSearch .btn-search-open::before{width:14px;height:14px;border:2px solid #fff;border-radius:50%;content:""}.l-headerSearch .btn-search-open::after{position:absolute;width:7px;height:2px;margin:13px 0 0 13px;background:#fff;content:"";transform:rotate(45deg)}
 .ccj-header-menu-backdrop{display:none}.l-header+.bousai-main{padding-top:0}
 .l-footer{padding-bottom:50px}.l-footerBanner{padding:0 28px}.l-footerUnderContents{width:min(calc(100% - 48px),1342px);flex-direction:row;gap:0;margin-top:50px}.l-footerSitemap,.l-footerRight{width:50%}.l-footerRight{order:initial}.l-footer__container{width:100%}.l-footerSitemap{padding:0}.l-footerSitemapList{grid-template-columns:220px minmax(0,1fr);gap:40px 0;border:0}.l-footerSitemapList li{padding-left:14px;border:0}.l-footerSitemapList li::before{top:4px}.l-footerSitemapList li:nth-child(1){order:1}.l-footerSitemapList li:nth-child(6){order:2}.l-footerSitemapList li:nth-child(2){order:3}.l-footerSitemapList li:nth-child(7){order:4}.l-footerSitemapList li:nth-child(4){order:5}.l-footerSitemapList li:nth-child(8){order:6}.l-footerSitemapList li:nth-child(5){order:7}.l-footerSitemapList li:nth-child(9){order:8}.l-footerSitemapList li:nth-child(3){display:none}.l-footerSitemapList a{display:inline-block;min-height:0;font-size:15px}.l-footerSns__title{display:block;margin:0;font-size:15px;text-align:left}.l-footerSnsList{justify-content:flex-start;gap:30px;margin-top:18px}.l-footerSnsList__item{width:30px}.l-footerSnsList__item .ccj-line-sp{display:none}.l-footerSnsList__item .ccj-line-pc{display:block}.l-footerSecure{display:block;margin-top:45px}.l-footerSecure__text{max-width:520px;color:var(--ccj-muted);font-size:9px;line-height:1.778}.l-footerCopyright{margin-top:50px;padding:0}.l-footerCopyright small{font-size:11px}.c-pageTop{bottom:30px}
}
@media(min-width:1024px) and (max-width:1199px){.l-headerBottomContainer{padding-inline:20px}.l-headerRight,.l-headerNavMenu{gap:10px}.l-headerNavMenu a{font-size:11px}.l-headerSearch{width:150px}.l-footerSitemapList{grid-template-columns:190px minmax(0,1fr)}.l-footerSitemapList a{font-size:13px}}
@media(max-width:374px){.l-headerBottomContainer{padding-inline:10px}.l-headerLogo{width:126px}.l-headerRight{gap:6px}.l-headerEntry{width:88px}.l-footerBanner{padding-inline:28px}.l-footerUnderContents{width:calc(100% - 24px)}}
@media(prefers-reduced-motion:reduce){.l-headerMenuButton::before,.l-headerMenuButton::after{transition:none}}
body{margin:0;color:#111;font-family:Arial,"Noto Sans JP",sans-serif}main{max-width:1440px;margin:auto}h1,h2,h3,b,small{color:#07365f}h2{font-size:32px;line-height:1.5}h3{font-size:24px}p{line-height:1.9}small{font-size:16px;color:#df5a00}em{font-style:normal;color:#ed6000}.review-note{background:#fff6df;color:#705315;padding:8px 20px;font-size:13px}.cta{display:flex;gap:12px;margin-top:24px}.cta a{background:#075c97;color:white;padding:15px;text-decoration:none;border-radius:4px}.cta a+a{background:#d8474b}.copy{padding:65px max(24px,8%);text-align:center}.copy>p{max-width:850px;margin:24px auto}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0}.grid article{padding:25px;background:#eef7fc}.grid b{font-size:22px}.teacher{display:flex;align-items:center;justify-content:center;gap:50px;background:#f5f8fa;text-align:left}.teacher img{width:240px;max-height:320px;object-fit:cover}.curr{text-align:center;max-width:1200px;margin:auto;padding-top:0}.month[hidden]{display:none}.curr nav{display:flex;justify-content:center;gap:10px;margin:24px}.curr button{padding:12px 30px;background:#0b385f;color:white;border:0;cursor:pointer}.block-image{display:block;width:100%;height:auto}.image-section{max-width:1200px;margin:auto}.supplement{background:#eef7fb}.faq{max-width:1100px;margin:auto}.faq details{border:1px solid #ccd5dc;border-radius:4px;text-align:left;margin:14px 0;overflow:hidden}.faq summary{cursor:pointer;padding:20px 50px 20px 55px;position:relative;font-weight:bold;color:#07365f;font-size:18px;list-style:none}.faq summary:before{content:'Q';position:absolute;left:16px;top:17px;background:#f56500;color:white;width:28px;height:28px;text-align:center;border-radius:50%}.faq summary:after{content:'＋';position:absolute;right:17px;color:#f56500}.faq details[open] summary:after{content:'−'}.faq details p{background:#eef8ff;padding:20px;margin:0}.l-footer img{max-width:100%}.l-footerBanner__container{overflow:hidden}.swiper-wrapper{display:flex;gap:20px}.swiper-slide{min-width:230px}@media(max-width:600px){.copy{padding:38px 18px}h2{font-size:25px}.grid{grid-template-columns:1fr;gap:10px}.grid article{padding:18px}.teacher{flex-direction:column;gap:20px}.teacher img{width:180px}.cta{flex-direction:column}.curr button{padding:10px 18px}.faq summary{font-size:16px}.image-section{width:100%}}
.cta{justify-content:center}.cta a,.course-buttons a,.sticky-cta a{display:flex;align-items:center;justify-content:center;text-align:center;font-weight:bold;line-height:1.5;border-radius:6px;padding:16px 20px;color:white;text-decoration:none;min-height:52px}.cta a{flex:1}.cta .cta-red,.cta-red{background:#cf3546}.cta .cta-blue,.cta-blue{background:#0768a7}.cta-block,.course-apply{padding:36px 24px;max-width:1200px;margin:auto;text-align:center;background:#eff7fb}.cta-block .cta{max-width:780px;margin:20px auto 0}.course-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}.course-apply h2{font-size:26px}#courses{scroll-margin-top:24px}.sticky-cta{display:none}a:focus-visible{outline:3px solid #f6a800;outline-offset:4px}
@media(max-width:600px){.course-buttons{grid-template-columns:1fr}.course-apply h2{font-size:21px}.sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:9999;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -2px 10px #0002}.sticky-cta a{padding:12px 6px;font-size:15px}body{padding-bottom:88px}}
.teacher-real{display:grid;grid-template-columns:minmax(220px,340px) minmax(0,580px);justify-content:center;gap:48px;padding:64px 5%;background:#f5f8fa;color:#083854}
.teacher-real>img{width:100%;height:auto;display:block}.teacher-real h2{font-size:32px;line-height:1.6;margin:12px 0 24px}.teacher-real h3{font-size:24px}.teacher-real p{font-size:16px;line-height:1.9}.teacher-real summary{cursor:pointer;padding:14px 0;border-bottom:1px solid #a9bdc9}.eyebrow{font-weight:bold;color:#008c78}
@media(max-width:600px){.teacher-real{grid-template-columns:1fr;gap:24px;padding:36px 20px}.teacher-real>img{max-width:250px;margin:auto}.teacher-real h2{font-size:26px}}

/* Reading rhythm: section boundaries > related content > paragraphs. */
main>section+section{margin-top:64px}
main>.course-apply{margin-top:24px}
.reading-section{max-width:1200px;margin-inline:auto;padding:48px 48px;color:#103758;background:#f7fafc}
.reading-section h2{font-size:clamp(26px,3vw,40px);line-height:1.5;margin:12px 0 28px;text-align:center}
.reading-section>.eyebrow,.reading-section>.lead{text-align:center}
.reading-section>p{max-width:760px;margin:20px auto;font-size:17px;line-height:1.95}
.reading-section>.lead{font-size:20px}.reading-section .small-note{font-size:13px;color:#536572}
.benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0}
.benefit-grid article{background:white;border-top:4px solid #00a381;padding:24px;box-shadow:0 4px 16px #1234560a;border-radius:8px}
.benefit-grid span{font-size:13px;color:#007c68;font-weight:bold}.benefit-grid h3{font-size:20px;margin:14px 0}.benefit-grid p{font-size:16px;line-height:1.85}
.bridge{padding:24px;border-left:3px solid #00a381;background:#edf7f2;font-weight:bold;line-height:1.9}
.art-control{position:relative}.image-action{position:absolute;display:flex;justify-content:space-between;align-items:center;background:#fff;color:#092c69;border:1px solid #bccddd;border-radius:6px;cursor:pointer;font-weight:bold;line-height:1.4;padding:10px 16px;min-height:44px}
.image-action:hover{background:#edf7ff}.image-action:focus-visible,summary:focus-visible{outline:3px solid #087bcc;outline-offset:4px}
.image-action[aria-expanded="true"]{background:#e6f5ef;border-color:#008e72}
.qualification-action{left:34.4%;top:90.2%;width:31.4%;height:7.3%;font-size:clamp(12px,1.2vw,18px)}
.book-action{top:53.8%;height:9.5%;width:30.1%;font-size:clamp(12px,1.3vw,19px)}.book-1{left:3.1%}.book-2{left:34.1%}.book-3{left:64.4%}.book-sp{display:none}
.reveal-panel{margin:24px 32px 0;padding:32px;background:#f2f7fb;border:1px solid #cfdeea;border-radius:10px;line-height:1.9;font-size:16px;scroll-margin-top:90px}
.reveal-panel[hidden]{display:none}.reveal-panel article+article{margin-top:28px;padding-top:24px;border-top:1px solid #c6d6df}.reveal-panel h3{font-size:22px;margin-bottom:12px}.reveal-panel .topics{margin-top:12px;color:#42616d}
.exam-list{margin-top:24px}.exam-list>div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:16px 0;border-top:1px solid #c6d6df}.exam-list dt{font-weight:bold}
.month-detail{margin:24px 0;border:1px solid #d6e3ef;border-radius:12px;background:white;overflow:hidden;--month-color:#0768cf}
.month-color-2{--month-color:#00998e}.month-color-3{--month-color:#7445bd}
.month-detail>summary{display:grid;grid-template-columns:100px 1fr 24px;gap:24px;align-items:center;padding:28px;cursor:pointer;list-style:none}
.month-detail>summary::-webkit-details-marker{display:none}.month-label{color:white;background:var(--month-color);padding:10px;border-radius:30px;text-align:center;font-weight:bold}
.month-detail strong{display:block;font-size:24px;line-height:1.5}.month-detail small{display:block;font-size:16px;line-height:1.8;margin-top:8px}.month-detail b{display:block;color:var(--month-color);font-size:15px;margin-top:14px}
.toggle-mark::before{content:'＋';font-size:25px;color:var(--month-color)}.month-detail[open] .toggle-mark::before{content:'−'}
.month-content{padding:0 32px 32px}.month-content article{border-top:1px solid #d9e4eb;padding-top:24px;margin-top:24px}.month-content h4{font-size:19px;line-height:1.65;margin-bottom:12px}.month-content p,.month-content li{font-size:16px;line-height:1.9}.month-content ul{margin-top:12px}.month-content li::before{content:'✓ ';color:var(--month-color);font-weight:bold}
@media(max-width:600px){main>section+section{margin-top:40px}.reading-section{padding:32px 20px}.reading-section>p{font-size:16px}.reading-section>.lead{font-size:17px}.benefit-grid{grid-template-columns:1fr;gap:16px}.benefit-grid article{padding:20px}.book-action{display:none}.book-sp{display:flex;left:7%;top:66.8%;width:84.5%;height:3.8%;font-size:14px;padding:8px 12px}.qualification-action{left:10.4%;top:91.4%;width:79%;height:5.3%;font-size:14px;padding:8px 12px}.reveal-panel{margin:20px 16px 0;padding:20px}.exam-list>div{grid-template-columns:1fr;gap:4px}.month-detail>summary{grid-template-columns:1fr 24px;gap:14px;padding:20px}.month-label{grid-column:1;width:100px}.month-detail>summary>span:nth-child(2){grid-column:1}.toggle-mark{grid-column:2;grid-row:1 / span 2}.month-detail strong{font-size:21px}.month-content{padding:0 20px 24px}.bridge{padding:20px}}

.linked-art{position:relative}
.art-link-overlay,.art-button-overlay{position:absolute;z-index:2;display:block;border:0;border-radius:999px;background:transparent;color:transparent;cursor:pointer;font-size:0}
.art-link-overlay:focus-visible,.art-button-overlay:focus-visible{outline:4px solid #f6a800;outline-offset:3px}
.payment-link{left:35.5%;top:83.1%;width:29%;height:9.6%}
.contact-new{left:4.1%;top:48%;width:45%;height:24%}
.contact-student{left:51.5%;top:48%;width:44.5%;height:24%}
.contact-panels{margin:24px 32px 0}
.contact-panels .reveal-panel{margin:0;text-align:left}
.contact-panels .reveal-panel+.reveal-panel{margin-top:16px}
.contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}
.contact-actions a{display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px 16px;border-radius:8px;background:#087bbd;color:#fff;font-weight:bold;text-decoration:none;text-align:center}
.contact-actions a.secondary{background:#fff;color:#08649c;border:1px solid #86b7d0}
@media(max-width:600px){.payment-link{left:5%;top:86.5%;width:90%;height:10%}.contact-new{left:4%;top:40.5%;width:92%;height:25%}.contact-student{left:4%;top:67.2%;width:92%;height:25%}.contact-panels{margin:20px 16px 0}.contact-actions{grid-template-columns:1fr}}

/* v4: specificity corrects image-section margin:auto overriding the previous gap. */
main>section:not(:first-child){margin-top:80px}
main>section.course-apply{margin-top:24px}
main>section.cta-block{padding:48px 32px}
main>section.teacher-real{grid-template-columns:260px minmax(0,600px);align-items:start;max-width:1200px;margin-inline:auto;padding:48px 40px;gap:40px}
main>section.teacher-real>img{width:260px;height:260px;max-width:none;object-fit:cover;object-position:50% 40%;border-radius:12px}
.teacher-real h2{margin:8px 0 20px}.teacher-real details{margin-top:20px}.teacher-real details p{padding-top:20px}
.book-art-window{aspect-ratio:1536 / 545;overflow:hidden}.book-art-window picture,.book-art-window img{width:100%;height:auto}
.book-native-list{padding:20px 32px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.book-native{border:1px solid #d2dfeb;border-top:4px solid #1686ce;border-radius:8px;background:white;overflow:hidden}.book-native:nth-child(2){border-top-color:#00a58c}.book-native:nth-child(3){border-top-color:#7652b9}
.book-native summary{padding:22px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;font-weight:bold;color:#07365f;font-size:18px;line-height:1.6;cursor:pointer}.book-native summary::-webkit-details-marker{display:none}.book-native summary span::after{content:'＋'}.book-native[open] summary span::after{content:'−'}.book-native>div{padding:0 20px 24px;font-size:16px;line-height:1.9}.book-native .topics{margin-top:16px;color:#526774}
.book-method{max-width:880px;margin:32px auto 0;padding:28px 32px;border-left:3px solid #00a58c;background:#f0f8f4;font-size:17px}.book-method strong{font-size:22px;color:#07365f}
.support-periods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:32px 0 40px}.support-periods article{border:1px solid #c5dce9;background:white;border-radius:10px;text-align:center;padding:24px 12px}.support-periods h3{font-size:22px}.support-periods p{font-size:14px;margin-top:12px}.support-periods strong{font-size:44px;color:#087d77}.support-periods small{font-size:18px;color:inherit}
.common-heading{text-align:center;font-size:24px;margin-bottom:24px}.common-specs{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;background:white;padding:8px 24px}.common-specs>div{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px 0;border-bottom:1px solid #d9e3ec;font-size:16px;line-height:1.8}.common-specs dt{font-weight:bold;color:#07365f}.course-notes{margin-top:28px;font-size:14px;line-height:1.9}.course-notes li+li{margin-top:12px}
@media(max-width:600px){main>section:not(:first-child){margin-top:56px}main>section.course-apply{margin-top:20px}main>section.cta-block{padding:32px 20px}main>section.teacher-real{grid-template-columns:1fr;padding:32px 20px;gap:24px}main>section.teacher-real>img{width:180px;height:180px;margin:auto}.teacher-real h2{text-align:center}.teacher-real .eyebrow{text-align:center}.book-art-window{aspect-ratio:864 / 820}.book-native-list{grid-template-columns:1fr;padding:16px 20px 0;gap:16px}.book-native summary{font-size:17px;padding:18px 16px}.book-method{margin:24px 20px 0;padding:20px;font-size:16px}.book-method strong{font-size:20px}.support-periods{grid-template-columns:1fr;gap:12px;margin:24px 0 32px}.support-periods article{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 18px;text-align:left}.support-periods h3{font-size:18px;margin:0}.support-periods p{font-size:14px;line-height:1.5;margin:0}.support-periods strong{font-size:30px;white-space:nowrap}.support-periods small{font-size:14px}.common-heading{font-size:21px}.common-specs{grid-template-columns:1fr;padding:0 16px}.common-specs>div{grid-template-columns:1.2fr 1fr;font-size:15px;gap:12px}.course-notes{font-size:14px}}
.section-link-copy{max-width:820px;margin:0 auto 28px;padding:0 24px;text-align:center;color:#315469;font-size:18px;line-height:1.8;font-weight:bold}@media(max-width:600px){.section-link-copy{font-size:16px;margin-bottom:24px;padding:0 20px}}

/* v15: CTA and course selector adapted from the approved disaster-advisor LP. */
.cta{gap:18px;padding-top:10px}
.cta a{position:relative;min-height:68px;margin-top:10px;padding:22px 52px 14px;border-radius:10px;box-shadow:0 6px 0 rgba(7,54,95,.22);font-size:18px;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}
.cta a::before{position:absolute;top:-12px;right:18px;left:18px;display:block;padding:3px 10px;border:1.5px solid currentColor;border-radius:999px;background:#fff;font-size:12px;font-weight:800;line-height:1.45;text-align:center}
.cta a[href="#courses"]::before{content:'サポート期間で選べます';color:#c92f40}
.cta a[href*="form_material"]::before{content:'30秒でかんたん';color:#0768a7}
.cta a::after{position:absolute;right:20px;display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:#fff;content:'›';font-size:18px;line-height:1}
.cta .cta-red::after{color:#cf3546}.cta .cta-blue::after{color:#0768a7}
.cta a:hover{filter:brightness(1.04);transform:translateY(-2px);box-shadow:0 8px 0 rgba(7,54,95,.18)}
.course-native{background:#edf6fb}
.course-native>.lead{max-width:680px}
.support-periods.course-tablist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:860px;margin:38px auto 0}
.course-tab{position:relative;min-height:68px;padding:16px;color:#07365f;background:#fff;border:2px solid #bdceda;border-radius:12px 12px 0 0;font-size:20px;font-weight:900;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}
.course-tab:hover{background:#f3f9fc;border-color:#07365f}.course-tab[aria-selected="true"]{color:#fff;background:#07365f;border-color:#07365f}
.course-tab[aria-selected="true"]::after{position:absolute;right:0;bottom:-2px;left:0;height:6px;background:#f28a28;content:''}
.course-tab:focus-visible{z-index:2;outline:3px solid #f6a800;outline-offset:3px}
.course-panel{display:grid;justify-items:center;gap:18px;max-width:860px;margin:0 auto 52px;padding:34px 28px 38px;background:#fff;border:2px solid #07365f;border-top:6px solid #f28a28;border-radius:0 0 14px 14px;box-shadow:0 12px 30px rgba(7,54,95,.11);text-align:center}
.course-panel[hidden]{display:none}.course-panel-label{margin:0;color:#597181;font-size:13px;font-weight:bold}.course-panel h3{margin:0;font-size:30px}.course-panel-support{margin:0;padding:10px 28px;color:#07365f;background:#eaf5fb;border-radius:999px;font-size:17px;font-weight:800}
.course-panel-support strong{color:#e86b24;font-size:32px}.course-panel-note{max-width:620px;margin:0;color:#425b6b;font-size:15px;line-height:1.8}
.course-guarantee{width:min(100%,460px);margin:2px 0 -8px;padding:4px 16px;color:#c92f40;background:#fff;border:1.5px solid #cf3546;border-radius:999px;font-size:13px;font-weight:800;line-height:1.45}
.course-apply-button{position:relative;display:flex;align-items:center;justify-content:center;width:min(100%,460px);min-height:62px;padding:15px 56px 15px 24px;color:#fff!important;background:#cf3546;border-radius:8px;box-shadow:0 6px 0 #9f2331;font-size:18px;font-weight:900;text-decoration:none;transition:transform .18s ease,filter .18s ease}
.course-apply-button::after{position:absolute;right:20px;display:grid;width:24px;height:24px;place-items:center;color:#cf3546;background:#fff;border-radius:50%;content:'›';font-size:19px;line-height:1}.course-apply-button:hover{filter:brightness(1.05);transform:translateY(-2px)}
.course-native .common-heading{margin-top:0}.course-native+.course-apply{display:none}
@media(max-width:600px){.cta{gap:22px;padding-top:8px}.cta a{min-height:62px;margin-top:8px;padding:20px 42px 13px;font-size:16px}.cta a::before{top:-10px;right:12px;left:12px;font-size:11px}.cta a::after{right:15px}.support-periods.course-tablist{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:28px}.course-tab{min-height:58px;padding:12px 4px;border-radius:8px 8px 0 0;font-size:16px}.course-panel{gap:16px;margin-bottom:38px;padding:28px 18px 30px;border-radius:0 0 10px 10px}.course-panel h3{font-size:25px}.course-panel-support{padding:9px 18px;font-size:15px}.course-panel-support strong{font-size:28px}.course-apply-button{min-height:58px;padding-right:48px;font-size:16px}}
