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



/*ハンバーガーメニューに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;
}

h2{color:#2d7f79 !important;}

/*グローバルナビ*/
body:not(.header_scrolled) .global-nav {
  background: #81d7cf; 
  background: -webkit-linear-gradient(left, #5ec1b8 0%, #aaf0e9 50%, #5ec1b8 100%);
  background: -moz-linear-gradient(left, #5ec1b8 0%, #aaf0e9 50%, #5ec1b8 100%);
  background: -o-linear-gradient(left, #5ec1b8 0%, #aaf0e9 50%, #5ec1b8 100%);
  background: linear-gradient(to right, #5ec1b8 0%, #aaf0e9 50%, #5ec1b8 100%);
  position: relative;
  z-index: 0;
  overflow: visible;
  border-radius: 8px;
  box-shadow: inset 0 0 10px rgba(255,255,255,0.3);
}

.header_scrolled .site-header{
	background: #81d7cf; 
  background: -webkit-linear-gradient(left, #5ec1b8 0%, #aaf0e9 50%, #5ec1b8 100%);
  background: -moz-linear-gradient(left, #5ec1b8 0%, #aaf0e9 50%, #5ec1b8 100%);
  background: -o-linear-gradient(left, #5ec1b8 0%, #aaf0e9 50%, #5ec1b8 100%);
  background: linear-gradient(to right, #5ec1b8 0%, #aaf0e9 50%, #5ec1b8 100%);

}

.sub-menu a{
	font-size:16px;
}


/*カルーセル設定*/

/*スライド開始調整*/
.swiper{
  opacity: 0;
  transition: opacity .3s linear;
}
.swiper.swiper-initialized{
  opacity: 1;
}

.wp-block-vk-blocks-slider{
	background: linear-gradient(
    135deg,
    #cfedea 0%,
    #cfedea 20%,
    #e6fbf8 20.01%,
    #e6fbf8 32%,
    #f7fefd 32.01%,
    #f7fefd 68%,
    #e6fbf8 68.01%,
    #e6fbf8 80%,
    #cfedea 80.01%,
    #cfedea 100%
  );
  background-color: rgba(255, 255, 255, 0);
	padding-top:2rem;
	
}

/*ページヘッダー*/
.page-header {
  position: relative;

  overflow: hidden;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  background: linear-gradient(
    135deg,
    #5ec1b8 0%,
    #5ec1b8 20%,
    #aaf0e9 20.01%,
    #aaf0e9 32%,
    #e5faf8 32.01%,
    #e5faf8 68%,
    #aaf0e9 68.01%,
    #aaf0e9 80%,
    #5ec1b8 80.01%,
    #5ec1b8 100%
  );
  background-color: rgba(255, 255, 255, 0.2);
  box-shadow: 0 8px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #333;
  min-height: 8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 1;
}



.headline-h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75em;
  font-size: 1.5rem;
  font-weight: bold;
  color: #2d7f79; 
}

.headline-h2::before,
.headline-h2::after {
  content: "●";
  font-size: 0.6em;
  opacity: 0.8;
}


.headline-h2::before {
  color: #469b92;
}

.headline-h2::after {
  color: #469b92;
}

/*グローバルナビ*/
#global-nav li a strong{font-size:1rem;}


/*新刊*/

.newbook-box{
	width: 100vw;
  min-height: 100vh;
  background-image:
    linear-gradient(to right, #efefef 1px, transparent 1px),
    linear-gradient(to bottom, #efefef 1px, transparent 1px);
  background-size: 20px 20px;
	padding-top:4rem;
		padding-bottom:2rem;
    padding-left: calc(50svw - 50%);
    padding-right: calc(50svw - 50%);
	border-top:8px solid #81d7cf;
		border-bottom:8px solid #81d7cf;
	background-color:F3F4F5;
	margin-bottom:0;
}

/*フッター*/


.site-footer{

	background: #81d7cf; 
background: #a0ded7;
background: -webkit-linear-gradient(left, #a0ded7 0%, #d0faf6 50%, #a0ded7 100%);
background: -moz-linear-gradient(left, #a0ded7 0%, #d0faf6 50%, #a0ded7 100%);
background: -o-linear-gradient(left, #a0ded7 0%, #d0faf6 50%, #a0ded7 100%);
background: linear-gradient(to right, #a0ded7 0%, #d0faf6 50%, #a0ded7 100%);
position: relative;
z-index: 0;
overflow: hidden;
box-shadow: inset 0 0 10px rgba(255,255,255,0.3);
	border-top:none;
}

.footer-menu .postListText{border-bottom:0;padding:0.5rem;}

.footer-menu .vk_post{padding-left:0;}

.footer-menu a{text-decoration:none;}

.site-footer .col-lg-4.col-md-6:first-child{
	border-right:8px solid #81d7cf;
}
.site-footer .col-lg-4.col-md-6:nth-child(2){
	padding-left:1.6rem;
}

.site-footer #block-12{
	margin-bottom:0;
	}
.site-footer #block-11{
	margin-bottom:0;
	}

.site-footer #block-16{
	margin-bottom:0.5rem;
	}





/*会社案内*/

.sub-section .postListText {
  background-color: #e6f4f3;
  border-left: 4px solid #81d7cf;
  padding: 20px;
  margin-bottom: 1rem;
  cursor: pointer;

  /* 縦中央寄せ */
  display: flex;
  align-items: center;
  position: relative;
}


/*サイドバー*/

ul.side-menu{
	padding-left:0;
	font-size:0.9rem;
}
.side-menu li {
  margin-bottom: 10px;
  list-style: none;
  background-color: #e6f4f3;
  border-left: 4px solid #81d7cf;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.side-menu li a {
  display: block;
  padding: 20px 20px;
  color: inherit;
  text-decoration: none;
}

/* ホバー時の効果 */
.side-menu li:hover {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transform: translateY(4px);

}



/*ボタン*/
.vk_button_link {
  background: #2d7f79;
  background: -webkit-linear-gradient(left, #2d7f79 0%, #23635f 50%, #1a4a47 100%);
  background: -moz-linear-gradient(left, #2d7f79 0%, #23635f 50%, #1a4a47 100%);
  background: -o-linear-gradient(left, #2d7f79 0%, #23635f 50%, #1a4a47 100%);
  background: linear-gradient(to right, #2d7f79 0%, #23635f 50%, #1a4a47 100%);
  color: #fffffe;
  padding: 12px 24px;
  border: none;
  border-radius: 6px;
  text-decoration: none;
  font-weight: bold;
  display: inline-block;
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
  transition: all 0.3s ease;
}

.vk_button_link:hover {
  filter: brightness(1.1);
  box-shadow: 0 6px 10px rgba(0,0,0,0.25);
  transform: translateY(-2px);
}


.section-box {
  background-color: white;
  position: relative;
  padding: 2.5rem;
  border-radius: 8px;
  overflow: hidden;
}



/* 左上図形 */
.section-box::before {
  content: "";
  position: absolute;
  top: -20px;
  left: -20px;
  width: 100px;
  height: 100px;
  background: #81d7cf;
  border-radius: 50%;
  opacity: 0.2;
  z-index: 0;
}

/* 右下 */
.section-box::after {
  content: "";
  position: absolute;
  bottom: -30px;
  right: -30px;
  width: 120px;
  height: 120px;
  background: #81d7cf;
  border-radius: 20% 80% 70% 30%;
  opacity: 0.15;
  transform: rotate(45deg);
  z-index: 0;
}

/*罫線*/
.section-line{
	border: none;
  height: 1px;
  background: linear-gradient(to right, transparent, #81d7cf, transparent);
  margin: 2rem 0;
}

/* すべてのテーブルセルに枠線を付加する */

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

.tablepress-id-1 th, .tablepress-id-1 td {
  padding: 12px 20px;
  vertical-align: middle;
}

.tablepress-id-1 th {
  width: 30%;
  background-color: #81d7cf;
  color: white;
  text-align: left;

}

.tablepress-id-1 .column-1 {
  background-color: #f4f9f8;
  color: #444;
 
}

/*書籍案内*/

.booklist-box h2{font-size:1rem;
margin-bottom:0 !important;border:0;}

.booklist-box p{font-size:0.8rem;}



.booklist-box .wp-block-image {
  aspect-ratio: 3 / 4;
  background-color: #fff;
  overflow: hidden;
}


.booklist-box .wp-block-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important; 
}

@media (max-width: 767px) {
	.home .booklist-box{
		gap:4rem 30px;
	}
}

/*企画応募*/

.p-tagline{
	color: #2d7f79;
  font-size: 1.8rem;
  font-weight: bold;
}

.plan-h2{
	background-color:#D8EEED;
}


.arrow-container {
  text-align: center;
  margin: 2rem 0;
}

.arrow-down {
  width: 0;
  height: 0;
  margin: 0 auto;
  border-left: 60px solid transparent;
  border-right: 60px solid transparent;
  border-top: 30px solid #c2e4e1;
  animation: floatDown 1.5s ease-in-out infinite;
}

@keyframes floatDown {
  0%   { transform: translateY(0); opacity: 0.6; }
  50%  { transform: translateY(10px); opacity: 1; }
  100% { transform: translateY(0); opacity: 0.6; }
}

/*採用情報*/

.steps-container {
      display: flex;
      flex-direction: column;
      align-items: center !important;
    }


    .step-box {
      position: relative;
      background-color: #e6f4f3;
      border: 2px solid #69c5bb;
      border-radius: 10px;
      padding: 20px;
      width: 300px;
      box-shadow: 0 4px 6px rgba(0,0,0,0.1);
      margin-bottom: 40px !important;
      text-align: center; 
		
    }

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

    .step-box:not(:last-child)::after {
      content: '';
      position: absolute;
      bottom: -24px;
      left: 50%;
      transform: translateX(-50%);
      width: 0;
      height: 0;
      border-left: 12px solid transparent;
      border-right: 12px solid transparent;
      border-top: 12px solid #69c5bb;
    }

/*スタッフの声*/
p.voice-p{

	text-align:center;
 background: #2d7f79;
  background: -webkit-linear-gradient(left, #2d7f79 0%, #23635f 50%, #1a4a47 100%);
  background: -moz-linear-gradient(left, #2d7f79 0%, #23635f 50%, #1a4a47 100%);
  background: -o-linear-gradient(left, #2d7f79 0%, #23635f 50%, #1a4a47 100%);
  background: linear-gradient(to right, #2d7f79 0%, #23635f 50%, #1a4a47 100%);
  color: #fffffe;
	border-radius:6px;
	padding:0.3rem;
	 }


/*お知らせ*/

.sub-section h3{
	color:#2d7f79;
	font-size:1.2rem;
}

#block-19,#block-21,#block-23{margin-bottom:0;}

/* Contact Form 7 送信ボタンのカスタムスタイル */
.wpcf7-form-control.wpcf7-submit {
  background: #2d7f79;
  background: -webkit-linear-gradient(left, #2d7f79 0%, #23635f 50%, #1a4a47 100%);
  background: -moz-linear-gradient(left, #2d7f79 0%, #23635f 50%, #1a4a47 100%);
  background: -o-linear-gradient(left, #2d7f79 0%, #23635f 50%, #1a4a47 100%);
  background: linear-gradient(to right, #2d7f79 0%, #23635f 50%, #1a4a47 100%);
  color: #ffffff;
  padding: 12px 24px;
  border: none;
  border-radius: 6px;
  font-weight: bold;
  cursor: pointer;
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
  transition: all 0.3s ease;
  width: 100%;
}

/* ホバー時の効果 */
.wpcf7-form-control.wpcf7-submit:hover {
  filter: brightness(1.1);
  box-shadow: 0 6px 10px rgba(0,0,0,0.25);
  transform: translateY(-2px);
}

@media (max-width: 767.98px) {
  /*フッター中央揃え*/
	.row {
    justify-content: center;
    text-align: center; 
  }

  .row > .col-lg-4.col-md-6 {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .row > .col-lg-4.col-md-6:last-child {
    align-items: stretch;
    text-align: left;
  }
	
	.site-footer .col-lg-4.col-md-6:first-child{
		border-right:none;
	}	
	
	/*セクション横幅*/
	div.section-box{
		padding-left:10px;
		padding-right:10px;
	}	
	
	/*見出し中央*/
	.wp-block-heading.plan-h2,h2.wp-block-heading.is-style-vk-heading-plain:not(.page-id-3 h2){
		text-align:center;
	}
	
	
	/*サイドバー*/

ul.side-menu{
	padding-left:0;
	font-size:1rem;
}
	
	/*テーブル*/
	
	.tablepress-id-1 td{
		padding:12px 8px;
	}
	
/*ブックアイコングループ*/
	
.wp-block-group.icon-g{
    flex-direction: column !important;
    align-items: center; /* 中央寄せ（任意） */
    text-align: center;  /* テキスト中央寄せ（任意） */
	gap:20px;
  }

	.wp-block-group.icon-g p{text-align:left;}
	
	/*選考方法*/

.wp-block-columns.steps-container > .wp-block-column {
    width: 100%;         
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  .step-box {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  
    box-sizing: border-box;
	
  }
	
p.step-box:last-child{
		margin-bottom:1rem !important;
	}	
	
	.staff-box .vk_icon_frame{
		flex-direction: column;
		align-items:center;
	}	
	
	.staff-box.is-layout-flex{
		gap:18px;
	}
	
	h1.page-header-title{font-size:1.8rem;}	
	

/*ボタン*/
.vk_button_link{
	  padding: 18px 24px !important;
	}

}
