/* Dedicated to message.html, fee.html and access.html. */
.info-page{--info-rule:var(--green)}
.info-page .detail-main{max-width:1440px;margin-inline:auto;padding-top:calc(var(--frame-top) + 4.5rem)}
.info-page .detail-hero{max-width:none;margin:0;padding-bottom:3rem;border-color:var(--info-rule)}
.info-hero{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(2rem,5vw,5rem);min-height:34rem}
.info-hero-copy{min-width:0}
.info-page .eyebrow{color:var(--green);font-family:"DM Mono",monospace;font-size:1rem;letter-spacing:.15em}
.info-page .detail-hero h1{font-size:clamp(4rem,7.2vw,7rem);line-height:1.06;letter-spacing:-.06em;margin:1.25rem 0 1.75rem}
.info-hero-copy>p:last-child{font-size:1.05rem;line-height:1.9;color:var(--ink)}
.info-hero-photo{margin:0;padding:.65rem;background:#fff;transform:rotate(-1.5deg);box-shadow:0 1rem 2rem #17231b1c}
.info-hero-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:45% 44%;max-height:32rem}
.info-hero-photo figcaption{padding:.65rem .4rem .2rem;font-size:1rem;color:var(--ink)}
.info-page .letter{max-width:none;margin:0;font-size:1.15rem;line-height:2.1}
.letter-section{display:grid;grid-template-columns:minmax(0,.3fr) minmax(0,1fr);gap:3rem;padding:4.5rem 0;border-bottom:1px solid var(--info-rule)}
.letter-margin{display:flex;flex-direction:column;justify-content:space-between;align-items:start;gap:2rem}
.letter-margin>span{font:500 4rem/1 "DM Mono",monospace;color:var(--green);opacity:.5;letter-spacing:-.08em}
.letter-margin img{width:100%;max-width:16rem;margin-bottom:1rem}
.info-page .letter h2{margin:0 0 2rem;font:800 clamp(1.65rem,2.55vw,2.5rem)/1.5 "Shippori Mincho",serif;letter-spacing:-.045em}
.letter-body{max-width:44rem;min-width:0}
.letter-body p{margin:0 0 1.3rem}
.letter-section:nth-child(3){background:var(--paper);box-shadow:none}
.letter-section:nth-child(4){border-bottom:0}
.letter-closing{padding-top:1.5rem;font-size:2rem;font-weight:800;color:var(--green)}
.info-page .detail-cta{display:block;width:fit-content;margin:3rem 0 1.75rem;padding:1.25rem 2rem;background:var(--green);border:0;color:#fff;font-size:1.05rem}
.info-page .detail-phone{font-size:1rem;line-height:1.9}
.info-page .detail-phone a{display:inline-block;color:var(--green);font:500 1.5rem "DM Mono",monospace;white-space:nowrap}
.info-frame-contact{position:fixed;z-index:45;bottom:0;right:var(--frame-side);height:var(--frame-bottom);display:flex;align-items:center;color:var(--green);font-size:1rem;font-weight:700;text-decoration:none}
.info-skip{position:fixed;top:-6rem;left:1rem;z-index:100;background:#fff;padding:1rem;color:var(--green)}
.info-skip:focus{top:.5rem}
.info-year{display:inline-block;border-top:1px solid var(--info-rule);padding-top:1rem;font:500 1.4rem "DM Mono",monospace!important;color:var(--green)!important}
.info-course-index{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.info-course-index a{display:block;padding:1.5rem 1rem;border-top:4px solid var(--orange);background:var(--paper);font-weight:700;line-height:1.7;text-decoration:none}
.info-course-index span{display:block;font:500 1rem "DM Mono",monospace;letter-spacing:.06em;color:var(--ink);margin-bottom:1rem}
.info-course-index a:nth-child(3){border-color:var(--green);background:var(--paper)}
.info-course-index a:nth-child(3) span{color:var(--green)}
.info-course-index a:nth-child(4){border-color:var(--green);background:var(--paper)}
.info-course-index a:nth-child(4) span{color:var(--ink)}
.info-page .fee-section{margin-top:4rem;padding-top:2rem;border-color:var(--orange);scroll-margin-top:calc(var(--frame-top) + 2rem)}
.info-page .fee-section--high{border-color:var(--green)}
.info-page .fee-section--payment{border-color:var(--green)}
.info-section-label{margin:0 0 1rem;font:500 1rem "DM Mono",monospace;letter-spacing:.06em;color:var(--green);scroll-margin-top:calc(var(--frame-top) + 2rem)}
.fee-section--middle .info-section-label{color:var(--ink)}
.info-page .fee-section h2{max-width:44rem;font-size:clamp(1.55rem,2.4vw,2.35rem);line-height:1.55}
.info-page .fee-table-wrap{border:0;margin-top:1.5rem}
.info-page .fee-table{min-width:800px;font-size:1rem;line-height:1.7;table-layout:auto}
.info-page .fee-table--high{min-width:740px}
.info-page .fee-table th{background:var(--paper);color:var(--ink);font-size:1rem;white-space:nowrap}
.info-page .fee-table--high th{background:var(--paper);color:var(--green)}
.info-page .fee-table th,.info-page .fee-table td{padding:1.25rem .8rem;border-color:var(--green)}
.info-page .fee-table td:nth-child(3){text-align:left;font-weight:700;min-width:20rem}
.info-page .fee-table tr:nth-child(odd) td{background:var(--paper)}
.info-page .fee-table--middle td:first-child{min-width:4.5rem}
.info-page .fee-notes{padding:1.5rem 2rem;background:var(--paper);border-color:var(--orange)}
.info-page .fee-notes p{margin:0;padding:.85rem 0;border-bottom:1px solid var(--green);font-size:1rem;line-height:1.95}
.info-page .fee-notes p:last-child{border:0}
.info-page .fee-section--high .fee-notes{background:var(--paper);border-color:var(--green)}
.info-page .fee-section--payment .fee-notes{border-color:var(--green);background:var(--paper)}
.fee-scroll-guide{display:none;color:var(--ink);font-size:1rem;line-height:1.7}
.access-destination{background:var(--green);padding:2.5rem;color:#fff}
.access-destination .info-section-label{color:#fff;font-size:1.05rem}
.access-destination strong{display:block;font:800 clamp(2.7rem,4.6vw,4.5rem)/1.3 "Shippori Mincho",serif;letter-spacing:-.05em}
.access-destination p{border-top:1px solid var(--ink);padding-top:1.5rem;margin-top:2rem;font-size:1.1rem;line-height:1.9}
.access-destination a{font:500 1.35rem "DM Mono",monospace}
.access-location{margin-top:3rem}
.access-location>h2{font:800 2rem "Shippori Mincho",serif;color:var(--green)}
.info-page .access-map{margin:1.5rem 0 3rem;aspect-ratio:16/9;max-height:none;border:1px solid var(--info-rule);background:var(--paper)}
.info-page .access-info{gap:1.5rem;margin-top:0}
.info-page .access-info article{padding:1.5rem;background:var(--paper)}
.info-page .access-info h2{margin-top:.25rem;font:800 1.5rem/1.5 "Shippori Mincho",serif;color:var(--green)}
.info-page .access-info p{margin-bottom:0;font-size:1.05rem;line-height:1.9}
.info-page .detail-site-nav{font-size:1rem;gap:1rem 1.5rem}
@media(max-width:899px){
 .info-page .detail-main{padding:calc(var(--frame-top) + 2.5rem) calc(var(--frame-side) + 1.25rem) calc(var(--frame-bottom) + 3rem)}
 .info-hero{grid-template-columns:minmax(0,1fr);min-height:0;gap:2rem}
 .info-page .detail-hero h1{font-size:clamp(3rem,13vw,5rem);line-height:1.1;margin:1rem 0 1.25rem}
 .info-hero-photo{transform:none}
 .info-hero-photo img{aspect-ratio:4/3;max-height:none}
 .letter-section{grid-template-columns:minmax(0,1fr);gap:1.25rem;padding:3rem 0}
 .letter-margin{flex-direction:row;align-items:center;gap:1rem}
 .letter-margin>span{font-size:2.4rem}
 .letter-margin img{width:10rem;margin:0}
 .info-page .letter{font-size:1.06rem;line-height:2}
 .info-page .letter h2{font-size:1.6rem;margin-bottom:1.5rem}
 .letter-section:nth-child(3){box-shadow:none}
 .letter-closing{font-size:1.65rem}
 .info-page .detail-cta{width:100%;padding:1.2rem .75rem;text-align:center}
 .info-frame-contact{font-size:1rem}
 .info-page .frame__bottom-nav{font-size:1rem}
 .info-course-index{gap:.75rem}
 .info-course-index a{padding:1.1rem .8rem;font-size:1rem}
 .info-course-index span{font-size:1rem}
 .info-page .fee-section h2{font-size:1.65rem}
 .info-page .fee-table{font-size:1rem}
 .info-page .fee-table th,.info-page .fee-table td{padding:1rem .75rem}
 .info-page .fee-notes{padding:.5rem 1rem}
 .fee-scroll-guide{display:block}
 .access-destination{padding:1.5rem}
 .access-destination strong{font-size:2.75rem}
 .access-destination a{font-size:1.15rem}
 .info-page .access-map{aspect-ratio:4/5}
 .info-page .access-info{grid-template-columns:minmax(0,1fr);gap:1rem}
 .info-page .access-info article{padding:1.25rem}
}

.info-page .letter{font-size:1.125rem;line-height:1.9}.letter-body{max-width:42rem}
.info-page h1,.info-page .fee-section h2,.access-location>h2,.info-page .access-info h2,.access-destination strong{font-family:"Zen Kaku Gothic New","Hiragino Sans",sans-serif}
.info-page .detail-cta{padding:1rem 2rem}
.fee-section--middle .info-section-label{color:var(--ink);border-left:3px solid var(--orange);padding-left:1rem}
.access-destination .info-section-label{color:#fff}
