/*
Theme Name: Lightning Child
Theme URI: 
Template: lightning
Description: 
Author: 
Tags: 
Version: 0.6.0
*/
@charset "UTF-8";

body {
    line-height:1;
    background: #fdf9f3;
    letter-spacing: 0.1rem;
}

.home h1,
.home h2,
.home h3,
.home h4,
.home h5,
.home h6,
.home p {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}
ul {
    list-style:none;
}
blockquote, q {
    quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
    text-decoration: none;
}
ins {
    background-color:#fff;
    color:#000;
    text-decoration:none;
}
mark {
    background-color:#fff;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}
del {
    text-decoration: line-through;
}
abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}
input, select {
    vertical-align:middle;
}

body, html {
  margin: 0;
  padding: 0;
}

.font-mincho-bold {
  font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "Noto Serif JP", serif;
  font-weight: 700; 
}

.page-header-title {
  font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 2.2rem;
}

/* 下層ページのコンテンツの幅 */
.container,
.site-content,
.site-body-container,
.site-body
{
  max-width: 1100px;
  margin: 0 auto;
}


/* リキャプチャの位置 */
.grecaptcha-badge {
  margin-bottom: 70px;
}

/* ここから英語のサブタイトル見出し */
.zen-kurenaido-regular {
  font-family: "Zen Kurenaido", sans-serif;
  font-weight: 400;
  font-style: normal;
}


.playwrite-au-nsw {
  font-family: "Playwrite AU NSW", cursive;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.caveat {
  font-family: "Caveat", cursive;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.comic-neue-light {
  font-family: "Comic Neue", cursive;
  font-weight: 300;
  font-style: normal;
}

.comic-neue-regular {
  font-family: "Comic Neue", cursive;
  font-weight: 400;
  font-style: normal;
}

.comic-neue-bold {
  font-family: "Comic Neue", cursive;
  font-weight: 700;
  font-style: normal;
}

.comic-neue-light-italic {
  font-family: "Comic Neue", cursive;
  font-weight: 300;
  font-style: italic;
}

.comic-neue-regular-italic {
  font-family: "Comic Neue", cursive;
  font-weight: 400;
  font-style: italic;
}

.comic-neue-bold-italic {
  font-family: "Comic Neue", cursive;
  font-weight: 700;
  font-style: italic;
}

.yesteryear-regular {
  font-family: "Yesteryear", cursive;
  font-weight: 400;
  font-style: normal;
}

/* ボタン本体 */
.button-custom {
  position: relative;
  display: inline-block;
  margin: 2rem auto 0;
  padding: 0 1rem;
  line-height: 4rem;
  letter-spacing: 0.2rem;
  border-radius: 20px;
  color: #111;
  border: 1px solid #111;
  background-color: #fff;
  text-align: center;
  transition: all 0.5s;
}

/* ボタンホバー時 */
.button-custom:hover {
  color: #fff;
  border: 1px solid #f0749b;
  background-color: #f0749b;
}

/* 体験教室・出張演奏の問い合わせボタン */
.btn-contact-custom .vk_button_link.btn {
  max-width: 500px;
  padding: 1.5rem;
  margin: 0 auto;
}

/* 矢印アイコン */
.icon-after {
  margin-left: 0.5rem;
  font-size: 1.2rem;
  line-height: 1;
  vertical-align: middle; /* テキストと垂直方向に中央揃え */
  transition: color 0.5s;
}

/* ホバー時の矢印も白に */
.button-custom:hover .icon-after {
  color: #fff;
}

.page-header {
  margin-top: 80px;
}

/*----- header -----*/

.header {
  display: none;
}

#site-header {
  display: none;
}

/* .header_custom {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 70px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 1000;
  background-color: rgba(253, 249, 243, 0.9);
} */

.header_custom {
  position: fixed;
  top: 0;
  left: 0; /* ← left: 50% を削除 */
  transform: none; /* ← translateX(-50%) を削除 */
  width: 100%;
  height: 70px;
  z-index: 1000;
  background-color: rgba(253, 249, 243, 0.9);
  display: flex;
  align-items: center;
  justify-content: center; /* 内側を中央寄せ */
}

.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1366px;
}

.header-logo img {
  width: auto;
  height: 70px;
  margin-left: 20px;
}

.header-nav-wrapper {
  display: flex;
  align-items: center;
  height: 70px;
}

 

.global-nav {
  height: 70px;
}

.global-nav ul {
  display: flex;
  height: 100%;
  list-style: none;
  padding: 0;
  margin: 0;
}

.global-nav ul li {
  display: flex;
  align-items: center;
  padding: 0 15px;
  position: relative;
  height: 100%;
}

.global-nav ul li::before {
  background: #f0749b;
  content: '';
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  transform-origin: right top;
  transform: scaleX(0);
  transition: transform .3s ease-in-out;
}

.global-nav ul li:hover::before {
  transform-origin: left top;
  transform: scaleX(1);
}

.global-nav ul li a {
  display: flex; 
  align-items: center; 
  justify-content: center;
  text-decoration: none;
  color: #333;
  font-weight: bold;
  transition: color 0.3s ease;
  width: 100%;
  height: 100%;
}

.global-nav ul li:hover a {
  color: #f0749b;
}

/*----- 体験教室申込みボタンのデザイン -----*/
.apply-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 70px; 
  margin-left: 10px;
  padding: 0 20px;
  background-color: #f0749b;
  transition: all 0.3s;
}

.apply-btn a {
  display: flex; 
  align-items: center; 
  justify-content: center;
  color: white;
  font-weight: bold;
  width: 100%;
  height: 100%;
}

.apply-btn:hover {
  background-color: #e64b87;
  transition: all 0.7s;
}


/*----- humburger-menu -----*/

/* 元々あるハンバーガーメニュー非表示 */
.vk-mobile-nav-menu-btn {
  display: none;
}


 @media screen and (max-width: 1060px) {
  .header-nav-wrapper {
    display: none; 
  }
  .header {
    display: flex;
  }
  .apply-btn {
    display: none;
  }
}

@media screen and (min-width: 1061px) {
  .header-nav-wrapper {
    display: flex;
  }
  .header {
    display: none;
  }
  .apply-btn {
    display: flex;
  }
}


.hamburger-overlay {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  z-index: 1000;
  width: 48px;
  height: 48px;
  border: none;
  background: transparent;
  cursor: pointer;
}

.hamburger-overlay__line {
  position: absolute;
  left: 11px;
  width: 26px;
  height: 2px;
  background-color: #333;
  transition: all .6s;
  z-index: 10000;
}

.hamburger-overlay__line:nth-of-type(1) { top: 14px; }
.hamburger-overlay__line:nth-of-type(2) { top: 23px; }
.hamburger-overlay__line:nth-of-type(3) { top: 32px; }

.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(2) {
  opacity: 0;
}
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
}

.nav-overlay {
  position: fixed;
  top: 0;
  right: 0;
  width: 80vw;
  height: 100vh;
  background-image: url('images/hamburger-bg.webp');
  background-size: cover;
  opacity: 0.97;
  visibility: hidden;
  transition: all .6s;
  z-index: 900;
}

.nav-overlay.active {
  visibility: visible;
}

.nav-overlay__content {
  width: 100%;
  margin-top: 30%;
  text-align: center;
}

.nav-overlay__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav-overlay__item {
  opacity: 0;
  transform: translateY(20px);
  transition: all .6s;
}

.nav-overlay.active .nav-overlay__item {
  opacity: 1;
  transform: translateY(0);
}

.nav-overlay.active .nav-overlay__item:nth-child(1) { transition-delay: 0.1s; }
.nav-overlay.active .nav-overlay__item:nth-child(2) { transition-delay: 0.2s; }
.nav-overlay.active .nav-overlay__item:nth-child(3) { transition-delay: 0.3s; }
.nav-overlay.active .nav-overlay__item:nth-child(4) { transition-delay: 0.4s; }
.nav-overlay.active .nav-overlay__item:nth-child(5) { transition-delay: 0.5s; }
.nav-overlay.active .nav-overlay__item:nth-child(6) { transition-delay: 0.6s; }
.nav-overlay.active .nav-overlay__item:nth-child(7) { transition-delay: 0.7s; }

.nav-overlay__link {
  display: inline-block;
  padding: 20px;
  font-size: 24px;
  text-decoration: none;
  transition: color .3s;
}

.nav-overlay__row a {
  color: inherit;
  transition: all 0.3s;
}

.nav-overlay__row a:hover .nav-overlay__link--ja,
.nav-overlay__row a:hover .nav-overlay__link--en {
  color: #f0749b;
}

.nav-overlay__bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 20vw;
  height: 100vh;
  background-color: #565656;
  opacity: 0.8;
  cursor: pointer;
  z-index: 1;
} 

/*------ ここからハンバーガーメニュー追加 ------*/

/* ロゴ画像サイズ */
.nav-overlay__logo img {
  width: 130px;
  margin: 24px 0 0 15px;
  display: inline-block;
}


/* ナビゲーションリスト */
.nav-overlay__list {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 600px;
  text-align: left;
}

/* 各項目 */
.nav-overlay__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}


/* 共通リンクスタイル */
.nav-overlay__link {
  text-decoration: none;
  color: #000;
}



.nav-overlay__row {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
}

.nav-overlay__link--ja {
  font-family: "Hiragino Mincho ProN", "游明朝", serif;
  font-size: 0.8rem;
  text-align: left;
  min-width: 8em; /* 幅を揃えて1文字目を揃える */
}

.nav-overlay__link--en {
  font-family: "Helvetica Neue", "Arial", sans-serif;
  font-size: 1.3rem;
  font-weight: bold;
  text-align: left;
}

/* タブレットレイアウト */
.apply-btn-hamburger {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 70px; 
  margin: 50px 10% 0;
  background-color: #f0749b;
  transition: all 0.3s;
}



.apply-btn-hamburger a {
  display: flex; 
  align-items: center; 
  justify-content: center;
  color: white;
  font-weight: bold;
  width: 100%;
  height: 100%;
  font-size: 1.2rem;
}

/* .apply-btn-hamburger:active {
  background-color: #e64b87;
  border-color: #bbb;
} */



/* タブレットレイアウト */
@media screen and (min-width: 600px) and (max-width: 1060px) {
  .nav-overlay__logo img {
    width: 200px;
  }
  .nav-overlay__content {
    max-width: 70%;
    margin: 20% auto 10%;
  }
  .nav-overlay__link--ja {
    font-size: 1rem;
  }
  .nav-overlay__link--en {
    font-size: 1.7rem;
  }
  .apply-btn-hamburger a {
    font-size: 1.3rem;
  }
}


/* footer共通 */
.grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.footer {
  padding: 2rem;
  font-size: 15px;
  color: #4b5564;
  background: #fff;
}

.footer__navi-heading {
  font-weight: 600;
}

.footer__logo {
  display: inline-block;
  margin-bottom: 2rem;
}

.footer__navi li {
  margin-bottom: 0.75rem;
}

.footer__social a {
  display: inline-block;
  width: 24px;
  opacity: 0.7;
}

.footer__social a:not(:last-child) {
  margin-right: 16px;
}

@media (min-width: 768px) {
  .md-flex {
    display: flex;
  }

  .md-justify-between {
    justify-content: space-between;
  }

  .grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}



/*----- メインビジュアル -----*/
.mainvisual {
  position: relative;
  padding-top: 70px;
}

.mainvisual-container {
  position: relative;
  max-width: 1400px;
  margin: 0 auto;
}

.mainvisual-img {
  text-align: center;
}

.mainvisual-img img {
  width: 100%;
  height: auto;
  display: block;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

@media (min-width: 1025px) {
  .mainvisual-img {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
  }

  .mainvisual-img img {
    width: 100%;
  }
}


.main-copy {
  position: absolute;
  bottom: 15%;
  left: 2.5%;
  width: 35%;
}

@media screen and (min-width: 1024px) and (max-width: 1365px) {
  .main-copy {
    width: 45%;
  }
}

@media screen and (min-width: 550px) and (max-width: 1024px) {
  .main-copy {
    bottom: 7%;
    left: 5%;
    width: 50%;
  }
}

@media (max-width:549px) {
  .main-copy {
    position: relative;
    width: 96%;
    margin-top: 1rem;
  }
}


.main-copy .copy {
  font-size: 2.3rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

@media screen and (min-width: 550px) and (max-width: 1024px) {
  .main-copy .copy {
    font-size: 1.5rem;
    margin-bottom: 25px;
  }
}

@media (max-width:549px) {
  .main-copy .copy {
    font-size: 2.3rem;
    text-align: center;
  }
}


.main-copy .intro {
  margin-top: 1rem;
  line-height: 1.3;
  /* text-shadow: 0 0 6px rgba(0,0,0,0.1); */
}

.main-copy .intro-bold {
  display: inline-block;
  font-weight: bold;
  padding-top: 0.5rem;
}

.custom-btn {
 margin-top: 0.8rem;
 text-align: center; 
}



@media screen and (min-width: 550px) and (max-width: 1024px) {
  .main-copy .copy {
    font-size: 1.5rem;
    margin-bottom: 25px;
  }
}

@media (max-width:549px) {
  .main-copy .copy {
    font-size: 1.4rem;
  }
}



.main-copy-decoration {
  position: absolute;
  right: 0;
  bottom: -100px;
  z-index: 100;
}

.main-copy-decoration img {
  width: 500px;
}

@media screen and (min-width: 550px) and (max-width: 1024px) {
  .main-copy-decoration {
    position: absolute;
    right: -5%;
    bottom: -80px;
    z-index: 100;
  }
  .main-copy-decoration img {
    width: 400px;
  }
}

@media (max-width: 549px) {
  .main-copy-decoration {
    display: none;
  }
}

/*----- プロフィール -----*/
.top-profile-wrapper {
  width: 92%;
  margin: 50px auto 0;
  padding: 60px 0;
  max-width: 788px;
}

.profile-description-name {
  display: inline-block;
  margin-bottom: 0.5rem;
  font-weight: bold;
  font-size: 1.3rem;
}

.profile-description-text {
  display: inline-block;
  margin-top: 1rem;
}


/*----- 出演情報 -----*/
/* 出演情報セクション全体 */
.performance-info {
  padding: 60px 20px;
  /* background-image: url('/wp-content/themes/lightning-child/images/bg_performance_02.webp');
  background-size: cover; */
}

/* セクションのタイトル */
.section-header {
  text-align: center;
  margin-bottom: 30px;
}

.subtitle {
  color: #999;
  font-size: 1.2rem;
}

.header-title {
  font-size: 2.5rem;
  font-weight: bold;
  margin: 0 0 1rem 0;
  letter-spacing: 0.2rem;
}

.header-description {
  color: #555;
}

.header-title-sub {
  font-size: 1.1rem;
}

/* 横スクロールエリア */
.scroll-container {
  max-width: 1000px;
  margin: 0 auto;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* 横並びコンテナ */
.cards-wrapper {
  display: flex;
  gap: 20px;
  padding: 10px;
  width: max-content;
}

/* --- カード幅（デフォルト：PC = 3枚） --- */
.performance-card {
  min-width: 310px;
  max-width: 310px;
  flex: 0 0 auto;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  text-align: center;
  overflow: hidden;
}

.performance-card img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px 10px 0 0;
}

.performance-card .date {
  font-size: 16px;
  color: #555;
  margin-top: 10px;
}

.performance-card .title {
  font-size: 18px;
  font-weight: bold;
  padding: 5px 10px 10px;
}

/* --- スマホ用：1枚表示（〜767px）--- */
@media screen and (max-width: 767px) {
  .performance-card {
    min-width: 90vw;
    max-width: 90vw;
  }

  .news-title {
    font-size: 26px;
  }

  .news-description {
    font-size: 14px;
  }
}

/*----- 箏三味線教室 -----*/
.lesson-title {
  font-size: 32px;
  text-align: center;
  margin-bottom: 10px;
  font-weight: bold;
}

.lesson-subtitle {
  text-align: center;
  margin-bottom: 40px;
  color: #888;
}

/* 画像＋テキストの並び */
.lesson-content {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  background-color: rgba(255, 255, 255, 0.6);
  max-width: 1000px;
  margin: 0 auto;
  padding: 2.5rem 2rem;
  border-radius: 20px;
}

/* 画像エリア */
.lesson-images {
  display: flex;
  flex-direction: column; /* PC時：縦並び */
  gap: 0;                  /* 常に隙間なし */
  flex: 1;
  min-width: 280px;
}

.lesson-images img {
  width: 100%;
  object-fit: cover;
  border-radius: 0;
  display: block;
}

/* テキストエリア */
.lesson-text {
  flex: 2;
  min-width: 300px;
  padding: 30px 10px;
}

/* 各ボックス */
.lesson-box {
  margin-bottom: 50px;
}

/* 最後のボックスの余白なし */
.lesson-box:last-child {
  margin-bottom: 0;
}

.marker-highlight {
  position: relative;
  margin-bottom: 10px;
  display: inline-block;
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 1.6;
  z-index: 0;
}

.marker-highlight::before {
  content: '';
  position: absolute;
  bottom: 0em;
  left: 0;
  width: 100%;
  height: 0.5em;
  background-color: #fff7ab;
  z-index: -1;
  transform: rotate(-0.5deg);
}

.lesson-box h3 number {
  font-weight: bold;
  font-size: 24px;
  margin-right: 8px;
}

/* テキスト段落 */
.lesson-box p {
  line-height: 1.8;
  margin: 0;
}

/* 左寄せボタンの場合はtext-alignの影響を無視する */
.button-left {
  display: inline-block;
}

.button-right {
  text-align: right;
}
/* テーマの装飾を消す */
.site-footer-title::after,
.sub-section-title::after,
h3:where(:not(.wp-block-post-title))::after {
  content: none;
  display: none;
}

@media screen and (max-width: 900px) {
  .lesson-content {
    flex-direction: column;
    padding: 10px;
    gap: 0;
  }
  .lesson-images {
    flex-direction: row;
    padding: 1rem;
  }
  .lesson-images img {
    width: 50%;  /* 横並びで2枚表示 */
  }
  .lesson-conten-hidden {
    display: none;
  }
  .lesson-text {
    padding: 1rem;
  }
  .button-custom {
    margin-top: 1.5rem;
  }
}

/* スマホ表示：画像を横並びに */
@media screen and (max-width: 768px) {

}
/*----- 体験教室 -----*/
.lesson-section {
  background-image: url('/wp-content/themes/lightning-child/images/bg_sakura.webp');
  background-size: cover;
  background-attachment: fixed;
  background-position: center;
  padding: 80px 20px;
  color: #333;
}

.trial-lesson-inner {
  /* background-image: url('/wp-content/themes/lightning-child/images/bg-lesson-inner.webp'); */
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-color: #fdf9f3;
  backdrop-filter: blur(4px); /* オプション：ぼかし効果で文字が見やすく */
  border-radius: 20px;
  padding: 40px;
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  box-shadow: 0 0 20px rgba(0,0,0,0.1);
}


.trial-lesson-text {
  flex: 1 1 50%;
  padding: 20px;
}

.trial-lesson-title {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 20px;
}

.trial-lesson-desc,
.trial-lesson-point,
.trial-lesson-price {
  font-size: 16px;
  margin-bottom: 15px;
}

.trial-lesson-button {
  display: inline-block;
  background-color: #f48ca2;
  color: #fff;
  font-size: 18px;
  padding: 14px 28px;
  border-radius: 12px;
  text-decoration: none;
  transition: 0.3s;
}

.trial-lesson-button:hover {
  background-color: #e07a91;
}

.trial-lesson-images {
  flex: 1 1 50%;
  text-align: center;
  position: relative;
}

.trial-img {
  border-radius: 50%;
  border: 4px solid #fff;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.main-img {
  width: 200px;
  height: 200px;
  object-fit: cover;
  margin-bottom: 20px;
  border: 4px solid #f7e381;
}

.sub-img {
  width: 120px;
  height: 120px;
  object-fit: cover;
  position: absolute;
  bottom: -20px;
  right: 20px;
  border: 4px solid #f8c5d4;
}

/*----- お知らせ -----*/

.news-section {
  margin-top: 80px;
}

 .news-container {
  display: flex;
  flex-wrap: wrap;
  max-width: 1000px;
  margin: 0 auto;
  padding: 60px 20px;
}

/* PC表示（デフォルト） */
.news-left {
  width: 30%;
  padding-right: 20px;
  box-sizing: border-box;
  order: 0;
}

.news-right {
  width: 70%;
  box-sizing: border-box;
  order: 1;
  padding-left: 5%;
}

.news-item {
  margin-bottom: 24px;
  border-bottom: 1px solid #ddd;
  padding-bottom: 16px;
}

.news-meta {
  font-size: 0.8rem;
  margin-bottom: 6px;
}

.news-date {
  margin-right: 10px;
}

.news-category {
  background-color: #eee;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 12px;
}

.news-title a {
  font-size: 18px;
  color: #333;
  text-decoration: none;
}

.news-title a:hover {
  text-decoration: underline;
}

.news-btn-sp {
  margin-bottom: 50px;
}

.news-btn-sp .button-custom {
  display: inline-block;
  margin-top: 0;
}


@media screen and (min-width: 769px) {
  .news-btn-sp {
    display: none;
  }
}

/* ▼ スマホ表示（幅768px以下） */
@media screen and (max-width: 768px) {
  .news-container {
    margin-bottom: 0;
    padding-bottom: 0;
  }
  .news-container {
    flex-direction: column;
  }
  .news-left,
  .news-right {
    width: 100%;
    padding: 0;
  }
  .news-right {
    order: 1;
  }
  .news-btn-pc {
    display: none;
  }
}

/* ------------------------------------------------ */
/* ---下層ページ共通--- */
.page-header-title {
  color: #111;
}

/* カテゴリーページのパンくずリストの上に余白 */
#breadcrumb {
  margin-top: 70px;
}

/* ------------------------------------------------ */
/* ---lessonページ（下層）--- */

/* タブレット・スマホで必ずテキスト→画像の順にする */
@media (max-width: 1024px) {
  .wp-block-columns {
    flex-direction: column !important; /* 縦並びに */
  }
  .wp-block-columns .text-column {
    order: 1; /* 先に表示 */
  }
  .wp-block-columns .image-column {
    order: 2; /* 後に表示 */
  }
}

/* 料金表用デザイン */
figure.price-table table {
  border-collapse: collapse;        /* 枠線をまとめる */
  border: 2px solid #f7e27d;        /* 表全体の外枠を黄色 */
  border: 2px solid #b5b5b5;        /* 表全体の外枠を黄色 */
  width: 100%;
  max-width: 1000px;
  text-align: center;
  font-size: 1.1rem;
  margin: auto;
}

/* 1列目（コース名）の右に白い縦線 */
/* figure.price-table table tr td:first-child {
  border-right: 1px solid #fff;
} */

/* 見出し行 */
figure.price-table table tr th {
  /* background-color: #f7e27d;        黄色背景 */
  background-color: #b5b5b5;
  color: #fff;                      /* 白文字 */
  font-weight: bold;
  padding: 1.3rem;
  /* border-bottom: 2px solid #f7e27d; 見出し行の下だけ強めの黄色線 */
  border-bottom: 2px solid #b5b5b5; /* 見出し行の下だけ強めの黄色線 */
}

/* 2行目以降 */
figure.price-table table tr td {
  padding: 1.3rem;
  background-color: #fff;
  /* border-bottom: 1px solid #f7e27d; 行の区切りを黄色で */
  border-bottom: 1px solid #b5b5b5; /* 行の区切りを黄色で */
}

/* 1列目だけ縦の白線 */
table.has-fixed-layout thead th:first-child {
  border-right: 1px solid #fff;
}

/* 最終行の下ボーダーを消す */
figure.price-table table tr:last-child td {
  border-bottom: none;
}

.price-text {
  font-weight: bold;
  font-size: 1.2rem;
}



/* スマホ対応 */
@media (max-width: 600px) {
  figure.price-table table {
    font-size: 1rem;
  }
  figure.price-table table tr td {
    padding: 1rem;
  }
}


/* ------------------------------------------------ */
/* ---出演情報ページ（category-performance.php 下層）--- */
.performance-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}

.performance-item {
  width: 210px;     /* A4横幅に近い */
  height: 297px;    /* A4高さに近い */
  overflow: hidden;
  border: 1px solid #ccc;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.a4-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;  /* 画像を枠にフィットさせてトリミング */
  display: block;
}




/*--------------------------------------------------*/
/*---------- 体験教室お申し込みフォーム（.php） ----------*/

/* --- 体験教室のところ --- */
/* 白丸テキスト */
.circle-text {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin: 0 auto;
  font-weight: bold;
  font-size: 1.2rem;
  color: #656565;
}

/* 全体の幅を制限 */
.circle-wrapper {
  max-width: 800px;
  margin: 0 auto; /* 中央寄せ */
}

/* Gutenberg標準の縦並びを強制的に打ち消す */
.circle-wrapper .wp-block-columns {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center;
  gap: 20px;
}

.circle-wrapper .wp-block-column {
  flex: 0 0 auto !important;
}

/* コンタクトフォーム */
.contact-form-wrapper {
  padding: 8%;
  background-color: #fff;
  border-radius: 20px;
}


.form-row {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.form-label {
  flex: 0 0 30%;
  text-align: right;
  text-align: left;
  font-weight: bold;
}

.form-field {
  flex: 0 0 70%;
  text-align: left;
  display: flex;
  flex-direction: column;
}

.form-field-full {
  flex: 0 0 100%;
  text-align: center;
}

.form-field-notes > p {
  margin-bottom: 0;
}

.form-note {
  margin-bottom: 3rem;
}

.form-note p {
  margin: 0;
  font-size: 0.8rem;
  color: #656565;
}

.wpcf7-list-item {
  margin: 0;
}

/* 必須の装飾 */
.form-required {
  padding: 3px 5px;
  color: #ff4646;
  font-weight: bold;
}

/* お問い合わせ種別 */
.wpcf7-form .wpcf7-list-item {
  margin-right: 1em; 
}


/* スマホ・タブレットでは縦並び */
@media (max-width: 768px) {
  .form-row {
    flex-direction: column;
    align-items: flex-start;
  }
  .form-label {
    flex: 0 0 100%;
    text-align: left;
    margin-right: 0; /* 縦並びなので余白をリセット */
  }
  .form-field, .form-field-full {
    width: 100%;
    flex: 0 0 100%;
    text-align: left;
  }
}
