@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
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}
/* ==================================================
  三階松：st-yellow（黄色ボックス）を全て高級化
  黒×金×余白×線で統一
================================================== */

.blank-box.sticky.st-yellow,
.blank-box.bb-yellow.sticky.st-yellow{
  background: linear-gradient(180deg, #0b0b0b 0%, #111 100%) !important;
  border: 1px solid rgba(179,139,45,0.45) !important;
  border-radius: 18px !important;
  padding: 22px 20px !important;
  box-shadow: 0 18px 42px rgba(0,0,0,0.38) !important;
  position: relative;
  overflow: hidden;
  color: #f3f3f3 !important;
  letter-spacing: .04em;
  line-height: 1.6;
}

.blank-box.sticky.st-yellow::before,
.blank-box.bb-yellow.sticky.st-yellow::before{
  content:"";
  position:absolute;
  left: 14px;
  top: 14px;
  bottom: 14px;
  width: 3px;
  background: linear-gradient(180deg, rgba(179,139,45,0.95), rgba(179,139,45,0.25));
  border-radius: 3px;
}

.blank-box.sticky.st-yellow::after,
.blank-box.bb-yellow.sticky.st-yellow::after{
  content:"";
  position:absolute;
  right:-60px;
  top:-60px;
  width: 170px;
  height: 170px;
  background: radial-gradient(circle, rgba(179,139,45,0.18) 0%, rgba(179,139,45,0) 65%);
  transform: rotate(25deg);
}

.blank-box.sticky.st-yellow strong,
.blank-box.bb-yellow.sticky.st-yellow strong{
  color: #f3f3f3 !important;
}

@media (max-width: 768px){
  .blank-box.sticky.st-yellow,
  .blank-box.bb-yellow.sticky.st-yellow{
    padding: 18px 16px !important;
    border-radius: 16px !important;
  }
  .blank-box.sticky.st-yellow::before,
  .blank-box.bb-yellow.sticky.st-yellow::before{
    left: 12px; top: 12px; bottom: 12px;
  }
  .blank-box.sticky.st-yellow span[style*="font-size: 24px"],
  .blank-box.bb-yellow.sticky.st-yellow span[style*="font-size: 24px"]{
    font-size: 18px !important;
  }
}
/* ==================================================
  三階松｜昼席LP（黒×金）CSS
================================================== */
.sgm-lp{
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Noto Sans JP","Yu Gothic",sans-serif;
  color:#1a1a1a;
}
.sgm-hero{
  background: radial-gradient(1200px 500px at 20% 0%, rgba(179,139,45,.14), transparent 55%),
              linear-gradient(180deg, #0b0b0b, #111);
  padding: 28px 16px 18px;
  border-radius: 22px;
  border: 1px solid rgba(179,139,45,.35);
  box-shadow: 0 22px 55px rgba(0,0,0,.35);
  margin: 14px 0 18px;
}
.sgm-hero__inner{max-width: 980px; margin:0 auto;}
.sgm-hero__tag{
  display:inline-block;
  color: rgba(255,255,255,.82);
  font-size: 12px;
  letter-spacing: .16em;
  border: 1px solid rgba(179,139,45,.35);
  padding: 6px 10px;
  border-radius: 999px;
  margin: 0 0 10px;
}
.sgm-hero__title{
  color:#fff;
  font-size: 28px;
  line-height: 1.25;
  margin: 8px 0 10px;
  letter-spacing: .04em;
}
.sgm-hero__title span{ color: #b38b2d; }
.sgm-hero__lead{
  color: rgba(255,255,255,.85);
  line-height: 1.8;
  margin: 0 0 16px;
}
.sgm-hero__cta{display:flex; gap:10px; flex-wrap:wrap; margin: 10px 0 10px;}
.sgm-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5em;
  text-decoration:none !important;
  border-radius: 14px;
  padding: 14px 16px;
  font-weight: 800;
  letter-spacing: .04em;
  box-shadow: 0 14px 30px rgba(0,0,0,.25);
}
.sgm-btn--gold{
  background: linear-gradient(135deg, #b38b2d, #e4c46b);
  color:#111 !important;
}
.sgm-btn--line{
  background: linear-gradient(135deg, #111, #2b2b2b);
  color:#fff !important;
  border: 1px solid rgba(179,139,45,.25);
}
.sgm-btn--wide{ width: min(520px, 100%); }
.sgm-hero__meta{
  list-style:none;
  padding:0;
  margin: 12px 0 0;
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
}
.sgm-hero__meta li{
  color: rgba(255,255,255,.82);
  font-size: 12px;
  border: 1px solid rgba(255,255,255,.14);
  padding: 6px 10px;
  border-radius: 999px;
}

.sgm-sec{ margin: 22px 0; }
.sgm-sec--tight{ margin: 16px 0; }
.sgm-sec--soft{
  background: linear-gradient(180deg, rgba(179,139,45,.08), rgba(0,0,0,0));
  border: 1px solid rgba(179,139,45,.18);
  padding: 18px 14px;
  border-radius: 18px;
}
.sgm-h2{
  font-size: 20px;
  margin: 0 0 12px;
  letter-spacing: .04em;
  position: relative;
  padding-left: 12px;
}
.sgm-h2:before{
  content:"";
  position:absolute;
  left:0; top: 4px; bottom: 4px;
  width: 3px;
  background: linear-gradient(180deg, rgba(179,139,45,.95), rgba(179,139,45,.25));
  border-radius: 3px;
}
.sgm-h3{
  font-size: 17px;
  margin: 0 0 8px;
  letter-spacing: .03em;
}
.sgm-grid3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.sgm-card{
  background: #0f0f0f;
  color:#fff;
  border: 1px solid rgba(179,139,45,.22);
  border-radius: 16px;
  padding: 14px 12px;
  box-shadow: 0 18px 40px rgba(0,0,0,.25);
}
.sgm-card__title{ font-weight: 900; margin:0 0 6px; }
.sgm-card__text{ margin:0; color: rgba(255,255,255,.80); line-height:1.7; }

.sgm-feature{
  display:grid;
  grid-template-columns: 48px 1fr;
  gap: 12px;
  padding: 14px 12px;
  border: 1px solid rgba(179,139,45,.18);
  border-radius: 16px;
  margin: 10px 0;
  background: #fff;
}
.sgm-feature__num{
  width:48px; height:48px;
  border-radius: 14px;
  display:flex; align-items:center; justify-content:center;
  background: linear-gradient(135deg, #111, #2b2b2b);
  color:#b38b2d;
  font-weight: 900;
  border: 1px solid rgba(179,139,45,.25);
}
.sgm-feature__body p{ margin:0; line-height:1.8; }

.sgm-course{
  border: 1px solid rgba(179,139,45,.22);
  border-radius: 18px;
  padding: 16px 14px;
  margin: 12px 0;
  background: #fff;
  box-shadow: 0 16px 36px rgba(0,0,0,.08);
}
.sgm-course__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 10px;
  border-bottom: 1px solid rgba(0,0,0,.06);
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.sgm-course__title{ margin:0; font-size:18px; }
.sgm-course__price{ margin:0; font-weight: 900; color:#8b0000; }
.sgm-course__lead{ margin: 0 0 10px; color:#333; line-height:1.8; }

.sgm-list{ margin:0; padding-left: 18px; }
.sgm-list li{ margin: 6px 0; line-height:1.75; }

.sgm-cta{
  margin-top: 16px;
  padding: 14px;
  border-radius: 18px;
  background: #0b0b0b;
  border: 1px solid rgba(179,139,45,.35);
  box-shadow: 0 22px 55px rgba(0,0,0,.25);
  text-align:center;
}
.sgm-cta__sub{ color: rgba(255,255,255,.78); margin: 10px 0 10px; }

.sgm-owner{
  background: #111;
  color:#fff;
  border: 1px solid rgba(179,139,45,.22);
  border-radius: 16px;
  padding: 14px 12px;
  line-height: 1.9;
}
.sgm-info{
  border: 1px solid rgba(179,139,45,.18);
  border-radius: 18px;
  padding: 14px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(0,0,0,.06);
}
.sgm-info dl{ margin:0; }
.sgm-info dl > div{
  display:grid;
  grid-template-columns: 90px 1fr;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.sgm-info dl > div:last-child{ border-bottom:none; }
.sgm-info dt{ font-weight: 900; }
.sgm-info dd{ margin:0; color:#333; }
.sgm-info__cta{ display:flex; gap:10px; flex-wrap:wrap; margin-top: 12px; }

@media (max-width: 900px){
  .sgm-grid3{ grid-template-columns: 1fr; }
}
@media (max-width: 768px){
  .sgm-hero__title{ font-size: 24px; }
  .sgm-feature{ grid-template-columns: 42px 1fr; }
  .sgm-feature__num{ width:42px; height:42px; border-radius: 12px; }
  .sgm-course__head{ align-items:flex-start; flex-direction:column; }
}
/* ==================================================
  三階松｜コースLP（黒×金）CSS
================================================== */
.sgm-courseLP{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Noto Sans JP","Yu Gothic",sans-serif;}
.sgm-hero{
  background: radial-gradient(1200px 520px at 18% 0%, rgba(179,139,45,.16), transparent 55%),
              linear-gradient(180deg,#0a0a0a,#121212);
  border:1px solid rgba(179,139,45,.35);
  border-radius:22px;
  padding:28px 16px 18px;
  box-shadow:0 22px 55px rgba(0,0,0,.35);
  margin:14px 0 18px;
}
.sgm-hero__tag{display:inline-block;color:rgba(255,255,255,.82);font-size:12px;letter-spacing:.16em;border:1px solid rgba(179,139,45,.35);padding:6px 10px;border-radius:999px;margin:0 0 10px;}
.sgm-hero__title{color:#fff;font-size:28px;line-height:1.25;margin:8px 0 10px;letter-spacing:.04em;}
.sgm-hero__title span{color:#b38b2d;}
.sgm-hero__lead{color:rgba(255,255,255,.86);line-height:1.9;margin:0 0 14px;}

.sgm-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;text-decoration:none!important;border-radius:14px;padding:14px 16px;font-weight:900;letter-spacing:.04em;box-shadow:0 14px 30px rgba(0,0,0,.25);}
.sgm-btn--gold{background:linear-gradient(135deg,#b38b2d,#e4c46b);color:#111!important;}
.sgm-btn--dark{background:linear-gradient(135deg,#111,#2b2b2b);color:#fff!important;border:1px solid rgba(179,139,45,.22);}
.sgm-hero__cta{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 10px;}

.sgm-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.sgm-pill{display:inline-block;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(179,139,45,.22);color:#fff!important;text-decoration:none!important;font-weight:800;font-size:12px;letter-spacing:.08em;}

.sgm-sec{margin:22px 0;}
.sgm-h2{font-size:20px;margin:0 0 12px;letter-spacing:.04em;position:relative;padding-left:12px;}
.sgm-h2:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;background:linear-gradient(180deg,rgba(179,139,45,.95),rgba(179,139,45,.25));border-radius:3px;}

.sgm-choose{background:#fff;border:1px solid rgba(179,139,45,.18);border-radius:18px;padding:14px;box-shadow:0 16px 36px rgba(0,0,0,.06);}
.sgm-choose__q{padding:10px 0;border-bottom:1px solid rgba(0,0,0,.06);}
.sgm-choose__q:last-child{border-bottom:none;}
.sgm-choose__label{margin:0 0 8px;font-weight:900;}
.sgm-choose__btns{display:flex;flex-wrap:wrap;gap:8px;}
.sgm-miniBtn{display:inline-block;padding:10px 12px;border-radius:12px;border:1px solid rgba(179,139,45,.22);text-decoration:none!important;color:#111!important;font-weight:900;background:#fff;}
.sgm-choose__text{margin:0;color:#333;line-height:1.8;}

.sgm-courseCard{
  background:#fff;
  border:1px solid rgba(179,139,45,.22);
  border-radius:18px;
  padding:16px 14px;
  margin:12px 0;
  box-shadow:0 16px 36px rgba(0,0,0,.08);
}
.sgm-courseCard__head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(0,0,0,.06);padding-bottom:10px;margin-bottom:10px;}
.sgm-courseCard__title{margin:0;font-size:18px;letter-spacing:.02em;}
.sgm-courseCard__price{margin:0;font-weight:900;color:#8b0000;}
.sgm-courseCard__lead{margin:0 0 10px;color:#333;line-height:1.85;}
.sgm-list{margin:0;padding-left:18px;}
.sgm-list li{margin:6px 0;line-height:1.75;}
.sgm-warn{color:#8b0000;font-weight:900;}
.sgm-details{margin-top:10px;}
.sgm-details summary{cursor:pointer;font-weight:900;color:#111;}
.sgm-courseCard__cta{margin-top:12px;display:flex;flex-wrap:wrap;gap:10px;}

.sgm-bottomCTA{
  background: radial-gradient(1000px 420px at 20% 0%, rgba(179,139,45,.14), transparent 55%),
              linear-gradient(180deg,#0a0a0a,#121212);
  border:1px solid rgba(179,139,45,.35);
  border-radius:22px;
  padding:18px 14px;
  box-shadow:0 22px 55px rgba(0,0,0,.30);
  text-align:center;
}
.sgm-bottomCTA__title{color:#fff;margin:0 0 8px;font-size:18px;}
.sgm-bottomCTA__text{color:rgba(255,255,255,.78);margin:0 0 12px;line-height:1.85;}
.sgm-bottomCTA__btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}

@media (max-width:768px){
  .sgm-hero__title{font-size:24px;}
  .sgm-courseCard__head{flex-direction:column;align-items:flex-start;}
}