/* Front page styles */

/* 余白調整 */
.l-content.l-container{ padding-top:0 !important; }

/* 共通コンテナ幅（PC広め） */
.l-mainContent__inner{ max-width:1280px; margin-inline:auto; padding-inline:clamp(16px,3vw,32px); }

/* ヒーロー */
.front-hero{ width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.front-hero__grid{
  display:grid;
  grid-template-columns:minmax(240px,1fr) 3fr;
  gap:0;
  min-height:72vh;
}
.front-hero__left{
  display:flex; flex-direction:column; justify-content:center; row-gap:clamp(8px,1.4vh,16px);
  /* 均等な余白で中央寄せに */
  padding:clamp(32px,6vh,72px) clamp(24px,3vw,48px);
  background:#f7f2ea;
}
.front-hero__left.has-bg{
  position:relative;
  color:#fff;
  background:none; /* 画像使用時はベース色を打ち消す */
}
.front-hero__left.has-bg::before{
  content:"";
  position:absolute; inset:0;
  background: var(--front-left-bg) center/cover no-repeat;
  opacity:1; /* 画像は不透明で表示 */
}
.front-hero__left.has-bg > *{ position:relative; z-index:1; }

/* 必要なら軽く暗くするオーバーレイ（使うときはdisplay:blockに変更） */
.front-hero__left.has-bg::after{
  content:""; position:absolute; inset:0;
  background:rgba(0,0,0,.18);
  display:none;
}
.front-hero__title{ margin:0 0 60px; font-size:clamp(22px,3.6vw,36px); }
.front-hero__lead{ margin:0 0 1.2em; line-height:1.8; font-size:clamp(16px,2.4vw,20px); }
.front-hero__address{ margin:0 0 1.2em; font-weight:600; font-size: 14px;}
.front-hero__contact{ margin:16px auto 0; padding:25px 35px; text-align:center; color:#5a6a3f; background: #fff; display:inline-block; box-shadow:0 2px 8px rgba(0,0,0,.08); }
.front-hero__tel{ display:inline-flex; align-items:center; gap:12px; color:#5a6a3f; background:transparent; padding:0; }
.front-hero__telIcon{ width:40px; height:26px; background-image: var(--tel-icon-img); background-repeat:no-repeat; background-position:center; background-size:contain; display:inline-block; filter: brightness(0) saturate(100%) invert(27%) sepia(15%) saturate(1000%) hue-rotate(90deg) brightness(0.8) contrast(1.2); }
.front-hero__telNumber{ font-size:28px; letter-spacing:.05em; color:#5a6a3f; line-height:1; }
.front-hero__hours{ margin:.4em 0 0; font-size:14px; color:#5a6a3f; }
.front-hero__btn{ /* removed button styles as requested */ }

.front-hero__right{ position:relative; overflow:hidden; }
.front-hero__right img{ width:100%; height:100%; object-fit:cover; }

/* 右上のアクションボタン */
.front-hero__actions{ position:absolute; top:12px; right:24px; display:flex; gap:18px; z-index:5; }
.front-hero__actionBtn{ position:relative; display:inline-flex; align-items:center; justify-content:center; padding:22px 34px 22px 84px; background:rgba(110,133,131,.9); color:#fff; text-decoration:none; font-size:20px; line-height:1; box-shadow:0 4px 14px rgba(0,0,0,.16); min-width:280px; }
.front-hero__actionBtn.is-accent{ background:#233a23; color:#fff; }
.front-hero__actionBtn::before{ content:""; position:absolute; left:26px; top:50%; transform:translateY(-50%); width:32px; height:32px; background-repeat:no-repeat; background-position:center; background-size:contain; }
/* 通常ボタン=メール */
.front-hero__actionBtn:not(.is-accent)::before{ background-image: var(--mail-icon-img, url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23ffffff" d="M48 96h416c8.8 0 16 7.2 16 16v288c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm208 176L64 144v-16l192 144L448 128v16L256 272z"/></svg>')); filter: brightness(0) invert(1); }
/* アクセントボタン=電話 */
.front-hero__actionBtn.is-accent::before{ background-image: var(--phone-icon-img, url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23ffffff" d="M164.9 24.6l-37-8.2c-18.7-4.1-37.5 7.5-41.6 26.2L75 95.2c-3.4 15.5 2.9 31.5 16 40.5l45.9 33c-22.1 47.6-58.4 93.9-104.4 136.5-14.7 13.5-19.4 34.8-11.5 53.1l17.5 39.5c7.9 17.9 27.3 27.7 46.4 23.5l36.9-8.1c12.9-2.8 23.1-12.5 26.6-25.2l12.1-43.3c3.8-13.5-.8-28-11.7-36.6l-35.6-27.8c34.8-33.4 63.8-69.4 86.8-107.3l44 32.4c11.2 8.2 26.3 9.3 38.6 2.9l39.6-20.4c12.3-6.3 20.5-18.2 22-31.7l5.1-47.1c2.1-19-10.9-36.4-29.7-40.6l-37-8.2c-9.3-2.1-19.1-.2-26.9 5.2l-42 29.7c-8.8 6.2-13.5 16.6-12.1 27.2l2.4 18.4-18.4-2.4c-10.6-1.4-20.9 3.3-27.1 12.1l-29.7 42c-5.4 7.7-7.3 17.6-5.2 26.9z"/></svg>')); filter: brightness(0) invert(1); }
.front-hero__actionBtn:hover{ opacity:.92; }

/* ネイティブフェードスライド */
.front-hero-slide{ position:absolute; inset:0; opacity:0; transition:opacity .6s ease; }
.front-hero-slide.is-active{ opacity:1; }

/* ナビゲーションバー */
.front-navbar{ background:#333; color:#fff; padding:0; width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.front-navbar__inner{ max-width:1280px; height:90px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(16px,3vw,32px); }
.front-navbar__list{ display:flex; list-style:none; margin:0; padding:0; gap:0; }
.front-navbar__link{ display:block; padding:20px 28px; color:#fff; text-decoration:none; font-size:20px; transition:background-color 0.3s ease; }
.front-navbar__link:hover{ background:rgba(255,255,255,0.1); }

/* 霊園特徴セクション */
.front-features{ 
	background: url('https://nagominooka-test.test-webtan.com/wp-content/uploads/2025/09/bg2.png') center/cover no-repeat;
	padding: 80px 0;
	width:100vw; 
	margin-left:calc(50% - 50vw); 
	margin-right:calc(50% - 50vw); 
}
.front-features__inner{ 
	max-width:1280px; 
	margin:0 auto; 
	padding:0 clamp(16px,3vw,32px); 
	text-align:center; 
}
.front-features__title{ 
	margin:0 0 24px; 
	font-size:4.0rem; 
	color:#556B2F; 
	font-weight:600;
  font-family: "my_mincho", serif; 
}
.front-features__content{ 
	max-width:1280px; 
	margin:0 auto; 
}
.front-features__text{ 
	margin:0; 
	font-size: 30px;
	line-height:1.8; 
	color:#333; 
}
.front-features__description{ 
	margin:32px auto 0; 
	max-width:800px; 
}
.front-features__descriptionText{ 
	margin:0; 
	font-size:clamp(16px,2.2vw,20px); 
	line-height:1.8; 
	color:#333; 
	text-align:center; 
}

/* 写真ギャラリーセクション */
.front-gallery{
	padding: 0;
	width:100vw;
	margin-bottom: 30px;
	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
}

.front-gallery__inner{
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 clamp(20px,4vw,60px);
	position: relative;
}

.front-gallery__container{
	position: relative;
	overflow: hidden;
}

.front-gallery__grid{
	display: flex;
	transition: transform 0.5s ease;
	gap: clamp(10px,2vw,20px);
}

.front-gallery__item{
	flex: 0 0 calc(20% - clamp(8px,1.6vw,16px));
	position: relative;
	overflow: hidden;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.front-gallery__item:hover{
	transform: translateY(-5px);
	box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

.front-gallery__item img{
	width: 100%;
	height: 200px;
	object-fit: cover;
	display: block;
}

/* スライダーコントロール */
.front-gallery__controls{
	position: absolute;
	top: 50%;
	left: -10px;
	right: -10px;
	display: flex;
	justify-content: space-between;
	pointer-events: none;
	transform: translateY(-50%);
	padding: 0;
	z-index: 10;
}

/* PCサイズでのボタン位置調整 */
@media (min-width: 1280px) {
	.front-gallery__container{
		overflow: hidden;
		margin: 0 50px;
	}
}

.front-gallery__btn{
	width: 50px;
	height: 50px;
	border: none;
	border-radius: 50%;
	background: #333;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	cursor: pointer;
	transition: all 0.3s ease;
	pointer-events: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 12px rgba(0,0,0,0.2);
	z-index: 10;
}

.front-gallery__btn:hover{
	background: #556B2F;
	transform: scale(1.1);
	box-shadow: 0 6px 16px rgba(0,0,0,0.3);
}

.front-gallery__btn--prev{
	margin-right: auto;
}

.front-gallery__btn--next{
	margin-left: auto;
}

/* 写真ギャラリー レスポンシブ */
@media (max-width: 1279px) {
	.front-gallery__item{
		flex: 0 0 calc(33.333% - clamp(6px,1.2vw,12px));
	}
	
	.front-gallery__item img{
		height: 180px;
	}
}

@media (max-width: 1023px) {
	.front-gallery__item{
		flex: 0 0 calc(50% - clamp(5px,1vw,10px));
	}
	
	.front-gallery__item img{
		height: 160px;
	}
	
	.front-gallery__btn{
		width: 40px;
		height: 40px;
		font-size: 20px;
	}
}

@media (max-width: 767px) {
	.front-gallery__item{
		flex: 0 0 calc(50% - 10px);
	}
	
	.front-gallery__item img{
		height: 180px;
	}
	
	.front-gallery__controls{
		left: -10px;
		right: -10px;
		padding: 0;
	}
	
	.front-gallery__btn{
		width: 35px;
		height: 35px;
		font-size: 18px;
	}
}

/* 表示切替ユーティリティ（PC/SPでDOMを分ける場合に使用） */
.only-pc{ display:none; }
.only-sp{ display:block; }
@media (min-width:1280px){
	.only-pc{ display:block; }
	.only-sp{ display:none; }
}

/* ====== SP専用ヒーロー ====== */
.front-hero--sp{ position:relative; width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.front-hero--sp__media{ position:relative; min-height:clamp(320px, 48vh, 520px); overflow:hidden; }
.front-hero--sp__media::after{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:1;
  background: rgba(0,0,0,.28);
}
.front-hero--sp__slides{ position:absolute; inset:0; }
.front-hero--sp__slides img{ width:100%; height:100%; object-fit:cover; display:block; }
.front-hero--sp__titleWrap{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:clamp(20px,6vw,32px); padding-top:clamp(0px,5vh,32px); z-index:2; }
.front-hero--sp .front-hero__title{ margin:0; font-size:clamp(28px,10vw,48px); color:#fff; text-shadow:0 3px 18px rgba(0,0,0,.5); -webkit-text-stroke:.8px rgba(0,0,0,.25); text-align:center; }
.front-hero--sp__lead{ background: rgba(127, 151, 122, 1); color:#fff; text-align:center; padding:14px 18px; font-size:clamp(14px,4vw,18px); }

/* サブタイトル（SP） */
.front-hero--sp__subtitle{
  position:absolute; left:50%; transform:translateX(-50%);
  top: clamp(28px, 16vh, 136px);
  z-index:3; text-align:center;
  width: min(92%, 660px);
}
.front-hero--sp__subtitle p{
  margin:0; padding:8px 14px; color:#fff; font-size: 18px;
  display:block;
  text-shadow: 0 2px 8px rgba(0,0,0,.45);
}

/* 料金セクション */
.front-pricing{ 
	padding: 0;
	width:100vw; 
	margin-left:calc(50% - 50vw); 
	margin-right:calc(50% - 50vw); 
}
.front-pricing__inner{ 
	max-width:1280px; 
	margin:0 auto 30px auto; 
	padding:0 clamp(16px,3vw,32px); 
}
.front-pricing__title{ 
	margin:0; 
	font-size:clamp(24px,4vw,36px); 
	color:#fff; 
	font-weight:600; 
	background: url('https://nagominooka-test.test-webtan.com/wp-content/uploads/2025/09/section_bg.png') center/cover no-repeat;
	padding: 40px 0;
	text-align:center;
	width:100vw; 
	margin-left:calc(50% - 50vw); 
	margin-right:calc(50% - 50vw); 
}
.front-pricing__content{
	display:grid;
	grid-template-columns:3fr 7fr;
	gap:40px;
	align-items:center;
	padding:40px 0 0 0;
	max-width:80%;
	margin:0 auto;
}
.front-pricing__content:not(:last-child){
	margin-bottom:60px;
}
.front-pricing__image{
	width:100%;
}
.front-pricing__image img{
	width:300px;
	height:250px;
	border-radius:8px;
}
.front-pricing__info{
	color:#333;
}
.front-pricing__plotTitle{
	margin:0 0 20px;
	font-size:clamp(18px,2.5vw,24px);
	font-weight:600;
	color:#333;
}
.front-pricing__price{
	margin:0 0 24px;
	padding:16px 20px;
	background:#f8f8f8;
	border-radius:8px;
	text-align:center;
}
.front-pricing__priceLabel{
	display:block;
	font-size:14px;
	color:#666;
	margin-bottom:8px;
}
.front-pricing__priceValue{
	font-size:clamp(20px,3vw,28px);
	font-weight:bold;
	color:#e91e63;
}
.front-pricing__details{
	display:flex;
	flex-direction:column;
	gap:12px;
}
.front-pricing__detail{
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:8px 0;
	border-bottom:1px solid #eee;
}
.front-pricing__detailLabel{
	font-size:14px;
	color:#666;
	font-weight:500;
}
.front-pricing__detailValue{
	font-size:16px;
	color:#333;
	font-weight:600;
}

/* 選ばれる理由セクション */
.front-reasons{ 
	padding: 0;
	width:100vw; 
	margin-left:calc(50% - 50vw); 
	margin-right:calc(50% - 50vw); 
}
.front-reasons__inner{ 
	max-width:1280px; 
	margin:0 auto; 
	padding:0 clamp(16px,3vw,32px); 
}
.front-reasons__title{ 
	margin:0; 
	font-size:clamp(24px,4vw,36px); 
	color:#fff; 
	font-weight:600; 
	background: url('https://nagominooka-test.test-webtan.com/wp-content/uploads/2025/09/section_bg.png') center/cover no-repeat;
	padding: 40px 0;
	text-align:center;
	width:100vw; 
	margin-left:calc(50% - 50vw); 
	margin-right:calc(50% - 50vw); 
}
.front-reasons__content{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:60px;
	align-items:center;
	padding:60px 0;
	max-width:80%;
	margin:0 auto;
}
.front-reasons__list{
	display:flex;
	flex-direction:column;
	gap:24px;
}
.front-reasons__item{
	display:flex;
	align-items:center;
	gap:20px;
	padding:16px 0;
	border-bottom:1px solid #eee;
}
.front-reasons__number{
	font-size:clamp(18px,2.5vw,24px);
	font-weight:bold;
	color:#556B2F;
	min-width:40px;
	border-bottom:2px solid #556B2F;
	padding-bottom:4px;
}
.front-reasons__text{
	font-size:clamp(16px,2vw,18px);
	color:#333;
	line-height:1.6;
}
.front-reasons__image{
	width:100%;
}
.front-reasons__image img{
	width:100%;
	height:auto;
	border-radius:8px;
}

/* 霊園概要セクション */
.front-overview{ 
	padding: 0;
	width:100vw; 
	margin-left:calc(50% - 50vw); 
	margin-right:calc(50% - 50vw); 
}
.front-overview__inner{ 
	max-width:1280px; 
	margin:0 auto; 
	padding:0 clamp(16px,3vw,32px); 
}
.front-overview__title{ 
	margin:0; 
	font-size:clamp(24px,4vw,36px); 
	color:#fff; 
	font-weight:600; 
	background: url('https://nagominooka-test.test-webtan.com/wp-content/uploads/2025/09/section_bg.png') center/cover no-repeat;
	padding: 40px 0;
	text-align:center;
	width:100vw; 
	margin-left:calc(50% - 50vw); 
	margin-right:calc(50% - 50vw); 
}
.front-overview__content{
	padding:60px 0;
	max-width:80%;
	margin:0 auto;
}
.front-overview__table{
	background:#fff;
	border-radius:8px;
	box-shadow:0 4px 12px rgba(0,0,0,0.1);
	overflow:hidden;
}
.front-overview__row{
	display:flex;
	border-bottom:1px dashed #ddd;
}
.front-overview__row:last-child{
	border-bottom:none;
}
.front-overview__label{
	background:#233a23;
	color:#fff;
	padding:16px 20px;
	font-weight:600;
	font-size:clamp(14px,1.8vw,18px);
	min-width:250px;
	flex-shrink:0;
  text-align: center;
}
.front-overview__value{
	background:#fff;
	color:#333;
	padding:16px 20px;
	font-size:clamp(14px,1.8vw,16px);
	line-height:1.6;
	flex:1;
}

/* アクセスセクション */
.front-access{ 
	padding: 0;
	width:100vw; 
	margin-left:calc(50% - 50vw); 
	margin-right:calc(50% - 50vw); 
}
.front-access__inner{ 
	max-width:1280px; 
	margin:0 auto; 
	padding:0 clamp(16px,3vw,32px); 
}
.front-access__title{ 
	margin:0; 
	font-size:clamp(24px,4vw,36px); 
	color:#fff; 
	font-weight:600; 
	background: url('https://nagominooka-test.test-webtan.com/wp-content/uploads/2025/09/section_bg.png') center/cover no-repeat;
	padding: 40px 0;
	text-align:center;
	width:100vw; 
	margin-left:calc(50% - 50vw); 
	margin-right:calc(50% - 50vw); 
}
.front-access__content{
	display:flex;
	flex-direction:column;
	gap:40px;
	padding:60px 0;
	max-width:90%;
	margin:0 auto;
}
.front-access__map{
	width:100%;
	overflow:hidden;
	box-shadow:0 4px 12px rgba(0,0,0,0.1);
}
.front-access__map iframe{
	width:100%;
	height:550px;
	border:none;
}
.front-access__info{
    display:grid;
	grid-template-columns:1fr 1fr;
	gap:20px;
	width:100%;
}
.front-access__carSection,
.front-access__trainSection{
	background:#fff;
	border:1px solid #ddd;
}
.front-access__sectionHeader{
	background:#c0c0c0;
	color:#000;
	padding:12px 16px;
	font-size:clamp(14px,1.8vw,16px);
	font-weight:600;
	text-align:center;
}
.front-access__sectionContent{
	padding:16px;
	min-height:200px;
}
.front-access__transportList{
	margin:0;
	padding:0;
	list-style:none;
}
.front-access__transportList li{
	margin:0 0 12px;
	padding:0;
	font-size:clamp(13px,1.6vw,15px);
	color:#000;
	line-height:1.5;
	position:relative;
	padding-left:16px;
}
.front-access__transportList li::before{
	content:"●";
	position:absolute;
	left:0;
	color:#000;
	font-size:12px;
}
.front-access__transportList li:last-child{
	margin-bottom:0;
}

/* お問い合わせセクション */
.front-contact{ 
	width:100vw; 
	margin-left:calc(50% - 50vw); 
	margin-right:calc(50% - 50vw); 
	background: url('https://nagominooka-test.test-webtan.com/wp-content/uploads/2025/09/contact_bg.png') center/cover no-repeat;
	min-height: 600px;
}
.front-contact__inner{ 
	max-width:1280px; 
	margin:0 auto; 
	padding:clamp(40px,6vw,80px) clamp(16px,3vw,32px); 
	position: relative;
	z-index: 2;
}

/* カードコンテナ */
.front-contact__card{
	background: white;
	box-shadow: 0 8px 32px rgba(0,0,0,0.1);
	max-width: 900px;
	height: 400px;
	margin: 0 auto;
	position: relative;
	border: 2px solid #5a6a3f;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}


/* タイトルエリア */
.front-contact__titleArea{
	text-align: center;
	margin-bottom: 20px;
	padding-top: 20px;
	flex-shrink: 0;
}

.front-contact__subtitle{
	color: #5a6a3f;
	font-size: 16px;
	margin-bottom: 10px;
}

.front-contact__title{
	font-size: clamp(20px,3vw,32px);
	color: #233a23;
	margin-bottom: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.front-contact__location{
	color: #666;
	font-size: 16px;
	margin: 0;
}

/* 案内文 */
.front-contact__instruction{
	text-align: center;
	margin-bottom: 20px;
	flex-shrink: 0;
}

.front-contact__instruction p{
	color: #666;
	font-size: 24px;
	margin: 0;
}

/* 連絡先情報 */
.front-contact__info{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
	gap: 0;
	flex: 1;
	position: relative;
}

.front-contact__info::after{
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0;
	width: 1px;
	background: #ddd;
	transform: translateX(-50%);
}

.front-contact__phone{
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
	min-width: 0;
	padding-right: 20px;
	width: 50%;
	justify-content: center;
	align-items: center;
}

.front-contact__phoneIcon{
	width: 24px;
	height: 24px;
	background-image: url('https://nagominooka-test.test-webtan.com/wp-content/uploads/2025/09/受話器のアイコン.png');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	flex-shrink: 0;
}


.front-contact__phoneNumber{
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: clamp(20px,3vw,32px);
	font-weight: bold;
	color: #333;
	line-height: 1.2;
	white-space: nowrap;
	justify-content: center;
	width: 100%;
	max-width: 100%;
}

.front-contact__hours{
	font-size: 15px;
	color: #666;
	line-height: 1.4;
	margin: 0;
	text-align: center;
	width: 100%;
}

.front-contact__hoursNote{
	font-size: 13px;
	margin-top: 6px;
	color: #666;
}

/* CTAボタン */
.front-contact__cta{
	flex-shrink: 0;
	display: flex;
	align-items: center;
	padding-left: 20px;
	width: 50%;
	justify-content: center;
}

.front-contact__ctaBtn{
	background: rgba(110, 133, 131, .9);
	color: white;
	padding: 30px 35px;
	text-decoration: none;
	font-size: 24px;
	font-weight: bold;
	display: block;
	text-align: center;
	transition: all 0.3s ease;
	box-shadow: 0 4px 8px rgba(0,0,0,0.1);
	white-space: nowrap;
	min-width: 200px;
}

.front-contact__ctaBtn:hover{
	transform: translateY(-2px);
	box-shadow: 0 6px 12px rgba(0,0,0,0.15);
}


/* タブレット（~1279px） */
@media (max-width:1279px){
  /* タブレットでも25/75。左の最低幅は220px */
  .front-hero__grid{ grid-template-columns:minmax(220px,1fr) 3fr; min-height:64vh; }
  
  /* お問い合わせセクション */
  .front-contact__info{
    gap: 20px;
    text-align: center;
  }
  
  .front-contact__phone{
    gap: 10px;
  }
  
  .front-contact__ctaBtn{
    padding: 16px 24px;
    font-size: 14px;
  }
  .front-nav__list{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .front-features__title{ font-size:3.5rem; }
}

  @media (max-width:1023px){
  /* お問い合わせセクション */
  
  .front-contact__titleArea{
    padding-top: 15px;
  }
  
  .front-contact__title{
    flex-direction: column;
    gap: 5px;
  }
  
  .front-contact__phoneNumber{
    font-size: 20px;
  }
  
  .front-contact__ctaBtn{
    padding: 14px 20px;
    font-size: 13px;
    min-width: 160px;
  }
  
  /* スマートフォンでも横並びを維持 */
  .front-contact__info{
    flex-direction: row !important;
    gap: 10px;
  }
  
  .front-contact__phone{
    flex-direction: row !important;
  }
  .front-hero__grid{ grid-template-columns:1fr; }
  .front-hero__right{ height:48vh; }
  .front-navbar{ background:#e3e3e3; color:#333; }
  .front-navbar__inner{ flex-direction:column; gap:16px; padding:16px; height:auto; }
  .front-navbar__list{ flex-wrap:wrap; justify-content:center; }
  .front-navbar__link{ padding:12px 16px; font-size:15px; color:#333; }
  .front-navbar__link:hover{ background:rgba(0,0,0,0.1); }
  .front-navbar__ctaBtn{ padding:12px 20px; font-size:13px; }
  .front-features__title{ font-size:27px; }
  .front-features__text{ font-size:19px; }
  .front-features__descriptionText{ font-size:17px; text-align:left; font-weight:bold; }
  .front-pricing__content{ gap:24px; }
  .front-pricing__image img{ height:180px; }
  .front-pricing__detail{ display:flex; gap:20px; }
  .front-pricing__details{ font-size:12px; }
  .front-pricing__detailValue{ font-size:13px; }
  .front-pricing__detailLabel{ font-size:12px; }
  .front-pricing__priceValue{ font-size:18px; }
  .front-pricing__priceLabel{ font-size:13px; }
  .front-pricing__plotTitle{ font-size:16px; }
  .front-reasons__content{ grid-template-columns:1fr; gap:40px; }
  .front-overview__row{ flex-direction:column; }
  .front-overview__label{ min-width:auto; }
  .front-access__content{ gap:30px; }
  .front-access__map iframe{ height:350px; }
  .front-access__info{ grid-template-columns:1fr; gap:16px; }
}


  