@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

.copyright {
  margin-top: 0px;
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}

/* ===== M3 LP shared design (added by Claude) ===== */
/* hide theme chrome ONLY on pages that contain our .m3lp block */
body:has(.m3lp) > header, body:has(.m3lp) > footer, body:has(.m3lp) > section.contact{display:none!important}
body:has(.m3lp) #breadcrumb, body:has(.m3lp) .breadcrumb{display:none!important}
body:has(.m3lp) .article-header, body:has(.m3lp) .article-footer{display:none!important}
#toc.toc{display:none!important}
#toc.toc{display:none!important}
/* --- neutralize Cocoon heading decoration inside our block --- */
.m3lp h1,.m3lp h2,.m3lp h3{background:transparent!important;border:none!important;padding:0!important;box-shadow:none!important;margin:0}
.m3lp h1 span,.m3lp h2 span,.m3lp h3 span{color:inherit!important}
/* --- base --- */
.m3lp{--navy:#16305c;--navy-d:#0f2445;--gold:#b8955a;--bg:#f5f7fa;--line:#e3e8ef;--ink:#1f2a3a;--muted:#5a6a80;color:var(--ink);line-height:1.9;font-size:16px}
.m3lp *{box-sizing:border-box}
.m3lp a{text-decoration:none}
.m3lp .wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.m3lp section{padding:66px 0}
.m3lp .navy-band{background:linear-gradient(120deg,var(--navy) 0%,var(--navy-d) 100%);color:#fff}
.m3lp .alt{background:var(--bg)}
/* --- header --- */
.m3lp .m3head{background:#fff;border-bottom:1px solid var(--line)}
.m3lp .m3head .hrow{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1120px;margin:0 auto;padding:14px 24px}
.m3lp .m3head .brand{display:flex;align-items:flex-end;gap:13px}
.m3lp .m3head .brand img{height:52px;width:auto;display:block}
.m3lp .m3head .brand b{font-size:20px;color:var(--navy);font-weight:800;line-height:1;padding-bottom:3px}
.m3lp .m3head .hcta{display:flex;align-items:center;gap:18px}
.m3lp .m3head .tel b{font-size:22px;color:var(--navy);font-weight:800;line-height:1.1;display:block}
.m3lp .m3head .tel span{font-size:11px;color:var(--muted);text-align:right;display:block}
.m3lp .m3head .hbtn{background:var(--gold);color:#fff;padding:12px 22px;border-radius:6px;font-weight:700;font-size:15px}
.m3lp .m3head .navrow{border-top:1px solid var(--line)}
.m3lp .m3head nav{display:flex;gap:2px;max-width:1120px;margin:0 auto;padding:0 24px;flex-wrap:wrap}
.m3lp .m3head nav a{padding:13px 18px;font-size:14px;font-weight:600;color:var(--navy)}
.m3lp .m3head nav a:hover{color:var(--gold)}
/* --- hero --- */
.m3lp .hero{position:relative;overflow:hidden;padding:74px 0}
.m3lp .hero:before{content:"";position:absolute;right:-80px;top:-80px;width:360px;height:360px;border:2px solid rgba(255,255,255,.08);border-radius:50%}
.m3lp .hero:after{content:"";position:absolute;right:60px;bottom:-120px;width:260px;height:260px;border:2px solid rgba(255,255,255,.06);border-radius:50%}
.m3lp .hero .wrap{position:relative;z-index:2}
.m3lp .kicker{display:inline-block;font-size:13px;letter-spacing:.2em;color:#cddaf0;border-left:3px solid var(--gold);padding-left:12px;margin-bottom:20px}
.m3lp .hero h1{font-size:38px;line-height:1.5;font-weight:800;letter-spacing:.02em;margin:0 0 18px!important;color:#fff}
.m3lp .hero h1 em{font-style:normal;color:#f0d9b0}
.m3lp .hero .lead{font-size:17px;color:#dbe4f2;max-width:640px;margin:0 0 32px}
.m3lp .actions{display:flex;gap:14px;flex-wrap:wrap}
.m3lp .btn{display:inline-block;background:var(--navy);color:#fff;padding:15px 30px;border-radius:6px;font-weight:700;font-size:16px}
.m3lp .btn:hover{background:var(--navy-d);color:#fff}
.m3lp .btn.gold{background:var(--gold)}.m3lp .btn.gold:hover{background:#a5844c}
.m3lp .btn.ghost{background:rgba(255,255,255,.14)}
.m3lp .trust{display:flex;gap:34px;margin-top:40px;flex-wrap:wrap}
.m3lp .trust div{border-top:1px solid rgba(255,255,255,.2);padding-top:12px}
.m3lp .trust b{font-size:30px;color:#fff;font-weight:800;display:block;line-height:1.2}
.m3lp .trust span{font-size:12px;color:#bcccea;letter-spacing:.08em}
/* --- section head --- */
.m3lp .shead{text-align:center;margin-bottom:44px}
.m3lp .shead .en{font-size:12px;letter-spacing:.25em;color:var(--gold);font-weight:700}
.m3lp .shead h2{font-size:28px;color:var(--navy);font-weight:800;margin:8px 0 0!important;letter-spacing:.03em}
.m3lp .shead h2:after{content:"";display:block;width:44px;height:3px;background:var(--gold);margin:16px auto 0}
/* --- worry --- */
.m3lp .worry{max-width:820px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 40px;box-shadow:0 10px 30px rgba(22,48,92,.06);list-style:none}
.m3lp .worry li{padding:14px 0 14px 40px;position:relative;border-bottom:1px dashed var(--line);font-size:16px}
.m3lp .worry li:last-child{border-bottom:none}
.m3lp .worry li:before{content:"✓";position:absolute;left:0;top:12px;width:26px;height:26px;background:var(--navy);color:#fff;border-radius:50%;text-align:center;line-height:26px;font-size:14px;font-weight:700}
.m3lp .lead-p{max-width:820px;margin:0 auto;font-size:16px}
/* --- cards --- */
.m3lp .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.m3lp .card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px 26px;text-align:center;box-shadow:0 8px 24px rgba(22,48,92,.05)}
.m3lp .card .num{font-size:40px;color:var(--navy);font-weight:800;line-height:1}
.m3lp .card .num small{font-size:16px;color:var(--gold);font-weight:700}
.m3lp .card h3{font-size:17px;color:var(--navy);margin:14px 0 8px!important;font-weight:700}
.m3lp .card p{font-size:14px;color:var(--muted);line-height:1.8;margin:0}
/* --- steps --- */
.m3lp .steps{max-width:760px;margin:0 auto}
.m3lp .step{display:flex;gap:24px;align-items:flex-start;padding:22px 0;position:relative}
.m3lp .step:not(:last-child):after{content:"";position:absolute;left:23px;top:60px;bottom:-8px;width:2px;background:var(--line)}
.m3lp .step .n{flex:none;width:48px;height:48px;background:var(--navy);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;z-index:2}
.m3lp .step h3{font-size:18px;color:var(--navy);margin:0 0 4px!important}
.m3lp .step p{font-size:15px;color:var(--muted);margin:0}
/* --- fee --- */
.m3lp .fee{max-width:760px;margin:0 auto;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.m3lp .fee table{width:100%;border-collapse:collapse;margin:0}
.m3lp .fee th,.m3lp .fee td{padding:18px 24px;text-align:left;border-bottom:1px solid var(--line);font-size:16px}
.m3lp .fee th{background:var(--navy);color:#fff;font-weight:700;width:44%}
.m3lp .fee tr:last-child td,.m3lp .fee tr:last-child th{border-bottom:none}
.m3lp .note{font-size:13px;color:var(--muted);margin-top:14px;text-align:center}
.m3lp .tag{display:inline-block;background:#eef2f8;color:var(--navy);font-size:12px;padding:2px 10px;border-radius:20px;margin-left:8px}
/* --- cta --- */
.m3lp .cta{text-align:center}
.m3lp .cta h2{font-size:26px;font-weight:800;margin:0 0 14px!important;color:#fff}
.m3lp .cta p{color:#cddaf0;margin:0 0 30px}
.m3lp .cta .row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;align-items:center}
.m3lp .cta .tel2 b{font-size:32px;font-weight:800;color:#fff;display:block;line-height:1.2}
.m3lp .cta .tel2 span{font-size:12px;color:#bcccea}
/* --- footer --- */
.m3lp .m3foot{background:var(--navy-d);color:#c3cfe2;padding:46px 0 28px;font-size:14px}
.m3lp .m3foot .cols{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;max-width:1080px;margin:0 auto 24px;padding:0 24px}
.m3lp .m3foot b.fn{color:#fff;font-size:17px;display:block;margin-bottom:8px}
.m3lp .m3foot .run{font-size:12px;color:#8fa3c4;margin-top:10px}
.m3lp .m3foot .cp{border-top:1px solid rgba(255,255,255,.12);padding-top:16px;font-size:12px;color:#8fa3c4;text-align:center;max-width:1080px;margin:0 auto}
@media(max-width:820px){
.m3lp .hero h1{font-size:26px}
.m3lp .cards{grid-template-columns:1fr}
.m3lp .m3head .tel{display:none}
.m3lp .m3head nav{justify-content:center}
}


/* ===== M3 rich components (added by Claude) ===== */
.m3lp .hero .herogrid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.m3lp .hero .hpic img{width:100%;border-radius:14px;box-shadow:0 18px 46px rgba(0,0,0,.42);display:block}
.m3lp .media{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;max-width:1040px;margin:0 auto}
.m3lp .media.rev .tx{order:2}
.m3lp .photo{width:100%;border-radius:14px;box-shadow:0 16px 40px rgba(22,48,92,.18);display:block}
.m3lp .capt{font-size:12px;color:var(--muted);text-align:center;margin-top:10px}
.m3lp .lhead .en{font-size:12px;letter-spacing:.22em;color:var(--gold);font-weight:700}
.m3lp .lhead h2{font-size:27px;color:var(--navy);font-weight:800;margin:8px 0 18px!important;line-height:1.5}
.m3lp .media p{font-size:16px;color:var(--ink);margin:0}
.m3lp .ucards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:900px;margin:0 auto}
.m3lp .uc{background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:8px;padding:20px 24px;box-shadow:0 6px 18px rgba(22,48,92,.05)}
.m3lp .uc b{color:var(--navy);display:block;margin-bottom:5px;font-size:16px}
.m3lp .uc span{font-size:14px;color:var(--muted)}
.m3lp .worklist{max-width:860px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:10px 34px;list-style:none;padding:0}
.m3lp .worklist li{position:relative;padding:11px 0 11px 30px;border-bottom:1px dashed var(--line);font-size:15px}
.m3lp .worklist li:before{content:"\2713";position:absolute;left:0;top:11px;color:var(--gold);font-weight:800}
.m3lp .ptable{max-width:840px;margin:0 auto;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.m3lp .ptable table{width:100%;border-collapse:collapse;margin:0}
.m3lp .ptable th,.m3lp .ptable td{padding:15px 16px;text-align:center;border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-size:15px}
.m3lp .ptable th:last-child,.m3lp .ptable td:last-child{border-right:none}
.m3lp .ptable thead th{background:var(--navy);color:#fff;font-weight:700}
.m3lp .ptable thead th.reco{background:var(--gold)}
.m3lp .ptable td.rowh,.m3lp .ptable th.rowh{background:#f5f7fa;text-align:left;font-weight:700;color:var(--navy)}
.m3lp .ptable .price{font-size:18px;font-weight:800;color:var(--navy)}
.m3lp .ptable .yen{font-size:12px;color:var(--muted);font-weight:400}
.m3lp .badge{display:inline-block;background:var(--gold);color:#fff;font-size:11px;padding:2px 8px;border-radius:4px;margin-left:8px;vertical-align:middle;font-weight:700}
.m3lp .faq{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.m3lp .qa{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 24px;box-shadow:0 6px 16px rgba(22,48,92,.05)}
.m3lp .qa .q{font-weight:700;color:var(--navy);position:relative;padding-left:32px;font-size:16px}
.m3lp .qa .q:before{content:"Q";position:absolute;left:0;top:-1px;background:var(--navy);color:#fff;width:23px;height:23px;border-radius:50%;text-align:center;line-height:23px;font-size:13px}
.m3lp .qa .a{margin:11px 0 0;padding-left:32px;position:relative;font-size:15px;color:var(--muted)}
.m3lp .qa .a:before{content:"A";position:absolute;left:2px;top:-2px;color:var(--gold);font-weight:800;font-size:17px}
.m3lp .ph{background:repeating-linear-gradient(45deg,#eef2f8,#eef2f8 14px,#e6ebf3 14px,#e6ebf3 28px);border:2px dashed #b9c4d6;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8394ad;font-size:14px;min-height:240px;text-align:center;padding:24px;gap:6px}
.m3lp .ph .ico{font-size:30px}
.m3lp .office{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center;max-width:1000px;margin:0 auto}
@media(max-width:860px){
.m3lp .hero .herogrid,.m3lp .media,.m3lp .office{grid-template-columns:1fr}
.m3lp .media.rev .tx{order:0}
.m3lp .hero .hpic{display:none}
.m3lp .ucards,.m3lp .worklist{grid-template-columns:1fr}
.m3lp .ptable{overflow-x:auto}
}
