/*********************

      mv_block

*********************/
#mv_block {
	width: 100%;
	position: relative;
	margin-top: -70px;
}

#mv_block .mv_box {
	min-height: 100vh;
	min-height: 100dvh;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding-top: 0px;
	padding-bottom: 120px;
	box-sizing: border-box;
}

#mv_block .mv_back {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -10;
	overflow: hidden;
}

#mv_block .mv_back img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
}


#mv_block .mv_logo {
	width: 100%;
	margin-top: 30px;
	position: relative;
	animation: bounceIn 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
}

#mv_block .mv_logo img {
	margin: 0 auto;
	max-width: 480px;
	width: 70%;

}

#mv_block .mv_logo::before {
	content: "";
	display: block;
	background-image: url(../img/mv_img_02.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: left bottom;
	width: 20%;
	max-width: 250px;
	height: 270px;
	position: absolute;
	bottom: -20px;
	left: -10px;
	opacity: 0;
	animation: bounceIn 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 1s forwards;
}

#mv_block .mv_txt {
	width: 90%;
	max-width: 1000px;
	margin: 40px auto 70px
}

#mv_block .mv_txt img {
	width: 100%;
	opacity: 0;
	animation: bounceIn 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s forwards;
}

/* nav */
#mv_block .nav {
	width: 100%;
	display: inline-block;
}

#mv_block .nav .gnav {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: center;
    align-items: center;
    gap: 30px;
    background-color: #00a33e;
    padding: 25px 14vw;
    border-radius: 50px;
}
#mv_block .nav .gnav li a {
	font-size: 16px;
	font-weight: 700;
	color: #fff;
	position: relative;
	padding-left: 30px;
	display: inline-block;
	line-height: 1.5;
	transition: 0.2s;
	z-index: 9;
}


#mv_block .nav .gnav li a::before {
	content: "";
	display: block;
	background-image: url(../img/nav_icon.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 26px;
	height: 26px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
}

#mv_block .nav .gnav li a:hover::before {
	background-image: url(../img/nav_icon_hover.svg);
	transition: 0.2s;
}

/* mv_content */
#mv_block .mv_content {
	padding: 0 0 120px;
}

#mv_block .mv_content .txt {
	font-size: 24px;
	font-weight: 700;
	line-height: 180%;
	letter-spacing: 0.1em;
	color: #005e3c;
}

#mv_block .mv_content .txt span {
	color: #00a33e;
}

#mv_block .mv_content .mv_content_list {
	margin: 60px 0;
	border-top: 2px solid #00a33e;
}

#mv_block .mv_content .mv_content_list li {
	padding: 30px 0;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
	border-bottom: 2px solid #00a33e;
}

#mv_block .mv_content .mv_content_list li p {
	font-size: 24px;
	font-weight: 700;
}

#mv_block .mv_content .mv_content_list li h5 {
	width: 110px;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	line-height: 1;
	color: #fff;
	background: #00a33e;
	margin-right: 30px;
	padding: 7px 0;
	border-radius: 4px;
	display: inline-block;
}

#mv_block .mv_content .btn_style {
	display: block;
	max-width: 500px;
	width: 100%;
	margin: 0 auto;
	padding: 32px 0;
	background: #abcd03;
	font-size: 24px;
	font-weight: 700;
	text-align: center;
	color: #005e3c;
	border-radius: 50px;
	position: relative;
	transition: 0.2s;
}

#mv_block .mv_content .btn_style:hover {
	color: #fff;
	background: #00a33e;
}

#mv_block .mv_content .btn_style:before {
	content: "";
	display: inline-block;
	width: 92px;
	height: 70px;
	background-image: url(../img/icon_btn_pdf.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	left: 30px;
	top: 0;
	bottom: 0;
	margin: auto 0;
}

@media screen and (max-width: 1300px) {
	#mv_block .nav .gnav {
		gap: 15px 30px;
		/* 縦の隙間15px、横の隙間30px */
		padding: 20px;
		/* 全体の余白を少し減らす */
		border-radius: 30px;
		/* 丸みを少し抑える */
		width: 100%;
		max-width: 800px;
		/* 幅を親に合わせる */
		box-sizing: border-box;
		margin: 0 auto;
	}

	#mv_block .nav .gnav li {
		width: 45%;
		/* 2列にする設定（余白含めて50%以下にする） */
		text-align: left;
		/* または center */

	}

	#mv_block .nav .gnav li a {
		width: 100%;
		/* リンクのクリック範囲を広げる */
	}

	#mv_block .mv_content .txt {
		font-size: 20px;
	}

	#mv_block .mv_content .mv_content_list {
		margin: 40px 0;
	}

	#mv_block .mv_content .mv_content_list li {
		padding: 20px 0;
	}

	#mv_block .mv_content .mv_content_list li h5 {
		font-size: 16px;
	}

	#mv_block .mv_content .mv_content_list li p {
		font-size: 20px;
		width: calc(100% - 150px);
	}

	#mv_block .mv_content .btn_style {
		max-width: 460px;
		padding: 25px 0;
		font-size: 22px;
	}

	#mv_block .mv_content .btn_style:before {
		width: 72px;
		height: 50px;
		left: 35px;
	}
}

@media screen and (max-width: 840px) {
	#mv_block .nav .gnav {

		padding: 30px;
		/* 全体の余白を少し減らす */
	}

	#mv_block .nav .gnav li {
		width: 100%;
		/* ギリギリまで広げる */
		font-size: 13px;
	}

	#mv_block .nav {
		width: 100%;
		max-width: 400px;
		margin: 0 auto;
		display: block;
	}

	#mv_block .nav .gnav {
		border-radius: 30px;
	}

	#mv_block .mv_content .txt {
		font-size: 18px;
	}

	#mv_block .mv_content .mv_content_list li h5 {
		margin-bottom: 15px;
	}

	#mv_block .mv_content .mv_content_list li p {
		font-size: 18px;
		width: 100%;
	}

	#mv_block .mv_content .btn_style {
		max-width: 380px;
		padding: 20px 0;
		font-size: 20px;
	}

	#mv_block .mv_content .btn_style:before {
		width: 62px;
		height: 40px;
	}
}

@media screen and (max-width: 640px) {
	#mv_block {
		margin-top: -30px;
	}

	#mv_block .mv_box {
		padding-bottom: 72px;
	}

	#mv_block .mv_logo::before {
		display: none;
	}

	#mv_block .mv_point_img {
		width: 150px;
		margin: 0 auto 20px;
		opacity: 0;
		animation: bounceIn 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 1s forwards;
	}

	#mv_block .mv_txt {
		min-width: 317px;
		margin: 15px auto 20px;
	}

	#mv_block .nav .gnav li a {
		font-size: 13px;
	}

	#mv_block .nav .gnav {
		gap: 30px;
		background-color: #00a33e;
		padding: 25px 0px;
		border-radius: 20px;
	}

	#mv_block .nav {
		width: 100%;
		max-width: 350px;
		margin: 0 auto;
		display: block;
	}

	#mv_block .nav .gnav {
		gap: 15px 10px;
		padding: 25px;
		border-radius: 20px;
		align-items: flex-start;
	}

	#mv_block .nav .gnav li {

		font-size: 13px;
	}

	#mv_block .nav .gnav li a::before {
		width: 20px;
		height: 20px;
	}

	#mv_block .mv_content {
		padding: 0 0 60px;
	}

	#mv_block .mv_content .txt {
		font-size: 16px;
		line-height: 170%;
	}

	#mv_block .mv_content .mv_content_list li {
		padding: 15px 0;
		border-width: 1px;
	}

	#mv_block .mv_content .mv_content_list li h5 {
		width: 75px;
		margin-bottom: 10px;
		font-size: 14px;
	}

	#mv_block .mv_content .mv_content_list {
		margin: 20px 0 30px;
		border-width: 1px;
	}

	#mv_block .mv_content .mv_content_list li p {
		font-size: 16px;
	}

	#mv_block .mv_content .btn_style {
		width: 100%;
		max-width: 330px;
		padding: 18px 0;
		font-size: 16px;
	}

	#mv_block .mv_content .btn_style:before {
		width: 58px;
		height: 36px;
	}
}


/*********************

      howto_block

*********************/
#howto_block {
	padding-bottom: 110px;
	border-top: 5px solid #00a33e;
}

#howto_block::before,
#howto_block::after {
	box-sizing: border-box;
}

#howto_block .green_ttl p {
	margin-top: 30px;
}

#howto_block .green_ttl .number_ttl {
	margin-top: 40px;
}
@media screen and (max-width: 840px) {
	#howto_block {
		padding-bottom: 60px;
	}
	#howto_block .green_ttl p {
		margin-top: 28px;
		text-align: left;
	}

}

@media screen and (max-width: 640px) {


	#howto_block .green_ttl p {
		margin-top: 25px;
		text-align: left;
	}
}

/* ==========================
  swiperslider
========================== */

.swiperCont {
	width: 100%;
	padding: 40px 0 180px;
	/* 上下の余白 */
	position: relative;
}

.swiper {
	width: 100%;
	/* スライドの高さ確保 */
	padding-bottom: 70px;
	overflow: hidden;
}

.swiper-slide {
	/* ★ここに !important をつけて、強制的に800pxにします */
	max-width: 800px;
	width: 100% !important;
	height: auto !important;
	/* 上下中央揃え */
	margin-top: auto;
	margin-bottom: auto;
	opacity: 0.4;
	transition: all 0.5s ease-out;
	border-radius: 10px;
	overflow: hidden;
	background: #000;
}

.swiper-slide img {
	max-width: 800px;
	width: 100% !important;
	height: auto !important;
	object-fit: cover;
}

/* ==========================
   スライド（真ん中・アクティブ）
   ========================== */
.swiper-slide-active {
	/* ここも念のためそのままでOK */
	width: 100% !important;
	max-width: 800px;
	height: auto !important;
	opacity: 1;
	transform: scale(1);
	border: 3px solid #00a33e;
	border-radius: 15px;
	z-index: 10;
	box-sizing: border-box;
	background-color: #fff;
}

.swiper-slide-active img {
	width: 100%;
	max-width: 800px;
	height: auto;
	padding: 7px;
	margin: 0 auto;
	box-sizing: border-box;
}

/* --- ページ番号とナビゲーション --- */
:root {
	--theme-green: #00a33e;
}

.controller {
	/* 1. 配置の基準 */
	position: absolute;
	z-index: 20;

	/* 2. サイズと位置 */
	width: 100%;
	max-width: 750px;
	/* スマホではみ出さないように */
	height: auto;

	left: 50%;
	transform: translateX(-50%);
	bottom: 50px;
	/* ★スライダーの下からの距離はここで一括管理！ */

	/* 3. レイアウト（横並び） */
	display: flex;
	justify-content: space-between;
	/* 両端に矢印、真ん中にドット */
	align-items: center;
	/* ★これで矢印とドットの高さ中心が揃います */

	/* 誤操作防止 */
	pointer-events: none;
	/* 矢印やドットのために少し高さを確保（番号がはみ出る分など） */
	padding-bottom: 40px;
}

.swiper-button-prev,
.swiper-button-next,
.swiper-pagination {
	pointer-events: auto;
}


.swiper-button-next,
.swiper-button-prev {
	position: static !important;
	margin: 0 !important;
	transform: none !important;
	width: 60px !important;
	height: 60px !important;
	border-radius: 50%;
	background-color: #fff;
	/* 背景画像設定 */
	background-repeat: no-repeat;
	background-position: center;
	background-size: 60px;
	/* アイコンサイズ */
	transition: 0.2s;
}

.swiper-button-next:after,
.swiper-button-prev:after {
	display: none;
}

.swiper-button-prev {
	background-image: url(../img/prev_btn.svg);
}

.swiper-button-next {
	background-image: url(../img/next_btn.svg);
}

.swiper-button-prev:hover {
	background-image: url(../img/prev_btn_hover.svg);
	transition: 0.2s;
	width: 60px !important;
	height: 60px !important;
}

.swiper-button-next:hover {
	background-image: url(../img/next_btn_hover.svg);
	transition: 0.2s;
	width: 60px !important;
	height: 60px !important;
}

/* 中心から右へ */


/* --- 2. ドット（ページネーション） --- */
.swiper-pagination {
	/* Flexbox配置にするため absolute を解除 */
	position: static !important;
	width: auto !important;
	transform: none !important;
	/* Flexbox内で中央に配置 */
	display: flex;
	align-items: center;
}

.swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	background: #e6e6e6;
	opacity: 1;
	margin: 0 6px !important;
	display: block;
	/* 念のため */
}

.swiper-pagination-bullet-active {
	background: #00a33e !important;
	border: 2px solid #fff;
	box-shadow: 0 0 0 1px #00a33e;
}

/* --- 3. ページ番号 (1 / 12) --- */
.slide-count {
	position: absolute;
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%);
	color: var(--theme-green);
	font-size: 16px;
	font-weight: 900;
	font-family: "Barlow", sans-serif;
	letter-spacing: 2px;
}



/* --- スマホ対応 --- */
@media screen and (max-width: 840px) {
	.swiperCont {
		width: 90%;
		margin: 0 auto;
		padding: 40px 0 120px;
	}

	.swiper-slide {
		display: none;
	}

	/* スライド自体の調整 */
	.swiper-slide {
		width: 100%;
	}

	.swiper-slide img {
		width: 100% !important;
	}

	.controller {
		width: 90%;
		max-width: 500px;
		bottom: 10px;
		padding-bottom: 50px;
	}

	.swiper-button-next,
	.swiper-button-prev {
		width: 45px !important;
		height: 45px !important;
		background-size: 45px;
	}

	.swiper-button-prev:hover,
	.swiper-button-next:hover {
		width: 45px !important;
		height: 45px !important;
	}


}

@media screen and (max-width: 640px) {
	.swiperCont {
		padding: 25px 0 85px;
	}

	.swiper-button-next,
	.swiper-button-prev {
		width: 38px !important;
		height: 38px !important;
		background-size: 38px;
	}

	.swiper-button-prev:hover,
	.swiper-button-next:hover {
		width: 38px !important;
		height: 38px !important;
	}

	.controller {
		width: 100%;
		max-width: 500px;
		bottom: -12px;
		padding-bottom: 50px;
	}

	.swiper-pagination-bullet {
		width: 7px;
		height: 7px;

	}

	.slide-count {
		position: absolute;
		bottom: 30px;
		left: 50%;
		font-size: 15px;
	}

	#howto_block {
		padding-bottom: 50px;
		border-top: 4px solid #00a33e;
	}
}

/*********************

      point_block

*********************/
#point_block {
	padding-bottom: 110px;

}

#point_block .green_ttl h3 {
	padding: 5px 160px 10px;
}

#point_block .green_ttl p {
	margin-top: 30px;
}

#point_block .flow {
	width: 100%;
	margin-top: 40px;
	text-align: center;
}

#point_block .flow .pc {
	width: 100%;
}

#point_block .flow p {
	margin-top: 40px;
	font-size: 14px;
}

#point_block .scroll_hint {
	display: none;
}

#point_block .point_howto_box {
	margin-top: 100px;
}

#point_block h5 {
	font-size: 23px;
	color: #fff;
	background-color: #00a33e;
	border-radius: 5px;
	display: block;
	text-align: left;
	padding: 10px 20px;
	margin: 50px 0 30px;
}

#point_block .code_box {
	width: 95%;
	margin: 0 auto;
	justify-content: space-between;
	align-items: flex-start;
}


#point_block .point_howto_box p {
	font-size: 24px;
	font-weight: 700;
	color: #005e3c;
}

#point_block .code_box .text_box {
	width: 78%;
	text-align: left;
}

#point_block .code_box .text_box .small {
	font-size: 16px;
	font-weight: 500;
	margin-top: 20px;
}

#point_block .code_box .img_box {
	width: 20%;
	max-width: 140px;
}

#point_block .point_howto_box .scroll_wrap {
	width: 90%;
	max-width: 1027px;
	margin: 0 auto;
}

#point_block .right {
	text-align: right;
}

#point_block .point_howto_box .point_store {
	width: 95%;
	margin: 0 auto;
}


@media screen and (max-width: 840px) {
	#point_block .point_howto_box {
		margin-top: 70px;
	}
	#point_block .green_ttl h3 {
		padding: 10px 20px 15px;
	}

	#point_block .mobile-scroll {
		width: 100%;
		overflow-x: scroll;
		-webkit-overflow-scrolling: touch;
		text-align: left;
	}

	.scroll_wrap {
		position: relative;
		width: 100%;
	}

	#point_block .code_box p {
		font-size: 18px;
	}

	#point_block .point_howto_box p {
		font-size: 18px;
	}

	#point_block .code_box .text_box .small {
		font-size: 14px;
	}

	#point_block .scroll_hint {
		display: inline-block;
		position: absolute;
		bottom: 20px;
		left: 50%;
		transform: translateX(-50%);
		z-index: 5;
		color: #b3b3b3;
		font-size: 15px;
		font-weight: 700;
		border-radius: 20px;
		white-space: nowrap;
		pointer-events: none;
		display: flex;
		align-items: center;
		gap: 10px;
		/* 文字と画像の隙間 */
	}

	#point_block .scroll_hint::before,
	#point_block .scroll_hint::after {
		content: "";
		display: block;
		width: 40px;
		height: 12px;
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;

		
	}
#point_block h5 {
	margin: 20px 0 30px;
}
	#point_block .scroll_hint::before {
		background-image: url(../img/sp/flow_prev.svg);
	}

	#point_block .scroll_hint::after {
		background-image: url(../img/sp/flow_next.svg);
	}

	/* ▼ 3. スクロールエリア */
	#point_block .mobile-scroll {
		width: 100%;
		overflow-x: scroll;
		-webkit-overflow-scrolling: touch;
		text-align: left;
		padding-bottom: 50px;
		/* バーとの隙間 */
	}

	/* ▼ 4. 画像の設定（ここが修正のキモ） */
	#point_block .mobile-scroll img {
		max-width: none;
		width: 1157px;

	}
		#point_block .point_howto_box .mobile-scroll img {
		max-width: none;
		width: 924px;

	}
		#point_block .point_store_box .mobile-scroll img {
		max-width: none;
		width: 835px;

	}


	/* 純正のスクロールバーを完全に見えなくする */
	#point_block .mobile-scroll::-webkit-scrollbar {
		display: none;
	}

	/* --- 2. 自作バーのデザイン --- */
	/* レール（背景・グレー） */
	/* --- 1. 画像エリアの設定 --- */
	#point_block .mobile-scroll {
		overflow-x: scroll;
		-webkit-overflow-scrolling: touch;
		/* iPhone純正の慣性スクロールを有効化 */
		padding-bottom: 0;
		/* OS標準のバーを隠す */
		scrollbar-width: none;
		/* Firefox用 */
	}

	#point_block .mobile-scroll::-webkit-scrollbar {
		display: none;
		/* Chrome/Safari用 */
	}

	/* --- 2. 自作バーのデザイン --- */
	/* 背景のレール */
	.custom-scrollbar-track {
		width: 95%;
		height: 8px;
		/* 太さ */
		background: #e6e6e6;
		/* グレー */
		border-radius: 6px;
		/* 丸み */
		margin: 50px auto 0;
		/* 画像との隙間 */
		position: relative;
		overflow: hidden;
		/* はみ出し防止 */
	}

	/* 動くつまみ（緑） */
	.custom-scrollbar-thumb {
		width: 100px;
		/* ★ここがつまみの長さ（好きな長さに変更可） */
		height: 100%;
		/* レールと同じ太さ */
		background: #005e3c;
		/* 緑色 */
		border-radius: 6px;
		/* 丸み */
		position: absolute;
		top: 0;
		left: 0;
		cursor: pointer;
	}

	/* PC/SP画像の出し分け用 */
	#point_block .flow .pc {
		display: none;
	}
	#point_block .flow .sp {
		display: block;
	}
}

@media screen and (max-width: 640px) {
	#point_block {
		padding-bottom: 70px;
	}

	#point_block h5 {
		font-size: 16px;
		color: #fff;
		background-color: #00a33e;
		border-radius: 5px;
		display: block;
		text-align: left;
		padding: 5px 10px;
		margin: 15px 0 20px;
	}

	#point_block .green_ttl p {
		margin-top: 20px;
		text-align: left;
	}

	#point_block .flow {
		margin-top: 25px;
	}

	#point_block .code_box .text_box {
		width: 70%;
	}

	#point_block .point_howto_box {
		margin-top: 65px;
	}

	#point_block .code_box .img_box {
		width: 27%;
	}

	#point_block .point_howto_box p {
		font-size: 16px;
	}

	#point_block .point_howto_box .small {
		font-size: 13px;
		margin: 20px 0 0px;
	}

}

/*********************

      store_block

*********************/
#store_block {
	padding-bottom: 110px;
	border-top: 5px solid #00a33e;
}

#store_block .green_ttl p {
	margin: 35px auto 30px;
}

@media screen and (max-width: 840px) {
	#store_block {
		padding-bottom: 100px;
	}
}

@media screen and (max-width: 640px) {
	#store_block {
		padding-bottom: 83px;
		border-top: 4px solid #00a33e;
	}

	#store_block .green_ttl p {
		margin: 20px auto 25px;
	}
}

/*********************

      anxiety_block

*********************/
#anxiety_block {
	padding-bottom: 110px;
	border-top: 5px solid #00a33e;
}

#anxiety_block .green_ttl img {
	width: 90%;
	max-width: 793px;
	height: 193px;
	margin: 37px auto 70px;
}

#anxiety_block .green_ttl p {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
}

#anxiety_block .link_box {
	gap: 20px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

#anxiety_block .green_link a {
	width: 282px;
	display: inline-block;
	background-color: #fff;
	padding: 30px;
	line-height: 1;
	box-sizing: border-box;
	position: relative;
	z-index: 9;
	font-size: 18px;
	color: #00a33e;
	font-weight: 700;
	border-radius: 10px;
	transition: 0.2s;
}

#anxiety_block .green_link a:hover {
	transition: 0.2s;
	background-color: #d1eedc;
}

#anxiety_block .green_link a::after {
	content: "";
	background-image: url(../img/link_btn_03.svg);
	right: 15px;
}

#anxiety_block .green_link a:hover::after {
	background-image: url(../img/link_btn_02.svg);
	transition: 0.2s;
}

#anxiety_block .anxiety_wrap {
	width: 100%;
	max-width: 1100px;
	margin: 30px auto 0;
	gap: 30px;
}

#anxiety_block .anxiety_box {
	width: 100%;
	background-color: #fcf1de;
	padding: 35px 100px;
	border-radius: 15px;
	box-sizing: border-box;
}

#anxiety_block p {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.7;
}

#anxiety_block .cta_box {
	text-align: center;
}

#anxiety_block .tel_box {
	margin-top: 40px;
}

#anxiety_block .tel_box a img {
	width: 32px;
	margin-right: 10px;
	margin-top: 8px;
}

#anxiety_block .tel_box a {
	color: #00a33e;
	font-size: 56px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.06em;
}

#anxiety_block .time p {
	margin-top: 25px;
	margin-bottom: 0;
}

#anxiety_block .time .txt {
	display: inline-block;
	border: 1px solid #005e3c;
	padding: 7px 10px;
	margin-right: 10px;
	border-radius: 50px;
	line-height: 1;
	font-size: 14px;
	color: #005e3c;
}

#anxiety_block .time .en {
	font-size: 23px;
	line-height: 1;
	font-weight: 500;
	color: #005e3c;

}

#anxiety_block .holiday {
	font-size: 14px !important;
	font-weight: 700;
	color: #005e3c;
	margin-top: 5px;

}


#anxiety_block .anxiety_box p span {
	font-weight: 700;
}

#anxiety_block .seminar_box .row_box {
	justify-content: space-between;
	align-items: flex-start;
	margin: 30px 0 50px;
}

#anxiety_block .seminar_box .left_box {
	width: 75%;
}

#anxiety_block .seminar_box .left_box p {
	margin-bottom: 35px;
}

#anxiety_block .seminar_box h4 {
	margin: 0 auto;
}

#anxiety_block .seminar_box .right_box {
	width: 24%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 15px;
	margin-top: 10px;
}

#anxiety_block .seminar_box .right_box .shop {
	width: 100%;
	max-width: 189px;
}

#anxiety_block .seminar_box .right_box .phone {
	width: 100%;
	max-width: 170px;
}

#anxiety_block .support_box .intro_txt {
	margin: 30px 0 30px;
}

#anxiety_block .support_box .txt_box p {
	font-size: 16px;
	font-weight: 500;
	margin: 25px 0;
}

#anxiety_block .consultation_box .intro_txt {
	margin: 30px 0;
}

#anxiety_block .consultation_box .small_txt {
	font-size: 18px;
}

#anxiety_block .consultation_box .schedule_ttl {
	text-align: center;
}

#anxiety_block .consultation_box .schedule_li {
	color: #00a33e;
	margin: 15px 0 20px;

}

#anxiety_block .consultation_box .schedule_li a {
	display: inline-block;
	color: #00a33e;
	font-size: 20px;
	font-weight: 700;
	margin-left: 2em;
	transition: 0.2s;
	border-bottom: 1px solid #00a33e;
}

#anxiety_block .consultation_box .schedule_li a:hover {
	transition: 0.2s;
	color: #005e3c;
	border-bottom: none;
}

#anxiety_block .consultation_box .row_box {
	justify-content: flex-start;
}

#anxiety_block .consultation_box .schedule_li li {
	border-top: 1px solid #00a33e;
	padding: 15px 0;
}

#anxiety_block .consultation_box .schedule_li li:last-child {
	border-bottom: 1px solid #00a33e;
}

@media screen and (max-width: 1100px) {

#anxiety_block .anxiety_box {
	border-radius: 0px;
}
}

@media screen and (max-width: 840px) {
	#anxiety_block .green_ttl img {
		width: 90%;
		height: auto;
		margin: 37px auto 40px;
	}



	#anxiety_block .seminar_box {
		flex-direction: column;
		gap: 30px;
	}

	#anxiety_block .seminar_box .left_box {
		width: 100%;
	}

	#anxiety_block .seminar_box .right_box {
		width: 100%;
		gap: 30px;
		flex-direction: row;
		margin-top: 30px;
	}
	#anxiety_block p {
		font-size: 18px;
	}
#anxiety_block .consultation_box .small_txt {
	font-size: 16px;
}
	#anxiety_block .green_link a {
		width: 100%;
	}


	#anxiety_block .mobile-scroll img {
		max-width: none;
		width: 840px;
		margin: 0 auto;
	}
	#anxiety_block .anxiety_box {
	padding: 35px 50px;
}

}

@media screen and (max-width: 640px) {
	#anxiety_block .green_ttl img {
		margin: 20px auto 20px;
	}

	#anxiety_block .green_ttl p {
		font-size: 16px;
			text-align: left;
	}

	#anxiety_block {
		padding-bottom: 60px;
		border-top: 4px solid #00a33e;
	}


	#anxiety_block .green_link a {
		width: 100%;
		display: inline-block;
		background-color: #fff;
		padding: 20px 56px 20px 20px;
		line-height: 1;
		box-sizing: border-box;
		position: relative;
		z-index: 9;
		font-size: 13px;
		color: #00a33e;
		font-weight: 700;
		border-radius: 10px;
		transition: 0.2s;
	}

	#anxiety_block .green_link a:hover {
		transition: 0.2s;
		background-color: #d1eedc;
	}

	#anxiety_block .green_link a::after {
		content: "";
		background-image: url(../img/link_btn_03.svg);
		right: 15px;
	}

	#anxiety_block .green_link a:hover::after {
		background-image: url(../img/link_btn_02.svg);
		transition: 0.2s;
	}

	#anxiety_block .anxiety_wrap {
		margin: 20px auto 0;
		gap: 15px;
	}

	#anxiety_block .anxiety_box {
		padding: 25px 30px;
		border-radius: 0px;
	}

	#anxiety_block p {
		font-size: 15px;
	}

	#anxiety_block .cta_box {
		text-align: center;
	}

	#anxiety_block .tel_box {
		margin-top: 20px;
	}

	#anxiety_block .tel_box p {
		font-size: 11px;
		font-weight: 700;
		color: #00a33e;
		margin-bottom: 5px;
	}

	#anxiety_block .tel_box a img {
		width: 19px;
		margin-right: 5px;
		margin-top: 5px;
	}

	#anxiety_block .tel_box a {
		font-size: 33px;
		font-weight: 600;

	}

	#anxiety_block .time p {
		margin-top: 15px;
		margin-bottom: 0;
	}

	#anxiety_block .time .txt {
		padding: 3px 5px;
		margin-right: 10px;
		font-size: 11px;

	}

	#anxiety_block .time .en {
		font-size: 19px;

	}

	#anxiety_block .holiday {
		font-size: 11px !important;
		margin-top: 5px;

	}


	#anxiety_block .anxiety_box p span {
		font-weight: 700;
	}

	#anxiety_block .seminar_box .row_box {
		flex-direction: column;
		margin: 30px 0 20px;
	}

	#anxiety_block .seminar_box .left_box {
		width: 100%;
	}

	#anxiety_block .seminar_box .left_box p {
		margin-bottom: 35px;
	}

	#anxiety_block .seminar_box h4 {
		margin: 0 auto;
	}

	#anxiety_block .seminar_box .right_box {
		width: 100%;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 15px;
		margin-top: 30px;
	}

	#anxiety_block .seminar_box .right_box .shop {
		width: 100%;
		max-width: 189px;
	}

	#anxiety_block .seminar_box .right_box .phone {
		width: 100%;
		max-width: 170px;
	}

	#anxiety_block .support_box .intro_txt {
		margin: 25px 0 25px;
	}

	#anxiety_block .support_box .txt_box p {
		font-size: 13px;
		font-weight: 500;
		margin: 25px 0;
	}

	#anxiety_block .consultation_box .intro_txt {
		margin: 20px 0;
	}

	#anxiety_block .consultation_box .small_txt {
		font-size: 18px;
	}


	#anxiety_block .consultation_box .schedule_li {
		margin: 10px 0 40px;
	}

	#anxiety_block .consultation_box .schedule_li p {
		font-size: 16px;
		width: 100%;
	}

	#anxiety_block .consultation_box .schedule_li a {
		font-size: 16px;
		margin-left: 0em;
	}

	#anxiety_block .consultation_box .small_txt {
		font-size: 14px;
	}
		#anxiety_block .mobile-scroll img {
		max-width: none;
		width: 611px;
		height: 450px;
	}
}




/*********************

      recruitment_block

*********************/
#recruitment_block {
	padding-bottom: 110px;
	border-top: 5px solid #00a33e;
}

#recruitment_block .green_ttl h4 {
	margin-top: 45px;
	font-size: 32px;
	text-align: left;
}

#recruitment_block .green_ttl p {
	margin: 25px 0 25px 0;
	text-align: left;
}

@media screen and (max-width: 840px) {
	#recruitment_block {
		padding-bottom: 100px;
	}

	#recruitment_block .green_ttl h4 {
		margin-top: 30px;
		font-size: 28px;
	}
	#recruitment_block .green_ttl p {
font-size: 18px;
	margin: 20px 0 20px 0;
}
}

@media screen and (max-width: 640px) {
	#recruitment_block {
		padding-bottom: 83px;
		border-top: 4px solid #00a33e;
	}

	#recruitment_block .green_ttl p {
		margin: 15px auto 30px;
	}

	#recruitment_block .green_ttl h4 {
		margin-top: 28px;
		font-size: 20px;
	}
}

/*********************

      faq_block

*********************/

#faq_block {
	padding-bottom: 110px;
	border-top: 5px solid #00a33e;
}

.area01 {
	background-color: #fff;
}

.inner {
	width: 100%;
	margin: 50px auto;
}

.qa_box {
	margin-bottom: 20px;
}

.qa_box .qa_q {
	background-color: #fff;
	border: 2px solid #00a33e;
	padding: 20px 75px 20px 75px;
	position: relative;
	cursor: pointer;
	border-radius: 10px;
	color: #00a33e;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.5;
}

.qa_box .qa_q::before {
	position: absolute;
	content: "Q";
	color: #00a33e;
	left: 30px;
	font-size: 32px;
	top: 48%;
	transform: translateY(-50%);
}

.toggle_icon {
	position: absolute;
	top: 50%;
	right: 2rem;
	width: 20px;
	height: 20px;
	margin-top: -15px;
}

.toggle_icon:before {
	position: absolute;
	content: "＋";
	font-size: 30px;
	top: 63%;
	right: 10px;
	transform: translateY(-50%);
}

.qa_q.open .toggle_icon:before {
	position: absolute;
	content: "ー";
	margin: auto;
	font-size: 30px;
	top: 63%;
	right: 10px;
	transform: translateY(-50%);
}

.qa_box .qa_a {
	position: relative;
	display: none;
	box-sizing: border-box;
	background: #fff;
	padding: 20px 75px 20px 75px;
	color: #005e3c;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.5;
}
	.qa_box .qa_a span {
		padding-left: 1.5em;
		/* 全体を右に2文字分ずらす */
	}

.qa_box .qa_a::before {
	position: absolute;
	content: "A";
	color: #00a33e;
	left: 30px;
	font-size: 32px;
	top: 7px;
}

	.qa_box .qa_a a-txt{
		padding: 20px 0px 20px 50px;
		font-size: 14px;
		line-height: 1.8;
	}


  .qa_box tr,
  .qa_box th,
  .qa_box td {
    display: block;
    width: 100%;
    box-sizing: border-box;
	text-align: left;
  }
    .qa_box th {
    padding: 10px 0 2px;
    width: 100%;
		padding-left: 1em;
	/* 全体を右に2文字分ずらす */
	text-indent: -1em;
	/* 1行目だけを左に2文字分戻す */
  }

  .qa_box td{
    padding:0 0 0 1em;
  }
@media screen and (max-width: 840px) {
	#faq_block {
		padding-bottom: 50px;
	}
	.inner {
		width: 100%;
		margin: 30px auto;
	}

	.qa_box {
		margin-bottom: 15px;
	}

	.qa_box .qa_q {
		background-color: #fff;
		border: 2px solid #00a33e;
		padding: 20px 50px 20px 50px;
		position: relative;
		cursor: pointer;
		border-radius: 10px;
		color: #00a33e;
		font-weight: 700;
		font-size: 16px;
		line-height: 1.5;
	}

	.qa_box .qa_q::before {
		position: absolute;
		content: "Q";
		color: #00a33e;
		left: 19px;
		font-size: 24px;
		top: 48%;
		transform: translateY(-50%);
	}

	.toggle_icon {
		position: absolute;
		top: 50%;
		right: 20px;
		width: 20px;
		height: 20px;
		margin-top: -15px;
	}

	.toggle_icon:before {
		position: absolute;
		content: "＋";
		font-size: 22px;
		top: 63%;
		right: 0px;
		transform: translateY(-50%);
	}

	.qa_q.open .toggle_icon:before {
		position: absolute;
		content: "ー";
		margin: auto;
		font-size: 22px;
		top: 63%;
		right: 0px;
		transform: translateY(-50%);
	}

	.qa_box .qa_a {
		padding: 20px 0px 20px 50px;
		font-size: 16px;
		line-height: 1.8;
	}



	.qa_box .qa_a::before {
		left: 19px;
		font-size: 24px;
		top: 12px;
	}

}



@media screen and (max-width: 640px) {
	#faq_block {
		padding-bottom: 50px;
		border-top: 4px solid #00a33e;
	}


	.inner {
		width: 100%;
		margin: 30px auto;
	}

	.qa_box {
		margin-bottom: 15px;
	}

	.qa_box .qa_q {
		background-color: #fff;
		border: 2px solid #00a33e;
		padding: 20px 50px 20px 50px;
		position: relative;
		cursor: pointer;
		border-radius: 10px;
		color: #00a33e;
		font-weight: 700;
		font-size: 14px;
		line-height: 1.5;
	}

	.qa_box .qa_q::before {
		position: absolute;
		content: "Q";
		color: #00a33e;
		left: 19px;
		font-size: 22px;
		top: 48%;
		transform: translateY(-50%);
	}

	.toggle_icon {
		position: absolute;
		top: 50%;
		right: 20px;
		width: 20px;
		height: 20px;
		margin-top: -15px;
	}

	.toggle_icon:before {
		position: absolute;
		content: "＋";
		font-size: 20px;
		top: 63%;
		right: 0px;
		transform: translateY(-50%);
	}

	.qa_q.open .toggle_icon:before {
		position: absolute;
		content: "ー";
		margin: auto;
		font-size: 20px;
		top: 63%;
		right: 0px;
		transform: translateY(-50%);
	}

	.qa_box .qa_a {
		padding: 20px 0px 20px 50px;
		font-size: 14px;
		line-height: 1.8;
	}



	.qa_box .qa_a::before {
		left: 19px;
		font-size: 22px;
		top: 12px;
	}

}



/*********************

      cta_block

*********************/
#cta_block {
	margin-bottom: 90px;
}

#cta_block .cta_box {
	width: 100%;
	background-color: #00a33e;
	padding: 90px 60px 70px;
	text-align: center;
	box-sizing: border-box;
	margin-top: 115px;
	border-radius: 25px;
	position: relative;
}

#cta_block .cta_box::before {
	content: "";
	position: absolute;
	background-image: url(../img/cta_icon_02.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 125px;
	height: 92px;
	display: block;
	top: 0px;
	left: 50%;
	transform: translate(-50%, -50%);
}

#cta_block .cta_box h3 {
	font-size: 34px;
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
}

#cta_block .tel_box {
	margin-top: 40px;
}

#cta_block .tel_box p {
	font-size: 20px;
	font-weight: 700;
	color: #fff;
}

#cta_block .tel_box a img {
	width: 32px;
	margin-right: 10px;
	margin-top: 8px;
}

#cta_block .tel_box a {
	color: #fff;
	font-size: 56px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.06em;
}

#cta_block .time {
	margin-top: 25px;
}

#cta_block .time .txt {
	display: inline-block;
	border: 1px solid #fff;
	padding: 7px 10px;
	margin-right: 10px;
	border-radius: 50px;
	line-height: 1;
	font-size: 14px;
	color: #fff;
}

#cta_block .time .en {
	font-size: 23px;
	line-height: 1;
	font-weight: 500;
	color: #fff;
}

#cta_block .holiday {
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	margin-top: 5px;
}





@media screen and (max-width: 840px) {

	#cta_block .cta_box::before {
		width: 100px;
	}
#cta_block .cta_box {
	margin-top: 50px;
}
}

@media screen and (max-width: 640px) {
	#cta_block {
		border-top: 4px solid #00a33e;
	}

	#cta_block .cta_box {
		padding: 50px 25px 65px;
		margin-top: 57px;
		border-radius: 10px;
	}

	#cta_block .cta_box::before {
		width: 85px;
		height: 62px;
		top: 0px;
	}

	#cta_block .cta_box h3 {
		font-size: 20px;
		line-height: 2;
	}

	#cta_block .tel_box p {
		font-size: 12px;
	}

	#cta_block .tel_box a img {
		width: 19px;
		margin-right: 5px;
		margin-top: 2px;
	}

	#cta_block .tel_box a {
		font-size: 33px;
	}

	#cta_block .time {
		margin-top: 20px;
	}

	#cta_block .time .txt {
		padding: 4px 7px;
		font-size: 11px;
	}

	#cta_block .time .en {
		font-size: 19px;
	}

	#cta_block .holiday {
		font-size: 11px;
	}



}


/*********************

      warning_block

*********************/

#warning_block {
	border-top: 5px solid #00a33e;
	border-bottom: 5px solid #00a33e
}

#warning_block .warning_box {
	margin: 70px auto 100px;
	width: 100%;
	max-width: 907px;
	box-sizing: border-box;
	justify-content: space-between;
	border-radius: 20px;
}

#warning_block .warning_box h3 {
	font-size: 37px;
	color: #00a33e;
	text-align: center;
}

#warning_block .warning_box img {
	width: 50%;
	max-width: 89px;
	margin: 0 auto 20px;
}

#warning_block .warning_box p {
	color: #005e3c;
	font-weight: 700;
	line-height: 1.45;
	font-size: 20px;
	margin: 30px 0;
}

#warning_block .warning_box li {
	font-weight: 700;
	font-size: 20px;
}

@media screen and (max-width: 1300px) {
	#warning_block .warning_box {
		width: 85%;
	}
}
@media screen and (max-width: 840px) {
	#warning_block .warning_box {
		margin: 70px auto;
	}
	#warning_block .warning_box h3 {
		font-size: 28px;
	}
	#warning_block .warning_box p {
		font-size: 18px;
	}
	#warning_block .warning_box li {
		font-size: 18px;
	}
}

@media screen and (max-width: 640px) {
	#warning_block .warning_box h3 {
		font-size: 20px;
	}
	#warning_block .warning_box p {
		font-size: 16px;
		line-height: 180%;
	}
	#warning_block .warning_box li {
		font-size: 16px;
		margin-bottom: 10px;
	}	
}