.access{background:#eff3e7}.access-link{margin-top:20px;font-size:14px}.access-link a,.recruit-table a{text-decoration:underline;text-underline-offset:4px}.recruit-table small{display:inline-block;font-size:12px;line-height:1.8;margin-top:8px}.selection-flow{padding-bottom:40px}.selection-steps{list-style:none;margin:0;padding:0;display:grid;gap:20px}.selection-steps li{display:flex;gap:24px;padding:24px 28px;background:#eef1e5;border-radius:12px}.selection-steps li>span{font:26px Georgia,serif;color:#607755;flex-shrink:0}.selection-steps h3{font-size:20px;margin-bottom:8px}.selection-steps p{font-size:15px;line-height:1.9}@media(max-width:760px){.selection-steps li{padding:22px 18px;gap:16px}.selection-steps h3{font-size:18px}.selection-steps p{font-size:14px}}.selection-flow h2 span{display:inline-block}@media(max-width:760px){.selection-flow h2{font-size:25px}.selection-flow h2 span{display:block}}


.access.section{padding:44px 0;background:#eff3e7}
.access-inner{width:calc(100% - 80px);max-width:1000px;margin:0 auto}
.access-heading{text-align:center;margin-bottom:34px}
.access-heading .eyebrow{margin-bottom:8px}
.access-heading h2{font-size:32px;line-height:1.5;letter-spacing:.08em}
.access-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);align-items:center;gap:34px}
.access-map{width:100%;max-width:none;height:clamp(260px,42svh,390px);margin:0;border-radius:8px;overflow:hidden;background:#e3e8da;border:1px solid #d9dfcf}
.access-map iframe{display:block;width:100%;height:100%;border:0}
.access-info{width:100%;max-width:none;min-width:0;margin:0}
.access-location{font-size:15px;font-weight:400;text-align:left;line-height:1.8;margin:0 0 21px}
.access-location br{display:block}
.access-details{display:block;margin:0}
.access-details>div{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;padding:5px 0;border:0;background:none}
.access-details dt{font-size:13px;font-weight:600;line-height:1.8}
.access-details dd{font-size:13px;line-height:1.8;margin:0}
.access-note{margin:13px 0 0;text-align:left;font-size:11px;line-height:1.7;color:#70766a}
body:has(dialog[open]){overflow:hidden}
@media(max-width:760px){
 .access.section{padding:21px 0}
 .access-inner{width:calc(100% - 44px)}
 .access-heading{margin-bottom:21px}
 .access-heading .eyebrow{font-size:11px;margin-bottom:6px}
 .access-heading h2{font-size:26px}
 .access-layout{grid-template-columns:minmax(0,1fr);gap:13px}
 .access-map{max-width:100%;height:auto;aspect-ratio:1.618;border-radius:8px}
 .access-info{max-width:100%}
 .access-location{font-size:13px;line-height:1.7;margin-bottom:9px}
 .access-location br{display:none}
 .access-details>div{grid-template-columns:52px minmax(0,1fr);gap:8px;padding:3px 0}
 .access-details dt,.access-details dd{font-size:13px;line-height:1.75}
 .access-details dd br{display:none}
 .access-note{max-width:100%;font-size:11px;margin-top:13px}
}
@media(max-width:760px) and (max-height:650px){
 .access.section{padding:18px 0}
 .access-heading{margin-bottom:12px}
 .access-layout{gap:10px}
}

/* A connected timeline gives each step a clear place in the journey. */
.selection-flow .narrow{max-width:900px}
.selection-flow .selection-steps{display:block;padding:0;margin:0;list-style:none}
.selection-flow .selection-steps li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:26px;position:relative;padding:0 0 32px;background:none;border-radius:0}
.selection-flow .selection-steps li:last-child{padding-bottom:0}
.selection-flow .selection-steps li:not(:last-child)::before{content:'';position:absolute;left:31px;top:64px;bottom:0;width:1px;background:#cbd5bf}
.selection-flow .selection-steps li>span{position:relative;z-index:1;display:grid;place-items:center;width:64px;height:64px;border:1px solid #a8b99a;border-radius:50%;background:#f8f7f1;color:#46623c;font:25px Georgia,serif;letter-spacing:.03em}
.selection-flow .selection-steps li>div{padding:10px 0 24px;border-bottom:1px solid #e1e6d8}
.selection-flow .selection-steps li:last-child>div{padding-bottom:0;border-bottom:0}
.selection-flow .selection-steps h3{margin:0 0 9px;font-size:20px;line-height:1.6}
.selection-flow .selection-steps p{font-size:15px;line-height:1.9;margin:0}
@media(max-width:760px){
 .selection-flow .selection-steps li{grid-template-columns:46px minmax(0,1fr);gap:17px;padding-bottom:26px}
 .selection-flow .selection-steps li>span{width:46px;height:46px;font-size:20px}
 .selection-flow .selection-steps li:not(:last-child)::before{left:22px;top:46px}
 .selection-flow .selection-steps li>div{padding-top:7px;padding-bottom:20px}
 .selection-flow .selection-steps h3{font-size:18px}
 .selection-flow .selection-steps p{font-size:14px;line-height:1.85}
}
.mentor-faq-link{display:inline-block;min-height:28px;margin-top:13px;font-size:14px;line-height:1.8;text-decoration:underline;text-underline-offset:5px}
#faq-mentor p{margin:0}
#faq-mentor p:not(:last-child){padding-bottom:14px}
.mentor-faq-link:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:2px}
.faq-more-actions{text-align:center;margin-top:26px}
.faq-more-toggle{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-width:180px;min-height:46px;padding:10px 26px;border:1px solid #8b9e7d;border-radius:999px;background:transparent;color:var(--green);font:inherit;font-size:14px;cursor:pointer}
.faq-more-toggle::after{content:'＋';font-size:17px;line-height:1}
.faq-more-toggle[aria-expanded="true"]::after{content:'−'}
.faq-more-toggle[hidden],.faq-more-items[hidden]{display:none}
.faq-more-toggle:hover{background:#eef1e5}
.faq-more-toggle:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.step-description[hidden],.step-detail-toggle[hidden]{display:none}
.selection-flow.is-step-collapsed .selection-steps li>div{display:flex;align-items:center;min-height:64px;padding:0;border:0}
.selection-flow.is-step-collapsed .selection-steps h3{margin:0}
.selection-flow.is-step-collapsed .selection-steps li{padding-bottom:24px}
.selection-flow .selection-steps li:last-child{padding-bottom:34px}
.selection-flow .selection-steps li:last-child::before{content:'';position:absolute;left:31px;top:64px;bottom:0;width:1px;background:linear-gradient(to bottom,#cbd5bf 65%,transparent)}
.step-detail-actions{text-align:center;margin-top:21px}
.step-detail-toggle{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-width:180px;min-height:46px;padding:10px 26px;border:1px solid #8b9e7d;border-radius:999px;background:transparent;color:var(--green);font:inherit;font-size:14px;cursor:pointer}
.step-detail-toggle::after{content:'＋';font-size:17px;line-height:1}
.step-detail-toggle[aria-expanded="true"]::after{content:'−'}
.step-detail-toggle:hover{background:#eef1e5}
.step-detail-toggle:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:760px){
 .selection-flow.is-step-collapsed .selection-steps li>div{min-height:46px}
 .selection-flow .selection-steps li:last-child{padding-bottom:26px}
 .selection-flow .selection-steps li:last-child::before{left:22px;top:46px}
}
/* Separate the place introduction from the preceding director's message. */
#nursery{background:#faf9f3}
/* Slightly tighter mobile storytelling without removing any content. */
@media(max-width:760px){
 #environment .features{gap:32px}
 #environment .feature-image{height:220px;margin-bottom:28px}
 #voices .voice-grid{gap:20px}
 #voices .voice-card>img{aspect-ratio:16/9}
 #voices .voice-card>div{padding:22px 24px}
}

/* Use the shared ivory canvas for staff profiles. */
#staff{background:#faf9f3}
/* Section rhythm: clear alternating canvases, with a single curved FV edge. */
:root{--section-sage:#e5eddc}
#philosophy,#environment,#teacher-match,#staff,#nursery,#access,#selection-flow{background:#faf9f3}
#recruit-film,#voices,#day,#director-message,#annual-events,#recruit,#faq{background:var(--section-sage)}
main>section:not(.hero){border-radius:0}
#voices::before,#voices::after{content:none;display:none}
#day.is-preview .day-preview-window::after{background:linear-gradient(to bottom,rgba(229,237,220,0) 0%,rgba(229,237,220,.22) 30%,rgba(229,237,220,.65) 60%,rgba(229,237,220,.96) 80%,var(--section-sage) 100%)}
#day .day-expand{background:#faf9f3;border-color:#9aae8b}
#day .day-entry summary:hover{background:rgba(250,249,243,.45)}
#recruit .recruit-table{border-color:#bdcbb2}
#recruit .recruit-table>div{border-color:#bdcbb2}
#recruit .recruit-table dt{background:#dbe5d2}
#faq details{border-bottom-color:#b9c8ad}
#faq .faq-more-toggle{border-color:#8a9f7a}
#faq .faq-more-toggle:hover{background:#faf9f3}

/* Approved working-together photos: retain the complete scene. */
#environment .feature-image{height:auto;aspect-ratio:auto}
#environment .feature-image img{height:auto;object-fit:contain}

#environment .feature-image{aspect-ratio:2/1}
#environment .feature-image img{height:100%;object-fit:cover}

/* Place gallery navigation above the photographs. */
#daily-photos .daily-photo-controls{display:flex;justify-content:center;margin:0;padding:0 0 6px;background:var(--section-sage)}
#daily-photos .photo-band{margin-top:0}
/* Phone hero CTA matches the closing visit button: centered, 260px wide (2026-10-17). Headline and copy stay left-aligned. */
@media(max-width:760px){.hero-content{left:0;right:0}.hero-actions.hero-actions-single{justify-content:center}.hero-actions-single .button{display:flex;width:min(260px,100%);min-width:0;min-height:56px;padding:15px 35px;font-size:15px;text-align:center}}
/* Phone staff portraits match the director portrait: min(260px,80%) wide, 4:5 (2026-10-17). Copy aligns to the portrait edges. */
@media(max-width:760px){#staff .staff-card img{width:min(260px,80%);aspect-ratio:4/5;margin-left:auto;margin-right:auto}.staff .staff-teachers .staff-card>div,.staff .staff-support .staff-card>div{width:min(260px,80%)}}
/* Lower row (support staff) interview buttons match the upper row: aligned at the card bottom, label on one line (2026-10-20). */
@media(min-width:761px) and (max-width:1000px){.staff .staff-support .staff-card{display:flex;flex-direction:column}.staff .staff-support .staff-card>div{display:flex;flex-direction:column;flex:1}.staff .staff-support .staff-card>div>p{padding-bottom:18px}.staff .staff-support .staff-interview-button{width:100%;height:44px;min-height:44px;margin-top:auto;padding:8px 6px;letter-spacing:0;white-space:nowrap;flex-shrink:0;text-align:center}}
@media(min-width:1001px){.staff .staff-support .staff-card{display:flex;flex-direction:column}.staff .staff-support .staff-card>div{display:flex;flex-direction:column;flex:1}.staff .staff-support .staff-card>div>p{padding-bottom:18px}.staff .staff-support .staff-interview-button{align-self:flex-start;flex-shrink:0;min-height:44px;margin-top:auto;white-space:nowrap}}
/* Section colours after removing "voices" (2026-10-20): FV -> ivory, then strictly alternating. Inner details follow their new background. */
#philosophy,#environment,#day,#director-message,#annual-events,#recruit,#faq{background:#faf9f3}
#recruit-film,#teacher-match,#staff,#nursery,#access,#selection-flow{background:var(--section-sage)}
#day.is-preview .day-preview-window::after{background:linear-gradient(to bottom,rgba(250,249,243,0) 0%,rgba(250,249,243,.22) 30%,rgba(250,249,243,.65) 60%,rgba(250,249,243,.96) 80%,#faf9f3 100%)}
#day .day-expand{background:#e5edda;border-color:#bbcbb0}
#day .day-entry summary:hover{background:#eff3e766}
#recruit .recruit-table,#recruit .recruit-table>div{border-color:#dde1d3}
#recruit .recruit-table dt{background:#eef1e5}
#faq details{border-bottom-color:#d7dfcf}
#faq .faq-more-toggle{border-color:#8b9e7d}
#faq .faq-more-toggle:hover{background:#eef1e5}
#daily-photos .daily-photo-controls{background:#faf9f3}
#staff .staff-support{border-top-color:#c8d5bd}
#selection-flow .selection-steps li>div{border-bottom-color:#c8d5bd}
/* On the pale-green staff section, phone card panels and the selected tab turn ivory so they still stand out (2026-10-20). */
@media(max-width:760px){#staff .staff-teachers,#staff .staff-support{background:#faf9f3}#staff .staff-tabs button[aria-selected="true"],#staff .staff-tabs button[aria-selected="true"]:after{background:#faf9f3}}
/* Footer menu: same items and order as the header (+ privacy policy in WordPress). Wraps neatly when it has many items (2026-10-20). */
footer .footer-top nav{flex-wrap:wrap;gap:10px 22px}
@media(min-width:1101px){footer .footer-top{flex-wrap:wrap;row-gap:18px}footer .footer-top nav{margin-left:auto;flex-wrap:nowrap;justify-content:flex-end}footer .footer-top>p{flex-basis:100%;margin:0}}
@media(max-width:760px){footer .footer-top nav{gap:12px 20px}}

/* ===== 座談会（2026-10-28 追加。WordPress・静的版 共通） ===== */
/* Section colours with the two new sections: still strictly alternating from the FV. */
#talk,#nursery,#access,#selection-flow{background:#faf9f3}
#director-message,#annual-events,#recruit,#faq{background:var(--section-sage)}
/* 1.2.1：「正直なところ」を座談会にまとめたので、募集要項から後の色を入れ替え、中の線・ボタンの色も背景に合わせた */
#recruit .recruit-table,#recruit .recruit-table>div{border-color:#bdcbb2}
#recruit .recruit-table dt{background:#dbe5d2}
#faq details{border-bottom-color:#b9c8ad}
#faq .faq-more-toggle{border-color:#8a9f7a}
#faq .faq-more-toggle:hover{background:#faf9f3}
#selection-flow .selection-steps li>div{border-bottom-color:#e1e6d8}
#daily-photos .daily-photo-controls{background:var(--section-sage)}

/* Talk session */
.talk-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:72px;align-items:center}
.talk-intro h2{font-size:clamp(30px,2.6vw,42px);line-height:1.65}
.talk-lead{margin:24px 0 30px;line-height:2.1}
.talk-members{list-style:none;margin:0;padding:0}
.talk-members li{display:flex;align-items:center;gap:16px;padding:12px 0;border-top:1px solid #dfe5d8}
.talk-members li:last-child{border-bottom:1px solid #dfe5d8}
.talk-members img{width:64px;height:64px;flex:none;border-radius:50%;object-fit:cover;object-position:center 22%;background:var(--pale)}
.talk-members span{display:block;font-size:13px;letter-spacing:.06em;color:#68885b;line-height:1.6}
.talk-members strong{display:block;font-family:var(--serif);font-size:19px;font-weight:500;letter-spacing:.06em;line-height:1.6}
.talk-photo{margin:0 0 24px}
.talk-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:20px}
.talk-card{background:#fffefa;border:1px solid #e4e9dc;border-radius:24px;padding:38px 44px 40px;box-shadow:0 14px 45px #294c3508}
.talk-topic{font-family:var(--serif);font-size:22px;letter-spacing:.06em;line-height:1.6;color:var(--green)}
.talk-topic .talk-topic-label{display:block;font:14px Georgia,serif;letter-spacing:.12em;color:#4f7042;margin-bottom:4px}
.talk-lines{margin:18px 0 0}
.talk-line{display:grid;grid-template-columns:60px minmax(0,1fr);gap:16px;align-items:start;padding:14px 0;border-top:1px solid #e7ebe0}
.talk-line dt{display:flex;flex-direction:column;align-items:center;gap:2px}
.talk-line dt img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:center 22%;background:var(--pale)}
.talk-line dt span{font-size:12px;letter-spacing:.06em;color:#68885b;line-height:1.6}
.talk-line dd{margin:0;padding-top:6px;font-size:15px;line-height:1.95;color:var(--body)}
.talk-card .talk-more{display:block;width:fit-content;margin:24px auto 0;padding:10px 26px;text-decoration:none}
@media(max-width:1099px){.talk-layout{gap:44px}.talk-card{padding:32px 30px 34px}}
@media(max-width:900px){.talk-layout{grid-template-columns:minmax(0,1fr);gap:40px}}
@media(max-width:760px){
 .talk-intro h2{font-size:28px}
 .talk-lead{font-size:15px;margin:20px 0 24px}
 .talk-members img{width:56px;height:56px}
 .talk-card{padding:26px 20px 28px;border-radius:20px}
 .talk-topic{font-size:20px}
 .talk-line{grid-template-columns:50px minmax(0,1fr);gap:12px}
 .talk-line dt img{width:40px;height:40px}
 .talk-line dd{font-size:14px;padding-top:4px}
 .talk-photo img{border-radius:14px}
}

/* Talk session page (/talk/) and the static modal: same sheet as the interviews */
.talk-page-head{margin-bottom:28px}
.talk-page-head h1,.talk-page-head h2{font-size:26px;line-height:1.75;margin:0;letter-spacing:.04em}
.talk-page-head .talk-lead{font-size:15px;margin:14px 0 24px}
.talk-page-head .talk-members{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px}
.talk-page-head .talk-members li{border-bottom:1px solid #dfe5d8}
.talk-topic-block h2 span{color:#68885b}
.talk-topic-block .talk-lines{margin-top:6px}
.talk-topic-block .talk-line:first-child{border-top:0}
@media(max-width:760px){
 .talk-page-head h1,.talk-page-head h2{font-size:23px}
 .talk-page-head .talk-members{grid-template-columns:minmax(0,1fr)}
 .talk-page-head .talk-members li{border-bottom:0}
 .talk-page-head .talk-members li:last-child{border-bottom:1px solid #dfe5d8}
}

.talk-members .talk-nb{display:inline-block;font-style:normal}
.kmr-ph{display:inline-block}
/* 1.2.2：座談会のカード（テーマ1）を、広い画面では左の列と同じ高さにし、発言の途中からグラデーションで消す。狭い画面では発言3つほどの高さ。ボタンは森先生の「続けて読む」と同じ形 */
.talk-card .talk-lines{overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 110px),transparent 100%);mask-image:linear-gradient(to bottom,#000 calc(100% - 110px),transparent 100%)}
.talk-card .talk-more{display:block;width:fit-content;min-height:48px;margin:14px auto 0;padding:10px 28px;border:1px solid #9aaf90;border-radius:30px;background:var(--pale);color:var(--green);font-size:15px;letter-spacing:.04em;line-height:1.75}
.talk-card .talk-more:hover{background:#e2e9d8}
@media(min-width:901px){
 .talk-layout{align-items:stretch}
 .talk-intro{align-self:center}
 .talk-preview{display:flex;flex-direction:column}
 .talk-card-frame{position:relative;flex:1 1 auto;min-height:440px}
 .talk-card{position:absolute;inset:0;display:flex;flex-direction:column}
 .talk-card .talk-topic,.talk-card .talk-more{flex:none}
 .talk-card .talk-lines{flex:1 1 auto;min-height:0}
}
@media(max-width:900px){.talk-card .talk-lines{max-height:310px}}
/* こもれびの、正直なところ（2026-11-06・版 1.2.5。座談会とインタビューのまとめ。日常の写真のあと・アイボリーの背景） */
#honest{background:#faf9f3}
.honest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch}
.honest-card{background:#fffefa;border:1px solid #e4e9dc;border-radius:20px;padding:34px 32px 32px;box-shadow:0 14px 45px #294c3508}
.honest-card-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.honest-number{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:50%;background:var(--yellow);font:italic 20px Georgia,serif;color:var(--green)}
.honest-card h3{font-size:21px;line-height:1.6;letter-spacing:.04em}
.honest-card ul{list-style:none;margin:0;padding:0}
.honest-card li{position:relative;padding-left:18px;margin-bottom:12px;font-size:15px;line-height:1.95;color:var(--body)}
.honest-card li:last-child{margin-bottom:0}
.honest-card li::before{content:'';position:absolute;left:2px;top:.8em;width:6px;height:6px;border-radius:50%;background:#8aa27a}
.honest-label{font-size:14px;font-weight:600;letter-spacing:.06em;color:var(--green);margin:0 0 8px}
.honest-card ul+.honest-label{margin-top:20px;padding-top:18px;border-top:1px solid #dfe5d8}
.honest-more{margin-top:40px;display:flex;flex-direction:column;align-items:center;gap:16px}
.honest-more-text{margin:0;text-align:center;font-size:16px;letter-spacing:.04em;color:var(--green)}
.honest-more-links{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.honest-more-link{display:inline-block;min-height:48px;padding:10px 28px;border:1px solid #9aaf90;border-radius:30px;background:var(--pale);color:var(--green);font-size:15px;letter-spacing:.04em;line-height:1.75;text-decoration:none}
.honest-more-link:hover{background:#e2e9d8}
.honest-closing{margin-top:32px;text-align:center;font-family:var(--serif);font-size:18px;letter-spacing:.06em;color:var(--green)}
@media(max-width:1099px){.honest-grid{grid-template-columns:minmax(0,1fr);max-width:720px;margin:0 auto;gap:22px}}
@media(max-width:760px){
 .honest-card{padding:26px 22px 26px;border-radius:16px}
 .honest-card h3{font-size:19px}
 .honest-number{width:42px;height:42px;font-size:18px}
 .honest-card li{font-size:14px}
 .honest-more{margin-top:30px}
 .honest-more-text{font-size:15px}
 .honest-closing{font-size:16px;margin-top:26px}
}
@media(max-width:389px){#honest .section-heading>p:last-child{font-size:14px;letter-spacing:0}.honest-more-link{padding:10px 20px;font-size:14px}}
/* 募集要項：表の右上の「詳細をすべて開く／詳細をすべて閉じる」（2026-11-06・版 1.2.5。見た目は綿貫先生の一日の「すべて開く」と同じ） */
.recruitment .recruit-controls{max-width:none;margin:0 0 14px}
.recruitment .recruit-controls[hidden]{display:none}
@media(max-width:760px){.recruitment .recruit-controls{margin-bottom:10px}}
/* 正直なところ：狭いスマホの幅（〜369px。360px の Android を含む）で、見出し・説明文が1〜2文字だけ次の行に折れないように */
@media(max-width:369px){.honest-card-head{gap:12px}.honest-card h3{font-size:15px;letter-spacing:0}#honest .section-heading>p:last-child{font-size:12px;letter-spacing:0}}
/* ===== 版 1.2.6（2026-11-10）：英字の見出しとフッターメニュー ===== */
/* 園長メッセージ：英字「Message」をほかの英字と同じ字間に。その下の「園長・森先生から、あなたへ」は普通の文字（書体は今のまま、少し小さめ、見出しと同じ緑。枠・背景なし） */
.director-message-copy>.eyebrow{letter-spacing:.14em}
.director-message-copy .director-message-lead{margin:0 0 14px;font-family:Georgia,serif;font-size:13px;letter-spacing:.06em;line-height:1.8;color:var(--green)}
@media(max-width:760px){.director-message-copy .director-message-lead{font-size:12px;margin-bottom:10px}}
/* フッター：ページの全セクションを並び順どおりに。PC・タブレットは4列×4段、スマホは2列×8段（どちらも縦に読む順）。プライバシーポリシーは並びとは別の行 */
footer .footer-top .footer-menu{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
footer .footer-top nav{display:grid;grid-auto-flow:column;grid-template-rows:repeat(4,auto);grid-template-columns:repeat(4,max-content);gap:10px 36px;flex-wrap:nowrap}
footer .footer-top nav a,footer .footer-privacy a{white-space:nowrap}
footer .footer-privacy{margin:0;font-size:12px}
@media(min-width:1101px){footer .footer-top .footer-menu{margin-left:auto}footer .footer-top nav{margin-left:0;justify-content:start}}
@media(max-width:1100px) and (min-width:761px){footer .footer-top .footer-menu{flex-basis:100%}}
@media(max-width:760px){footer .footer-top nav{grid-template-rows:repeat(8,auto);grid-template-columns:repeat(2,max-content);gap:12px 28px}}
/* 狭いスマホ（〜369px）：2列が余白からはみ出さないように、字と列の間を少し小さく */
@media(max-width:369px){footer .footer-top nav{gap:12px 16px;font-size:13px}}
/* ===== 版 1.2.8（2026-11-10）：本文の文字の太さ ===== */
/* Windows の游ゴシックは太さ400だと細く読みづらいので、本文を500に。iPhone・Mac（ヒラギノ）はほぼ変わらない。見出し（明朝）・太さを決めてある部分はそのまま */
body{font-weight:500}
/* 本文と同じ扱いで、太さ400と決めてあった文字も500に（一日の流れの項目名・募集要項の最初に見える文・アクセスの所在地） */
.day-entry-title,.recruit-detail-toggle,.access-location{font-weight:500}
/* ===== 版 1.2.9（2026-11-10）：デモ案内（園見学のボタンで開く小さな画面）を「おおいたホームページ」に ===== */
#visit-dialog .dialog-studio{font-family:var(--serif);font-size:21px;letter-spacing:.06em;line-height:1.6;margin-bottom:6px}
#visit-dialog .dialog-studio-tagline{display:block;margin-top:4px;font-family:Georgia,serif;font-size:12px;font-weight:400;letter-spacing:.14em;color:#788c62}
#visit-dialog .dialog-person{font-size:14px;margin-bottom:18px}
#visit-dialog .dialog-cta{margin-bottom:20px}
#visit-dialog .dialog-cta .button{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;width:min(300px,100%);margin:0;padding:12px 24px;line-height:1.5;text-align:center}
#visit-dialog .dialog-cta-note{display:block;font-size:12px;font-weight:500}
#visit-dialog .dialog-contacts{font-size:15px}
#visit-dialog .dialog-contacts dt{font-family:Georgia,serif;color:#68885b}
@media(max-width:760px){#visit-dialog .dialog-studio{font-size:19px}}
/* スマホ：見出しが右上の「×」の下に重ならないよう、上の余白を広げる。369px以下は、句読点の区切りが1行に入るよう文字を少し小さく */
#visit-dialog .dialog-close{top:8px;right:8px;width:44px;height:44px;padding:0;line-height:1}
@media(max-width:760px){#visit-dialog{padding-top:56px}}
@media(max-width:369px){#visit-dialog{padding-left:16px;padding-right:16px}#visit-dialog h2{font-size:16px;letter-spacing:.02em}#visit-dialog p{font-size:14px;letter-spacing:0}#visit-dialog .dialog-contacts{font-size:14px}}
