/* 支給デザインの連続する曲線と写真の輪郭。背景は各区間を跨がせる。 */
.designed-home{background:#fff8f7}
.designed-home #main{position:relative;isolation:isolate}
.design-hero{overflow:visible;border-radius:0;background:transparent}
.design-hero-photo{overflow:hidden;border-radius:0;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M0%200H875Q1000%200%201000%20155V835C830%20968%20580%201010%20330%20985C170%20970%2065%20943%200%20880Z%22%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M0%200H875Q1000%200%201000%20155V835C830%20968%20580%201010%20330%20985C170%20970%2065%20943%200%20880Z%22%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat}
.design-hero-photo img{object-position:50% 18%}
.design-hero-photo:after{background:linear-gradient(90deg,#fff8f7ed 0%,#fff8f7db 17%,#fff8f7b8 30%,#fff8f74d 43%,transparent 57%),linear-gradient(0deg,#fff8f74d,transparent 22%)}
.design-hero:after{content:"";position:absolute;right:0;bottom:36px;width:34%;height:160px;border-top:2px solid #ffccd6;border-bottom:1px solid #ffdde4;background:linear-gradient(110deg,#fff8f700,#fff8f7d9 48%);border-radius:100% 0 0 100% / 100% 0 0 30%;transform:skewY(-12deg);pointer-events:none;z-index:0}
/* MV：参考画像の左上基準と三行組み。写真全体ではなく文字の背面を明るくする。 */
.design-hero-copy{z-index:2;text-shadow:0 1px 12px #fff8f7b3}
@media(min-width:801px){
 .design-hero{height:clamp(470px,42vw,680px)}
 .design-hero-copy{margin-left:max(72px,calc((100% - 1280px)/2));padding:clamp(32px,3vw,48px) 0 60px;max-width:48%}
 .design-hero-copy .hero-kicker{font-size:clamp(16px,1.4vw,21px);font-weight:600;letter-spacing:.1em;margin-bottom:clamp(24px,2.6vw,40px)}
 .design-hero-copy h1{font-size:clamp(38px,4.05vw,62px);line-height:1.38;font-weight:500;letter-spacing:.025em}
 .design-hero-copy h1 span{white-space:nowrap}
 .design-hero-copy>p:not(.hero-kicker){font-size:clamp(16px,1.4vw,21px);font-weight:500;line-height:1.8;letter-spacing:.04em;margin-top:20px}
 .design-hero-copy .button{min-width:clamp(280px,22vw,350px);min-height:64px;margin-top:20px;text-shadow:none}
}

main .hero-side-note{z-index:1;background:none;right:5%;bottom:82px;padding:0;transform:rotate(-6deg);color:#9a4357}
main .design-image-note{bottom:14px;right:5%;z-index:2;background:none}
.design-about{isolation:isolate;position:relative;padding-top:55px;padding-bottom:95px;z-index:1}
.design-about:before{content:"";position:absolute;left:calc(50% - 50vw);right:auto;top:-110px;bottom:-65px;width:100vw;border-radius:0;background:url('./assets/flow-about.svg') center bottom/100% 100% no-repeat;z-index:-1;pointer-events:none}
.design-about-visual{padding-top:0}
.design-about .design-photo img{aspect-ratio:1.65;border-radius:0;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M30%20140C250%20100%20620%2015%20835%2028Q1000%2040%201000%20210V820Q1000%20995%20850%20982L120%20925Q0%20912%200%20795V245Q0%20155%2030%20140Z%22%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M30%20140C250%20100%20620%2015%20835%2028Q1000%2040%201000%20210V820Q1000%20995%20850%20982L120%20925Q0%20912%200%20795V245Q0%20155%2030%20140Z%22%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat}
.design-about .design-photo figcaption{margin-top:0;padding-left:22px}
.design-round-note{right:-12px;top:5px;background:radial-gradient(circle at 35% 35%,#ffe0e7ee,#ffdce5e6);width:185px;height:185px;font-weight:500;z-index:2}
.design-about-visual .leaf-sprig{right:-28px;bottom:-12px;width:220px;height:250px;transform:rotate(18deg);z-index:-1;opacity:.8}
.design-feature{position:relative;isolation:isolate;background:transparent;border-radius:0;padding-bottom:45px;z-index:1}
.design-feature:before{content:"";position:absolute;inset:-55px 0 -80px;background:linear-gradient(145deg,#fff4f4 5%,#ffeef1 60%,#fff8f700);border-radius:0 48% 30% 10% / 0 15% 14% 8%;z-index:-1;pointer-events:none}
.design-feature .design-photo img{border-radius:0;aspect-ratio:1.5;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M0%200H840Q1000%200%201000%20170V790Q1000%20985%20805%201000H0Z%22%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M0%200H840Q1000%200%201000%20170V790Q1000%20985%20805%201000H0Z%22%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat}
.design-feature-cards{border-radius:35px 35px 35px 12px;background:#fffdfcf5;box-shadow:0 8px 24px #e8aab00b}
.design-comparison,.design-plans,.design-faq{position:relative;z-index:1}
.design-comparison{background:transparent}
.design-faq{padding-bottom:95px}
.design-instructor{position:relative;isolation:isolate;background:transparent;border-radius:0;z-index:0;padding-top:35px;padding-bottom:35px}
.design-instructor:before{content:"";position:absolute;left:0;right:0;top:-120px;bottom:-450px;background:url('./assets/flow-lower.svg') center/100% 100% no-repeat;z-index:-1;pointer-events:none}
.design-instructor .design-photo img{border-radius:22px 8px 25px 8px;aspect-ratio:2.05}
.design-instructor .leaf-sprig{right:-25px;bottom:40px;display:block;transform:rotate(18deg);opacity:.6;width:140px;height:180px}
.design-guide{position:relative;z-index:1}
.design-guide .guide-link{background:#fff8f7d9}
@media(max-width:1180px) and (min-width:801px){
 .design-about:before{left:calc(50% - 50vw);right:auto}
 .design-round-note{width:155px;height:155px;right:-12px}
 .design-feature-copy{padding-bottom:160px}
 .design-instructor .leaf-sprig{right:0}
}
@media(max-width:800px){
 .design-hero{overflow:visible;padding-top:220px;background:transparent}
 .design-hero-photo{height:535px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M0%200H1000V810C820%20970%20410%201050%200%20900Z%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M0%200H1000V810C820%20970%20410%201050%200%20900Z%22%2F%3E%3C%2Fsvg%3E");border-radius:0}
 .design-hero-photo img{object-position:88% center}
 .design-hero-photo:after{background:linear-gradient(0deg,#fff8f7 0%,#fff8f7f5 27%,#fff8f7bf 46%,#fff8f738 66%,transparent 80%)}
 .design-hero:after{width:100%;height:105px;top:190px;bottom:auto;background:linear-gradient(100deg,#fff8f7d9,#fff8f780 65%,transparent);border:0;border-radius:0;transform:skewY(-15deg);z-index:0}
 .design-hero-copy .hero-kicker{position:relative;z-index:1;background:transparent;padding-left:10px;transform:rotate(-10deg)}
 main .design-image-note{position:relative;right:auto;bottom:auto;background:none;z-index:2}
 .design-benefits{position:relative;z-index:2;background:linear-gradient(110deg,#ffe9ed,#fff0f2)}
 .design-about{padding-top:25px;padding-bottom:35px;z-index:1}
 .design-about:before{left:calc(50% - 50vw);top:75px;bottom:-45px;width:100vw;opacity:.5;background-size:180% 100%;background-position:35% bottom}
 .design-about .design-photo img{aspect-ratio:1.5;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M30%20140C250%20100%20620%2015%20835%2028Q1000%2040%201000%20210V820Q1000%20995%20850%20982L120%20925Q0%20912%200%20795V245Q0%20155%2030%20140Z%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M30%20140C250%20100%20620%2015%20835%2028Q1000%2040%201000%20210V820Q1000%20995%20850%20982L120%20925Q0%20912%200%20795V245Q0%20155%2030%20140Z%22%2F%3E%3C%2Fsvg%3E");border-radius:0}
 .design-about .design-photo figcaption{padding-left:4px}
 .design-round-note{top:auto;bottom:35px;right:0;width:122px;height:122px;font-size:16px;line-height:1.7}
 .design-about-visual .leaf-sprig{display:block;width:130px;height:160px;right:-8px;bottom:10px;opacity:.7}
 .design-feature{padding-top:15px;padding-bottom:30px;z-index:1}
 .design-feature:before{inset:30px 0 -30px;border-radius:35% 0 30% 0 / 7% 0 5% 0;background:linear-gradient(120deg,#fff8f7,#fff0f2)}
 .design-feature .design-photo img{aspect-ratio:2;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M0%200H840Q1000%200%201000%20170V790Q1000%20985%20805%201000H0Z%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M0%200H840Q1000%200%201000%20170V790Q1000%20985%20805%201000H0Z%22%2F%3E%3C%2Fsvg%3E")}
 .design-feature-cards{margin-top:-16px;position:relative;z-index:2;border-radius:0;background:none;box-shadow:none}
 .design-feature .design-photo figcaption{padding-top:14px;margin-bottom:14px}
 .design-feature-cards article{background:#fffdfcf7}
 .design-faq{padding-bottom:35px}
 .design-instructor{padding-top:25px;padding-bottom:30px;z-index:1}
 .design-instructor:before{top:-25px;bottom:-35px;background-size:200% 100%;background-position:42% center;opacity:.65}
 .design-instructor .design-photo img{aspect-ratio:2;border-radius:18px 8px 22px 8px}
 .design-instructor .leaf-sprig{right:0;bottom:105px;width:105px;height:150px;opacity:.5}
}
@media(max-width:1180px) and (min-width:801px){}
@media(max-width:1180px){.design-about-visual .leaf-sprig{right:8px}}
@media(max-width:800px){}
@media(max-width:800px){.design-instructor .leaf-sprig{right:8px}}

/* 特徴カード：テキスト幅を確保し、各列の基準線を一致させる。 */
.design-feature-cards{width:min(1120px,calc(100% - 80px));margin-left:auto;margin-right:4%;margin-top:-110px;grid-template-columns:repeat(3,minmax(0,1fr));border-radius:34px;overflow:hidden}
.design-feature-cards article{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;padding:26px 22px;margin:0;align-items:start;border-radius:0}
.design-feature-cards article>span{width:40px;height:40px;font-size:21px;margin-top:0}
.design-feature-cards article>div{min-width:0}
.design-feature-cards h3{font-size:18px;font-weight:600;line-height:1.6;letter-spacing:0;margin:1px 0 12px;white-space:nowrap}
.design-feature-cards p{font-size:16px;line-height:1.85;letter-spacing:0;margin:0;overflow-wrap:normal;line-break:strict}
/* 比較表：項目列を固定し、残りの3列を等幅に。行は中揃え。 */
.design-comparison{grid-template-columns:minmax(250px,.75fr) minmax(0,1.85fr);gap:40px}
.design-comparison .comparison-table{table-layout:fixed;width:100%;font-size:16px;line-height:1.75}
.design-comparison .comparison-table th:first-child{width:14%}
.design-comparison .comparison-table thead th:not(:first-child){width:28.6667%}
.design-comparison .comparison-table th,.design-comparison .comparison-table td{padding:17px 18px;vertical-align:middle;letter-spacing:0;overflow-wrap:normal;line-break:strict}
.design-comparison .comparison-table thead th{height:80px;padding-block:12px;font-size:16px;line-height:1.5}
.design-comparison .comparison-table tbody tr{height:88px}
.design-comparison .comparison-table tbody th{white-space:nowrap;font-size:16px}
.comparison-subtitle{display:block;font-size:16px;font-weight:500;line-height:1.5;margin-top:4px}
@media(min-width:1001px) and (max-width:1180px){
 .design-feature-cards{margin-top:-75px;margin-right:40px}
 .design-feature-cards article{padding:24px 18px;gap:12px}
 .design-feature-cards p{font-size:16px}
 .design-comparison{display:block}
}
@media(max-width:1000px){
 .design-feature-cards{width:calc(100% - 64px);margin:20px auto 0;display:grid;grid-template-columns:1fr;border-radius:22px;overflow:hidden}
 .design-feature-cards article{padding:22px 24px;grid-template-columns:42px minmax(0,1fr);gap:18px;border:0;border-radius:0;margin:0}
 .design-feature-cards article+article{border-left:0;border-top:1px solid #f1dfe2}
 .design-feature-cards h3{white-space:normal;margin-bottom:8px}
 .design-feature-cards p{font-size:18px;line-height:1.8}
 .design-feature-cards p br{display:none}
 .design-comparison{display:block}
}
@media(max-width:800px){
 .design-feature-cards{width:100%;margin:6px 0 0;background:none;border-radius:0;gap:10px;overflow:visible}
 .design-feature-cards article{grid-template-columns:38px minmax(0,1fr);gap:14px;padding:18px 16px;border:1px solid #f1dfe2;border-radius:14px}
 .design-feature-cards article+article{border:1px solid #f1dfe2}
 .design-feature-cards article>span{width:38px;height:38px;font-size:20px}
 .design-feature-cards h3{font-size:18px;margin-top:1px;margin-bottom:7px}
 .design-feature-cards p{font-size:18px;line-height:1.75}
 .design-comparison .comparison-table{width:760px}
 .design-comparison .comparison-table th:first-child{width:100px}
 .design-comparison .comparison-table thead th:not(:first-child){width:220px}
 .design-comparison .comparison-table th,.design-comparison .comparison-table td{padding:16px 18px;font-size:16px;vertical-align:middle}
 .design-comparison .comparison-table thead th{height:80px}
 .design-comparison .comparison-table tbody tr{height:88px}
}
.design-feature-cards{background:#fffdfc}
.design-feature-cards article{background:#fffdfc}
.design-comparison .comparison-table{line-height:1.6}
.design-comparison .comparison-table th,.design-comparison .comparison-table td{padding-block:10px}
.design-comparison .comparison-table thead th{height:72px}
.design-comparison .comparison-table tbody tr{height:76px}
@media(max-width:1000px){
 .design-feature-cards{grid-auto-rows:1fr}
 .design-feature-cards article{border-top:1px solid transparent}
}
@media(max-width:800px){
 .design-feature-cards{background:none}
 .design-feature-cards article{border:1px solid #f1dfe2}
 .design-comparison .comparison-table thead th{height:72px}
 .design-comparison .comparison-table tbody tr{height:76px}
}
@media(max-width:370px){.design-feature-cards h3{min-height:58px}}

@media(max-width:800px){
 .design-hero-copy h1{font-weight:500;line-height:1.48;text-shadow:0 1px 10px #fff8f7}
 .design-hero-copy>p:not(.hero-kicker){font-weight:500;color:var(--ink)}
 .design-hero-copy .hero-kicker{color:var(--ink);font-weight:600}
 .design-hero-copy .button{text-shadow:none}
}

/* TOPの余白：セクションの区切りと、見出し・本文・写真の間隔を確保。 */
.designed-home .design-about{padding-block:90px 125px}
.designed-home .design-feature{padding-top:30px;padding-bottom:75px}
.designed-home .design-comparison{padding-block:100px}
.designed-home .design-plans{padding-block:50px 100px;row-gap:32px}
.designed-home .design-faq{padding-block:45px 110px}
.designed-home .design-instructor{padding-block:65px 70px}
.designed-home .design-trial{margin-top:50px;margin-bottom:85px}
.designed-home .design-about h2,
.designed-home .design-feature-copy h2,
.designed-home .design-instructor h2{margin-bottom:32px}
.designed-home .design-about p+p{margin-top:26px}
.designed-home .design-about .text-link,
.designed-home .design-instructor .text-link{margin-top:30px}
.designed-home .design-plans .plans{gap:26px}
.designed-home .design-plans .plan{padding:32px 24px}
.designed-home .design-faq summary{padding-block:24px}
@media(max-width:1180px){
 .designed-home .design-comparison-content{margin-top:38px}
 .designed-home .design-plans .section-top{margin-bottom:48px}
}
@media(max-width:800px){
 .designed-home .design-about{padding-block:55px 65px;gap:38px}
 .designed-home .design-feature{padding-block:40px 55px}
 .designed-home .design-feature-copy{padding-bottom:34px}
 .designed-home .design-feature-cards{margin-top:24px;gap:18px}
 .designed-home .design-feature-cards article{padding:24px 18px}
 .designed-home .design-comparison{padding-block:55px 65px}
 .designed-home .design-comparison-content{margin-top:32px}
 .designed-home .design-plans{padding-block:40px 65px}
 .designed-home .design-plans .section-top{margin-bottom:48px}
 .designed-home .design-plans .plans{gap:32px}
 .designed-home .design-plans .plan{padding:28px 24px}
 .designed-home .design-faq{padding-block:45px 65px}
 .designed-home .design-faq .faq-list{margin-top:34px}
 .designed-home .design-faq summary{padding-block:22px}
 .designed-home .design-instructor{padding-block:40px 55px}
 .designed-home .design-instructor-grid{gap:34px}
 .designed-home .design-trial{margin-top:30px;margin-bottom:60px}
 .designed-home .design-about h2,
 .designed-home .design-feature-copy h2,
 .designed-home .design-instructor h2{margin-bottom:26px}
 .designed-home .design-about p+p{margin-top:24px}
}

/* お客様の声：次のカードが見える横スクロール。文章はvoiceページと共通。 */
.design-voices{position:relative;isolation:isolate;padding:65px 0 95px;order:5;min-width:0}
.design-voices:before{content:'';position:absolute;inset:0;z-index:-1;background:url('./assets/about-story-flow.svg') center/100% 100% no-repeat;opacity:.65;pointer-events:none}
.home-voices-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:40px}
.home-voices-controls{display:flex;align-items:center;gap:18px;flex-shrink:0}
.home-voices-controls[hidden]{display:none}
.home-voices-controls button{display:grid;place-items:center;width:52px;height:52px;border:1px solid #e9acbb;border-radius:50%;background:#fff8f7;color:#a72948;font-size:26px;line-height:1;transition:background .15s}
.home-voices-controls button:hover:not(:disabled){background:#ffdde5}
.home-voices-controls button:disabled{opacity:.4;cursor:default}
.voice-position{font-size:16px;min-width:44px;text-align:center;font-variant-numeric:tabular-nums}
.home-voices-track{display:flex;align-items:stretch;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:8px 2px 24px;scrollbar-width:thin;scrollbar-color:#e797ac #f6e3e8}
.home-voices-track:focus-visible{outline:3px solid #c4385a;outline-offset:5px;border-radius:12px}
.home-voice-card{flex:0 0 44%;min-width:0;padding:36px 34px 42px;border:1px solid #f1d8df;border-radius:28px 48px 28px 28px;background:#fffdfcf5;scroll-snap-align:start;position:relative}
.home-voice-label{display:table;color:#a72948;border-bottom:1px solid #f0bac7;padding-bottom:10px;font-size:16px;margin-bottom:30px}
.designed-home .home-voice-card h3{font-family:var(--serif);font-size:26px;font-weight:500;line-height:1.85;letter-spacing:.025em;margin:0;overflow-wrap:anywhere}
.home-voices-hint{font-size:16px;text-align:right;margin-top:12px;color:#6e555d}
.home-voices-hint span{margin-left:8px}
.home-voices-note{font-size:16px;line-height:1.9;margin-top:25px;max-width:900px}
.design-voices .text-link{margin-top:24px}
@media(max-width:800px){
 .design-voices{padding:40px 0 65px;width:100%}
 .design-voices:before{background-size:180% 100%}
 .home-voices-heading{gap:22px;align-items:flex-start;flex-direction:column;margin-bottom:24px}
 .home-voices-controls{align-self:flex-end;gap:14px}
 .home-voices-controls button{width:46px;height:46px;font-size:24px}
 .home-voices-track{gap:18px;padding-bottom:20px}
 .home-voice-card{flex-basis:86%;padding:28px 24px 34px;border-radius:22px 38px 22px 22px}
 .home-voice-label{margin-bottom:24px}
 .designed-home .home-voice-card h3{font-size:24px;line-height:1.8}
 .home-voices-hint{text-align:left;font-size:16px;line-height:1.8}
}

/* コラムへの入口。PCヘッダーを詰めず、TOP・メニュー・フッターで案内する。 */
.home-column{position:relative;z-index:1;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:45px;padding-block:65px 85px;order:7}
.home-column h2{margin-bottom:24px}.home-column>div>p:last-child{font-size:18px;line-height:1.9}.home-column>.text-link{flex-shrink:0}
@media(max-width:800px){.home-column{flex-direction:column;align-items:flex-start;gap:28px;padding-block:45px 60px}}

/* MVテキストを本文の1280px領域に揃える。 */
@media(min-width:801px) and (max-width:1180px){.design-hero-copy{margin-left:36px}}

/* TOPは○△と短い説明で要点を比較。詳細はaboutへ。 */
.home-comparison-key{font-size:16px;line-height:1.8;margin-bottom:16px}
.home-comparison-scroll{overflow-x:auto;border-radius:14px;border:1px solid #eadfe0}
.home-comparison-table{width:100%;min-width:640px;table-layout:fixed;border-collapse:collapse;background:#fffdfc;font-size:16px;line-height:1.7}
.home-comparison-table th,.home-comparison-table td{background:#fffdfc;padding:18px 14px;text-align:center;vertical-align:middle;border-right:1px solid #eadfe0;border-bottom:1px solid #eadfe0}
.home-comparison-table th:first-child{width:18%;background:#f7f3f2}
.home-comparison-table thead th{background:#eee8e5;font-weight:700}
.home-comparison-table thead th:nth-child(2){background:#d83f69;color:#fff}
.home-comparison-table td:nth-child(2){background:#fff0f3}
.home-comparison-table thead span{display:block;font-size:16px;font-weight:400}
.home-comparison-table tr>*:last-child{border-right:0}
.home-comparison-table tbody tr:last-child>*{border-bottom:0}
.home-comparison-symbol{display:block;font-size:44px;line-height:1.1;color:#777;margin-bottom:12px}
.home-comparison-table td:nth-child(2) .home-comparison-symbol{color:#d63a66}
.home-comparison-table p{font-size:16px;line-height:1.7}
 .home-comparison-table thead th:first-child{background:#eee8e5}
@media(max-width:800px){.home-comparison-table th:first-child{position:sticky;left:0;z-index:1}.home-comparison-table th,.home-comparison-table td{padding:16px 12px}}

/* TOP料金：月2回コースを主役にする */
.designed-home .design-plans .plan{background:#fffdfc;border-color:#eadce0}
.designed-home .design-plans .recommended{position:relative;background:#fff0f4;border:2px solid #ce365d;box-shadow:0 12px 28px #a729481a}
.designed-home .design-plans .recommended .plan-label{background:#bd2c50;color:#fff;font-weight:700;line-height:1.6;padding:10px 16px;margin-top:-53px;margin-bottom:24px;border-radius:22px;max-width:100%;width:fit-content}
.designed-home .design-plans .recommended h3{color:#a72948;font-weight:700}
.designed-home .design-plans .recommended .price strong{color:#b32950;font-size:46px}
@media(min-width:801px){.designed-home .design-plans .recommended{transform:translateY(-12px)}}
@media(max-width:800px){
 .designed-home .design-plans .recommended .plan-label{margin-top:-49px}
 .designed-home .design-plans .recommended .price strong{font-size:44px}
}

.home-before-after{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr);gap:48px;align-items:center;padding-block:48px 72px;order:4}
.home-before-after h2{font-size:clamp(26px,3vw,40px);line-height:1.65;margin:22px 0}
.home-before-after p{font-size:18px;line-height:1.9}
.home-before-after .home-before-after-date{font-size:16px;margin-top:16px}
.home-before-after .button{margin-top:24px;max-width:100%;font-size:18px;gap:20px}
.home-before-after .small{font-size:16px;margin-top:20px}
.home-before-after-photo{display:block;max-width:330px;justify-self:center;border-radius:18px;overflow:hidden}
.home-before-after-photo img{display:block;width:100%;height:auto;filter:brightness(1.15)}
@media(max-width:800px){.home-before-after{grid-template-columns:1fr;gap:28px;padding-block:32px 48px}.home-before-after .button{width:100%;justify-content:space-between;padding:16px;font-size:16px;gap:12px}.home-before-after h2{font-size:26px}.home-before-after-photo{width:100%}}

/* スマホMV：たすき全体が見える上半身と淡い布のあしらい */
.design-hero-photo picture{display:block;width:100%;height:100%}
@media(max-width:800px){
 .designed-home .design-hero{padding-top:0}
 .designed-home .design-hero-photo{position:relative;inset:auto;width:100%;max-width:560px;height:auto;aspect-ratio:1;margin-inline:auto;overflow:hidden;-webkit-mask:none;mask:none;border-radius:0}
 .designed-home .design-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 65%}
 .designed-home .design-hero-photo:after{background:linear-gradient(0deg,#fff8f7,transparent 8%)}
 .designed-home .design-hero:after{display:none}
 .designed-home .design-hero-copy{margin-top:-4px;padding-top:0;padding-bottom:20px}
 .designed-home .design-hero-copy h1{font-size:clamp(28px,7.7vw,36px);line-height:1.55}
}

@media(max-width:800px){.designed-home .design-benefits{display:none}}

.designed-home .design-hero:after{display:none}

@media(max-width:800px){.designed-home .design-round-note{font-size:16px;letter-spacing:0;line-height:1.7;white-space:nowrap}}

@media(max-width:800px){.designed-home .design-plans,.designed-home .design-faq{order:6}}
