@charset "UTF-8";
/* ==========================================================================
   イロハコードバッグ講座 ランディングページ（irohacord_course.html 専用）
   ・クラス名はすべて irc- で始め、.irc-lp の中だけに効くようにしています
   ・irohacraft2.css の後に読み込んでください
   ・配色：ブルーグリーン #6ea79d / #3f7d74、チャコール #3a3736、ウォームグレー #8a8583
   ========================================================================== */
.irc-lp{
  --irc-main:#4a8c83;      /* ブルーグリーン（ページの帯色を深めた主色） */
  --irc-main-deep:#2f6a62;
  --irc-tint:#bdd3cd;      /* 元ページの帯色 */
  --irc-ink:#1b1d1d;       /* 黒 */
  --irc-gray:#6c7372;      /* グレー（わずかに緑寄り） */
  --irc-line:#d6dbda;
  --irc-mist:#f1f4f3;      /* 画像枠だけに使う */
  --irc-white:#ffffff;
  --irc-en:"Jost","Futura","Helvetica Neue",Arial,sans-serif;
  --irc-jp:"Zen Kaku Gothic New","Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;
  color-scheme:light;
}

/* ===== 基本 ===== */
.irc-lp{font-family:var(--irc-jp);color:var(--irc-ink);line-height:1.9;font-size:15px;letter-spacing:.04em;-webkit-font-smoothing:antialiased}
.irc-lp *,.irc-lp *::before,.irc-lp *::after{box-sizing:border-box}
.irc-lp img{max-width:100%;height:auto;display:block}
.irc-lp a{color:var(--irc-main-deep);text-decoration:none}
.irc-lp a:hover{text-decoration:none}
/* サイト共通CSS（見出し・リンクの色や揃え）を打ち消す */
.irc-lp :where(p,h1,h2,h3,h4,li,dt,dd,figure){text-align:inherit;color:inherit}
.irc-lp :where(p,ul,ol,li,h1,h2,h3,figure){margin:0;padding:0}
.irc-wrap{max-width:1080px;margin:0 auto;padding-inline:20px}
.irc-lp h1,.irc-lp h2,.irc-lp h3{margin:0;font-weight:500;text-wrap:balance}
.irc-lp p{margin:0}
.irc-lp ul,.irc-lp ol{margin:0;padding:0;list-style:none}

/* placeholder image */
.irc-ph{position:relative;background:var(--irc-mist);overflow:hidden;aspect-ratio:1/1;max-width:100%}
.irc-ph::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(var(--irc-line) 1px,transparent 1px),linear-gradient(90deg,var(--irc-line) 1px,transparent 1px);
  background-size:14px 14px;opacity:.55}
.irc-ph span{position:absolute;left:12px;bottom:10px;font:400 11px/1 var(--irc-en);letter-spacing:.12em;color:var(--irc-gray)}

/* buttons */
.irc-btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:0 34px;background:var(--irc-ink);color:#fff!important;text-decoration:none;font:500 15px/1 var(--irc-jp);letter-spacing:.12em;border:1px solid var(--irc-ink);transition:background .25s,border-color .25s}
.irc-btn::after{content:"";width:22px;height:1px;background:currentColor;box-shadow:0 0 0 0;transition:width .25s}
.irc-btn:hover{background:var(--irc-main-deep);border-color:var(--irc-main-deep)}
.irc-btn:hover::after{width:32px}
.irc-btn:focus-visible,.irc-copy:focus-visible{outline:2px solid var(--irc-main);outline-offset:3px}

/* ===== HERO（macrame_course と同じ中央1カラム構成） ===== */
.irc-hero{text-align:center;padding-block:56px 60px;border-bottom:1px solid var(--irc-ink)}
.irc-hero__status{display:inline-block;font:500 12px/1 var(--irc-jp);letter-spacing:.2em;color:var(--irc-main-deep);border:1px solid var(--irc-main);padding:7px 14px;margin-bottom:22px!important}
.irc-hero__logo{margin:0 auto 24px!important;max-width:min(340px,72vw)}
.irc-hero__logo img{width:100%;height:auto;display:block}
.irc-hero__en{font:300 clamp(34px,6.4vw,60px)/1.05 var(--irc-en);letter-spacing:.12em;text-transform:uppercase;color:var(--irc-ink)}
.irc-hero__en em{font-style:normal;color:var(--irc-main)}
.irc-hero__jp{font-size:clamp(24px,4.6vw,34px);font-weight:500;letter-spacing:.16em;line-height:1.5;margin-top:14px!important}
.irc-hero__sub{font-size:clamp(14px,2.4vw,16px);letter-spacing:.12em;color:var(--irc-gray);margin:14px 0 34px!important;line-height:1.8}
.irc-hero__sub em{font-style:normal;color:var(--irc-main-deep);border-bottom:1px solid var(--irc-main)}
.irc-hero__visual{max-width:620px;margin:0 auto 32px;position:relative}
.irc-hero__visual .irc-ph{aspect-ratio:1/1}

.irc-facts{display:grid;grid-template-columns:repeat(3,1fr);max-width:620px;margin:0 auto 40px!important;border-top:1px solid var(--irc-ink);border-bottom:1px solid var(--irc-line)}
.irc-facts li{padding:16px 6px;display:flex;flex-direction:column;gap:6px}
.irc-facts li+li{border-left:1px solid var(--irc-line)}
.irc-facts__k{font:400 11px/1 var(--irc-en);letter-spacing:.26em;text-transform:uppercase;color:var(--irc-main)}
.irc-facts__v{font-size:15px;line-height:1.6;font-weight:500;letter-spacing:.06em}
.irc-facts__v small{display:block;font-size:11px;color:var(--irc-gray);font-weight:400}

.irc-cta{margin-top:40px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.irc-hero .irc-cta{margin-top:0;flex-direction:column;gap:12px}
.irc-cta__note{font-size:12px;color:var(--irc-gray);letter-spacing:.06em}

/* ===== INTRO ===== */
.irc-intro{padding-block:96px 88px}
.irc-intro__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;align-items:start}
.irc-intro__eyebrow{font:400 12px/1 var(--irc-en);letter-spacing:.28em;text-transform:uppercase;color:var(--irc-gray);display:flex;align-items:center;gap:14px;margin-bottom:26px!important}
.irc-intro__eyebrow::before{content:"";width:36px;height:1px;background:var(--irc-ink)}
.irc-intro__lead{font-size:clamp(22px,2.8vw,31px);line-height:1.7;font-weight:500;letter-spacing:.08em}
.irc-intro__lead b{font-weight:500;color:var(--irc-main-deep);background:linear-gradient(transparent 72%,var(--irc-tint) 72%)}
.irc-intro__body{display:flex;flex-direction:column;gap:1.4em;color:#333a39;padding-top:6px}
.irc-intro__pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:48px}
.irc-intro__pair .irc-ph{aspect-ratio:3/4}
.irc-intro__pair .irc-ph:nth-child(2){margin-top:40px}

/* ===== ABOUT（イロハコードとは？） ===== */
.irc-about__lead{font-size:clamp(20px,2.6vw,26px);font-weight:500;letter-spacing:.1em;line-height:1.7;margin-bottom:28px!important}
.irc-about__lead b{font-weight:500;color:var(--irc-main-deep)}
.irc-about__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.irc-about__body{display:flex;flex-direction:column;gap:1.3em;color:#333a39}
.irc-about__photo{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.irc-about__photo .irc-ph:first-child{grid-column:1/-1;aspect-ratio:16/10}
.irc-about__joy{margin-top:56px!important;padding-block:30px;border-top:1px solid var(--irc-ink);border-bottom:1px solid var(--irc-ink);text-align:center;font-size:clamp(16px,2.2vw,19px);letter-spacing:.14em;line-height:2.1}
.irc-about__joy span{color:var(--irc-main-deep)}
.irc-kit{display:grid;grid-template-columns:repeat(3,1fr);margin-top:56px!important}
.irc-kit li{padding:0 28px;display:flex;flex-direction:column;gap:8px}
.irc-kit li:first-child{padding-left:0}
.irc-kit li+li{border-left:1px solid var(--irc-line)}
.irc-kit__k{font:400 11px/1 var(--irc-en);letter-spacing:.26em;text-transform:uppercase;color:var(--irc-main)}
.irc-kit__num{font:300 46px/1 var(--irc-en);font-variant-numeric:tabular-nums}
.irc-kit__num small{font:500 14px/1 var(--irc-jp);margin-left:4px;letter-spacing:.06em}
.irc-kit__t{font-size:15px;font-weight:500;letter-spacing:.06em}
.irc-kit__d{font-size:13px;color:var(--irc-gray);line-height:1.8}
.irc-kit__more{margin-top:28px!important}
.irc-mat{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:72px}
.irc-mat__item .irc-ph{aspect-ratio:4/3;margin-bottom:22px}
.irc-mat__en{font:300 30px/1 var(--irc-en);letter-spacing:.06em}
.irc-mat__jp{font-size:13px;letter-spacing:.14em;color:var(--irc-main-deep);margin:8px 0 14px!important;display:flex;align-items:center;gap:12px}
.irc-mat__jp::after{content:"";flex:1;height:1px;background:var(--irc-line)}
.irc-mat__d{font-size:14px;color:#3b4241}
.irc-spec{margin-top:16px!important;border-top:1px solid var(--irc-line)}
.irc-spec li{display:grid;grid-template-columns:6.5em 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--irc-line);font-size:13px}
.irc-spec li span:first-child{color:var(--irc-gray);letter-spacing:.08em}

/* ===== SECTION HEAD ===== */
.irc-sec{padding-block:80px;border-top:1px solid var(--irc-line)}
.irc-sec__head{display:grid;grid-template-columns:auto 1fr;gap:4px 28px;align-items:end;margin-bottom:48px}
.irc-sec__en{grid-row:span 2;font:300 clamp(34px,4.6vw,54px)/.9 var(--irc-en);letter-spacing:.04em;color:var(--irc-ink)}
.irc-sec__jp{font-size:17px;letter-spacing:.16em;color:var(--irc-main-deep);grid-column:2}
.irc-sec__rule{grid-column:2;height:1px;background:var(--irc-ink);width:100%;margin-bottom:10px}
.irc-sec__lead{max-width:640px;margin-bottom:40px!important;color:#333a39}
.irc-sec__lead--center{margin-inline:auto;text-align:center}

/* ===== FEATURES ===== */
.irc-points{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.irc-point{padding:4px 32px 0}
.irc-point:first-child{padding-left:0}
.irc-point+.irc-point{border-left:1px solid var(--irc-line)}
.irc-point__icon{width:46px;height:46px;color:var(--irc-main);margin-bottom:22px}
.irc-point__title{font-size:18px;line-height:1.6;letter-spacing:.08em;margin-bottom:14px!important}
.irc-point__text{font-size:14px;color:var(--irc-gray)}

/* ===== WORKS ===== */
.irc-works{display:grid;grid-template-columns:repeat(2,1fr);gap:64px 48px;counter-reset:w}
.irc-img{display:block;width:100%;height:auto;border-radius:14px}
.irc-work__img{margin:0}
.irc-work__img img{width:100%;border-radius:14px}
.irc-work{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:22px;align-items:start}
.irc-work__no{font:300 56px/.8 var(--irc-en);color:var(--irc-main);letter-spacing:0;display:block;margin-bottom:14px}
.irc-work__no small{font-size:11px;letter-spacing:.24em;color:var(--irc-gray);display:block;margin-bottom:10px;font-weight:400}
.irc-work__skill{font-size:12px;color:var(--irc-gray);letter-spacing:.08em;border-bottom:1px solid var(--irc-line);padding-bottom:10px;margin-bottom:12px!important}
.irc-work__title{font-size:17px;line-height:1.55;letter-spacing:.06em;margin-bottom:10px!important}
.irc-work__desc{font-size:13.5px;line-height:1.85;color:#3b4241}
.irc-work__color{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:14px!important}
.irc-chip{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--irc-ink)}
.irc-chip i{width:12px;height:12px;border-radius:50%;border:1px solid rgba(0,0,0,.18);flex:none}
.irc-chip b{font:500 11px/1 var(--irc-en);color:var(--irc-gray)}
.irc-work__note{font-size:12px;color:var(--irc-gray);margin-top:10px!important}
.irc-work--goal .irc-work__no{color:var(--irc-ink)}

/* ===== WAYS ===== */
.irc-ways{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--irc-ink)}
.irc-way{padding:40px 36px}
.irc-way+.irc-way{border-left:1px solid var(--irc-ink)}
.irc-way__label{display:flex;justify-content:space-between;align-items:center;font:400 11px/1 var(--irc-en);letter-spacing:.24em;text-transform:uppercase;color:var(--irc-gray);margin-bottom:22px!important}
.irc-way__badge{font:500 11px/1 var(--irc-jp);letter-spacing:.1em;padding:6px 10px;border:1px solid currentColor}
.irc-way__badge.is-open{color:var(--irc-main-deep)}
.irc-way__badge.is-wait{color:var(--irc-gray)}
.irc-way__t{font-size:21px;letter-spacing:.1em;margin-bottom:16px!important}
.irc-way__d{font-size:14px;color:#3b4241}
.irc-way__list{margin-top:18px!important;display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--irc-gray)}
.irc-way__list li{padding-left:16px;position:relative}
.irc-way__list li::before{content:"";position:absolute;left:0;top:.8em;width:7px;height:1px;background:var(--irc-main)}
.irc-way .irc-cta{margin-top:26px}
.irc-link{font-size:14px;font-weight:500;text-decoration:none;border-bottom:1px solid var(--irc-main);padding-bottom:3px}

/* ===== PRICE ===== */
.irc-price{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px;align-items:start}
.irc-price__h{font-size:14px;letter-spacing:.14em;color:var(--irc-gray);margin-bottom:12px!important}
.irc-set li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--irc-line);font-size:14px}
.irc-set li span:last-child{color:var(--irc-gray);white-space:nowrap}
.irc-price__box{border-top:3px solid var(--irc-ink);padding-top:26px}
.irc-price__label{font:400 11px/1 var(--irc-en);letter-spacing:.26em;text-transform:uppercase;color:var(--irc-main)}
.irc-price__num{font:300 64px/1 var(--irc-en);letter-spacing:.01em;margin:14px 0 6px!important;font-variant-numeric:tabular-nums}
.irc-price__num small{font:500 14px/1 var(--irc-jp);letter-spacing:.08em;margin-left:8px}
.irc-price__sub{font-size:12px;color:var(--irc-gray);line-height:1.9;margin-bottom:26px!important}
.irc-price__box .irc-btn{width:100%}

/* ===== FLOW（macrame_course と同じ縦タイムライン） ===== */
.irc-flow{max-width:720px;margin:0 auto!important;counter-reset:f}
.irc-flow li{position:relative;display:grid;grid-template-columns:56px 1fr;gap:18px;padding:0 0 26px;counter-increment:f}
.irc-flow li::before{content:counter(f);width:56px;height:56px;border-radius:50%;border:1px solid var(--irc-main);background:#fff;display:flex;align-items:center;justify-content:center;font:300 24px/1 var(--irc-en);color:var(--irc-main-deep);position:relative;z-index:1}
.irc-flow li:not(:last-child)::after{content:"";position:absolute;left:28px;top:56px;bottom:0;width:1px;background:var(--irc-line)}
.irc-flow__t{font-size:16px;font-weight:500;letter-spacing:.08em;line-height:1.6;padding-top:14px}
.irc-flow__d{font-size:13px;line-height:1.95;color:var(--irc-gray);margin-top:4px!important}
.irc-flow li.is-goal::before{background:var(--irc-ink);border-color:var(--irc-ink);color:#fff}
.irc-flow li.is-goal .irc-flow__t{color:var(--irc-main-deep)}

/* ===== MEMBERS ===== */
.irc-sale{display:grid;grid-template-columns:auto 1fr;gap:10px 28px;align-items:center;border:1px solid var(--irc-ink);padding:28px 32px;margin-bottom:20px}
.irc-sale+.irc-sale{margin-bottom:48px}
.irc-sale__k{grid-row:span 2;font:300 13px/1.3 var(--irc-en);letter-spacing:.26em;text-transform:uppercase;color:var(--irc-main);border-right:1px solid var(--irc-line);padding-right:28px}
.irc-sale__t{font-size:18px;font-weight:500;letter-spacing:.08em;line-height:1.6}
.irc-sale__d{font-size:13px;color:var(--irc-gray)}
.irc-sale__d p{color:var(--irc-ink);font-size:14px}
.irc-sale__d .irc-perk__notes{margin-top:12px!important}
.irc-perks{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--irc-ink)}
.irc-perk{display:grid;grid-template-columns:28px 1fr;gap:14px;padding:22px 24px 22px 0;border-bottom:1px solid var(--irc-line)}
.irc-perk:nth-child(2n){padding-left:24px;border-left:1px solid var(--irc-line)}
.irc-perk--wide{grid-column:1/-1;padding-right:0}
.irc-perk__ic{width:28px;height:28px;color:var(--irc-main);margin-top:2px}
.irc-perk__t{font-size:15px;font-weight:500;letter-spacing:.06em;line-height:1.7}
.irc-perk__notes{margin-top:10px!important;display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--irc-gray);line-height:1.8}
.irc-perk__notes li{padding-left:1.1em;text-indent:-1.1em}
.irc-perk__notes li::before{content:"※";margin-right:.1em}
.irc-perks__note{font-size:12px;color:var(--irc-gray);margin-top:18px!important}

/* ===== STYLE ===== */
.irc-styles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.irc-style{border:1px solid var(--irc-line);padding:32px 30px;display:grid;grid-template-columns:auto 1fr;gap:6px 20px}
.irc-style__no{grid-row:span 2;font:300 44px/.9 var(--irc-en);color:var(--irc-main)}
.irc-style__t{font-size:17px;letter-spacing:.08em}
.irc-style__d{font-size:13.5px;color:#3b4241}
.irc-styles__note{font-size:12px;color:var(--irc-gray);margin-top:20px!important}

/* ===== MEMO FORM ===== */
.irc-form{border:1px solid var(--irc-ink);padding:40px clamp(20px,4vw,48px)}
.irc-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.irc-q{border:0;border-bottom:1px solid var(--irc-line);margin:0;padding:16px 0 18px;min-width:0}
.irc-q legend{float:left;width:100%;font-size:14px;font-weight:500;padding:0;margin-bottom:12px;display:flex;justify-content:space-between;gap:10px}
.irc-q legend span{font:400 11px/1.9 var(--irc-en);letter-spacing:.18em;color:var(--irc-main);text-transform:uppercase}
.irc-q--wide{grid-column:1/-1}
.irc-opts{clear:both;display:flex;flex-wrap:wrap;gap:8px}
.irc-opt input{position:absolute;opacity:0;pointer-events:none}
.irc-opt label{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--irc-line);font-size:13px;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.irc-opt label i{width:11px;height:11px;border-radius:50%;border:1px solid rgba(0,0,0,.2)}
.irc-opt input:checked+label{border-color:var(--irc-ink);background:var(--irc-ink);color:#fff}
.irc-opt input:focus-visible+label{outline:2px solid var(--irc-main);outline-offset:2px}
.irc-memo{margin-top:32px}
.irc-memo__h{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:14px;font-weight:500;margin-bottom:10px!important}
.irc-memo__h span{font-size:12px;color:var(--irc-gray);font-weight:400}
.irc-memo textarea{width:100%;min-height:210px;border:1px solid var(--irc-line);padding:16px;font:400 13.5px/1.9 var(--irc-jp);color:var(--irc-ink);resize:vertical;background:#fff}
.irc-memo__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px}
.irc-copy{min-height:54px;padding:0 30px;background:#fff;border:1px solid var(--irc-ink);font:500 15px/1 var(--irc-jp);letter-spacing:.12em;color:var(--irc-ink);cursor:pointer}
.irc-copy:hover{border-color:var(--irc-main);color:var(--irc-main-deep)}
.irc-copy__done{font-size:13px;color:var(--irc-main-deep);min-height:1.9em;margin-top:8px!important}
.irc-form__foot{font-size:12px;color:var(--irc-gray);margin-top:10px!important;line-height:1.9}

/* ===== INFO ===== */
.irc-info{border-top:1px solid var(--irc-ink)}
.irc-info details{border-bottom:1px solid var(--irc-line)}
.irc-info summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;font-size:16px;font-weight:500;letter-spacing:.08em;position:relative}
.irc-info summary::-webkit-details-marker{display:none}
.irc-info summary::after,.irc-info summary::before{content:"";position:absolute;right:6px;top:50%;width:14px;height:1px;background:var(--irc-ink);transition:transform .25s}
.irc-info summary::before{transform:rotate(90deg)}
.irc-info details[open] summary::before{transform:rotate(0)}
.irc-info summary:focus-visible{outline:2px solid var(--irc-main);outline-offset:2px}
.irc-info__body{padding:0 0 26px;font-size:14px;color:#3b4241;display:flex;flex-direction:column;gap:.8em;max-width:760px}
.irc-info__body ul{display:flex;flex-direction:column;gap:6px}
.irc-info__body li{padding-left:16px;position:relative}
.irc-info__body li::before{content:"";position:absolute;left:0;top:.9em;width:7px;height:1px;background:var(--irc-main)}
.irc-info__links{display:flex;gap:28px;flex-wrap:wrap;margin-top:32px!important}

/* ===== LAST ===== */
.irc-last{padding-block:96px 104px;border-top:1px solid var(--irc-ink);text-align:center}
.irc-last__en{font:300 clamp(30px,5vw,56px)/1.1 var(--irc-en);letter-spacing:.08em;text-transform:uppercase}
.irc-last__en em{font-style:normal;color:var(--irc-main)}
.irc-last__copy{margin-top:22px!important;font-size:16px;letter-spacing:.1em;line-height:2}
.irc-last .irc-cta{justify-content:center;flex-direction:column;gap:14px}

/* ===== Responsive ===== */
@media (max-width:860px){
  .irc-intro__grid,.irc-price{grid-template-columns:1fr;gap:36px}
  .irc-about__top,.irc-mat{grid-template-columns:1fr;gap:36px}
  .irc-kit{grid-template-columns:1fr;gap:28px}
  .irc-kit li,.irc-kit li:first-child{padding:0}
  .irc-kit li+li{border-left:0;border-top:1px solid var(--irc-line);padding-top:28px}
  .irc-works{grid-template-columns:1fr;gap:48px}
  .irc-points{grid-template-columns:1fr;gap:34px}
  .irc-point,.irc-point:first-child{padding:0}
  .irc-point+.irc-point{border-left:0;border-top:1px solid var(--irc-line);padding-top:34px}
  .irc-ways,.irc-styles,.irc-form__grid{grid-template-columns:1fr}
  .irc-way+.irc-way{border-left:0;border-top:1px solid var(--irc-ink)}
  .irc-perks{grid-template-columns:1fr}
  .irc-perk:nth-child(2n){padding-left:0;border-left:0}
}
@media (max-width:540px){
  .irc-lp{font-size:14px}
  .irc-sec{padding-block:60px}
  .irc-sec__head{grid-template-columns:1fr;gap:10px}
  .irc-sec__en{grid-row:auto}
  .irc-sec__jp,.irc-sec__rule{grid-column:1}
  .irc-work{grid-template-columns:1fr}
  .irc-hero{padding-block:40px}
  .irc-facts__v{font-size:13px}
  .irc-way{padding:30px 22px}
  .irc-flow li{grid-template-columns:46px 1fr;gap:14px}
  .irc-flow li::before{width:46px;height:46px;font-size:20px}
  .irc-flow li:not(:last-child)::after{left:23px;top:46px}
  .irc-flow__t{padding-top:10px}
  .irc-sale{grid-template-columns:1fr;padding:24px 20px}
  .irc-sale__k{grid-row:auto;border-right:0;padding-right:0}
  .irc-intro{padding-block:64px}
  .irc-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){.irc-lp *{transition:none!important}}

/* =========================================================
   フェミニン案：柔らかいブルーグリーン × ウォームグレー × チャコール
   アーチ窓・細い曲線・ピル型ボタン・明朝見出し
   ========================================================= */
.irc-lp{
  --irc-main:#6ea79d;
  --irc-main-deep:#3f7d74;
  --irc-tint:#d6e7e2;
  --irc-ink:#3a3736;
  --irc-gray:#8a8583;
  --irc-line:#e4dfdc;
  --irc-mist:#f3f5f4;
  --irc-en:"Marcellus","Cormorant Infant",Georgia,serif;
  --irc-script:"Cormorant Infant",Georgia,serif;
  --irc-serif:"Zen Old Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
}
.irc-lp{letter-spacing:.06em}
.irc-lp h1,.irc-lp h2,.irc-lp h3{font-family:var(--irc-serif);font-weight:600}

/* ボタン：ピル型 */
.irc-btn{border-radius:999px;background:var(--irc-main-deep);border-color:var(--irc-main-deep);font-family:var(--irc-serif);font-weight:600;letter-spacing:.16em;box-shadow:0 8px 20px rgba(63,125,116,.18)}
.irc-btn:hover{background:var(--irc-ink);border-color:var(--irc-ink)}
.irc-copy{border-radius:999px;font-family:var(--irc-serif);border-color:var(--irc-main)}

/* HERO */
.irc-hero{border-bottom:0}
.irc-hero__status{border-radius:999px;border-color:var(--irc-tint);background:transparent;font-family:var(--irc-serif);letter-spacing:.24em}
.irc-hero__logo{margin:0 auto 24px!important;max-width:min(340px,72vw)}
.irc-hero__logo img{width:100%;height:auto;display:block}
.irc-hero__en{font-family:var(--irc-script);font-style:italic;font-weight:400;text-transform:none;letter-spacing:.04em;font-size:clamp(40px,7vw,68px);color:var(--irc-main-deep)}
.irc-hero__en em{color:var(--irc-ink)}
.irc-hero__jp{font-weight:600;letter-spacing:.2em}
.irc-hero__sub{font-family:var(--irc-serif)}
.irc-hero__sub em{border-bottom:0;background:linear-gradient(transparent 70%,var(--irc-tint) 70%)}
.irc-hero__visual .irc-ph{border-radius:310px 310px 0 0;aspect-ratio:1/1.05}
.irc-facts{border-top:1px solid var(--irc-line)}
.irc-facts__k{font-family:var(--irc-en);letter-spacing:.2em;text-transform:none}
.irc-facts__v{font-family:var(--irc-serif);font-weight:500}

/* 画像枠：角丸 */
.irc-ph{border-radius:14px}
.irc-ph::before{background-image:radial-gradient(var(--irc-line) 1.2px,transparent 1.4px);background-size:14px 14px;opacity:1}
.irc-ph span{font-family:var(--irc-script);font-style:italic;font-size:13px;letter-spacing:.04em}
.irc-intro__pair .irc-ph{border-radius:200px 200px 14px 14px}
.irc-about__photo .irc-ph:first-child{border-radius:14px}
.irc-mat__item .irc-ph{border-radius:220px 220px 14px 14px;aspect-ratio:1/1}

/* 区切り：小さな結び目の飾り */
.irc-sec{border-top:0;position:relative}
.irc-sec::before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:min(320px,70%);height:14px;
  background:
    radial-gradient(circle at 50% 50%,transparent 4px,var(--irc-main) 4px,var(--irc-main) 5px,transparent 5.5px) center/14px 14px no-repeat,
    linear-gradient(var(--irc-line),var(--irc-line)) left center/calc(50% - 16px) 1px no-repeat,
    linear-gradient(var(--irc-line),var(--irc-line)) right center/calc(50% - 16px) 1px no-repeat}

/* 見出し：中央揃え */
.irc-sec__head{grid-template-columns:1fr;text-align:center;gap:6px;justify-items:center}
.irc-sec__en{grid-row:auto;font-family:var(--irc-script);font-style:italic;font-weight:400;font-size:clamp(34px,4.6vw,50px);color:var(--irc-main-deep);letter-spacing:.02em}
.irc-sec__jp{grid-column:1;color:var(--irc-ink);font-size:17px;letter-spacing:.2em}
.irc-sec__rule{grid-column:1;width:40px;height:1px;background:var(--irc-main);margin:10px 0 0}
.irc-sec__lead{margin-inline:auto;text-align:center}

.irc-intro__eyebrow{font-family:var(--irc-script);font-style:italic;font-size:18px;letter-spacing:.06em;text-transform:none;color:var(--irc-main-deep)}
.irc-intro__eyebrow::before{background:var(--irc-main)}
.irc-intro__lead,.irc-about__lead{font-family:var(--irc-serif);font-weight:600}
.irc-intro__lead b{background:linear-gradient(transparent 68%,var(--irc-tint) 68%)}
.irc-about__joy{border:0;border-radius:24px;background:transparent;outline:1px solid var(--irc-line);outline-offset:-1px;font-family:var(--irc-serif)}
.irc-kit__k,.irc-way__label,.irc-price__label{font-family:var(--irc-en);letter-spacing:.18em;text-transform:none}
.irc-kit__num,.irc-price__num{font-family:var(--irc-script);font-weight:400}
.irc-mat__en{font-family:var(--irc-script);font-style:italic;font-size:34px}

.irc-point__icon{width:64px;height:64px;padding:13px;border:1px solid var(--irc-tint);border-radius:50%}
.irc-point__title{text-align:left}

.irc-work__no{font-family:var(--irc-script);font-style:italic;color:var(--irc-main)}
.irc-work__no small{font-style:normal;font-family:var(--irc-en)}
.irc-chip i,.irc-opt label i{box-shadow:0 0 0 2px #fff,0 0 0 3px var(--irc-line)}

.irc-ways{border:1px solid var(--irc-line);border-radius:24px;overflow:hidden}
.irc-way+.irc-way{border-left-color:var(--irc-line)}
.irc-way__badge{border-radius:999px}
.irc-price__box{border:1px solid var(--irc-line);border-top:1px solid var(--irc-line);border-radius:24px;padding:32px 30px}
.irc-flow li::before{font-family:var(--irc-script);font-style:italic}
.irc-flow li.is-goal::before{background:var(--irc-main-deep);border-color:var(--irc-main-deep)}
.irc-style{border-radius:20px}
.irc-style__no{font-family:var(--irc-script);font-style:italic}
.irc-sale{border:1px solid var(--irc-main);border-radius:20px}
.irc-sale__k{font-family:var(--irc-script);font-style:italic;font-size:18px;letter-spacing:.04em;text-transform:none;color:var(--irc-main-deep)}
.irc-perks{border-top:1px solid var(--irc-line)}
.irc-form{border:1px solid var(--irc-line);border-radius:24px}
.irc-q legend span{font-family:var(--irc-en);text-transform:none;letter-spacing:.12em}
.irc-opt label{border-radius:999px}
.irc-opt input:checked+label{background:var(--irc-main-deep);border-color:var(--irc-main-deep)}
.irc-memo textarea{border-radius:14px}
.irc-info{border-top:1px solid var(--irc-line)}
.irc-info summary{font-family:var(--irc-serif)}
.irc-info summary::after,.irc-info summary::before{background:var(--irc-main)}
.irc-last{border-top:0}
.irc-last__en{font-family:var(--irc-script);font-style:italic;font-weight:400;text-transform:none;letter-spacing:.02em;color:var(--irc-main-deep)}
.irc-last__en em{color:var(--irc-ink)}
.irc-last__copy{font-family:var(--irc-serif)}
@media (max-width:860px){.irc-way+.irc-way{border-top-color:var(--irc-line)}}

/* 写真差し替え後の枠指定 */
.irc-hero__visual .irc-img{border-radius:310px 310px 14px 14px}
.irc-intro__pair{align-items:start}
.irc-intro__pair .irc-img{border-radius:200px 200px 14px 14px}
.irc-intro__pair .irc-img:nth-child(2){margin-top:40px}
.irc-mat__item .irc-img{border-radius:180px 180px 14px 14px;margin-bottom:22px}
.irc-about__photo .irc-img:first-child{grid-column:1/-1}

/* ===== スマホ下部の固定申込ボタン（不要ならHTMLの .irc-fixbar を削除） ===== */
.irc-fixbar{display:none}
@media (max-width:860px){
  .irc-lp{padding-bottom:78px}
  .irc-fixbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:50;background:rgba(255,255,255,.96);border-top:1px solid var(--irc-line);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px))}
  .irc-fixbar .irc-btn{width:100%;padding:0 16px;font-size:15px}
}
