@charset "UTF-8";
/* CSS Document */
/* ===============================
   Minimal Reset
=============================== */
*, *::before, *::after {
	box-sizing: border-box;
}
html {
	-webkit-text-size-adjust: 100%;
}
body {
	margin: 0;
	line-height: 1;
}
h1, h2, h3, h4, h5, h6,
p, figure {
	margin: 0;
}
ul, ol {
	margin: 0;
	padding: 0;
	list-style: none;
}
a {
	color: inherit;
	text-decoration: none;
	transition: all 0.3s;
}
a:hover{
	opacity: 0.6;
}
img {
	display: block;
	max-width: 100%;
	height: auto;
}
button, input, select, textarea {
	font: inherit;
	color: inherit;
	background: none;
	border: none;
	padding: 0;
}
select, textarea{
  background-color: #fff;
}
input:focus, select:focus, textarea:focus{
	border: 1px solid var(--green);
}
input::placeholder {
  color:var(--border);
}
input[type="checkbox"] {
 appearance: none;
}


/* =========================================================
	Base
========================================================= */
:root{
	--orange:#ee7203;
	--pinkThin:#fff3fa;
	--pinkDeep:#ff8abf;
	--green:#008b48;
	--lime:#c6db00;
	--grayBg:#f9f8f7;
	--ink:#111111;
	--text333:#333333;
	--border:#cfcfcf;
	--cardBorder:#b3b3b3;
	--red:#c1272d;
	--shadow: 0 0 8px rgba(0 0 0 / 0.1);
	--form:#f9f8f7;
	--header-h: 112px; 
}

html,body{ height:100%; }
body{
	margin:0;
	font-family:"Noto Sans JP", sans-serif;
	color:#000;
	background:#fff;
}
a{ color:inherit; text-decoration:none; }
img{ display:block; max-width:100%; height:auto; }

.container{
	width:1140px;
	margin:0 auto;
}
/* iPad背景切れ対策 */
@media print, screen and (min-width:813px){
	body,#wrapper{
		min-width: 1200px;
	}
}

#wrapper{
	padding-top: var(--header-h);
}
.telLink{
	pointer-events: none;
	cursor: default;
}
main.news{
	min-height: calc(100vh - var(--header-h));
}

/* =========================================================
	Header
========================================================= */
.header{
	width:100%;
	background:#fff;
  position: fixed;
	top: 0;
	z-index: 1000;
/* 初期状態：影なし */
  box-shadow: none;
  transition: box-shadow 0.3s ease;
}
/* スクロール時：影あり */
.header.is-shadow {
  box-shadow: 0 8px 8px -8px rgba(0 0 0 / 0.1);
}
.header__inner{
	position:relative;
	height:112px;
	display:flex;
	align-items:center;
}
.header__logo{
	position:absolute;
	left:30px;
	top:50%;
	transform:translateY(-50%);
	box-shadow:var(--shadow);
	background: #fff;
	width: 140px;
	height: 124px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-flow: column;
	gap:9px 0;
	z-index: 1001;
}
.header__logo img{
	width:90px;
	height:58px;
}
.logo__text{
	font-weight: 800;
	font-size: 12px;	
}
.header__nav{
	min-width: 642px;
	flex-shrink: 0;
	margin-left:200px;
	display:flex;
	align-items:center;
	gap:33px;
}
.header__navLink{
	display:flex;
	align-items:center;
	justify-content: center;
	flex-flow: column;
	gap:10px;
	font-size:16px;
	font-weight:600;
}
/*
.header__navLink:hover{
	transform: translateY(-5px);
}
*/
.header__navIcon{
	height:38px;
	width: auto;
	display: block;
}
.header__right{
	margin-left:auto;
	display:flex;
	align-items:center;
	gap:20px;
}

/* search */
.sr-only{
  position:absolute;
  width:1px;
	height:1px;
  padding:0;
	margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0);
  white-space:nowrap; border:0;
}
.search{
  display:flex;
  align-items:stretch;
  width:170px;
  height:32px;
}
.search__label{
	flex:1;
	min-width:0;
}
.search__input{
  width:100%;
  height:100%;
  border:1px solid #d7d7d7;
  border-right:none;
  border-radius:4px 0 0 4px;
  padding:0 10px;
  font-size:12px;
  font-weight:500;
  outline:none;
  background:#fff;
}
.search__input::placeholder{
	color:#c9c9c9;
}
.search__btn{
  width:36px;
  height:100%;
  display:grid;
  place-items:center;
  border:1px solid #d7d7d7;
  border-left:none;
  border-radius:0 4px 4px 0;
  background:#bfbfbf;
  cursor:pointer;
  padding:0;
}
.search__input:focus,
.search__btn:focus{
  outline:2px solid rgba(0 0 0 0 / 0.25);
  outline-offset:2px;
}
.search__input,
.search__btn {
  outline: none;
}
.search__input:focus,
.search__btn:focus {
  outline: none;
  box-shadow: none;
}

/* cart */
.cart{
	width:112px;
	height:112px;
	background:var(--orange);
	color:#fff;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
}
.cart img{
	width: 30px;
	height: 30px;
}
.cart__text{
	margin-top:4px;
	font-size:14px;
	font-weight:700;
	line-height:1;
}

/* =========================================================
	header nav active line
	========================================================= */

.header__navLink{
	position:relative;
}
/* 下線（非表示がデフォルト） */
.header__navLink::after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:-9px;
	height:2px;
	background:var(--lime);
	opacity:0;
}
/* active のときだけ表示 */
.header__navLink.is-active::after{
	opacity:1;
}

/* =========================================================
	Highlight (underline-like)
========================================================= */
.hl{
	padding:0 2px;
	font-size:28px;
	font-weight:800;
	letter-spacing:0.02em;
}
.hl--pink{
	background:linear-gradient(transparent 70%, var(--pinkDeep) 0%);
}
.hl--lime{
	background:linear-gradient(transparent 70%, var(--lime) 0%);
}
.hl--white{
	background:linear-gradient(transparent 70%, rgba(255 255 255 / 0.5) 0%);
}
.title__sub{
	color: var(--green);
	margin-bottom:-5px;
	padding-top:15px;
	font-size: 21px;
}
.detail__title{
	font-size: 24px;
	line-height: 1.45;
	width: fit-content;
	max-width: 800px;
	margin: 0 auto;
}

/* =========================================================
	Important notice
========================================================= */
.important{
	width:100%;
	background:var(--pinkThin);
	border-bottom:5px solid #fff;
}
.important__inner{
	padding:40px 0;
	display:flex;
	align-items:flex-start;
	gap:60px;
}
.important__title{
	white-space:nowrap;
	display: flex;
	flex-direction: column;
}
a.important__subTitle{
	display:flex;
	gap:6px;
	margin-top: 20px;
	font-size: 14px;
	font-weight: 500;
	color: var(--pinkDeep);
}
.important__title img{
	width:16px;
	height:16px;
}
.important__list{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:15px 40px;
	width:720px;
}
.important__link{
	font-size:16px;
	font-weight:500;
	line-height:1.8;
	text-underline-offset:4px;
	background: linear-gradient(transparent 95%, var(--pinkDeep) 0%);
}


/* =========================================================
	KV
========================================================= */
.kv{ width:100%; background:#fff; }
.kv__inner{ padding:0; }
.kv__grid{
	display:grid;
	grid-template-columns:1fr 1fr;
}
.kv__panel{
	padding:45px 0;
}
.kv__panel--left{ background:rgba(198 219 0 / 0.3); }
.kv__panel--right{ background:rgba(198 219 0 / 0.1); }
.kv__panelInner{
	width:460px;
	margin:0 auto;
	text-align:center;
	display: flex;
	flex-direction: column;
	height: 100%;
}
.kv__heading{
	margin:0;
	text-align: center;
	line-height: 32px;
}
.kv__ill{
	margin-top:28px;
	display:flex;
	justify-content:center;
}
.kv__ill img{
	width:274px;
}
.kv__telRow{
	margin-top:10px;
	display:flex;
	justify-content:center;
	gap:10px;
}
.kv__telIcon{ 
	width:34px;
	height:40px;
}
.kv__tel{
	color:var(--text333);
	font-size:40px;
	font-weight:800;
	line-height:1;
	letter-spacing:0.06em;
	text-align: left;
}
.kv__hours{
	margin-top:6px;
	font-size:14px;
	font-weight:500;
	color:var(--text333);
	text-align: left;
}
.kv__lead{
	margin-top:34px;
	font-size:16px;
	font-weight:800;
	color:var(--text333);
}
.kv__cta{
	margin-top: 20px; 
	display:flex;
	justify-content:center;
}
/* buttons */
.btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:5px;
	font-size:18px;
	font-weight:800;
	height:67px;
	padding: 0 52px;
	transition:all 0.3s;
	cursor: pointer;
}
/* アイコン共通 */
.btn__icon{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	width:20px;
	height:20px;
}
/* 左アイコン：先頭に置かれている時 */
.btn > .btn__icon:first-child{
	left:18px;
	right:auto;
}
/* 右アイコン：末尾に置かれている時 */
.btn > .btn__icon:last-child{
	right:18px;
	left:auto;
}
/* 既存互換（小アイコン） */
.btn__icon.btn__Blank{
	width:16px;
	height:16px;
}
.btn--wide{
	width:370px;
 }
.btn--green{
	background:var(--green); color:#fff;
}
.btn--green:hover{
	background:var(--lime); color:var(--green);
	opacity: 1;
}
.btn--gray{
	background: var(--cardBorder);
	color: #fff;
}
.btn.btn--gray > .btn__icon{
  left:18px;
  right:auto;
}


/* =========================================================
	Cards sections
========================================================= */
.cards{
	padding-top: 50px;
	width:100%;
	background:#fff;
}
.cards.tips{
	padding: 50px 0 80px 0;
}
.cards.tips .sectionHead__Icon{
	margin-right: 8px;
}
.sectionHead__Icon{
	position: relative;
	bottom: -2px;
	width:auto;
	height:38px;
}
.sectionHead{
	display:flex;
	align-items:end;
	gap: 10px;
}
.sectionHead__title{
	margin:0;
	font-size:22px;
	font-weight:800;
}
.sectionHead__more{
	display:flex;
	align-items:center;
	gap:6px;
	font-size:14px;
	font-weight: 500;
	color:var(--green);
}
.sectionHead__more .btn__All{
	width: 16px;
	height: 16px;
}
.cardGrid{
	margin-top:30px;
	display:grid;
	grid-template-columns:repeat(4, minmax(0, 1fr));
	gap:40px 28px;
}
.cardItem,.cardItem__main{
	display:block;
}
.cardItem__imgFrame{
	border:1px solid var(--cardBorder);
	background:#fff;
}
.cardItem__imgFrame img{
	max-width: 263px;
	max-height: 176px;
	object-fit:cover;
}
.cardItem__day{
	color: var(--green);
	font-size: 12px;
	font-weight: 500;
	margin-top: 10px;
	letter-spacing: 0.05em;
}
.cardItem__text{
	margin:5px 0 0;
	font-size:14px;
	font-weight:500;
	line-height:1.5;
	text-align:justify;
}
.cardItem__area{
	margin-top: 25px;
}
.cardItem__area .cardItem__tags{
	max-width:1140px;
	font-size: 15px;
	gap: 15px 25px;
	justify-content: center;
	margin:0 auto;
	flex-wrap: wrap;
}
.cardItem__tag{
	position: relative;
  display: inline-block;
  padding-bottom: 6px; /* 下線との余白 */
  text-decoration: none;
}
.cardItem__tags{
	margin-top:6px;
	display:flex;
	align-items:center;
	gap:15px;
	font-size:12px;
	font-weight:500;
	color:#b3b3b3;
}
/* 現在タグ */
.cardItem__tag.is-current{
  font-weight:700;
	color: var(--green);
}


/* =========================================================
	News + FAQ (two-column with center dotted)
========================================================= */
.tit__Icon{
	width: 36px;
	height: 38px;
}
.newsFaq{
	width:100%;
	background:var(--grayBg);
}
.newsFaq__inner{
	padding:70px 0 60px;
}
.newsFaq__grid{
	position:relative;
	display:grid;
	grid-template-columns:1fr 1fr;
	column-gap:90px;
}
.newsFaq__grid::before{
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	left:50%;
	transform:translateX(-50%);
	width:2px;
	background-image:repeating-linear-gradient(
		to bottom,
		var(--lime) 0px,
		var(--lime) 5px,
		transparent 5px,
		transparent 10px
	);
	pointer-events:none;
}
.newsFaq__col{
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  min-height: 100%; 
}
.newsFaq__titArea{
	display: flex;
	align-items:center;
	gap:10px;
}
.newsFaq__title{
	margin:0;
	font-size:22px;
	font-weight:800;
	letter-spacing:0.02em;
}
/* news list */
.newsList{
	margin-top:34px;
	border-top:1px solid var(--border);
}
.newsRow{
	display:grid;
	grid-template-columns:140px 1fr;
	column-gap:26px;
	padding:22px 0;
	border-bottom:1px solid var(--border);
}
.newsRow__date{
	font-size:16px;
	color:var(--text333);
	line-height: 1.6;
}
.newsRow__body{ color:var(--text333); }
.newsRow__headline{
	font-size:16px;
}
.newsRow__text{
	font-size:14px;
	line-height:1.5;
	word-break: break-all;
}
.newsFaq__btnWrap{
	margin-top: auto;
	padding-top: 34px;
	display: flex;
	justify-content: center;
	}
.ghostBtn{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:14px;
	height:54px;
	border-radius:6px;
	background:#fff;
	font-size:14px;
	font-weight:700;
	color:var(--green);
	box-shadow:var(--shadow);
	position: relative;
}
.ghostBtn--news,
.ghostBtn--faq{
	width:320px;
}
.ghostBtn__icon{
	display:inline-flex;
	width:14px;
	height:14px;
	align-items:center;
	justify-content:center;
	border:1px solid var(--green);
	font-size:10px;
	line-height:1;
}

/* faq cards */
.faqList{
	margin-top:34px;
	display:flex;
	flex-direction:column;
	gap:12px;
}
.faqCard{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:30px 50px 30px 26px;
	border-radius:10px;
	background:#fff;
	box-shadow:var(--shadow);
	position: relative;
}
.faqCard__left{
	display:flex;
	align-items:center;
	gap:18px;
	min-width: 0;
}
.faqCard__q{
	font-size:22px;
	font-weight:600;
	color:#0b1b3a;
}
.faqCard__text{
	font-size:16px;
	font-weight:600;
	line-height: 1.5;
	word-break: break-all;
}
.faqCard__icon{
	display:inline-flex;
	width:16px;
	height:16px;
	align-items:center;
	justify-content:center;
	position: absolute;
	right: 15px;
}
/* リスト部分が伸びる領域（必要なら） */
.newsList,
.faqList{
	flex: 1;
}


/* =========================================================
	Footer
========================================================= */
.footer{ width:100%; }
.footerTop{
	width:100%;
	background:var(--lime);
	padding:40px 0;
}
.footerTop__inner{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:44px;
}
.footerTop__title{
	font-size:22px;
	font-weight:800;
	color:#222;
}
.footerTop__tel{
	display:flex;
	gap:10px;
}
.footerTop__tel img{
	width:24px;
	height: 30px;
}
.footerTop__telNum{
	font-size:34px;
	font-weight:800;
	line-height:1;
	letter-spacing:0.02em;
	color:#222;
}
.footerTop__hours{
	margin-top:6px;
	text-align:center;
	font-size:12px;
	font-weight:500;
	color:#222;
	text-align: left;
}
.footerTop__btn{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	width:260px;
	height:55px;
	border-radius:5px;
	background:var(--green);
	color:#fff;
	font-size:14px;
	font-weight:800;
	position: relative;
}
.footerTop__btnIcon{
	width:14px;
	height:14px;
	line-height:1;
	position: absolute;
	right: 15px;	
}
.footerBottom{
	width:100%;
	background:var(--green);
}
.footerBottom__inner{
	height:72px;
	display:flex;
	align-items:center;
	justify-content:space-between;
}
.footerBottom__left{
	display:flex;
	flex-flow: column;
	gap:12px;
}
.footerBottom__links{
	display:flex;
	align-items:center;
	gap:26px;
	font-size:12px;
	font-weight:700;
	color:#fff;
}
.footerBottom__copy{
	font-size:12px;
	font-weight:400;
	color:#fff;
}
.footerBottom__sns{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	align-items:center;
	gap:14px;
}
.footerBottom__sns img{
	width: 25px;
	height: 25px;
}
.footerBottom__sns a{
	display:inline-flex;
}

/* =========================================================
   breadcrumb（共通）パンクズ
   ========================================================= */
.breadcrumb{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  font-size:11px;
  line-height:1.5;
  color:#808080;
}
.breadcrumb__link{
  color:#808080;
  text-decoration:none;
}
.breadcrumb__sep{
  color:#aaa;
}
.breadcrumb__current{
  color:#808080;
}
/* PC hover */
.breadcrumb__link:hover{
  text-decoration:underline;
}

/* =========================================================
   pageIntro（共通）
   - 背景色はここでは決めない（ページ別に上書き）
   ========================================================= */
.pageIntro{
  padding:26px 0 50px 0;
}
.pageIntro__breadcrumb{
  padding:0 0 25px;
}
.pageIntro__title{
  margin:0;
  text-align:center;
  font-size:22px;
  font-weight:800;
  letter-spacing:0.06em;
  position:relative;
  display:inline-block;
  left:50%;
  transform:translateX(-50%);
}
.pageIntro__title::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-6px;
  height:3px;
  background:#c6db00;
}
.pageIntro__lead{
  margin-top:30px;
  text-align:center;
  font-size:16px;
	font-weight: 500;
  line-height:1.9;
}
.pageIntro__leadStrong{
  display:inline-block;
  margin-bottom:14px;
  color:var(--green);
  font-weight:800;
	font-size: 18px;
	text-align: center;
}
/* =========================================================
   pageMain（共通）
   - 白背景の本文エリア
   ========================================================= */
.pageMain{
  background:#fff;
  padding:30px 0 70px;
}
/* ページによって本文幅を揃えたい時に使う任意クラス */
.pageMain__inner{
  max-width:800px;
  margin:0 auto;
}

br.sp{
  display:none;
}
br.pc{
  display:inline;
}

/* =========================================================
	ここからSP
========================================================= */
@media screen and (max-width: 812px) {
	:root{
    --header-h: 72px; /* SP */
  }
	 br.sp{
    display:inline;
  }
	br.pc{
    display:none;
  }

	/* =========================
		Reset / Base（SP対応）
	========================= */
	/* iPad背景切れ対策の min-width をSPでは解除 */
	body,#wrapper{
		min-width: 0;
	}
	#wrapper{
		padding-top: 64px;
	}
	.container{
		width: 100%;
		margin: 0 auto;
		padding: 0 16px;
	}
	.telLink{
		pointer-events: auto;
		cursor: pointer;
	}

	/* SPではhover効果を無効化（タップ時の疑似hoverも抑える） */
	@media (hover: none) and (pointer: coarse) {
		a{ transition: none; }
		a:hover{ opacity: 1; }
		.header__navLink:hover{ transform: none; }
		.header__navLink::after{ display:none; }
		.btn--green:hover{ background: var(--green); color: #fff; opacity: 1; }
		
	}

	/* =========================
		Header（ハンバーガー前提）
	========================= */
	.header__inner{
		height: 64px;
		padding: 0;
	}
	.header__logo{
		left: 0;
		width: 85px;
		height: 75px;
		padding-top: 5px;
	}
	.header__logo img{
		width: 54px;
		height: auto;
	}
	.logo__text{
		font-size: 10px;
	}
	/* SPは右側：検索非表示、カートはアイコンのみ */
	.search{
		display: flex;
		width: 122px;
		height: 32px;
	}
	.search__input{
		font-size: 10px;
		padding: 0 0 0 5px;
	}
	.search__btn{
		width: 24px;
	}
	.search__btn img{
		width: 10px;
	}
	.cart{
		width: 64px;
		height: 64px;
	}
	.cart img{
		width: 22px;
		height: 22px;
	}
	.cart__text{
		font-size: 10px;
	}
	/* ハンバーガーボタン（HTMLに追加した .header__hamburger を想定） */
	.header__hamburger{
		width: 60px;
		height: 24px;
		display: grid;
		place-items: center;
		border: none;
		background: transparent;
		padding: 0;
		cursor: pointer;
	}
	.header__hamburgerLine{
		display: block;
		width: 26px;
		height: 2px;
		background: #000;
		border-radius: 2px;
		transition: transform 0.25s ease, opacity 0.25s ease;
	}
	.header__hamburgerLine + .header__hamburgerLine{
		margin-top: 5px;
	}
	.header__nav{
		position: fixed;
		top: 64px;
		left: 0;
		width: 100%;
		height: calc(100vh - 64px);
		background: #fff;
		z-index: 900;
		display: flex;
		flex-direction: column;
		gap:20px;
		align-items: stretch;
		padding:40px 0 0 0;
		/* ▼ ここが「ふわっと」用 */
		opacity: 0;
		visibility: hidden;
		transform: translateY(-10px);
		transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0.25s;
		margin: 0;
	}
	.header.is-open .header__nav{
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s;
	}
	.header .header__navLink{
		padding: 14px 12px;
		flex-flow: row;
		justify-content: flex-start;
		align-items: center;
		gap: 10px;
		font-size: 18px;
		padding: 10px 0 10px 40px;
	}
	.header__navLink:first-child .header__navIcon{
		position: relative;
		top:-2px;
	}
	.header__navLink:nth-child(2) .header__navIcon,
	.header__navLink:nth-child(3) .header__navIcon {
		position: relative;
		left:-2px;
	}
	.header__navIcon{
		height: 28px;
		width: 28px;
	}
	/* ハンバーガー→× */
	.header.is-open .header__hamburgerLine:nth-child(1){
		transform: translateY(13px) rotate(45deg);
	}
	.header.is-open .header__hamburgerLine:nth-child(2){
		opacity: 0;
	}
	.header.is-open .header__hamburgerLine:nth-child(3){
		transform: translateY(-7px) rotate(-45deg);
	}
	/* =========================
		Important（縦積み）
	========================= */
	.important__title{
		flex-direction: row;
		gap: 0 20px;
	}
	.important__title img{
		width: 12px;
		height: 12px;
	}
	.important__inner{
		padding: 30px 20px;
		flex-direction: column;
		gap: 24px;
	}
	.important__list{
		width: 100%;
		grid-template-columns: 1fr;
		gap: 18px;
	}
	a.important__subTitle{
		font-size: 10px;
		gap: 3px;
	}
	.important__link{
		font-size: 14px;
		line-height: 1.6;
	}
	.hl{
		font-size: 20px;
	}
	.detail__title{
		line-height: 1.5;
		font-size: 18px;
	}

	/* =========================
		KV（2カラム→1カラム）
	========================= */
	.kv__grid{
		grid-template-columns: 1fr;
	}
	.kv__panel{
		padding: 30px 0;
	}
	.kv__panelInner{
		width: 100%;
		padding: 0 20px;
	}
	.kv__ill{
		margin-top: 14px;
	}
	.kv__ill img{
		width: 210px;
	}
	.kv__telRow{
		gap: 8px;
		align-items: flex-start;
	}
	.kv__telIcon{
		width: 28px;
		height: auto;
	}
	.kv__tel{
		font-size: 30px;
		letter-spacing: 0.03em;
	}
	.kv__hours{
		font-size: 12px;
		margin-top: 4px;
	}
	.kv__lead{
		margin-top: 12px;
		font-size: 14px;
	}
		.btn{
		height: 56px;
		font-size: 16px;
		padding: 0 46px;
	}
	.btn__icon{
		width: 18px;
		height: 18px;
	}
	.btn--wide{
		width: 100%;
	}
	/* =========================
		Cards（縦積み＋2列）
	========================= */
	.cards{
		padding-top: 28px;
	}
	.cards.tips{
		padding: 38px 0;
	}
	.cards__inner{
		padding-top: 0 20px;
	}
	.sectionHead{
		gap: 8px;
	}
	.cards.tips .sectionHead__Icon{
		margin-right: 0;
		margin-left: -4px;
	}
	.sectionHead__Icon{
		width: 28px;
		height: 28px;
	}
	.sectionHead__title{
		font-size: 18px;
	}
	.sectionHead__title span{
		letter-spacing: -0.3rem;
	}
	.sectionHead__more{
		font-size: 10px;
		gap: 3px;
	}
	.sectionHead__more .btn__All{
		width: 12px;
		height: 12px;
	}
	.cardGrid{
		margin-top: 16px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
	.cardItem__imgFrame img{
		width: 100%;
		height: 110px;
	}
	.cardItem__text{
		font-size: 12px;
		line-height: 1.5;
	}
	.cardItem__tags{
		font-size: 11px;
		gap: 10px;
	}
	.cardItem__area .cardItem__tags{
		font-size: 13px;
		gap: 15px;
	}

	/* =========================
		News + FAQ
	========================= */
	.tit__Icon{
		width: 28px;
		height: 30px;
	}
	.title__sub{
		font-size: 18px;
		padding-top:0;
	}
	.news .pageMain{
		padding: 0 0 46px 0	;
	}
	.newsFaq__inner{
		padding: 28px 20px;
	}
	.newsFaq__grid::before{
			content: none;
	}
  .newsFaq__grid{
    display: grid;
    gap: 35px 0;
		grid-template-columns: 1fr;
  }
  .newsFaq__col:nth-child(1){
    order: 2;
    position: relative;
    padding-top: 28px;
  }
	/* FAQを上へ */
 .newsFaq__col:nth-child(2){
    order: 1;
  }
	.newsFaq__col:nth-child(1)::before{
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		height: 2px;
		background-image: repeating-linear-gradient(to right,var(--lime) 0px,var(--lime) 6px,transparent 6px,transparent 12px);
		pointer-events: none;
	}
	.newsFaq__title{
		font-size: 18px;
	}
	.newsList{
		margin-top: 16px;
	}
	.newsRow{
		grid-template-columns: 80px 1fr;
		column-gap: 12px;
		padding: 14px 0;
	}
	.newsRow__date{
		font-size: 13px;
	}
	.newsRow__headline{
		font-size: 13px;
	}
	.newsRow__text{
		font-size: 12px;
	}
	.faqList{
		margin-top: 16px;
		gap: 10px;
	}
	.faqCard{
		padding: 16px 36px 16px 14px;
		border-radius: 8px;
	}
	.faqCard__left{
		gap: 12px;
	}
	.faqCard__q{
		font-size: 18px;
	}
	.faqCard__text{
		font-size: 13px;
	}
	.faqCard__icon{
		right: 12px;
	}
	.newsFaq__btnWrap{
		padding-top: 25px;
	}
	.ghostBtn--news,
	.ghostBtn--faq{
		width: 100%;
		font-size:15px;
	}
	/* =========================
		Footer（縦積み）
	========================= */
	.footerTop{
		padding: 20px 0;
	}
	.footerTop__inner{
		flex-direction: column;
		gap: 14px;
	}
	.footerTop__title{
		font-size: 18px;
	}
	.footerTop__telNum{
		font-size: 28px;
	}
	.footerTop__btn{
		width: 100%;
		max-width: 360px;
		height: 54px;
	}
	.footerBottom__links{
		font-size: 10px;
		flex-wrap: wrap;
		gap: 14px;
		justify-content: center;
	}
	.footerBottom__inner{
		display: block;
		text-align: center;
		height: auto;
		padding: 14px 20px;
		gap: 10px;
	}
	.footerBottom__left{
		gap: 18px;
	}
	.footerBottom__copy{
		font-size: 10px;
	}
	.footerBottom__sns{
		justify-content: center;
		padding-top: 15px;
	}
	/* =========================================================
		breadcrumb（共通）パンクズ
		========================================================= */
	.breadcrumb{
		margin:0;
		padding:0;
		list-style:none;
		display:flex;
		flex-wrap:wrap;
		align-items:center;
		gap:0 6px;
		font-size:10px;
		line-height:1.5;
		color:#808080;
	}

	/* =============================================
		pageIntro（共通）
		============================================== */
  .pageIntro{
    padding:16px 0 18px 0px;
  }
	.pageIntro__breadcrumb{
		padding-bottom: 14px;
	}
  .pageIntro__title{
    font-size:20px;
  }
  .pageIntro__lead{
    margin:14px auto 0 auto;
    font-size:13px;
    padding:0 6px;
		text-align: left;
  }
	.pageIntro__leadStrong{
	font-size: 15px;
	line-height: 1.6;
	text-align: center;
	display: block;
	}
  .pageMain{
    padding:30px 0 46px 0;
  }
}

/* =========================================================
   SPではhover無効化（共通）
   ========================================================= */
@media (hover: none) and (pointer: coarse){
  .breadcrumb__link:hover{
    text-decoration:none;
  }
}	
