:root{--bordeaux:#8F1D2B;--bg:#F8F5F3;--text:#2B2B2B;--sub:#B5A394;--line:#E4DCD6;}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:"Noto Sans JP",sans-serif;color:var(--text);background:#fff;line-height:1.85;-webkit-text-size-adjust:100%;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
section{padding:76px 0;}
section.tint{background:var(--bg);}
.h2{text-align:center;margin-bottom:14px;}
.h2 .en{display:block;font-size:12px;letter-spacing:.18em;color:var(--sub);font-weight:700;margin-bottom:8px;}
.h2 .jp{font-family:"Noto Serif JP",serif;font-size:34px;font-weight:700;line-height:1.5;}
.h2 .jp em{font-style:normal;color:var(--bordeaux);}
.lead{text-align:center;color:#666;font-size:15.5px;margin-bottom:44px;}
.h3{font-size:20px;font-weight:900;border-left:5px solid var(--bordeaux);padding-left:14px;margin-bottom:18px;}
.btn{display:inline-block;padding:17px 32px;font-weight:700;font-size:16px;border-radius:4px;text-decoration:none;}
.btn.pri{background:var(--bordeaux);color:#fff;}
.btn.sec{background:#fff;color:var(--bordeaux);border:2px solid var(--bordeaux);}

/* ヘッダー */
.hd{background:#fff;border-bottom:1px solid var(--line);position:relative;}
.hd_in{max-width:1300px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;gap:26px;}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
.logo .mark{width:40px;height:40px;flex:0 0 40px;}
.logo .sup{display:block;font-size:11px;color:var(--sub);font-weight:700;letter-spacing:.06em;}
.logo .name{display:block;font-size:26px;font-weight:900;color:var(--bordeaux);line-height:1.2;}
.hd nav{margin-left:auto;display:flex;gap:20px;font-size:14px;font-weight:700;}
.hd nav a{color:var(--text);text-decoration:none;}
.hd .tel{text-align:right;}
.hd .tel b{display:block;font-size:25px;font-weight:900;color:var(--bordeaux);letter-spacing:.01em;}
.hd .tel small{font-size:11px;color:#777;}
.hd .cta{background:var(--bordeaux);color:#fff;padding:13px 20px;border-radius:4px;font-weight:700;font-size:14px;text-align:center;line-height:1.4;text-decoration:none;}

/* ヒーロー */
.hero{background:var(--bg);}
.hero_in{max-width:1300px;margin:0 auto;padding:60px 24px;display:flex;align-items:center;gap:46px;}
.hero_txt{flex:1 1 56%;}
.hero_txt .eyebrow{display:inline-block;background:var(--bordeaux);color:#fff;font-size:13px;font-weight:700;padding:6px 16px;margin-bottom:20px;}
.hero_txt h1{font-family:"Noto Serif JP",serif;font-size:42px;font-weight:700;line-height:1.5;margin-bottom:20px;}
.hero_txt h1 em{font-style:normal;color:var(--bordeaux);}
.hero_txt p{font-size:16px;color:#555;margin-bottom:26px;}
.hero_btns{display:flex;gap:14px;flex-wrap:wrap;}
.hero_img{flex:0 0 36%;position:relative;}
.hero_img .frame{border-radius:6px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.10);}
.hero_img .cap{position:absolute;left:-16px;bottom:16px;background:#fff;border-left:4px solid var(--bordeaux);padding:11px 16px;box-shadow:0 8px 20px rgba(0,0,0,.10);font-size:13px;line-height:1.6;max-width:88%;}
.hero_img .cap b{display:block;font-size:15px;font-weight:900;}
.hero_img .cap i{display:block;font-style:normal;color:#888;font-size:11.5px;}

/* お知らせ */
.news{border-bottom:1px solid var(--line);}
.news_in{max-width:1180px;margin:0 auto;padding:20px 24px;display:flex;align-items:center;gap:26px;}
.news_in .ttl{font-weight:900;color:var(--bordeaux);font-size:14px;letter-spacing:.1em;flex:0 0 auto;}
.news_in ul{list-style:none;flex:1;}
.news_in li{font-size:14.5px;}
.news_in li span{color:#999;margin-right:16px;}

/* 悩み */
.trouble{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:38px;}
.trouble li{list-style:none;background:#fff;border:1px solid var(--line);padding:24px;text-align:center;font-size:15.5px;font-weight:700;line-height:1.7;}
.trouble li .q{display:block;font-family:"Noto Serif JP",serif;font-size:26px;color:var(--sub);margin-bottom:6px;}
.trouble_ans{text-align:center;font-size:18px;font-weight:700;}
.trouble_ans em{font-style:normal;color:var(--bordeaux);font-size:22px;font-weight:900;}

/* 料金プラン */
.plan_box{background:#fff;padding:44px;box-shadow:0 6px 24px rgba(0,0,0,.06);}
.band{color:#fff;text-align:center;font-weight:900;font-size:20px;padding:12px;margin-bottom:26px;}
.band small{display:block;font-size:12.5px;font-weight:700;opacity:.92;}
.band.rec{background:var(--bordeaux);}
.band.sd{background:var(--sub);}
.pcard{display:flex;gap:30px;align-items:center;border:1px solid var(--line);padding:26px;margin-bottom:18px;}
.pcard .t{flex:1;}
.pcard h3{font-size:24px;font-weight:900;margin-bottom:4px;}
.pcard .tag{display:inline-block;background:var(--text);color:#fff;font-size:11.5px;font-weight:700;padding:3px 10px;margin-bottom:14px;}
.pcard ul{list-style:none;margin-bottom:16px;}
.pcard li{position:relative;padding-left:22px;font-size:14.5px;color:#555;}
.pcard li::before{content:"";position:absolute;left:4px;top:.78em;width:7px;height:7px;background:var(--sub);border-radius:50%;}
.price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.price .lbl{background:var(--bordeaux);color:#fff;font-size:12.5px;font-weight:700;padding:5px 12px;}
.price .num{font-size:40px;font-weight:900;}
.price .yen{font-size:17px;font-weight:700;}
.pcard .ph{flex:0 0 240px;}
.kit{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;}
.kit img{max-height:62px;width:auto;}
.kit .nvr img{max-height:52px;}
.kit .cap{width:100%;text-align:center;font-size:11.5px;color:#999;line-height:1.6;}
.plan_more{text-align:center;font-weight:700;font-size:15.5px;margin-top:24px;}
.setlist{width:100%;border-collapse:collapse;margin:10px 0 30px;}
.setlist th,.setlist td{border:1px solid var(--line);padding:13px 16px;text-align:left;font-size:14.5px;}
.setlist th{background:#FAF7F5;font-weight:700;width:30%;white-space:nowrap;}
.setlist td b{color:var(--bordeaux);}
.tbl_scroll{overflow-x:auto;}
.cmp{width:100%;min-width:560px;border-collapse:collapse;margin-bottom:28px;}
.cmp th,.cmp td{border:1px solid var(--line);padding:13px 10px;text-align:center;font-size:14px;line-height:1.65;}
.cmp thead th{color:#fff;font-weight:700;}
.cmp thead th.blank{background:#FAF7F5;}
.cmp thead th.a{background:var(--bordeaux);}
.cmp thead th.b{background:var(--sub);}
.cmp tbody th{background:#FAF7F5;text-align:left;font-weight:700;white-space:nowrap;}
.cmp .g{color:var(--bordeaux);font-weight:700;}
.cmp .c{color:#8a7666;font-weight:700;}
.reason{border:2px solid var(--bordeaux);padding:28px;}
.reason h4{color:var(--bordeaux);font-size:19px;font-weight:900;margin-bottom:14px;}
.reason p{font-size:14.5px;margin-bottom:11px;}
.reason p:last-child{margin-bottom:0;}

/* 構成図 */
.dgrid{display:grid;grid-template-columns:1fr 190px 1fr;gap:0 22px;align-items:center;}
.node{background:#fff;padding:22px 20px;text-align:center;box-shadow:0 3px 12px rgba(0,0,0,.05);}
.node .imgbox{height:110px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.node .imgbox img{max-height:110px;width:auto;}
.node .nm{font-size:18px;font-weight:900;line-height:1.4;}
.node .badge{display:inline-block;background:var(--bordeaux);color:#fff;font-size:14px;font-weight:700;padding:4px 16px;margin-top:8px;}
.node .sm{font-size:12.5px;color:#777;margin-top:8px;}
.arrow{text-align:center;}
.arrow .lbl{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:20px;font-size:15px;font-weight:900;color:var(--bordeaux);padding:4px 18px;}
.arrow .bar{height:3px;background:var(--sub);margin-top:12px;position:relative;}
.arrow .bar::after{content:"";position:absolute;right:-1px;top:-5px;border-left:11px solid var(--sub);border-top:6.5px solid transparent;border-bottom:6.5px solid transparent;}
.arrow .sm{font-size:12.5px;color:#777;margin-top:8px;}
.cams{display:flex;flex-direction:column;gap:14px;}
.cam{background:#fff;display:flex;align-items:center;gap:18px;padding:16px 20px;box-shadow:0 3px 12px rgba(0,0,0,.05);}
.cam .imgbox{flex:0 0 110px;height:80px;display:flex;align-items:center;justify-content:center;}
.cam .imgbox img{max-height:80px;width:auto;}
.cam .nm{font-size:17px;font-weight:900;}
.cam .ds{font-size:13px;color:#777;}
.dnote{font-size:13px;color:#777;margin-top:10px;}
/* ラインナップ */
.lineup{background:#fff;border:2px solid var(--sub);padding:32px;margin-top:32px;}
.lineup h3{font-size:20px;font-weight:900;margin-bottom:8px;}
.lineup h3 em{font-style:normal;color:var(--bordeaux);}
.lineup > p{font-size:14.5px;color:#555;margin-bottom:20px;}
.lupg{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
@media (max-width:900px){.lupg{grid-template-columns:1fr 1fr;}.lineup{padding:22px;}}
.lupg div{background:var(--bg);padding:16px 18px;}
.lupg .t{font-size:15px;font-weight:900;margin-bottom:4px;}
.lupg .d{font-size:13px;color:#666;line-height:1.7;}
.lineup .fin{font-size:14.5px;font-weight:700;margin-top:20px;text-align:center;}
.drow2{display:flex;gap:22px;margin-top:32px;padding-top:28px;border-top:2px dashed var(--sub);}
.drow2 .cell{flex:1;background:#fff;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 3px 12px rgba(0,0,0,.05);}
.drow2 .ico{flex:0 0 58px;display:flex;align-items:center;justify-content:center;}
.drow2 .nm{font-size:15.5px;font-weight:900;line-height:1.5;}
.drow2 .ds{font-size:13px;color:#777;}
.drow2 .warn{font-size:13px;color:var(--bordeaux);font-weight:700;}

/* 別途費用 */
.notice{background:#fff;padding:44px;box-shadow:0 6px 24px rgba(0,0,0,.06);}
.notice .lead_box{background:var(--bg);border-left:5px solid var(--bordeaux);padding:22px 26px;margin-bottom:32px;}
.notice .lead_box p{font-size:15.5px;}
.nlist{list-style:none;}
.nlist > li{border-top:1px solid var(--line);padding:24px 0;display:flex;gap:22px;align-items:flex-start;}
.nlist > li:last-child{border-bottom:1px solid var(--line);}
.nlist .ic{flex:0 0 46px;height:46px;border-radius:50%;background:var(--bordeaux);color:#fff;font-weight:900;font-size:17px;display:flex;align-items:center;justify-content:center;}
.nlist .bd{flex:1;}
.nlist h4{font-size:18px;font-weight:900;margin-bottom:8px;}
.nlist p{font-size:14.5px;color:#555;margin-bottom:8px;}
.nlist p:last-child{margin-bottom:0;}
.nlist .ok{background:#FAF7F5;border:1px solid var(--line);padding:12px 16px;font-size:14px;color:var(--text);}
.nlist .ok b{color:var(--bordeaux);}
.notice .closing{margin-top:28px;text-align:center;font-size:15.5px;font-weight:700;}

/* 特徴 */
.feats{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
.feat{background:#fff;border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;}
.feat .ph{height:190px;overflow:hidden;position:relative;}
.feat .ph img{width:100%;height:100%;object-fit:cover;}
.feat .no{position:absolute;left:0;top:0;background:var(--bordeaux);color:#fff;font-size:12px;font-weight:900;letter-spacing:.08em;padding:6px 16px;}
.feat .bd{padding:26px;flex:1;}
.feat h3{font-size:20px;font-weight:900;line-height:1.55;margin-bottom:12px;}
.feat p{font-size:14.5px;color:#555;margin-bottom:10px;}
.feat .sm{font-size:12.5px;color:#999;}
.feat b{color:var(--bordeaux);}

/* 流れ */
.flow{max-width:860px;margin:0 auto;position:relative;}
.flow::before{content:"";position:absolute;left:38px;top:20px;bottom:60px;width:3px;background:var(--line);}
.fstep{position:relative;padding-left:100px;margin-bottom:30px;}
.fstep .no{position:absolute;left:0;top:0;width:78px;height:78px;border-radius:50%;background:var(--bordeaux);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2;}
.fstep .no span{font-size:10.5px;letter-spacing:.1em;opacity:.85;}
.fstep .no b{font-size:26px;font-weight:900;}
.fstep .bd{background:#fff;border:1px solid var(--line);padding:22px 26px;}
.fstep h3{font-size:19px;font-weight:900;margin-bottom:6px;}
.fstep p{font-size:14.5px;color:#555;}
.fstep .ours{display:inline-block;background:var(--bg);border:1px solid var(--sub);color:#7a6a5c;font-size:12px;font-weight:700;padding:3px 12px;margin-bottom:8px;}
.flow_end{text-align:center;border:3px solid var(--bordeaux);color:var(--bordeaux);font-family:"Noto Serif JP",serif;font-size:26px;font-weight:700;padding:18px;margin-left:100px;}

/* FAQ */
.faq{max-width:900px;margin:0 auto;}
.faq details{background:#fff;border:1px solid var(--line);margin-bottom:12px;}
.faq summary{cursor:pointer;list-style:none;padding:20px 56px 20px 60px;font-size:16.5px;font-weight:700;position:relative;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::before{content:"Q";position:absolute;left:22px;top:18px;color:var(--bordeaux);font-family:"Noto Serif JP",serif;font-size:22px;font-weight:700;}
.faq summary::after{content:"＋";position:absolute;right:22px;top:20px;color:var(--sub);font-weight:900;}
.faq details[open] summary::after{content:"−";}
.faq .ans{padding:0 26px 22px 60px;font-size:14.5px;color:#555;position:relative;}
.faq .ans::before{content:"A";position:absolute;left:22px;top:-2px;color:var(--sub);font-family:"Noto Serif JP",serif;font-size:22px;font-weight:700;}

/* お問い合わせ */
.contact{background:var(--bordeaux);color:#fff;}
.contact .h2 .jp{color:#fff;}
.contact .h2 .en{color:rgba(255,255,255,.6);}
.contact .lead{color:rgba(255,255,255,.9);}
.cgrid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px;}
.ccard{background:#fff;color:var(--text);padding:30px 26px;text-align:center;}
.ccard h3{font-size:17px;font-weight:900;margin-bottom:14px;}
.ccard .tel{font-size:38px;font-weight:900;color:var(--bordeaux);line-height:1.2;letter-spacing:.01em;}
.ccard .time{font-size:13px;color:#777;margin-top:6px;}
.ccard p{font-size:14px;color:#555;margin-bottom:16px;}
.ccard .btn{width:100%;}

/* フッター */
.ft{background:var(--text);color:#fff;padding:52px 0 26px;}
.ft_in{display:flex;gap:40px;flex-wrap:wrap;}
.ft .lg{flex:0 0 300px;}
.ft .lg .sup{font-size:11px;color:var(--sub);font-weight:700;display:block;margin-bottom:4px;}
.ft .lg .name{font-size:24px;font-weight:900;display:flex;align-items:center;gap:10px;}
.ft address{font-style:normal;font-size:14px;line-height:2;color:rgba(255,255,255,.85);}
.ft nav{margin-left:auto;}
.ft nav a{color:#fff;text-decoration:none;font-size:14px;display:block;margin-bottom:8px;}
.ft .copy{border-top:1px solid rgba(255,255,255,.2);margin-top:36px;padding-top:20px;font-size:12.5px;color:rgba(255,255,255,.6);text-align:center;}

@media (max-width:900px){
	section{padding:52px 0;}
	.h2 .jp{font-size:26px;}
	.hd nav{display:none;}
	.hd_in{flex-wrap:wrap;gap:14px;}
	.hero_in{flex-direction:column;padding:40px 24px;}
	.hero_txt h1{font-size:27px;}
	.hero_img{width:100%;}
	.hero_img .cap{left:8px;}
	.news_in{flex-direction:column;align-items:flex-start;gap:8px;}
	.trouble{grid-template-columns:1fr;}
	.plan_box,.notice{padding:22px;}
	.pcard{flex-direction:column;}
	.pcard .ph{flex:auto;width:100%;}
	.setlist th,.setlist td{display:block;width:auto;white-space:normal;border-bottom:none;}
	.setlist tr:last-child td{border-bottom:1px solid var(--line);}
	.dgrid{grid-template-columns:1fr;gap:18px;}
	.arrow .bar{width:60%;margin:12px auto 0;}
	.drow2{flex-direction:column;}
	.nlist > li{flex-direction:column;gap:12px;}
	.feats{grid-template-columns:1fr;}
	.flow::before{left:26px;}
	.fstep{padding-left:74px;}
	.fstep .no{width:56px;height:56px;}
	.fstep .no b{font-size:20px;}
	.flow_end{margin-left:0;font-size:19px;}
	.cgrid{grid-template-columns:1fr;}
	.ccard .tel{font-size:30px;}
	.ft_in{flex-direction:column;gap:24px;}
	.ft nav{margin-left:0;}
}

/* ===== お問い合わせフォーム（既存フォームの新デザイン） ===== */
.formsec{max-width:900px;margin:0 auto;}
.fbox{background:#fff;border:1px solid var(--line);padding:36px;margin-bottom:28px;}
.fg{display:flex;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);align-items:flex-start;}
.fg:last-child{border-bottom:none;}
.fg > label{flex:0 0 230px;font-weight:700;font-size:15px;padding-top:10px;}
.fg.req > label::after{content:"必須";background:var(--bordeaux);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;margin-left:10px;border-radius:2px;vertical-align:middle;}
.fg .ia{flex:1;}
.fg input[type=text],.fg input[type=tel],.fg input[type=email],.fg textarea,.fg select{width:100%;border:1px solid var(--line);background:#FBF9F8;padding:12px 14px;font-size:15px;font-family:inherit;border-radius:3px;}
.fg textarea{min-height:150px;resize:vertical;}
.fg select{width:auto;min-width:180px;}
.fg .error{display:inline-block;color:#fff;background:var(--bordeaux);font-size:13px;font-weight:700;padding:3px 10px;margin-bottom:6px;}
.agree{text-align:center;margin-bottom:28px;font-size:15px;}
.agree input{margin-right:8px;transform:scale(1.2);}
.agree a{color:var(--bordeaux);}
.fsubmit{text-align:center;}
.fsubmit button{background:var(--bordeaux);color:#fff;border:none;font-family:inherit;font-size:18px;font-weight:700;padding:20px 70px;border-radius:4px;cursor:pointer;}
.fsubmit button:hover{opacity:.88;}
/* お知らせ一覧 */
.news_in a{color:var(--text);text-decoration:none;}
.news_in dl{display:flex;gap:14px;flex-wrap:wrap;align-items:baseline;}
.news_in dt{color:#999;font-size:13.5px;white-space:nowrap;}
.news_in dt .tag{display:inline-block;background:var(--bg);border:1px solid var(--line);color:#7a6a5c;font-size:11.5px;padding:1px 9px;margin-left:8px;}
.news_in dd{font-size:14.5px;}
.news_more{margin-left:auto;font-size:13.5px;white-space:nowrap;}
.news_more a{color:var(--bordeaux);font-weight:700;text-decoration:none;}
@media (max-width:900px){
	.fbox{padding:20px;}
	.fg{flex-direction:column;gap:6px;padding:14px 0;}
	.fg > label{flex:auto;padding-top:0;}
	.fsubmit button{width:100%;padding:18px 0;}
	.news_more{margin-left:0;}
}

/* ============================================================
   下層ページ（お知らせ／運営会社／プライバシー／フォーム確認・完了）
   ============================================================ */
.ptitle{background:var(--bordeaux);color:#fff;text-align:center;padding:54px 24px;}
.ptitle .jp{display:block;font-family:"Noto Serif JP",serif;font-size:32px;font-weight:700;line-height:1.5;}
.ptitle .en{display:block;font-size:12px;letter-spacing:.18em;opacity:.7;font-weight:700;margin-top:8px;}
.crumb{background:var(--bg);border-bottom:1px solid var(--line);}
.crumb ul{max-width:1180px;margin:0 auto;padding:12px 24px;list-style:none;display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:#888;}
.crumb li + li::before{content:"›";margin-right:8px;color:var(--sub);}
.crumb a{color:var(--bordeaux);text-decoration:none;}
.page{padding:64px 0 84px;}
.page .inner{max-width:900px;margin:0 auto;}

/* お知らせ一覧 */
.nlist2{border-top:1px solid var(--line);margin-bottom:34px;}
.nlist2 a{display:block;border-bottom:1px solid var(--line);padding:20px 8px;color:var(--text);text-decoration:none;}
.nlist2 a:hover{background:var(--bg);}
.nlist2 dl{display:flex;gap:16px;flex-wrap:wrap;align-items:baseline;}
.nlist2 dt{color:#999;font-size:13.5px;white-space:nowrap;}
.nlist2 dt .tag{display:inline-block;background:var(--bg);border:1px solid var(--line);color:#7a6a5c;font-size:11.5px;padding:1px 10px;margin-left:10px;}
.nlist2 dd{font-size:16px;font-weight:700;flex:1;min-width:200px;}
.nlist2 .none{padding:40px 0;text-align:center;color:#888;}
.pager ul{list-style:none;display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}
.pager li{display:inline-block;}
.pager a,.pager span,.pager strong{display:inline-block;min-width:42px;padding:9px 12px;text-align:center;border:1px solid var(--line);color:var(--bordeaux);text-decoration:none;font-weight:700;font-size:14px;background:#fff;}
.pager .current,.pager strong{background:var(--bordeaux);color:#fff;border-color:var(--bordeaux);}

/* お知らせ詳細 */
.ndetail .mainphoto{margin:0 auto 34px;text-align:center;}
.ndetail .mainphoto img{margin:0 auto;}
.ndetail .entry{font-size:16px;line-height:2;margin-bottom:28px;}
.ndetail .entry p{margin-bottom:1.2em;}
.ndetail .entry img{max-width:100%;height:auto;margin:1em 0;}
.ndetail .entry a{color:var(--bordeaux);}
.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:40px;}
.thumbs .img_rect{aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);}
.thumbs .img_rect img{width:100%;height:100%;object-fit:cover;}
.thumbs .caption{font-size:12.5px;color:#777;margin-top:6px;}
.backbtn{text-align:center;}

/* 運営会社 */
.ctable{width:100%;border-collapse:collapse;}
.ctable th,.ctable td{border:1px solid var(--line);padding:18px 22px;text-align:left;font-size:15px;vertical-align:top;}
.ctable th{background:#FAF7F5;font-weight:700;width:28%;white-space:nowrap;}

/* プライバシーポリシー */
.pdl dt{font-size:18px;font-weight:900;color:var(--bordeaux);border-left:5px solid var(--bordeaux);padding-left:14px;margin-bottom:10px;}
.pdl dd{font-size:15px;line-height:2;margin-bottom:32px;}
.pdl dd:last-child{margin-bottom:0;}

/* フォーム確認・完了 */
.fg .ro{padding-top:10px;font-size:15px;line-height:1.9;word-break:break-all;}
.fbtns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.fbtns button{font-family:inherit;font-size:17px;font-weight:700;padding:18px 46px;border-radius:4px;cursor:pointer;border:none;}
.fbtns button.back{background:#fff;color:var(--bordeaux);border:2px solid var(--bordeaux);}
.fbtns button.go{background:var(--bordeaux);color:#fff;}
.fbtns button:hover{opacity:.88;}
.finish{max-width:820px;margin:0 auto;text-align:center;}
.finish .mark{width:84px;height:84px;border-radius:50%;background:var(--bordeaux);color:#fff;font-size:40px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;}
.finish h2{font-family:"Noto Serif JP",serif;font-size:28px;font-weight:700;margin-bottom:24px;}
.finish p{font-size:15px;margin-bottom:20px;text-align:left;}
.finish .note{background:var(--bg);border-left:5px solid var(--sub);padding:22px 26px;text-align:left;font-size:14.5px;margin-bottom:26px;}

@media (max-width:900px){
	.ptitle{padding:36px 20px;}
	.ptitle .jp{font-size:23px;}
	.page{padding:40px 0 56px;}
	.nlist2 dd{min-width:0;flex:auto;width:100%;}
	.thumbs{grid-template-columns:repeat(2,1fr);}
	.ctable th,.ctable td{display:block;width:auto;white-space:normal;border-bottom:none;}
	.ctable tr:last-child td{border-bottom:1px solid var(--line);}
	.fbtns button{width:100%;}
	.finish h2{font-size:21px;}
}

/* ===== あいの吹き出し ===== */
.aivoice{display:flex;gap:16px;align-items:flex-start;max-width:860px;margin:0 auto 44px;}
.aivoice .face{flex:0 0 66px;width:66px;height:66px;border-radius:50%;overflow:hidden;border:3px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.14);}
.aivoice .face img{width:100%;height:100%;object-fit:cover;}
.aivoice .bd{flex:1;min-width:0;}
.aivoice .bubble{position:relative;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 20px;font-size:14.5px;line-height:1.9;box-shadow:0 3px 12px rgba(0,0,0,.05);}
.aivoice .bubble b{color:var(--bordeaux);}
.aivoice .bubble::before{content:"";position:absolute;left:-9px;top:24px;border-right:9px solid #fff;border-top:8px solid transparent;border-bottom:8px solid transparent;}
.aivoice .who{font-size:11.5px;color:#999;margin-top:6px;line-height:1.6;}

/* あい（お問い合わせ・写真つき） */
.aic{display:flex;align-items:center;gap:28px;max-width:760px;margin:0 auto 44px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:24px 28px;}
.aic .ph{flex:0 0 150px;border-radius:8px;overflow:hidden;border:3px solid #fff;box-shadow:0 6px 18px rgba(0,0,0,.2);}
.aic .ph img{width:100%;height:190px;object-fit:cover;object-position:50% 12%;}
.aic .msg{font-size:15.5px;line-height:2;font-weight:700;}
.aic .who{font-size:11.5px;color:rgba(255,255,255,.75);margin-top:10px;}

@media (max-width:900px){
	.aivoice{gap:12px;margin-bottom:34px;}
	.aivoice .face{flex-basis:54px;width:54px;height:54px;}
	.aivoice .bubble{font-size:13.5px;padding:12px 16px;}
	.aic{flex-direction:column;text-align:center;padding:20px;gap:16px;}
	.aic .ph{flex:auto;width:150px;}
	.aic .msg br{display:none;}
}

/* ===== 運営会社ページ ===== */
.cintro{text-align:center;max-width:760px;margin:0 auto 52px;}
.cintro .slogan{font-family:"Noto Serif JP",serif;font-size:30px;font-weight:700;color:var(--bordeaux);line-height:1.6;margin-bottom:20px;}
.cintro .slogan span{display:inline-block;position:relative;padding:0 34px;}
.cintro .slogan span::before,.cintro .slogan span::after{content:"";position:absolute;top:50%;width:22px;height:2px;background:var(--sub);}
.cintro .slogan span::before{left:0;}
.cintro .slogan span::after{right:0;}
.cintro p{font-size:15.5px;color:#555;}
.cintro p b{color:var(--text);}

.ctable{box-shadow:0 4px 20px rgba(0,0,0,.05);background:#fff;}
.ctable th{background:#FAF7F5;color:var(--bordeaux);font-weight:900;}
.ctable td{color:var(--text);}

.cmap{margin-top:52px;}
.cmap .frame{position:relative;padding-top:42%;border:1px solid var(--line);overflow:hidden;background:var(--bg);}
.cmap .frame iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}
.cmap .note{font-size:13.5px;color:#777;margin-top:12px;text-align:center;}

.cparent{margin-top:52px;background:var(--bg);border-left:5px solid var(--bordeaux);padding:28px 32px;}
.cparent h3{font-size:18px;font-weight:900;margin-bottom:10px;}
.cparent p{font-size:14.5px;color:#555;margin-bottom:14px;}
.cparent a{color:var(--bordeaux);font-weight:700;text-decoration:none;}
.cparent a:hover{text-decoration:underline;}

.ccta{margin-top:52px;text-align:center;background:var(--bordeaux);color:#fff;padding:40px 24px;}
.ccta h3{font-family:"Noto Serif JP",serif;font-size:24px;font-weight:700;margin-bottom:10px;}
.ccta p{font-size:14.5px;opacity:.92;margin-bottom:22px;}
.ccta .tel{font-size:34px;font-weight:900;line-height:1.2;}
.ccta .tel a{color:#fff;text-decoration:none;}
.ccta .time{font-size:13px;opacity:.85;margin:6px 0 22px;}
.ccta .btn{background:#fff;color:var(--bordeaux);}

@media (max-width:900px){
	.cintro{margin-bottom:34px;}
	.cintro .slogan{font-size:21px;}
	.cintro .slogan span{padding:0 22px;}
	.cmap .frame{padding-top:75%;}
	.cparent{padding:20px;}
	.ccta{padding:28px 20px;}
	.ccta h3{font-size:19px;}
	.ccta .tel{font-size:27px;}
}
