/*
Theme Name: Lightning Child
Theme URI: https://example.com/lightning-child/
Description: Lightningテーマのカスタム用子テーマです。
Author: Your Name
Author URI: https://example.com
Template: lightning
Version: 1.0.0
*/

@import url('https://fonts.googleapis.com/css2?family=Federo&family=Merriweather:ital,opsz,wght@0,18..144,300..900;1,18..144,300..900&family=Noto+Sans+JP:wght@100..900&family=Oranienbaum&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

/*-------------------------
  共通
-------------------------*/
*{
	scroll-behavior: smooth;
}

body {
  font-family: "Roboto", sans-serif;
}

.widget{
	margin-bottom: 0;
}

.home .site-body{
	padding-top: 0;
	padding-bottom: 0;
}

.merriweather_text_sec{
	font-family: "Merriweather", serif;
	font-weight: 400;
}

a{
	transition: 0.4s ease;
}

a:hover {
	opacity: 0.8;
}

/* ボタン */
.btn_typeA a {
	font-family: "Roboto", sans-serif;
	border: none;
	display: flex;
	align-items: baseline;
	text-decoration: none;
	font-weight: bold;
	padding: 0;
}

.btn_typeA a::before {
	content: "";
	width: 50px;
	height: 50px;
	background-color: #014E7B;
	background-image: url('/wp-content/uploads/2025/11/btn_arrow.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 25%;
	margin-right: 15px;
}

.btn_typeA.wp-block-button.is-style-outline>.wp-block-button__link:hover {
	background-color: transparent !important;
	color: #000 !important;
}

.btn_typeA.wp-block-button.is-style-outline>.wp-block-button__link span{
	transition:0.3s ease;
}

.btn_typeA.wp-block-button.is-style-outline>.wp-block-button__link:hover span{
	transform: translateX(5px);
}
@media (max-width: 1200px){
	.btn_typeA a{
		align-items: center;
	}
}
@media (max-width: 768px){
	.btn_typeA a{
		align-items: baseline;
	}	
}

.wp-block-buttons.btn_typeB>.wp-block-button .wp-block-button__link{
	width: 200px;
	max-width: 100%;
}

@media (max-width: 991.98px) {
	.main-section {
		margin-bottom: 0;
	}
}

/* 表示・非表示 */
.pc_only {
  display: block;
}

@media (max-width: 768px) {
  .pc_only {
    display: none;
  }
}

.sp_only {
  display: none;
}

@media (max-width: 768px) {
  .sp_only {
    display: block;
  }
}

/*  余白 */
@media (max-width: 768px){
	.sp_mb_0{
		margin-bottom: 0 !important;
	}
  .sp_mb_30{
    margin-bottom: 30px !important;
  }
}

/*-------------------------
  ヘッダー
-------------------------*/
#global-nav{
  font-family: "Federo", sans-serif;
  font-weight: 400;
	margin-right: 120px;
	padding-right: 20px;
	border-right: 1px solid #C7C7C7;
}

.global-nav-list{
	position: static;
}

#global-nav .global-nav-list .header_menmber_btn{
	position: absolute;
	top: 0;
	right: 0;
}

#global-nav .global-nav-list .header_menmber_btn a{
padding-top: 8px;
}

#global-nav .global-nav-list .header_menmber_btn {
	position: absolute;
	top: 55%;
	transform: translateY(-50%);
	right: 10px;
	text-align: center;
	display: block; 
	padding-top: 5px;
}

#global-nav .global-nav-list .header_menmber_btn::before {
	content: ""; 
	display: block;
	width: 30px;
	height: 30px;
	margin: 0 auto;
	background-image: url('/wp-content/uploads/2025/11/header_nav_menberonly_icon.png');
	background-repeat: no-repeat;
	background-size: contain; 
	background-position: center center;
	position: static;
	border-bottom: none;
}

#global-nav .global-nav-list>li .global-nav-name{
	font-weight: 400;
}

.header_scrolled #global-nav {
	margin-right: auto;
	padding-right: 0px;
	border-right: none;
}

.header_scrolled #global-nav li a {
	padding: 18px 1.5em;
}

.header_scrolled #global-nav .global-nav-list .header_menmber_btn{
	position: static;
	transform: translateY(0);
	padding-top: 0px;
}
.header_scrolled #global-nav .global-nav-list .header_menmber_btn a {
	padding-top:18px;
	padding-left: 24px;
}

.header_scrolled #global-nav .global-nav-list .header_menmber_btn::before {
	content: ""; 
	display: block;
	width: 18px;
	height: 18px;
	position: absolute;
	top: 48%;
	transform: translateY(-50%);
}


@media (min-width: 992px) {
	.container, .container-lg, .container-md, .container-sm {
		max-width: 1200px;
	}
	.site-header--layout--nav-float .site-header-container {
		padding-left: 40px;
	}
}

@media (min-width: 1200px) {
	header .container {
		max-width: 100%;
	}
}

/* ハンバーガーメニュー */
.vk-mobile-nav-menu-outer .header_menmber_btn::before {
	content: ""; 
	display: block;
	width: 20px;
	height: 20px;
	position: absolute;
	top: 45%;
	transform: translateY(-50%);
	background-image: url('/wp-content/uploads/2025/11/header_nav_menberonly_icon.png');
	background-repeat: no-repeat;
	background-size: contain; 
	background-position: center center
}

.vk-mobile-nav-menu-outer .header_menmber_btn a{
	padding-left: 25px;
}

.vk-mobile-nav-menu-btn{
	top: 15px;
	right: 15px;
	left: auto;
}

.vk-mobile-nav{
	padding: 65px 10px;
}


/*-------------------------
  フッター
-------------------------*/
footer.site-footer{
	background-color: #072C42;
	color: #fff;
}

.container.site-footer-copyright{
	display: none;
}

.footer_site_title a{
	color: #fff;
}

.site-footer-content{
		padding-top: clamp(50px, 10vw, 100px);
	padding-bottom: clamp(50px, 10vw, 100px);
}

.site-footer-content .row .col-lg-4:first-of-type{
	flex: 0 0 40%;
	max-width: 40%;
}

.site-footer-content .row .col-lg-4:nth-of-type(2){
	flex: 0 0 60%;
	max-width: 60%;
}

.site-footer-content .row .col-lg-4:last-of-type{
	display: none;
}

.site-footer-content .widget_nav_menu .widgettitle{
	padding: 0;
	border-top: none;
	border-bottom: none;
	margin-bottom: 16px;
	font-size: 14px;
	font-weight: 700;
}

.site-footer-content .widget_nav_menu li a{
	display: block;
	padding-left: 0;
	border-bottom: none;
	color: #fff;
	font-size: 14px;
	font-weight: 300;
}

@media (max-width: 785px){
	.site-footer .row{
		display: block;
	}
	.site-footer .site-footer-content .row .col-lg-4{
		max-width: 100%;
		text-align: center;
	}
	.site-footer .site-footer-content .row .col-lg-4:first-of-type{
		margin-bottom: 30px;
	}
	.site-footer .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
		flex-basis: 20% !important;
	}
}

@media (max-width: 430px) {
	.site-footer .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
		flex-basis: 45% !important;
	}
}

/*-------------------------
  topページ
-------------------------*/

/* KV */
.kv_title p{
	font-family: "Oranienbaum", serif;
	font-weight: 400;
	font-size: clamp(26px, 5vw, 60px);
	line-height: 1.2;
	color: #fff;
	text-shadow:0px 0px 16px #000000,0px 0px 10px #000000;
}

.kv_title p span{
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700;
}

.ltg-slide-button-next,
.ltg-slide-button-prev,
.swiper-pagination-bullet{
	display: none;
}

.swiper-slide .container {
	max-width: 1920px;
	padding-left: clamp(30px, 4vw + 1rem, 80px)
}


/* intro */
.intro_sec{
	padding-top: clamp(40px, 10vw, 120px);
	padding-bottom: clamp(50px, 10vw, 120px);
}

/* latest */
.latest_sec{
	padding-top: clamp(40px, 10vw, 80px);
	padding-bottom: clamp(50px, 10vw, 80px);
}

.top_latest_post .wp-block-latest-posts__list li{
	padding: 0;
}

.top_latest_post .wp-block-latest-posts__list li img{
	box-sizing: content-box;
}

.top_latest_post .wp-block-latest-posts__post-title{
	display: none;
}

.top_latest_post .wp-block-latest-posts__featured-image{
	margin-bottom: 0;
}

.top_latest_post .wp-block-latest-posts__featured-image img{
	aspect-ratio: 5/4;
	object-fit: cover;
}

.top_latest_post .post-excerpt-wrapper{
	padding: 30px;
	margin-right: -0.5px;
	border: 2px solid #C6C6C6;
	border-top: none;
	border-left: none;
	transform: translateY(-5px);
	height: 230px;
}

.top_latest_post .wp-block-latest-posts__list li:nth-of-type(2){
	margin-right: -2px;
}

.top_latest_post .wp-block-latest-posts__post-excerpt{
	line-height: 1.8;
}

.top_latest_post .wp-block-latest-posts__list li:first-of-type .post-excerpt-wrapper{
	border-left: 2px solid #C6C6C6;
}

.top_latest_post .latest-posts-view-link{
	text-align: right;
}

.top_latest_post .latest-posts-view-link a{
	color: #771B29 !important;
	text-decoration: none !important;
	font-weight: bold !important;
}

.wp-block-latest-posts.columns-4 li {
	width: 25%;
}

@media (max-width: 1200px){
	.top_latest_post .post-excerpt-wrapper{
		height: 280px;
	}
}

@media (max-width: 1000px) {
	.top_latest_post .post-excerpt-wrapper{
		height: auto;
	}
	.wp-block-latest-posts.columns-4 li {
		width: 50%;
	}
	.top_latest_post .wp-block-latest-posts__list li{
		padding: 8px;
	}
	.top_latest_post .wp-block-latest-posts__list li .post-excerpt-wrapper{
		border-left: 2px solid #C6C6C6;
	}
}

@media (max-width: 768px) {
	.wp-block-latest-posts.columns-4 li {
		width: 100%;
	}
	.top_latest_post .wp-block-latest-posts__list li{
		padding-left: 0;
		padding-right: 0;
	}
}
@media (max-width: 450px){
	.ltg-slide picture img{
		height: 350px;
		object-fit: cover;
		object-position: right;
	}
}



/* top_square_sec */
.top_square_sec_column{
	position: relative;
}
.top_square_sec_text{
	position: absolute;
	top: 50%;
	left: 45%;
	transform: translate(-50%, -50%);
}

.wp-singular .page-header{
	background-color: #072C42;
	color: #fff;
	margin-bottom: 20px;
}

@media (max-width: 782px){
	.top_square_sec_text{
		position: static;
		transform: translate(0, 0);
		padding: 50px 24px 0px 24px;
	}
}


/* top_contact-link_sec */
.top_contact-link_sec{
	padding-top: clamp(50px, 10vw, 100px);
	padding-bottom: clamp(60px, 10vw, 100px);
}

/* ===== Contact Form 7 全体のカード風デザイン ===== */
.wpcf7 form {
  max-width: 640px;
  margin: 0 auto 40px;
  padding: 24px 20px;

  box-sizing: border-box;
}

/* 行間・余白 */
.wpcf7-form p {
  margin-bottom: 16px;
}

/* ラベルを上に配置（<label>を使っている場合） */
.wpcf7-form p label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 6px;
  color: #333;
}

/* テキスト系入力の共通デザイン */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form select,
.wpcf7-form textarea {
  width: 100%;
  padding: 10px 12px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 8px;
  border: 1px solid #ddd;
  box-sizing: border-box;
  background: #f9fafb;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

/* フォーカス時（クリックしたとき）の演出 */
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form input[type="url"]:focus,
.wpcf7-form input[type="number"]:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
  outline: none;
  border-color: #38bdf8; /* お好みで色変更 */
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.25);
}

/* テキストエリアは少し高さを確保 */
.wpcf7-form textarea {
  min-height: 140px;
}

/* 送信ボタン */
.wpcf7-form input[type="submit"] {
  display: block;
  margin: 24px auto 0;
  padding: 12px 40px;
  border: none;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.2s ease;
}

/* ホバー時のちょい浮き */
.wpcf7-form input[type="submit"]:hover {
  box-shadow: 0 8px 16px rgba(15, 118, 178, 0.35);
  transform: translateY(-1px);
}

/* 押したときの沈み */
.wpcf7-form input[type="submit"]:active {
  transform: translateY(1px);
  box-shadow: 0 4px 8px rgba(15, 118, 178, 0.3);
}

/* エラーメッセージ・完了メッセージ */
.wpcf7 form .wpcf7-response-output {
  margin: 20px 0 0;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 13px;
}

/* エラー時 */
.wpcf7 form .wpcf7-validation-errors,
.wpcf7 form .wpcf7-acceptance-missing {
  border: 1px solid #f97373;
  background: #fef2f2;
  color: #b91c1c;
}

/* 正常送信時 */
.wpcf7 form .wpcf7-mail-sent-ok {
  border: 1px solid #4ade80;
  background: #ecfdf3;
  color: #15803d;
}
