/*
Theme Name: Lightning Child
Theme URI: 
Template: lightning
Description: 
Author: 
Tags: 
Version: 0.6.0
*/



/*ナビ*/
.global-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;

}

.global-nav li {
  position: relative;
  padding: 0.5em 1em;
  cursor: pointer;
  transition: background 0.3s ease;
}

.global-nav > ul > li:hover {
  background-color: rgba(0, 0, 0, 0.15);
}


.global-nav a{
	color:#fffffe;
}

.global-nav a:link{
	color:#fffffe;
}

.global-nav a:visited{
	color:#fffffe;
}

.global-nav .sub-menu .menu-item a{
	font-size:0.9rem;
}

.global-nav--layout--penetration .global-nav-list>li:first-child{
	border-left: solid 1px rgba(255, 255, 255, 0.2); 
}
.global-nav--layout--penetration .global-nav-list>li{
	border-right: solid 1px rgba(255, 255, 255, 0.2); 
}





/*ボタン*/

/* vk_buttonがoutbound-linkを持たない場合だけ適用 */
.vk_button:not(.outbound-link) .vk_button_link {
  display: inline-block;
  padding: 0.6em 1.2em;
  background: linear-gradient(135deg, #2c8d75, #1e6a58); 
  color: #fffffe !important;
  text-decoration: none;
  border: none;

  font-weight: 600;
  transition: all 0.3s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
}

.vk_button:not(.outbound-link) .vk_button_link:hover {
  filter: brightness(90%);
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.vk_button:not(.outbound-link) .vk_button_link:active {
  transform: translateY(1px);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.vk_button:not(.outbound-link) .vk_button_link a,
.vk_button:not(.outbound-link) .vk_button_link a:visited {
  color: #fffffe !important;
}

/*ボタン共通*/
.vk_button .vk_button_link {
    border-radius: 40px;
 }

/*ハンバーガーメニューにMENU表記*/
.vk-mobile-nav-menu-btn {
  text-indent: 2px;
  font-size: 10px;
  padding-top: 26px;
  overflow: visible;
  border: none;
  background-position: top;
  height: 40px;
}
.vk-mobile-nav-menu-btn.menu-open {
  border: none;
}
.vk-mobile-nav {
  padding-top: 50px;
}


/*トップページコンテンツ*/

/*メッセージ*/
.p-font-m{
	font-family: Hiragino Mincho ProN, "游明朝", serif;
}

.p-font-m.has-huge-font-size {
  position: relative;
  font-size: 36px;
  background-color: #fdfdf4; 
  z-index: 1;
  line-height: 1.4;
  padding: 1em; 
  overflow: visible; 
}

.p-font-m.has-huge-font-size::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 120px;
  height: 120px;
  background: radial-gradient(circle, rgba(44, 141, 117, 0.3) 0%, rgba(44, 141, 117, 0) 70%);
  border-radius: 50%;
  z-index: -1;
  pointer-events: none;
}

h2.h2-line {
  color: #2c8d75;
  text-align: left;
	
}
/*プライバシーポリシー見出し*/
.page-id-5869 h2{
	font-size:1.5rem;
}

/* 共通スタイル */
.p-icon {
  display: inline-block;
  padding: 0.4em 1.2em;
  margin: 0.5em 0.5em 0 0;
  font-size: 0.8rem;
  font-weight: 600;
  color: #fffffe;
  border-radius: 4px;
  border: 1px solid transparent;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.4),
    0 2px 4px rgba(0, 0, 0, 0.08);
  white-space: nowrap;
  background-clip: padding-box;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease-in-out;
}


.p-school {
  background: linear-gradient(to bottom, #a2c3d5 0%, #6b9eb4 100%);
  border-color: #6b9eb4;
}


.p-salon {
  background: linear-gradient(to bottom, #f7c28b 0%, #e29d54 100%);
  border-color: #e29d54;
}

.top-box h3 strong{
font-size:1.2rem;
  color: #2c8d75;
}

.top-box .row{gap: 1rem;}

.top-box .wp-block-vk-blocks-grid-column-item{
	flex: 1;
  display: flex;
  flex-direction: column;
  padding: 1rem 2rem;
  background: #fff;
  border: 1px solid #ddd;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
  min-height: 100%;
}

/* 下部固定ボタン */
.footer-button {
  margin-top: auto;
  align-self: stretch;

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
  transition: 0.2s ease-in-out;
}

.footer-button:hover {
  filter: brightness(1.1);
  transform: translateY(-2px);
}

.section-box{
	background-color:#fff;
	border: 1px solid #ddd;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
	padding:2rem;
}

.vk_balloon {
  display: flex;
  width: 100%;
  box-sizing: border-box;
	align-items: center;
}

.vk_balloon_icon {
  width: 30%;
  flex-shrink: 0;
	
}

.vk_balloon_icon img {
  width: 100%;
  height: auto;
  display: block;
}

.vk_balloon_content_outer {
  padding-left: 1em;
  box-sizing: border-box;
}



/*スクール*/
video {
	width:720px;
	max-width:100%;
}

.video-box{text-align:center;}


.school-box {
  position: relative;
  z-index: 0;
}

.school-box::before,
.school-box::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: clamp(120px, 33vw, 244px);
  height: clamp(100px, 28vw, 207px);
  z-index: 1;
}

.school-box::before {
  top: clamp(-4rem, -5vw, -4.7rem);
  left: clamp(-3rem, -5vw, -8.2rem);
  background-image: url(https://www.iyasi.com/wp/wp-content/uploads/2025/06/leaf-deco-left.png);
}

.school-box::after {
  bottom: clamp(-3rem, -5vw, -2rem);
  right: clamp(-3rem, -6vw, -3rem);
  background-image: url(https://www.iyasi.com/wp/wp-content/uploads/2025/06/leaf-deco.png);
}

.school-point-box h3{
	color:#2c8d75;
}
.school-point-box.vk_custom_css_1 .vkp_item_dot{background: linear-gradient(135deg, #2c8d75, #1e6a58); 
  color: #fffffe !important;
	}

.overview-box,.overview-box2{
	padding:1rem;
}

.overview-box li:first-child{
margin-bottom:2rem;
}



.school-box2 {
  position: relative;
z-index:1;
}


.school-box2::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: clamp(120px, 20vw, 145px);
  height: clamp(113px, 19vw, 137px); 
	z-index:-1;
  opacity:0.6;
}


.school-box2::after {
  bottom: clamp(-1rem, -5vw, -2rem);
  right: clamp(-3rem, -6vw, -3rem);
  background-image: url(https://www.iyasi.com/wp/wp-content/uploads/2025/06/leaf3.png);
}

/*サロン*/

.post-5223 a:link{
	color:#2c8d75;
}

.post-5223 a:visited{
	color:#2c8d75;
}

/* 親要素でカウンターをリセット */
.treatment-box-container {
  counter-reset: step;
}

/* ボックス1つごとにカウンターを進める */
.treatment-box {
  position: relative;
  background: #ffffff;
  border-left: 6px solid #2c8d75;
  padding: 1.5rem 2rem 2rem 4rem;
	border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  counter-increment: step;
	margin-bottom: 5rem;
}

.treatment-box:last-child
{
	margin-bottom: 0;
}

/* 番号表示 */
.treatment-box::before {
  content: counter(step);
  position: absolute;
  top: 1.5rem;
  left: 1rem;
  background-color: #2c8d75;
  color: #fff;
  width: 2rem;
  height: 2rem;
  line-height: 2rem;
  text-align: center;
  border-radius: 50%;
  font-weight: bold;
  font-size: 1rem;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  z-index: 1;
}

/* 矢印 */
.treatment-box::after {
 content: "";
  position: absolute;
  bottom: -56px;
  left: 50%;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 33px 60px 0 60px;
  border-color: #ccc transparent transparent transparent;
  opacity: 0.6;
  animation: arrowBounce 2.5s ease-in-out infinite;
}

/*ブログ*/

/*コメントエリア削除*/
.comments-area{
	display:none;
}



/* ▼ アニメーションの定義 */
@keyframes arrowBounce {
  0%, 100% {
    transform: translateX(-50%) translateY(0);
  }
  50% {
    transform: translateX(-50%) translateY(6px);
  }
}


/* 最後のボックスには表示しない */
.treatment-box:last-child::after {
  display:none !important;
}

/*アクセス*/

.access-point-box.vk_custom_css_1 .vkp_item_dot{background: linear-gradient(135deg, #2c8d75, #1e6a58); 
  color: #fffffe !important;
	}

.access-point-box .vk_gridcolcard_item_container{
	padding:3.25rem 1rem 1rem 1rem !important;
	font-size:0.9rem;
}

.access-point-box .vk_gridcolcard_item_container img{
	border:solid 1px #ccc;
}

/*会社概要*/

.tablepress tbody td {
    border: 1px solid #cccccc !important;
}

.tablepress-id-1 .column-1,.tablepress-id-2 .column-1,.tablepress-id-3 .column-1{
	background: linear-gradient(135deg, #2c8d75, #1e6a58); 
  color: #fffffe;
	vertical-align:middle;
}
.tablepress-id-1 .column-2,.tablepress-id-2 .column-2,.tablepress-id-3 .column-2{
	background-color:#fff;
}

/*お問い合わせ*/

.form-h2{
	color:#2c8d75;
	font-size:1.2rem;
	border-bottom:solid 1px #2c8d75;
	border-top:0;

}

.formBt input{
	width:100%;
	background: linear-gradient(135deg, #2c8d75, #1e6a58); 
  color: #fffffe;
	margin-top:1rem;
}

.contact-box {
	position: relative;}

.contact-box::after {
 content: "";
  position: absolute;
  bottom: -26px;
  left: 50%;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 33px 60px 0 60px;
  border-color: #ccc transparent transparent transparent;
  opacity: 0.6;
  animation: arrowBounce 2.5s ease-in-out infinite;
}


.wpcf7-form .req{
	padding: 0 2px;
    margin: 0 0 0 10px;
    font-size: 11px;
    color: #fff;
    background-color: #F00;
    display: inline-block;
    border-radius: 2px;
}

table[summary="テーブル"] th {
    padding-top: 1em;
    font-weight: bold;
    background-color: #f9f9f9; 
  }

table[summary="テーブル"] th p{margin:0;}


@media screen and (max-width: 767px) {
  table[summary="テーブル"] {
    width: 100%;
    display: block;
  }

  table[summary="テーブル"] tbody,
  table[summary="テーブル"] tr {
    display: block;
    width: 100%;
  }

  table[summary="テーブル"] th,
  table[summary="テーブル"] td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  table[summary="テーブル"] th {
    padding-top: 1em;
    font-weight: bold;
    background-color: #f9f9f9;
  }

  table[summary="テーブル"] td {
    padding-bottom: 1em;
  }
}


/*フッター上部*/

.site-body-bottom{
	margin-top:4rem;
}

body.page-id-5243 .site-body-bottom,
body.page-id-5869 .site-body-bottom {
	display: none;
}




/*フッター*/

.site-footer{
	background: linear-gradient(135deg, #2c8d75, #1e6a58); 
  color: #fffffe;
}

/*サイドバー*/


/* リストマーク消す */
.side-listbox,
.side-listbox ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

/* 親メニュー：枠＆背景 */
.side-listbox > li {
  margin-bottom: 1rem;
  border: 1px solid #ccc;
  border-radius: 10px;
  background-color: #fdfdf4;
  overflow: hidden;
}

/* 親リンク共通 */
.side-listbox > li > a.wp-block-pages-list__item__link {
  display: block;
  padding: 0.8rem 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s;
  color: #333;
  border-radius: 0;
}

/* ホバー時 */
.side-listbox > li > a:hover {
  opacity: 0.9;
}

/* ====== 親メニュー：色分け（順番指定） ====== */

/* 1番目 HOME */
.side-listbox > li:nth-child(1) > a {
  background: linear-gradient(135deg, #2c8d75, #1e6a58);
  color: #fffffe;
}
.side-listbox > li:nth-child(1) > a:visited {
  color: #fffffe;
}

/* 2番目 スクール */
.side-listbox > li:nth-child(2) > a {
  background-color: #f2f8e9;
  color: #406d2d;
}
.side-listbox > li:nth-child(2) > a:hover,
.side-listbox > li:nth-child(2).current-menu-item > a {
  background-color: #b6dba2;
  color: #fffffe;
}
.side-listbox > li:nth-child(2) > a:visited {
  color: #406d2d;
}

/* 3番目 サロン */
.side-listbox > li:nth-child(3) > a {
  background-color: #fff3eb;
  color: #995f2f;
}
.side-listbox > li:nth-child(3) > a:hover,
.side-listbox > li:nth-child(3).current-menu-item > a {
  background-color: #f4caa7;
  color: #fffffe;
}
.side-listbox > li:nth-child(3) > a:visited {
  color: #995f2f;
}

/* 4番目 ラシエスタ */
.side-listbox > li:nth-child(4) > a {
  background-color: #f2f0fb;
  color: #5c528f;
}
.side-listbox > li:nth-child(4) > a:hover,
.side-listbox > li:nth-child(4).current-menu-item > a {
  background-color: #cfc9ee;
  color: #fffffe;
}
.side-listbox > li:nth-child(4) > a:visited {
  color: #5c528f;
}

/* 5番目以降 その他（BLOG・会社概要など） */
.side-listbox > li:nth-child(n+5) > a {
  background-color: #e9f4f9;
  color: #2c708f;
}
.side-listbox > li:nth-child(n+5) > a:hover,
.side-listbox > li:nth-child(n+5).current-menu-item > a {
  background-color: #b8d8ea;
  color: #fffffe;
}
.side-listbox > li:nth-child(n+5) > a:visited {
  color: #2c708f;
}

/* ====== 子メニュー ====== */
.side-listbox .wp-block-list {
  margin: 0;
  padding: 0.5rem 1rem 1rem 1rem;
  background-color: #fff;
}

.side-listbox li > ul li {
  margin-bottom: 0.4rem;
}

.side-listbox li > ul li a {
  display: block;
  width: 100%;
  margin-left: auto;
  padding: 1rem 0.8rem;
  font-size: 0.95rem;
  text-decoration: none;
  border-radius: 6px;
  transition: all 0.2s ease;
  text-align: left;
}

/* ====== 子メニュー背景：親に合わせて色分け ====== */

/* スクール（2番目） */
.side-listbox > li:nth-child(2) li a {
  background-color: #e7f3d8;
  color: #406d2d;
}
.side-listbox > li:nth-child(2) li a:hover {
  background-color: #c9e7b7;
}
.side-listbox > li:nth-child(2) li a:visited {
  color: #406d2d;
}

/* サロン（3番目） */
.side-listbox > li:nth-child(3) li a {
  background-color: #ffe8d8;
  color: #995f2f;
}
.side-listbox > li:nth-child(3) li a:hover {
  background-color: #fcd3b9;
}
.side-listbox > li:nth-child(3) li a:visited {
  color: #995f2f;
}

/* ラシエスタ（4番目） */
.side-listbox > li:nth-child(4) li a {
  background-color: #e8e5f5;
  color: #5c528f;
}
.side-listbox > li:nth-child(4) li a:hover {
  background-color: #d5cfee;
}
.side-listbox > li:nth-child(4) li a:visited {
  color: #5c528f;
}

/* その他（5番目以降） */
.side-listbox > li:nth-child(n+5) li a {
  background-color: #d9eff7;
  color: #2c708f;
}
.side-listbox > li:nth-child(n+5) li a:hover {
  background-color: #b6e0f0;
}
.side-listbox > li:nth-child(n+5) li a:visited {
  color: #2c708f;
}


@media (max-width: 767px) {
	
	/*サイドバー*/
  .side-listbox > li > a {
    font-size: 0.95rem;
    padding: 0.6rem 0.9rem;
  }
  .side-listbox li > ul li a {
    font-size: 0.9rem;
    width: 95%;
  }
	
	ul.side-listbox{
		padding-left:0;
	}
	
	
/*見出し*/
	.p-font-m.has-huge-font-size {
  position: relative;
  font-size: 28px;
  background-color: #fdfdf4; 
  z-index: 1;
  line-height: 1.4;
  padding: 0.5em; 
  overflow: visible; 
}
h2.h2-line{
		text-align:center;
	}
	
h2.wp-block-heading{
		text-align:center;
	}
	
	/*選ばれる理由TOP*/
	.section-box{
	background-color:#fff;
	border: 1px solid #ddd;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
	padding:0 2rem 2rem 2rem;
		gap:0;
}
	
	.section-box .wp-block-column:first-child{
		text-align:center;

	}
	.section-box .wp-block-column:first-child p{
		margin-bottom:0;
	}
	

	
}

@media (min-width: 768px) and (max-width: 1200px) {

	.top-box h3 strong{
		font-size:1rem;
	}
	
}

@media (min-width: 576px) and (max-width: 767px) {

	.top-box h3 strong{
		font-size:0.9rem;
	}
	
}

@media (min-width: 576px) and (max-width: 991px) {
  .school-box::before {
    width: 160px;
    height: 135px;
    top: -2.5rem;
    left: -2.5rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(https://www.iyasi.com/wp/wp-content/uploads/2025/06/leaf-deco-left.png);

  }
	.school-box::after {
    width: 160px;
    height: 135px;
    bottom: -1.5rem;
    right: -1.5rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(https://www.iyasi.com/wp/wp-content/uploads/2025/06/leaf-deco.png);

  }
}

/*画像回り込み解除*/
@media (max-width: 767px){
.alignleft, img.alignleft{
float:none !important;
display:block !important;
margin: 0 auto !important;
}
.alignright, img.alignright{
float:none !important;
display:block !important;
margin: 0 auto !important;
	}
		.school-box2::after {
    width: 160px;
    height: 135px;
    bottom: -1.5rem;
    right: -1.5rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(https://www.iyasi.com/wp/wp-content/uploads/2025/06/leaf3.png);

  }
	

	
	.school-box2	.wp-block-column{
		text-align:center !important;
	}
	.school-box2	.wp-block-column img{
		margin-bottom:1rem;
		width:100% !important;
	}
	.school-box2	.wp-block-column p{text-align:left;}
	
	div.message-img{
		text-align:center;
		margin-bottom:1rem;
	}
	
	.access-point-box img	{
		width:100vw;
		height:auto;
		image-rendering: auto; 
	}
	
	
}


@media (max-width: 575px) {
  .top-box .row{
    flex-direction: column;
		gap: 1rem;
    align-items: center;
  }
	
	 .school-box::before {
    width: 130px;

    top: -2.5rem;
    left: -2.5rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(https://www.iyasi.com/wp/wp-content/uploads/2025/06/leaf-deco-left.png);

  }
	.school-box::after {
    width: 130px;

    bottom: -1.5rem;
    right: -1.5rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(https://www.iyasi.com/wp/wp-content/uploads/2025/06/leaf-deco.png);

  }
}

@media (min-width: 992px) {

/*スクロール時のメニューのみ適用させない*/
body:not(.header_scrolled) .global-nav{background: linear-gradient(135deg, #2c8d75, #1e6a58);}

.header_scrolled .site-header{
	background: linear-gradient(135deg, #2c8d75, #1e6a58);
}
}

/*スクロール時メニュー*/
.header_scrolled .global-nav--layout--penetration .global-nav-list>li:first-child{
	border-left: solid 1px rgba(255, 255, 255, 0.2); 
}
.header_scrolled .global-nav--layout--penetration .global-nav-list>li{
	border-right: solid 1px rgba(255, 255, 255, 0.2); 
}

