/* ==========================================================================
   rich-layout-meeting-improvement.css
   新人賞・一次落選 作品改善面談 商品ページ（Backlog #62）
   デザイン: .spec/62/design/design.css をWordPressに適用
   --------------------------------------------------------------------------
   本文は im- 接頭辞で分離。ヘッダー・フッター・パンくずは既存のものを使う。
   共通の rich-layout.css は body.rich-layout-page 側の指定（コンテナ幅の解除など）
   のために読み込まれるが、この商品では div.product に richLayout-flow を付けない
   ため、rich-layout.css のリセットとコンポーネントは適用されない。
   ========================================================================== */
html{scroll-behavior:smooth}body{margin:0}.site-header{margin-bottom:0!important}#colophon{padding-bottom:0}.im-breadcrumb{background:#e0e5eb;font-size:13px;padding:13px 0;color:#555}.im-breadcrumb .im-wrap{display:flex;gap:10px;flex-wrap:wrap}.im-breadcrumb a{color:#666;text-decoration:underline}
.im-page{--paper:#faf8f5;--alt:#f2ede6;--ink:#24211e;--muted:#6b635a;--rule:#ded7cc;--green:#00695c;--deep:#0c534c;--accent:#f90;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}
.im-page *{box-sizing:border-box}.im-page :where(h1,h2,h3,h4,p,ul,li,dl,dt,dd,figure){margin:0;padding:0;color:inherit;float:none;letter-spacing:normal}.im-page :where(h1,h2,h3,h4){font-family:inherit;font-weight:700;line-height:1.55}.im-page :where(ul){list-style:none}.im-page :where(a){text-decoration:none}.im-page button{font-family:inherit}.im-page a:focus-visible,.im-page button:focus-visible{outline:3px solid #00897b;outline-offset:5px}.im-wrap{max-width:1120px;width:calc(100% - 80px);margin-inline:auto}.im-page .im-mobile{display:none}.im-page svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;width:32px;height:32px}.im-page .im-symbols{position:absolute;width:0;height:0;overflow:hidden}
.im-hero{position:relative;isolation:isolate;background:var(--paper);padding:46px 0 48px;overflow:hidden}.im-hero:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(250,248,245,.95),rgba(250,248,245,.79) 48%,rgba(250,248,245,.18)),url('../img/rich-layout-hero.jpg') center 52%/cover no-repeat}.im-hero:after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(to right,rgba(0,105,92,.045) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,105,92,.045) 1px,transparent 1px);background-size:22px 22px;opacity:.55}.im-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:48px;align-items:center}.im-eyebrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;font-weight:700;color:var(--green);margin-bottom:22px}.im-badge{background:var(--deep);color:white;padding:5px 12px;border-radius:2px;letter-spacing:.05em}.im-page h1{font-size:clamp(38px,4.2vw,58px);line-height:1.35;letter-spacing:.025em;font-weight:800;margin-bottom:22px}.im-page h1>span{font-size:.72em;letter-spacing:.035em}.im-hero-lead{font-size:22px;font-weight:700;margin-bottom:8px!important}.im-hero-desc{font-size:16px;line-height:2}.im-photo-copy{font-size:14px;color:var(--green)!important;font-weight:700;margin-top:29px!important;padding-left:42px!important;position:relative}.im-photo-copy:before{content:"";width:28px;height:1px;background:var(--green);position:absolute;left:0;top:50%}
.im-price-card{background:var(--deep);color:white;padding:26px 26px 19px;border-radius:3px;box-shadow:0 8px 30px #24211e12}.im-price-label{font-size:14px;display:flex;flex-wrap:wrap;gap:0 12px}.im-price-label span{font-size:12px;opacity:.8}.im-price{display:flex;align-items:baseline;line-height:1.15!important;gap:6px;margin:12px 0 17px!important;font-variant-numeric:tabular-nums}.im-price strong{font-size:52px;font-weight:700;letter-spacing:-.035em}.im-price>span{font-size:20px}.im-price small{font-size:12px}.im-card-detail{font-size:14px;line-height:1.85}.im-card-benefit{display:flex;gap:12px;align-items:center;border-top:1px solid #ffffff33;border-bottom:1px solid #ffffff33;margin:17px 0 20px;padding:13px 0;font-size:13px;line-height:1.65}.im-card-benefit>span{font-size:12px;width:42px;flex-shrink:0;opacity:.8}.im-card-benefit strong{font-size:17px;color:#ffd599}.im-page .im-button{border:0;border-radius:2px;display:flex;align-items:center;justify-content:center;gap:18px;min-height:56px;padding:14px 18px;background:var(--accent);color:var(--ink);font-size:15px;font-weight:700;line-height:1.5;cursor:pointer;transition:background .15s,transform .15s;box-shadow:none;text-decoration:none}.im-page .im-button:hover{background:#eb8c00;transform:translateY(-1px)}.im-button>span{margin-left:auto;font-size:22px;line-height:1}.im-card-note{font-size:11px!important;text-align:center;margin-top:10px!important;opacity:.85}.im-features{background:#fff;border-bottom:1px solid var(--rule)}.im-features ul{display:grid;grid-template-columns:1fr 1fr 1fr 1.35fr;padding:25px 0}.im-features li{display:flex;align-items:center;justify-content:center;gap:16px;padding:0 18px;border-right:1px solid var(--rule);font-size:15px;font-weight:700;line-height:1.7}.im-features li:first-child{padding-left:0;justify-content:flex-start}.im-features li:last-child{border:0;padding-right:0}.im-features svg{color:var(--green);flex-shrink:0}.im-feature-sub{display:block;font-size:12px;color:var(--muted);font-weight:400}
.im-section{padding:88px 0}.im-two-col{display:grid;grid-template-columns:1.1fr 1fr;gap:76px;align-items:center}.im-label{font-size:13px;font-weight:700;color:var(--green)!important;letter-spacing:.08em!important;display:flex;align-items:center;gap:14px;margin-bottom:18px!important}.im-label:before{content:"";display:block;width:30px;height:1px;background:currentColor}.im-page h2{font-size:30px;line-height:1.65;letter-spacing:.015em;margin-bottom:24px}.im-page h2 em{font-style:normal;background:linear-gradient(transparent 68%,#00897b24 68%)}.im-concern p+p{margin-top:18px}.im-page h3{font-size:20px}.im-worries{padding:32px 30px;background:white;border-top:3px solid var(--green)}.im-worries h3{margin-bottom:22px}.im-check-list li,.im-cross-list li{position:relative;padding:11px 0 11px 28px;font-size:16px}.im-check-list li:before{content:"✓";position:absolute;left:0;color:var(--green);font-size:19px;font-weight:600}.im-worries li+li{border-top:1px solid var(--rule)}.im-about{background:var(--alt);position:relative}.im-section-heading{text-align:center}.im-section-heading .im-label{justify-content:center}.im-section-heading p{line-height:2}.im-about-points{display:grid;grid-template-columns:repeat(4,1fr);margin-top:45px}.im-about-points>div{text-align:center;border-right:1px solid #d1cabe;padding:12px 20px}.im-about-points>div:last-child{border:0}.im-about-points svg{color:var(--green);width:37px;height:37px;margin-bottom:16px}.im-about-points h3{font-size:16px;line-height:1.8}.im-scope h2{font-size:27px}.im-limit{border-left:1px solid var(--rule);padding:28px 0 28px 45px}.im-limit .im-label{color:var(--muted)!important}.im-limit h3{margin-bottom:16px}.im-cross-list li:before{content:"×";position:absolute;left:0;color:#8a7161;font-size:22px;line-height:1.35}.im-apply{background:var(--alt);scroll-margin-top:18px}.im-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:44px;align-items:start}.im-service{padding:8px 0}.im-service h3{font-size:24px}.im-service>.im-price{margin:22px 0 30px!important;color:var(--deep)}.im-spec{border-top:1px solid #d1cabe}.im-spec>div{display:grid;grid-template-columns:64px 1fr;gap:18px;border-bottom:1px solid #d1cabe;padding:16px 0;font-size:15px}.im-spec dt{font-weight:700;color:var(--green)}.im-spec dd{line-height:1.85}.im-notes{margin-top:30px;color:var(--muted)}.im-notes h4{font-size:14px;margin-bottom:13px}.im-notes li{font-size:13px;position:relative;padding-left:17px;margin-top:7px;line-height:1.8}.im-notes li:before{content:"※";position:absolute;left:0}.im-booking{background:#fff;border:1px solid var(--rule);padding:30px 32px 24px;border-radius:3px}.im-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.im-calendar-heading h3{font-size:21px}.im-booking>p{font-size:14px;color:var(--muted)}.im-month-nav{display:flex;align-items:center;justify-content:space-between;margin-top:27px;padding-bottom:13px;border-bottom:1px solid var(--rule)}.im-month-nav h4{font-size:19px}.im-month-nav button{width:36px;height:36px;padding:0;border:1px solid var(--rule);color:var(--green);background:#fff;border-radius:2px;font-size:26px;line-height:1;cursor:pointer}.im-page .im-calendar{border:0;border-collapse:collapse;table-layout:fixed;width:100%;margin:10px 0 8px;font-size:15px}.im-page .im-calendar th,.im-page .im-calendar td{background:transparent;border:0;padding:0;text-align:center;min-width:0;width:14.285%;height:45px;vertical-align:middle}.im-page .im-calendar th{font-size:12px;color:var(--muted);height:33px;font-weight:400}.im-calendar td:first-child{color:#a46b5d}.im-calendar td:last-child{color:#617c9b}.im-calendar button{width:42px;height:42px;margin:auto;padding:0;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid var(--green);background:#f0f7f3;color:var(--green);line-height:1.1;font-size:15px;border-radius:50%;cursor:pointer}.im-calendar button small{font-size:11px;margin-top:3px}.im-calendar button[aria-pressed="true"]{background:var(--deep);color:#fff}.im-calendar-legend{display:flex;align-items:center;gap:6px;font-size:12px!important}.im-calendar-legend>span{color:var(--green);font-size:19px}.im-calendar-legend small{margin-left:auto;font-size:11px}.im-month-empty{padding:16px 0}.im-slots{padding-top:20px;border-top:1px solid var(--rule);margin-top:15px}.im-slots h4{font-size:16px}.im-slots p{font-size:13px;color:var(--muted);margin-top:4px}.im-slot-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.im-slot-list button{border:1px solid var(--rule);border-radius:2px;background:#fff;padding:10px 8px;font-weight:600;color:var(--ink);font-size:13px;cursor:pointer;line-height:1.6}.im-slot-list button span{display:block;font-size:11px;color:var(--green);font-weight:400}.im-slot-list button[aria-pressed="true"]{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);background:#f0f7f3}.im-selection{font-size:12px!important;line-height:1.8;padding:17px 0}.im-page .im-button:disabled{background:#e8e5df;color:#746e65;cursor:not-allowed;transform:none}.im-booking>.im-button{width:100%}.im-booking-note{font-size:12px!important;margin-top:10px!important}.im-closing{text-align:center;padding:76px 0;background:linear-gradient(#faf8f5dd,#faf8f5df),url('../img/rich-layout-hero.jpg') center 70%/cover}.im-closing p{font-size:28px;font-weight:700;letter-spacing:.05em;margin-bottom:28px}.im-closing .im-button{width:380px;max-width:100%;margin:auto}.im-sticky{position:fixed;left:0;right:0;bottom:0;z-index:50;background:#faf8f5f5;border-top:1px solid var(--rule);box-shadow:0 -4px 18px #24211e0a;padding:10px 24px;display:none;align-items:center;justify-content:space-between;gap:14px}.im-sticky>div{line-height:1.2}.im-sticky>div>span{font-size:10px;display:block;color:var(--muted);margin-bottom:5px}.im-sticky strong{font-size:24px}.im-sticky small{font-size:10px}.im-sticky .im-button{font-size:13px;min-height:46px;padding:12px 16px;gap:12px}.im-page [hidden]{display:none!important}
@media(min-width:1440px){.im-hero{padding:64px 0}.im-hero-grid{gap:70px;grid-template-columns:minmax(0,1fr) 370px}}
@media(max-width:1000px){.im-wrap{width:calc(100% - 48px)}.im-hero-grid{grid-template-columns:minmax(0,1fr) 320px;gap:24px}.im-page h1{font-size:43px}.im-eyebrow{font-size:11px;gap:8px}.im-price-card{padding:24px 22px 17px}.im-hero-lead{font-size:19px}.im-hero-desc{font-size:14px}.im-features li{padding-inline:12px;gap:10px;font-size:13px}.im-feature-sub{font-size:11px}.im-features svg{width:26px}.im-two-col{gap:38px}.im-page h2{font-size:26px}.im-booking-grid{gap:34px}.im-booking{padding:24px}.im-check-list li,.im-cross-list li{font-size:14px}}
@media(max-width:767px){.im-wrap{width:calc(100% - 40px)}.im-breadcrumb{font-size:10px;padding:11px 0}.im-breadcrumb .im-wrap{gap:5px}.im-page .im-mobile{display:block}.im-page .im-desktop{display:none}.im-hero{padding:30px 0 28px}.im-hero:before{background:linear-gradient(180deg,#faf8f5c9,#faf8f5f7 54%),url('../img/rich-layout-hero.jpg') 65% top/auto 450px no-repeat}.im-hero-grid{display:block}.im-eyebrow{font-size:11px;gap:10px;margin-bottom:20px}.im-badge{padding:4px 8px}.im-page h1{font-size:42px;line-height:1.3;margin-bottom:19px}.im-page h1>span{font-size:.66em}.im-hero-lead{font-size:18px;line-height:1.6}.im-hero-desc{font-size:14px;line-height:1.9;margin-top:9px!important}.im-photo-copy{display:none}.im-price-card{margin-top:24px;padding:20px}.im-price-label{font-size:12px;justify-content:space-between}.im-price-card .im-price{margin:10px 0 16px!important}.im-price strong{font-size:45px}.im-price-card .im-card-detail{display:none}.im-card-benefit{margin:0 0 16px;padding:12px 0;font-size:12px}.im-card-benefit>span{width:auto;font-size:11px}.im-card-benefit strong{font-size:15px}.im-card-benefit p{line-height:1.7}.im-card-note{font-size:10px!important}.im-features ul{grid-template-columns:1fr 1fr;padding:8px 0}.im-features li{justify-content:flex-start!important;border:0;gap:10px;padding:15px 8px!important;font-size:12px}.im-features li:nth-child(-n+2){border-bottom:1px solid var(--rule)}.im-features li:nth-child(odd){border-right:1px solid var(--rule)}.im-features li:nth-child(even){padding-left:15px!important}.im-features svg{width:24px;height:24px}.im-feature-sub{font-size:10px}.im-section{padding:54px 0}.im-two-col{display:block}.im-page h2{font-size:24px;line-height:1.6;margin-bottom:22px}.im-page p{font-size:15px}.im-label{font-size:12px!important;margin-bottom:16px!important}.im-concern p+p{margin-top:16px}.im-worries{margin-top:30px;padding:22px 20px}.im-worries h3{font-size:17px;margin-bottom:13px}.im-check-list li,.im-cross-list li{font-size:14px;line-height:1.8;padding-top:9px;padding-bottom:9px}.im-section-heading{text-align:left}.im-section-heading .im-label{justify-content:flex-start}.im-about-points{grid-template-columns:1fr 1fr;margin-top:28px;gap:0}.im-about-points>div{padding:22px 10px}.im-about-points>div:nth-child(2){border-right:0}.im-about-points>div:nth-child(-n+2){border-bottom:1px solid #d1cabe}.im-about-points h3{font-size:14px}.im-about-points svg{width:30px;height:30px;margin-bottom:12px}.im-scope h2{font-size:23px}.im-limit{border-left:0;border-top:1px solid var(--rule);padding:28px 0 0;margin-top:26px}.im-limit h3{font-size:19px}.im-booking-grid{display:flex;flex-direction:column;margin-top:28px;gap:30px}.im-service,.im-booking{width:100%}.im-service h3{font-size:22px}.im-service>.im-price{margin:17px 0 25px!important}.im-spec>div{padding:14px 0;font-size:14px}.im-notes h4{font-size:13px}.im-notes li{font-size:12px}.im-booking{padding:24px 20px}.im-calendar-heading h3{font-size:20px}.im-closing{padding:48px 0}.im-closing p{font-size:21px;line-height:1.8}.im-sticky:not([hidden]){display:flex}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.im-page .im-button{transition:none}}

/* 旧商品見出しの装飾を本文へ持ち込まない。 */
.im-page h1::after{content:none}

.im-booking{scroll-margin-top:24px}

/* 申込みフォーム（カート投入）。既存のform指定を持ち込まない */
.im-booking .im-cartform{margin:0;padding:0;border:0;background:none}
.im-booking .im-cartform .im-button{width:100%}

/* 満席の枠 */
.im-slot-list button:disabled{cursor:not-allowed;background:#f4f2ee;border-color:var(--rule);color:#8c857c;box-shadow:none}
.im-slot-list button:disabled span{color:#8c857c}

/* 全枠満席のときの案内 */
.im-booking-full{font-size:13px!important;line-height:1.8;color:var(--muted)!important;border:1px solid var(--rule);background:#f4f2ee;padding:14px 16px;margin-bottom:14px!important}
