/* 全ページ共通。既存の文章・写真を維持したまま、余白と配色を再構成します。 */
:root{
 --ori-accent:#782b40;--ori-sakura:#f7e8ed;--ori-paper:#fff;--ori-ink:#342e30;
 --ori-footer:#35212a;--ori-footer-text:#fff8fa;
 --ori-width:1240px;--ori-space:100px;--ori-radius:4px;--ori-logo:44px;
 --ori-hero-height:88svh;--ori-type-size:15px;--ori-hero-mobile-size:30px;
}
body,body.ori-form-page{
 --ink:var(--ori-ink);--sub:#6d6267;--bg:var(--ori-paper);--paper:var(--ori-paper);
 --accent:var(--ori-accent);--accent2:var(--ori-accent);--accent-soft:var(--ori-accent);
 --soft:var(--ori-sakura);--line:#e9dce1;
 background:var(--ori-paper);color:var(--ori-ink);
 font-size:var(--ori-type-size);font-weight:400;line-height:2;
}
body :is(.plan,.flow,.booth,.np,.access,.faq,.p-hero,.reference-plans,.reference-news,.reference-blog,nav#nav,.ori-home-addition,.ori-reservation){
 --accent:var(--ori-accent);--accent2:var(--ori-accent);--accent-soft:var(--ori-accent);
 --soft:var(--ori-sakura);--ink:var(--ori-ink);--line:#e9dce1;
}
body .wrap{max-width:var(--ori-width);padding-inline:clamp(24px,5vw,72px)}
body header#top,body header#top.over-hero{
 background:var(--ori-paper);border-bottom:1px solid #e9dce1;
 padding:14px clamp(20px,4vw,64px);box-shadow:none;
}
body header#top .logo{background:transparent;padding:6px 0}
body header#top .logo-img{height:var(--ori-logo);max-width:min(42vw,260px);object-fit:contain}
body header#top .btn.web{font-size:12px;padding:12px 24px;letter-spacing:.12em}
body .studio-menu-ready #burger{width:62px;height:62px;padding:21px}
body #burger::before{background:var(--ori-sakura)}
body .studio-menu-ready #burger span{background:var(--ori-accent)}
/* 開いている間はえんじ色、閉じると通常の桜色へ戻します。 */
body #burger[aria-expanded="true"]::before{background:var(--ori-accent)}
body #burger[aria-expanded="true"] span{background:#fff}
/* PLAN冒頭のお問い合わせリンクを、色と下線で明確にします。 */
body .reference-plans .basebar .desc a{
 color:var(--ori-accent,#782b40);font-weight:600;text-decoration:underline;
 text-decoration-thickness:1px;text-underline-offset:.2em;
}
body .reference-plans .basebar .desc a:hover,
body .reference-plans .basebar .desc a:focus-visible{text-decoration-thickness:2px}
/* メニューの項目・順番・日本語表記はWordPressのメニュー設定を使用します。 */
body .studio-menu-ready nav#nav{
 background:var(--ori-paper);gap:7vw;padding:120px max(28px,7vw) 56px;
 --line:#e9dce1;--sub:#6d6267;
}
body .studio-menu-photo{height:min(64vh,700px);border-radius:var(--ori-radius)}
body .studio-menu-list a{color:var(--ori-ink);padding:20px 0;font-size:clamp(24px,3vw,38px);letter-spacing:.04em}
body .studio-menu-list a small{color:#6d6267;letter-spacing:.12em;margin-top:4px}
/* お知らせの子項目は線を付けず、ひとまとまりのメニューとして表示します。 */
body .studio-menu-list > .ori-news-menu{padding-bottom:16px;border-bottom:1px solid var(--line)}
body .studio-menu-list > .ori-news-menu > a{border-bottom:0;padding-bottom:8px}
body .studio-menu-list .ori-menu-heading{display:block;padding:20px 0 8px;color:var(--ori-ink);font-family:"Cormorant Garamond","Noto Serif JP",serif;font-size:clamp(24px,3vw,38px);line-height:1.5;letter-spacing:.04em;overflow-wrap:anywhere;cursor:default}
body .studio-menu-list .ori-menu-heading small{display:block;color:#6d6267;font:400 12px/1.8 "Noto Sans JP",sans-serif;letter-spacing:.12em;margin-top:4px}
body .studio-menu-list .ori-news-menu .sub-menu{margin:0;padding-left:24px}
body .studio-menu-list .sub-menu a{font-family:"Cormorant Garamond","Noto Serif JP",serif;font-size:22px}
body .studio-menu-list .ori-news-menu .sub-menu a{border:0;padding:10px 0;font-family:"Cormorant Garamond","Noto Serif JP",serif;font-size:22px;line-height:1.7;letter-spacing:.04em}
body .studio-menu-list .ori-news-menu .sub-menu a:hover{text-decoration:underline;text-underline-offset:.2em}
body .studio-menu-list a:hover,body nav#nav a:hover{color:var(--ori-accent)}
body nav#nav a.nav-item{padding:20px 0}
body .hero{
 height:var(--ori-hero-height);min-height:640px;margin:0;
 border-bottom:10px solid var(--ori-sakura);background:var(--ori-paper);
}
body .hero-overlay{background:linear-gradient(180deg,#24181c08 35%,#24181c18 55%,#24181ca6 100%)}
body .hero-copy{inset:auto 7% 17%;max-width:none}
body .hero-copy :is(h1,.hero-heading){font-family:"Noto Serif JP",serif;font-size:clamp(30px,3.3vw,52px);line-height:1.7;font-weight:400;letter-spacing:.13em}
body .hero-copy p{font-size:clamp(13px,1.1vw,17px);line-height:2;letter-spacing:.12em}
body .hero-controls{bottom:32px;background:#35212a55;padding:2px 12px}
body .hero-scroll{bottom:92px}
/* 大きな写真と余白、見出しの桜の意匠で、静かな写真館の雰囲気に整えます。 */
body :is(.plan,.flow,.booth,.profile,.access,.faq){padding-block:var(--ori-space)}
body .sec-head{margin-bottom:56px}
body .sec-head h2{font-family:"Cormorant Garamond","Noto Serif JP",serif;font-size:clamp(38px,4.2vw,60px);font-weight:400;color:var(--ori-accent);letter-spacing:.05em}
body .sec-head .ja{color:#6d6267;font-size:13px;letter-spacing:.16em}
body .sec-head::before{
 content:"";display:block;width:30px;height:30px;margin:0 auto 20px;
 background:var(--ori-sakura);mask:url(sakura.svg) center/contain no-repeat;
 -webkit-mask:url(sakura.svg) center/contain no-repeat;
}
body .about-head{font-family:"Noto Serif JP",serif;font-size:clamp(24px,2.7vw,38px);font-weight:400;line-height:1.9;letter-spacing:.1em;color:var(--ori-ink);margin-bottom:48px}
body .plan .plan-teaser{max-width:1100px}
body .plan .plan-post{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center}
body .plan-post-slides{grid-column:1;grid-row:auto}
body .plan-post-slide,body .plan-post-slide .plan-post-photo{aspect-ratio:4/5;object-fit:contain;background:var(--ori-paper)}
body .plan .plan-post .plan-post-caption{
 grid-column:2;grid-row:auto;margin:0;padding:36px 0;background:transparent;
 border-top:1px solid #e9dce1;border-bottom:1px solid #e9dce1;text-align:left;
}
body .plan-post-caption .about-copy{font-size:var(--ori-type-size);line-height:2.2}
body .plan-post-caption .pt-chips span{border:1px solid #e9dce1;color:var(--ori-accent);padding:6px 12px;border-radius:var(--ori-radius);background:var(--ori-sakura)}
body .plan-post-caption .pt-base{color:var(--ori-accent)}
body .flow{background:var(--ori-sakura)}
body .flow-grid{gap:28px}
body .flow-card{background:var(--ori-paper);padding:0;border-radius:var(--ori-radius);overflow:hidden}
body .flow-card .ph{aspect-ratio:4/3}
body .flow-card .body{padding:24px}
body .flow-card h3{font-family:"Noto Serif JP",serif;font-weight:500}
body .flow-card .num{color:var(--ori-accent)}
body .booth{background:var(--ori-paper)}
body .ori-photo-grid{gap:24px}
body .ori-photo-grid .ori-photo-open{border-radius:var(--ori-radius);overflow:hidden}
body .profile{background:linear-gradient(90deg,var(--ori-paper) 0 48%,var(--ori-sakura) 48% 100%)}
body .profile-inner{gap:clamp(36px,7vw,100px);align-items:center}
body .profile-photo{padding:0}
body .profile-photo img{border-radius:var(--ori-radius);object-fit:contain}
body .profile-bio{padding:20px 0}
body .profile-bio p{font-size:var(--ori-type-size);line-height:2.2}
body .np{background:var(--ori-paper);border-top:1px solid #e9dce1;border-bottom:1px solid #e9dce1;padding-block:var(--ori-space)}
body .news-item,body .news-row{padding-block:22px;border-color:#e9dce1}
body .news-item time,body .news-row time,body .journal-grid time{color:#6d6267;letter-spacing:.08em}
body .news-categories .cat{color:var(--ori-accent);background:var(--ori-sakura);border-color:transparent;border-radius:var(--ori-radius)}
body .journal-grid{gap:32px}
body .journal-grid article{border-bottom:1px solid #e9dce1;padding-bottom:24px}
body .journal-grid article .ph{border-radius:var(--ori-radius);overflow:hidden}
/* BLOGの一覧写真は、元画像の大きさにかかわらず正方形へ統一します。 */
body .journal-grid article .ph{position:relative;width:100%;aspect-ratio:1/1;min-height:0}
body .journal-grid article .ph > img,
body .journal-grid article .ph > .blog-photo-placeholder{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
body .journal-grid article .ph > .blog-photo-placeholder{display:grid;place-items:center}
body .journal-grid h3{font-weight:500;line-height:1.8;margin-top:10px}
body .access{background:var(--ori-sakura)}
body .access-map{background:var(--ori-paper);border-radius:var(--ori-radius);overflow:hidden}
body .access-info{padding:16px 0}
body .faq{background:var(--ori-paper)}
body .faq-item{border-bottom:1px solid #e9dce1}
body .faq-q{font-weight:500;padding-block:22px;color:var(--ori-ink)}
body .faq-q::before{color:var(--ori-accent)}
body .faq-a{color:#6d6267;line-height:2}
body .contact .inner{background:#35212a45;border:1px solid #fff7;padding:clamp(32px,5vw,72px);border-radius:var(--ori-radius)}
body :is(.btn,.pt-btn,.cmp-cta,.contact .cta,.mbar a.mbar-cta){border-radius:var(--ori-radius);min-height:46px}
body :is(.btn.web,.pt-btn,.cmp-cta,.mbar a.mbar-cta){background:var(--ori-accent);border:1px solid var(--ori-accent);color:#fff}
body :is(.btn.web,.pt-btn,.cmp-cta,.mbar a.mbar-cta):hover{background:var(--ori-accent);filter:brightness(.88);color:#fff}
body .mbar{background:var(--ori-paper);border-top:1px solid #e9dce1;box-shadow:0 -4px 24px #35212a08}
body .mbar-note{color:var(--ori-ink)}
body .mbar .mbar-contact{background:transparent;color:var(--ori-accent);border:1px solid var(--ori-accent)}
/* 下層ページ・検索・404にも同じ余白とタイトルの設計を適用します。 */
body .reference-page{padding-top:100px;background:var(--ori-paper);min-height:60vh}
body .p-hero{padding:72px 24px 64px;background:var(--ori-sakura);border-bottom:1px solid #e9dce1}
body .p-hero h1{font-family:"Cormorant Garamond","Noto Serif JP",serif;font-size:clamp(30px,4vw,56px);color:var(--ori-accent);font-weight:400;line-height:1.6;overflow-wrap:anywhere}
body .p-hero .eyebrow{color:var(--ori-accent)}
body .p-hero .ja{color:#6d6267}
body .basebar{background:var(--ori-paper);border-color:#e9dce1;padding-block:64px}
body .basebar .big,body .basebar .big em{color:var(--ori-accent)}
body .pblock{padding-block:64px;border-color:#e9dce1}
body .pblock h2{color:var(--ori-accent);font-family:"Noto Serif JP",serif;font-weight:400}
body .ptable{border-color:#e9dce1;border-radius:var(--ori-radius);overflow:hidden}
body .ptable .pr{border-color:#e9dce1}
body .ptable .val{color:var(--ori-accent)}
body .pt-cond .top-goods-link{color:var(--ori-accent);text-decoration:underline;text-underline-offset:.2em}
#photo-goods{scroll-margin-top:120px}
body .plan-recommendation{background:var(--ori-sakura);border-color:#e9dce1;padding:24px;border-radius:var(--ori-radius)}
body .cmp-card,body .cmp-featured{background:var(--ori-paper);border:1px solid #e9dce1;border-radius:var(--ori-radius)}
body .news-body{max-width:960px;padding-block:64px;overflow-wrap:anywhere}
body .news-body :is(h2,h3,h4){color:var(--ori-accent);font-family:"Noto Serif JP",serif;line-height:1.7;margin-block:36px 18px}
body .news-body p{line-height:2.1;margin-block:0 24px}
body .news-body :is(ul,ol){padding-left:1.5em;margin-block:20px}
body .news-body a:not(.btn){color:var(--ori-accent);text-underline-offset:4px}
body .news-body blockquote{border-left:3px solid var(--ori-accent);background:var(--ori-sakura);padding:24px;margin-block:24px}
body .news-body table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}
body .news-body :is(th,td){padding:12px;border:1px solid #e9dce1}
body .news-body th{background:var(--ori-sakura)}
body :is(.nav-links,.pagination){margin-block:40px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
body .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:6px 12px;border:1px solid #e9dce1;border-radius:var(--ori-radius)}
body .page-numbers.current{background:var(--ori-accent);color:#fff;border-color:var(--ori-accent)}
body .reference-about .polaroid{background:transparent}
body .reference-about :is(.intro,.concept,.about-intro){padding-block:var(--ori-space)}
body .reference-page img{max-width:100%;height:auto}
/* フッターは深いえんじ。ロゴの元画像と文章は維持します。 */
body > footer,body > footer.site-footer,body > footer.ori-form-footer{background:var(--ori-footer);color:var(--ori-footer-text);padding-block:72px 40px}
body > footer .foot-top{gap:64px;padding-bottom:48px;border-bottom:1px solid #ffffff26}
body > footer .foot-logo{display:inline-flex;align-items:center;background:transparent;padding:14px 20px;border-radius:var(--ori-radius);align-self:flex-start}
body > footer .foot-logo img{height:56px;max-width:220px;width:auto;object-fit:contain}
body > footer .foot-nav{gap:clamp(28px,5vw,72px)}
body > footer .foot-nav .col b{color:var(--ori-footer-text);font-weight:500;font-size:13px;letter-spacing:.18em;margin-bottom:16px}
body > footer :is(.foot-nav .col a,.copy,.ori-copyright),body > footer.ori-form-footer p{color:var(--ori-footer-text)}
body > footer .foot-nav .col a{font-size:13px;line-height:2.2}
body > footer .copy{opacity:.7;padding-top:28px;letter-spacing:.12em}
body > footer a:hover{color:var(--ori-footer-text);text-decoration:underline;text-underline-offset:4px}
body .ori-footer-menu,body .ori-footer-menu .sub-menu{list-style:none;margin:0;padding:0}
body .ori-footer-menu .sub-menu{padding-left:14px}
body .ori-footer-social{margin-top:28px}
body > footer.ori-form-footer img{background:transparent;padding:12px;border-radius:var(--ori-radius);height:80px}
/* SP（600px以下）以外は、画像自体の寸法を指定して縮小を防ぎます。 */
@media(min-width:601px){
 body > footer .foot-logo{width:240px;height:240px;max-width:100%;padding:0;justify-content:center;flex:0 0 240px}
 body > footer .foot-logo img.logo-img,
 body > footer.ori-form-footer > a > img{display:block;width:240px;height:240px;aspect-ratio:1/1;max-width:none;max-height:none;padding:0;flex:none;object-fit:contain;object-position:center}
 body > footer.ori-form-footer > a > img{margin-inline:auto}
}
/* CF7の入力・エラー・送信完了にも共通配色を適用します。 */
body.ori-form-page{background:var(--ori-paper);margin:0}
body .ori-form-main{max-width:900px;padding:32px clamp(20px,5vw,64px) 80px}
body .ori-form-back a{border:1px solid #e9dce1;border-radius:var(--ori-radius);background:var(--ori-paper);color:var(--ori-accent);padding:10px 20px}
body .ori-reservation{--paper:var(--ori-paper);--sub:#6d6267;max-width:760px;font-size:var(--ori-type-size)}
body .ori-reservation .r-hero{padding:64px 0 48px;text-align:center}
body .ori-reservation .r-hero :is(h1,h2){font-size:clamp(36px,5vw,54px);font-weight:400;color:var(--ori-accent)}
body .ori-reservation .r-hero .eyebrow{color:var(--ori-accent)}
body .ori-reservation .fsec{margin-top:48px}
body .ori-reservation .fsec-head{border-bottom:1px solid var(--ori-accent);padding-bottom:18px}
body .ori-reservation .fsec-head :is(h2,h3){font-size:18px;color:var(--ori-ink)}
body .ori-reservation .field{padding-block:24px;border-color:#e9dce1}
body .ori-reservation :is(input[type=text],input[type=email],input[type=tel],input[type=date],input[type=datetime-local],textarea,select){
 background:var(--ori-paper);border:1px solid #d4c2c9;border-radius:var(--ori-radius);min-height:50px;padding:14px 16px;font-size:16px;color:var(--ori-ink);box-shadow:none;
}
body .ori-reservation :is(input,textarea,select):focus{outline:2px solid var(--ori-accent);outline-offset:3px;border-color:var(--ori-accent);box-shadow:none}
body .ori-reservation :is(input[type=checkbox],input[type=radio]){accent-color:var(--ori-accent)}
body .ori-reservation :is(.choice,.wpcf7-list-item label){border-color:#d4c2c9;border-radius:var(--ori-radius);padding:14px 16px}
body .ori-reservation :is(.choice,.wpcf7-list-item label):has(input:checked){background:var(--ori-sakura);border-color:var(--ori-accent)}
body .ori-reservation :is(.agree,.inquiry-guide,.notice){background:var(--ori-sakura);border-color:#e9dce1;border-radius:var(--ori-radius)}
body .ori-reservation .notice-ico{background:var(--ori-paper)}
body .ori-inquiry .inquiry-guide a{color:var(--ori-accent)}
body .ori-reservation .req{background:var(--ori-accent);color:#fff;border-radius:2px}
body .ori-reservation input[type=submit]{background:var(--ori-accent);color:#fff;border-radius:var(--ori-radius);padding:18px 56px;min-height:56px;border:0;font-size:15px;letter-spacing:.12em}
body .ori-reservation input[type=submit]:hover{filter:brightness(.88)}
body .wpcf7-not-valid-tip{color:#9a253e;font-size:13px;margin-top:8px}
body .wpcf7 form .wpcf7-response-output{padding:20px;border-radius:var(--ori-radius);background:var(--ori-sakura);color:var(--ori-ink);line-height:1.9}
body .wpcf7 form.sent .wpcf7-response-output{border-color:#427754;background:#eef7ef}
body :focus-visible{outline:3px solid var(--ori-accent);outline-offset:4px}
body > footer :focus-visible{outline-color:var(--ori-sakura)}
@media(max-width:900px){
 body header#top{padding:12px 20px}
 body header#top .logo-img{height:min(var(--ori-logo),38px)}
 body .hero{min-height:600px;height:92svh}
 body .hero-copy{inset:auto 24px calc(var(--mbar-height,110px) + 94px)}
 body .hero-copy :is(h1,.hero-heading){font-size:var(--ori-hero-mobile-size,30px);letter-spacing:.08em}
 body .hero-copy p{font-size:13px}
 body .hero-controls{bottom:calc(var(--mbar-height,110px) + 18px)}
 body .hero-scroll{bottom:calc(var(--mbar-height,110px) + 60px)}
 body .plan .plan-post{grid-template-columns:1fr;gap:24px}
 body .plan-post-slides,body .plan .plan-post .plan-post-caption{grid-column:auto;grid-row:auto}
 body .plan-post-slide,body .plan-post-slide .plan-post-photo{aspect-ratio:4/3}
 body .plan .plan-post .plan-post-caption{padding:28px 0}
 body :is(.plan,.flow,.booth,.profile,.access,.faq,.np){padding-block:calc(var(--ori-space)*.7)}
 body .profile{background:var(--ori-sakura)}
 body .reference-page{padding-top:90px}
 body .p-hero{padding:52px 24px}
 body .studio-menu-ready nav#nav{padding:104px 28px 40px;gap:32px}
 body > footer .foot-top{gap:40px}
}
@media(max-width:600px){
 body .wrap{padding-inline:24px}
 body .sec-head{margin-bottom:36px}
 body .sec-head h2{font-size:40px}
 body .flow-grid{display:grid;grid-template-columns:1fr;overflow:visible}
 body .flow-card{width:100%;min-width:0;max-width:none}
 body .flow-card .body{padding:24px}
 body .journal-grid{gap:24px}
 body .ori-photo-grid{gap:14px}
 body > footer{padding-block:48px 32px}
 body > footer .foot-top{display:flex;flex-direction:column;align-items:stretch}
 body > footer .foot-logo{align-self:center;justify-content:center}
 body > footer .foot-nav{display:grid;grid-template-columns:1fr 1fr;gap:28px}
 body > footer .copy{font-size:10px;line-height:1.9;overflow-wrap:anywhere}
 body .ori-form-main{padding:24px 20px 56px}
 body .ori-reservation input[type=submit]{width:100%;padding-inline:20px}
 body .ori-reservation .r-hero{padding-top:40px}
 body .news-body{padding-block:40px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 body *,body *::before,body *::after{animation:none!important;transition:none!important}
}
/* JavaScriptが無効な場合はhiddenのままなので、内容の閲覧を妨げません。 */
.ori-loading[hidden]{display:none!important}
.ori-loading{
 position:fixed;inset:0;z-index:100000;background:var(--ori-accent,#782b40);
 display:grid;place-items:center;pointer-events:none;
 opacity:1;transition:opacity .3s ease;
}
.ori-loading.is-finished{opacity:0}
.ori-loading-mark{display:flex;flex-direction:column;align-items:center;gap:32px}
.ori-loading-flower{
 display:block;width:64px;height:64px;background:#fff;
 mask:url(sakura.svg) center/contain no-repeat;-webkit-mask:url(sakura.svg) center/contain no-repeat;
 animation:ori-loading-breathe 1.4s ease-in-out infinite;
}
.ori-loading-line{display:block;width:88px;height:1px;background:#ffffff45;position:relative;overflow:hidden}
.ori-loading-line::after{content:"";position:absolute;inset:0;background:#fff;transform:translateX(-100%);animation:ori-loading-progress 1.2s ease-in-out infinite}
@keyframes ori-loading-breathe{0%,100%{opacity:.6;transform:scale(.94)}50%{opacity:1;transform:scale(1)}}
@keyframes ori-loading-progress{to{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){.ori-loading-flower,.ori-loading-line::after{animation:none}.ori-loading{transition:none}}
/* サイト本体の面は白を基本に統一。桜色は小さな装飾と選択状態だけに使用します。 */
body :is(.flow,.profile,.access,.np,.p-hero,.basebar,.booth,.faq,.reference-page,.plan-recommendation){
 background:var(--ori-paper);
}
body .profile{border-top:1px solid #e9dce1;border-bottom:1px solid #e9dce1}
body .flow,body .access{border-top:1px solid #e9dce1;border-bottom:1px solid #e9dce1}
body .flow-card{border:1px solid #e9dce1}
body .plan-recommendation{border-left:3px solid var(--ori-accent)}
/* PLANのランク表はコンパクトにし、旧おすすめ欄は通常の料金表へ揃えます。 */
body .reference-plans .rental-rank-table .pr{padding-block:8px;row-gap:0}
body .reference-plans .plan-recommendation{margin:0;padding:0;background:transparent;border:0;border-radius:0}
body .reference-plans .plan-recommendation .ptable{border:0;border-top:1px solid var(--ori-accent)}
body .reference-plans .plan-recommendation .ptable .pr{padding:20px 2px;border:0}
/* ロケーション撮影のみの直下は、周囲の料金行と同じ薄い区切り線にします。 */
body .reference-plans .plan-recommendation + .ptable{border-top-color:#e9dce1}
/* ヒーロー写真の下の紹介見出し。共通見出しの40pxより専用設定を優先します。 */
@media(max-width:900px){
 body .plan .sec-head h2.about-head{font-size:var(--ori-intro-mobile-size,30px)}
}
/* NEWSの桜は、左側の見出し幅ではなくNEWSセクション全体の中央に配置します。 */
body #news .row-head{position:relative;padding-top:50px}
body #news .row-head .sec-head::before{display:none}
body #news .row-head::before{
 content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
 width:30px;height:30px;background:var(--ori-sakura);
 mask:url(sakura.svg) center/contain no-repeat;
 -webkit-mask:url(sakura.svg) center/contain no-repeat;
}
/* TOP紹介は写真と文章を縦に並べ、同じ中心線に揃えます。 */
body #plan .plan-post{
 display:grid;grid-template-columns:minmax(0,1fr);gap:32px;
 align-items:start;justify-items:center;max-width:960px;width:100%;margin:0 auto;
}
body #plan .plan-post-slides{grid-column:1;grid-row:auto;width:100%;min-width:0}
body #plan .plan-post .plan-post-caption{
 grid-column:1;grid-row:auto;position:relative;min-width:0;
 box-sizing:border-box;width:100%;max-width:800px;margin:0;
 padding:clamp(24px,3.5vw,40px);text-align:left;
 background:var(--ori-paper,#fff);
}
body #plan .plan-post-dots{grid-column:1;grid-row:auto;justify-content:center}
@media(min-width:901px){
 body #plan .plan-post-slide,
 body #plan .plan-post-slide .plan-post-photo{
  aspect-ratio:3/2;object-fit:contain;background:var(--ori-paper,#fff);
 }
}
/* ブロックは中央配置のまま、紹介文と所要時間の案内は左揃えにします。 */
body #plan .plan-post .plan-post-caption{text-align:left}
body #plan .plan-post-caption .about-copy{
 max-width:42em;margin:0 auto;text-align:left;line-height:2.2;
}
body #plan .plan-post-caption .pt-base{margin:28px 0 0;text-align:center}
body #plan .plan-post-caption .pt-chips{justify-content:center;gap:12px 10px;margin:0}
body #plan .plan-post-caption .pt-cond{
 max-width:38em;margin:28px auto 0;text-align:left;line-height:2;
}
@media(max-width:600px){
 body #plan .plan-post-caption .about-copy{line-height:2.1}
 body #plan .plan-post-caption .pt-base{margin-top:24px}
 body #plan .plan-post-caption .pt-cond{margin-top:24px}
}
