/*
Theme Name: BlankSlate Child
Template: blankslate
*/
:root {
	--common-text: #3E2B27;
	--beige: #FFF8E1;
	--main-orange: #F57F17;
	--main-green: #7AB735;
	--light-orange: #F9A825;
	--light-green: #AED581;
	--dark-green: #E9F1E0;
	--main-yellow: #F9A825;
	--sky-blue: #E0F2F1;
	--white: #ffffff;
}

html {
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 62.5%;
	color: var(--common-text);
}

body.open {
	overflow: hidden;
}

.SiteWrapper {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

main {
	flex: 1;
	overflow-x: hidden;
}

section {
	position: relative;
}

.section_inner {
	position: relative;
	max-width: 117rem;
	margin-inline: auto;
	padding-inline: 1.5rem;
}

.common_h2 {
	text-align: center;
}

.common_h2 span {
	display: block;
}

.common_h2_top {
	font-size: 3rem;
	color: var(--common-text);
	font-weight: 500;
}

.common_h2_bottom {
	font-size: 1.2rem;
	color: var(--light-orange);
	margin-top: 1rem;
	letter-spacing: 1px;
}

@media screen and (max-width:768px) {
	main {
		margin-top: 6rem;
	}
}

.pc {
	display: block;
}

.sp {
	display: none;
}

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

	.sp {
		display: block;
	}
}

/* header */
.header {
	position: relative;
	background-color: var(--white);
	padding-block: 2rem;
	z-index: 100;
}

.header_inner {
	max-width: 117rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-inline: auto;
	padding-inline: 1.5rem;
}

.header_logo {
	display: flex;
	align-items: center;
	gap: 0 2rem;
}

.header_logo p {
	font-size: 1.4rem;
}

.header_right {
	display: flex;
	align-items: center;
	gap: 0 2rem;
}

.header_nav {
	background-color: var(--white);
	max-width: 90rem;
	margin-inline: auto;
	padding-block: 2rem 0rem;
	padding-inline: 1.5rem;
	transition: transform .3s ease;
}

.header_nav_list {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.header_nav_item {
	position: relative;
	padding-block: 1rem;
}

.header_nav_item::before {
	position: absolute;
	content: '';
	height: 100%;
	width: 1px;
	background-color: var(--light-orange);
	top: 0;
	left: -27px;
}

.header_nav_item:first-child:before {
	content: none;
}

.header_nav_item a {
	position: relative;
	padding-bottom: 0.6rem;
	transition: all 0.3s ease;
}

.header_nav_item a::before {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	background-color: var(--main-orange);
	bottom: 0;
	left: 0;
	opacity: 0;
	transition: width 0.3s ease, height 0.3s ease, opacity 0.3s ease;
}

.header_nav_item a:hover::before {
	width: 100%;
	height: 1px;
	opacity: 1;
}

.header_nav_item a span {
	font-size: 1.6rem;
	font-weight: 500;
	color: var(--common-text);
}

/* Dropdown Menu Styles */
.dropdown {
	position: relative;
}

.dropdown_menu {
	position: absolute;
	top: 100%;
	left: 0;
	left: 50%;
	background-color: var(--white);
	border: 1px solid var(--light-orange);
	border-radius: 0.5rem;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	min-width: 270px;
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, 0);
	transition: all 0.3s ease;
	z-index: 1000;
	padding: 1rem 0;
}

.dropdown_menu li {
	list-style: none;
	margin: 0;
}

.dropdown_menu li a {
	display: block;
	padding: 0.8rem 1.5rem;
	font-size: 1.4rem;
	color: var(--common-text);
	text-decoration: none;
	transition: all 0.3s ease;
	border-bottom: none;
}

.dropdown_menu li a:hover {
	background-color: var(--beige);
	color: var(--main-orange);
}

.dropdown_menu li a::before {
	display: none;
}

.dropdown:hover .dropdown_menu {
	opacity: 1;
	visibility: visible;
}

.header_right_sp,
.sp_nav_bottom {
	display: none;
}

@media screen and (max-width:970px) {
	.header_logo {
		flex-direction: column;
		gap: 1rem 0;
	}

	.header_nav_item::before {
		left: -18px;
	}
}

@media screen and (max-width:768px) {
	.header {
		position: fixed;
		width: 100%;
		height: 6rem;
		padding: 0;
		box-shadow: 3px 3px 6px #e5e5e5;
	}

	.header_inner {
		padding-left: 1.5rem;
		padding-right: 0;
	}

	.header_logo img {
		width: 15.9rem;
	}

	.header_logo p {
		display: none;
	}

	.header_right {
		display: none;
	}


	.header_nav {
		position: fixed;
		top: 6rem;
		left: 0;
		width: 100%;
		height: 100vh;
		transform: translateX(100%);
		background-color: var(--beige);
		padding-top: 0rem;
		padding-bottom: 20rem;
		overflow-y: scroll;
	}

	.header_nav.open {
		transform: translateX(0);
	}

	.header_sp_hbgr button span {
		transition: transform .25s ease, opacity .2s ease, top .25s ease, bottom .25s ease;
	}

	/* open時のバー変形（真ん中を消し、上下をクロス） */
	.header_sp_hbgr.open button span:nth-child(2) {
		opacity: 0;
	}

	.header_sp_hbgr.open button span:nth-child(1) {
		top: 6px;
		transform: translateY(0) rotate(45deg);
	}

	.header_sp_hbgr.open button span:nth-child(3) {
		bottom: 0;
		transform: translateY(0) rotate(-45deg);
	}

	.sp_nav_content {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
	}

	/* モバイルでタップしやすいようにリンクを広めに */
	.header_nav_list {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.header_nav_item {
		padding-block: 0;
	}

	.header_nav_item a {
		display: block;
		padding: 1.4rem 1.6rem;
		border-bottom: 1px solid var(--light-orange);
	}

	/* 区切り線はモバイルは非表示（任意） */
	.header_nav_item::before {
		content: none;
	}

	.header_right_sp {
		display: flex;
	}

	.header_right_sp>* {
		width: 100%;
		height: 6rem;
		aspect-ratio: 1 / 1;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.header_sp_line {
		background-color: var(--light-green);
	}

	.header_sp_tel {
		background-color: var(--main-orange);
	}

	.header_sp_hbgr {
		background-color: var(--light-orange);
	}

	.header_sp_hbgr button {
		position: relative;
		border: none;
		background-color: transparent;
		display: flex;
		width: 100%;
		height: 100%;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	.header_sp_hbgr button span {
		position: relative;
		display: block;
		width: 2.6rem;
		height: 3px;
		background-color: var(--white);
	}

	.header_sp_hbgr button span:nth-child(1) {
		top: -0.5rem;
	}

	.header_sp_hbgr button span:nth-child(3) {
		bottom: -0.5rem;
	}

	.sp_nav_bottom {
		display: block;
	}

	.dropdown_menu {
		display: flex;
		flex-wrap: wrap;
		position: relative;
		top: unset;
		left: unset;
		background-color: transparent;
		border: unset;
		border-radius: unset;
		box-shadow: unset;
		min-width: unset;
		opacity: 1;
		visibility: unset;
		transform: unset;
		transition: all 0.3s ease;
		z-index: 1000;
		padding: 1rem 0;
	}
}

/* footer */
.footer {
	background-color: var(--dark-green);
	padding-bottom: 2rem;
}

.footer_top {
	position: relative;
	background-image: url(./images/footer/bg.webp);
	background-repeat: no-repeat;
	background-size: cover;
	background-position-y: center;
	height: 26vh;
}

.footer_top::before {
	position: absolute;
	content: '';
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #e9f1e077;
}

.copyright {
	display: block;
	text-align: center;
	margin-top: 3.5rem;
}

.copyright small {
	font-size: 1.4rem;
	color: #8F8F8F;
}

.footer_bottom {
	padding-top: 4rem;
}

.footer_inner {
	max-width: 117rem;
	margin-inline: auto;
	padding-inline: 1.5rem;
	padding-bottom: 5rem;
}

.footer_container {
	display: flex;
	justify-content: space-between;
	gap: 0 3rem;
}

.footer_container>* {
	display: flex;
	flex-direction: column;
}

.footer_box_left {
	flex: 3;
	gap: 2rem 0;
}

.footer_box_middle {
	flex: 4;
}

.footer_box_right {
	flex: 3;
}

.footer_address p {
	font-size: 1.4rem;
	line-height: 1.8;
}

.footer_box_middle iframe {
	aspect-ratio: 3 / 2;
	max-width: 100%;
	height: auto;
}

.footer_nav_list {
	margin-left: 3rem;
}

.footer_nav_item a {
	display: inline-block;
	position: relative;
	padding-block: 1rem;
	padding-left: 1.5rem;
}

.footer_nav_item a::before {
	position: absolute;
	content: url(./images/icon/arrow_green.svg);
	width: 6px;
	height: 9px;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.footer_nav_item a::after {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	background-color: var(--main-orange);
	bottom: 0;
	left: 0;
	opacity: 0;
	transition: width 0.3s ease, height 0.3s ease, opacity 0.3s ease;
}

.footer_nav_item a:hover::after {
	width: 82%;
	height: 1px;
	opacity: 1;
	left: 14px;
}

.footer_nav_item a span {
	font-size: 1.4rem;
}

@media screen and (max-width:1099px) {

	.footer_nav_list {
		margin-left: 0;
	}

	.footer_btn {
		display: flex;
		flex-direction: column;
		gap: 1rem 0;
	}
}

@media screen and (max-width:768px) {
	.footer_container {
		flex-direction: column;
		gap: 2rem 0;
	}

	.footer_box_left {
		justify-content: center;
		align-items: center;
		gap: 2rem 0;
	}

	.footer_box_middle {
		justify-content: center;
		align-items: center;
	}

	.footer_box_right {
		align-items: start;
	}

	.footer_address p {
		text-align: center;
	}

	.footer_btn {
		display: flex;
		flex-direction: row;
		gap: 0 1rem;
	}
}

/* fv */
.fv {
	padding-bottom: 8rem;
}

.fv_img {
	position: relative;
	width: 100%;
	max-width: 1170px;
	/* 最大幅 1170px */
	aspect-ratio: 1170 / 638;
	/* 比率固定 */
	margin-inline: auto;
	overflow: hidden;
	border-radius: 2rem;
}

.fv_img::before {
	position: absolute;
	content: '';
	inset: 0;
	background-image: url(./images/fv/frame.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% 100%;
	pointer-events: none;
	z-index: 1;
	border-radius: inherit;
}

.fv_img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	/* 枠からはみ出さず比率維持 */
	border-radius: 2rem;
}

.fv_para {
	position: absolute;
	writing-mode: vertical-rl;
	color: var(--common-text);
	font-weight: 700;
	line-height: 1.5;
	white-space: nowrap;
	top: 50%;
	right: 18%;
	transform: translateY(-50%);
	font-size: 2.2rem;
	text-shadow:
		3px 3px 3px #ffeac2, -3px -3px 3px #ffeac2,
		-3px 3px 3px #ffeac2, 3px -3px 3px #ffeac2,
		3px 0px 3px #ffeac2, -3px -0px 3px #ffeac2,
		0px 3px 3px #ffeac2, 0px -3px 3px #ffeac2;
	margin: 0;
	letter-spacing: 1.5px;
	z-index: 2;
}

.fv_pc {
	display: block;
}

.fv_sp {
	display: none;
}

@media screen and (max-width:768px) {
	.fv {
		padding-top: 3rem;
	}
}

@media screen and (max-width:540px) {


	/* 540px以下では縦長(327/600)比率を維持し、SP用フレームを使用 */
	.fv_img {
		aspect-ratio: 327 / 600;
		max-width: 100%;
		border-radius: 3rem;
	}

	.fv_img::before {
		background-image: url(./images/fv/frame_sp.svg);
		background-size: 100% 100%;
	}

	.fv_img img {
		aspect-ratio: 327 / 600;
		object-fit: cover;
	}

	.fv_pc {
		display: none;
	}

	.fv_sp {
		display: block;
	}

	.fv_para {
		top: 50%;
		right: 8%;
		transform: translateY(-50%);
		font-size: 1.6rem;
		text-shadow:
			3px 3px 3px #ffeac2, -3px -3px 3px #ffeac2,
			-3px 3px 3px #ffeac2, 3px -3px 3px #ffeac2,
			3px 0px 3px #ffeac2, -3px -0px 3px #ffeac2,
			0px 3px 3px #ffeac2, 0px -3px 3px #ffeac2;
		margin: 0;
		letter-spacing: 1.5px;
		z-index: 2;
	}
}

/* topInfo */
.topInfo {
	padding-bottom: 24rem;
}

.topInfo::before {
	position: absolute;
	content: '';
	bottom: 0;
	left: 0;
	width: 100%;
	height: auto;
	background-image: url(./images/section/wave.svg);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100% auto;
	aspect-ratio: 1920 / 200;
	/* SVGの元の比率を設定 */
}

.topInfo_container {
	display: flex;
	justify-content: space-between;
	gap: 0 3rem;
}

.topInfo_container>* {
	display: flex;
	flex-direction: column;
	flex: 1;
}

.topInfo_table {
	margin-top: 3rem;
}

.topInfo_table table {
	border-collapse: collapse;
	width: 100%;
}

.topInfo_table table tr {
	border-bottom: 1px solid var(--common-text);
}

.topInfo_table table tr:last-child {
	border-bottom: none;
}

.topInfo_table table tr th,
.topInfo_table table tr td {
	font-size: 1.6rem;
	text-align: center;
	padding-block: 2rem;
}

.maru {
	color: var(--light-green);
}

.hoshi {
	color: var(--main-yellow);
}

.sankaku {
	color: var(--main-orange);
}

.topInfo_undertable {
	text-align: right;
}

.topInfo_undertable>* {
	display: block;
}

.topInfo_undertable small {
	font-size: 1.2rem;
	margin-bottom: 1rem;
}

.topInfo_undertable span {
	font-size: 1.6rem;
	line-height: 1.5;
}

.topInfo_map {
	margin-top: 3rem;
}

.topInfo_map iframe {
	max-width: 100%;
	height: auto;
	aspect-ratio: 3 / 2.3;
}

.news_list {
	margin-top: 3rem;
}

.news_item a {
	display: flex;
	align-items: baseline;
	gap: 0 2.2rem;
	padding-block: 1.4rem;
	border-bottom: 1px dashed #A1A1A1;
}

.news_item a time {
	font-weight: 700;
	font-size: 1.4rem;
}

.news_item a h1 span {
	font-size: 1.6rem;
	line-height: 1.5;
}

.right_btn {
	margin-top: 3rem;
	text-align: right;
}

.right_btn a {
	position: relative;
}

.right_btn a::before {
	position: absolute;
	content: url(./images/icon/arrow_black.svg);
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

.right_btn a span {
	font-size: 1.4rem;
	padding-right: 2rem;
}

@media screen and (max-width:768px) {
	.topInfo::before {
		background-image: url(./images/section/wave_sp.svg);
		aspect-ratio: 768 / 150;
		/* SP用SVGの比率を設定 */
	}

	.topInfo_container {
		flex-direction: column;
		gap: 3rem 0;
	}

	.topInfo_map iframe {
		width: 100%;
		aspect-ratio: 3 / 1.5;
	}

	.topInfo_table,
	.topInfo_map,
	.news_list {
		margin-top: 1rem;
	}
}

@media screen and (max-width:650px) {
	.topInfo {
		padding-bottom: 14rem;
	}
}

@media screen and (max-width:425px) {
	.topInfo {
		padding-bottom: 11rem;
	}
}

/* point */
.point {
	background-color: var(--beige);
}

.point_h2 {
	text-align: center;
}

.point_h2 .point_h2_top,
.point_h2 .point_h2_bottom {
	display: block;
	font-size: 3.4rem;
	line-height: 1.5;
	font-weight: 500;
}

.point_h2 .orange {
	color: var(--main-orange);
}

.point_top_text {
	text-align: center;
	margin-top: 3rem;
}

.point_top_text p {
	position: relative;
	display: inline-block;
	font-size: 2.4rem;
	letter-spacing: 1px;
}

.point_top_text p::before,
.point_top_text p::after {
	position: absolute;
	content: '';
	height: 100%;
	width: 1px;
	background-color: var(--common-text);
	top: 50%;
}

.point_top_text p::before {
	left: -1rem;
	transform: translateY(-50%) rotate(-25deg);
}

.point_top_text p::after {
	right: -1rem;
	transform: translateY(-50%) rotate(25deg);
}

.point_top_text p span {
	color: var(--main-orange);
}

.point_container {
	display: flex;
	justify-content: space-between;
	gap: 0 3rem;
	margin-top: 5rem;
}

.point_container>* {
	display: flex;
	flex-direction: column;
	flex: 1;
}

.point_box {
	position: relative;
	background-color: var(--white);
	border: 2px solid var(--main-orange);
	padding: 2rem;
	border-radius: 2rem;
}

.point_box::before {
	position: absolute;
	top: -2rem;
	left: -2rem;
	width: 100%;
	max-width: 7.7rem;
}

.point_box:nth-child(1)::before {
	content: url(./images/point/num_01.svg);
}

.point_box:nth-child(2)::before {
	content: url(./images/point/num_02.svg);
}

.point_box:nth-child(3)::before {
	content: url(./images/point/num_03.svg);
}

.point_img img {
	border-radius: 2rem;
	object-fit: cover;
}

.point_title {
	margin-top: 1rem;
	text-align: right;
}

.point_title span {
	position: relative;
	font-size: 2.4rem;
	letter-spacing: 1.5px;
}

.point_title span::before {
	position: absolute;
	content: '';
	width: 1.6rem;
	height: 1px;
	background-color: var(--common-text);
	top: 50%;
	left: -2rem;
	transform: translateY(-50%);
}

.point_para {
	margin-top: 1rem;
	font-size: 1.6rem;
	line-height: 1.5;
}

@media screen and (max-width:768px) {
	.point_container {
		flex-direction: column;
		gap: 3.5rem 0;
	}

	.point_h2 .point_h2_top,
	.point_h2 .point_h2_bottom {
		font-size: 2.4rem;
	}

	.point_top_text p {
		font-size: 1.8rem;
	}

	.point_box::before {
		top: -2rem;
		left: -1rem;
		max-width: 6rem;
	}

	.point_box:nth-child(1)::before {
		content: url(./images/point/num_01_sp.svg);
	}

	.point_box:nth-child(2)::before {
		content: url(./images/point/num_02_sp.svg);
	}

	.point_box:nth-child(3)::before {
		content: url(./images/point/num_03_sp.svg);
	}
}

/* cta */
.cta {
	padding-block: 25rem 16rem;
}

.cta::before {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	background-image: url(./images/section/wave.svg);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100% auto;
	aspect-ratio: 1920 / 200;
	transform: rotate(180deg);
}

.cta::after {
	position: absolute;
	content: '';
	bottom: 0;
	left: 0;
	width: 100%;
	height: auto;
	background-image: url(./images/worry/book_blue.svg);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100% auto;
	aspect-ratio: 1920 / 87;
}

.cta_circle {
	position: relative;
	width: 100%;
	z-index: 0;
}

.cta_circle::before {
	position: absolute;
	content: '';
	background-image: url(./images/cta/bg.svg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	width: 100%;
	height: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.cta_circle>* {
	position: relative;
	z-index: 1;
}

.cta_person {
	display: flex;
	justify-content: center;
}

.cta_h2 {
	text-align: center;
	margin-top: 5rem;
}

.cta_h2_top,
.cta_h2_bottom {
	display: block;
	font-size: 3.4rem;
	line-height: 1.5;
	font-weight: 500;
}

.cta_h2_underline {
	display: inline-block;
	background-image: linear-gradient(to bottom,
		transparent 60%,
		#F9A825 60%);
	background-repeat: no-repeat;
	animation: marker 1s ease-in-out forwards;
}

@keyframes marker {
	from {
		background-size: 0%;
	}

	to {
		background-size: 100%;
	}
}

.cta_text {
	margin-top: 5rem;
}

.cta_para {
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.5;
}

.cta_btn {
	display: flex;
	justify-content: center;
	gap: 0 2rem;
	margin-top: 5rem;
}

@media screen and (max-width:768px) {
	.cta {
		padding-block: 10rem;
	}

	.cta_circle::before,
	.cta_circle::after {
		content: none;
	}

	.cta_h2_top,
	.cta_h2_bottom {
		font-size: 2.4rem;
	}
}

/* worry */
.worry {
	background-color: var(--sky-blue);
	padding-block: 6rem 14rem;
}

.worry::before {
	position: absolute;
	content: '';
	bottom: 0;
	left: 0;
	width: 100%;
	height: auto;
	background-image: url(./images/worry/book_w.svg);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100% auto;
	aspect-ratio: 1920 / 200;
}

.worry_h2 {
	text-align: center;
}

.worry_h2 .worry_h2_text {
	position: relative;
	display: inline-block;
	font-size: 3.4rem;
	font-weight: 500;
}

.worry_h2 .worry_h2_text::before,
.worry_h2 .worry_h2_text::after {
	position: absolute;
	content: '';
	height: 100%;
	width: 1px;
	background-color: var(--common-text);
	top: 50%;
}

.worry_h2 .worry_h2_text::before {
	left: -1rem;
	transform: translateY(-50%) rotate(-25deg);
}

.worry_h2 .worry_h2_text::after {
	right: -1rem;
	transform: translateY(-50%) rotate(25deg);
}

.worry_h2 .orange {
	color: var(--main-orange);
}

.worry_container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3rem;
	margin-top: 8rem;
}

.worry_box {
	background-color: var(--white);
	border-radius: 2rem;
	padding: 2rem;
}

.worry_title {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 1rem;
	border-bottom: var(--light-orange) 2px solid;
	padding-bottom: 1rem;
}

.worry_title span {
	color: var(--main-orange);
	font-size: 2rem;
}

.worry_list {
	margin-top: 2rem;
}

.worry_item {
	position: relative;
	margin-top: 1rem;
}

.worry_item::before {
	position: absolute;
	content: url(./images/icon/checkbox_orange.svg);
	top: 5px;
	left: 0;
	width: 13px;
	height: 13px;
}

.worry_item span {
	display: block;
	font-size: 1.4rem;
	padding-left: 1.5em;
	line-height: 1.5;
}

@media screen and (max-width:768px) {
	.worry {
		background-color: var(--sky-blue);
		padding-block: 4rem 7rem;
	}

	.worry_h2 .worry_h2_text {
		font-size: 2.4rem;
		line-height: 1.5;
	}

	.worry_h2 .worry_h2_text::before {
		left: -2rem;
	}

	.worry_h2 .worry_h2_text::after {
		right: -2rem;
	}

	.worry_container {
		grid-template-columns: repeat(2, 1fr);
		margin-top: 5rem;
	}
}

@media screen and (max-width:600px) {
	.worry_container {
		grid-template-columns: repeat(1, 1fr);
	}
}

/* ordermade */
.ordermade {
	padding-block: 8rem;
}

.ordermade_title {
	text-align: center;
}

.ordermade_fuki {
	position: relative;
	display: inline-block;
	background-color: var(--light-green);
	padding: 1rem 2rem;
	border-radius: 5rem;
}

.ordermade_fuki::before {
	position: absolute;
	content: '';
	bottom: -1.1rem;
	left: 50%;
	transform: translateX(-50%);
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 11px 6.5px 0 6.5px;
	border-color: #AED581 transparent transparent transparent;
	transform: rotate(0deg);
}

.ordermade_fuki span {
	display: inline-block;
	color: var(--white);
	font-size: 1.9rem;
	font-weight: 500;
}

.ordermade_h2 {
	text-align: center;
	margin-top: 3rem;
}

.ordermade_h2 .ordermade_h2_text {
	display: block;
	font-size: 3.4rem;
	line-height: 1.5;
	font-weight: 500;
}

.ordermade_h2 .orange {
	color: var(--main-orange);
}

.ordermade_container {
	display: flex;
	justify-content: space-between;
	gap: 0 6rem;
	margin-top: 5rem;
}

.ordermade_container>* {
	display: flex;
	flex-direction: column;
}

.ordermade_img {
	flex: 4;
}

.ordermade_img img {
	border-radius: 2rem;
	object-fit: cover;
}

.ordermade_text {
	flex: 6;
}

.ordermade_text p {
	font-size: 1.6rem;
	line-height: 1.8;
	margin-top: 1.2em;
}

.ordermade_text p:first-child {
	margin-top: 0;
}

.ordermade_text p span {
	color: var(--main-orange);
}

.ordermade_list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3rem;
	margin-top: 5rem;
}

.ordermade_item a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	background-color: var(--main-orange);
	border-radius: 5rem;
	padding-block: 2rem;
	padding-inline: 1rem;
	text-align: center;
	opacity: 1;
	transition: all 0.3s ease;
}

.ordermade_item a:hover {
	opacity: 0.7;
}

.ordermade_item span {
	color: var(--white);
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 1px;
	line-height: 1.5;
}

.ordermade_btn {
	text-align: center;
	margin-top: 5rem;
}

.ordermade_btn a {
	position: relative;
	display: inline-block;
	background-color: var(--main-green);
	padding: 2rem 5rem 2rem 2rem;
	border-radius: 5rem;
}

.ordermade_btn a::before {
	position: absolute;
	content: '';
	right: 2rem;
	top: 40%;
	transform: translateY(-50%);
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 6.5px 0 6.5px 13px;
	border-color: transparent transparent transparent #FFFFFF;
	transform: rotate(0deg);
}

.ordermade_btn a span {
	display: block;
	color: var(--white);
	font-weight: 500;
	font-size: 1.6rem;
	line-height: 1;
}

@media screen and (max-width:768px) {
	.ordermade {
		padding-block: 5rem;
	}

	.ordermade_h2 .ordermade_h2_text {
		font-size: 2.4rem;
	}

	.ordermade_container {
		flex-direction: column;
		gap: 3rem 0;
		margin-top: 3rem;
	}

	.ordermade_list {
		grid-template-columns: repeat(2, 1fr);
		margin-top: 3rem;
	}
}

@media screen and (max-width:600px) {
	.ordermade_list {
		grid-template-columns: repeat(1, 1fr);
		gap: 1.5rem 0;
	}
}

/* skin */
.skin {
	padding-block: 8rem;
}

.skin_h2 {
	text-align: center;
}

.skin_h2_text {
	position: relative;
	display: inline-block;
	font-size: 3.4rem;
	font-weight: 500;
}

.skin_h2_text::before,
.skin_h2_text::after {
	position: absolute;
	content: '';
	height: 100%;
	width: 1px;
	background-color: var(--common-text);
	top: 50%;
}

.skin_h2_text::before {
	left: -1rem;
	transform: translateY(-50%) rotate(-25deg);
}

.skin_h2_text::after {
	right: -1rem;
	transform: translateY(-50%) rotate(25deg);
}

.skin_h2 .orange {
	color: var(--main-orange);
}

.skin_container {
	display: flex;
	justify-content: space-between;
	gap: 0 6rem;
	margin-top: 5rem;
}

.skin_container>* {
	display: flex;
	flex-direction: column;
}

.skin_img {
	flex: 4;
}

.skin_text {
	flex: 6;
}

.skin_img img {
	border-radius: 2rem;
	object-fit: cover;
}

.skin_h3 span {
	color: var(--main-orange);
	font-size: 2.4rem;
	font-weight: 500;
}

.skin_text p {
	font-size: 1.6rem;
	line-height: 1.8;
	margin-top: 1.2em;
}

.skin_text p:first-child {
	margin-top: 0;
}

@media screen and (max-width:768px) {
	.skin {
		padding-block: 5rem;
	}

	.skin_h2_text {
		font-size: 2.4rem;
	}

	.skin_container {
		flex-direction: column;
		gap: 3rem 0;
		margin-top: 5rem;
	}

	.skin_h3 span {
		font-size: 1.8rem;
	}
}

/* flow */
.flow {
	padding-block: 8rem 24rem;
}

.flow::before {
	position: absolute;
	content: '';
	bottom: 0;
	left: 0;
	width: 100%;
	height: auto;
	background-image: url(./images/section/wave.svg);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100% auto;
	aspect-ratio: 1920 / 200;
}

.flow_img {
	display: flex;
	justify-content: center;
	margin-top: 5rem;
}

@media screen and (max-width:768px) {
	.flow {
		padding-block: 5rem 10rem;
	}
}

@media screen and (max-width: 650px) {
	.flow {
		padding-bottom: 8rem;
	}
}

/* voice */
.voice {
	background-color: var(--beige);
	padding-bottom: 8rem;
}

.voice_top_icon {
	display: flex;
	justify-content: center;
	margin-bottom: 2rem;
}

.voice_list {
	margin-top: 5rem;
	/* padding: 0 60px; */
	/* 左右に60pxの余白を追加 */
}

/* slickのスライドアイテムに余白を追加 */
.voice_list .slick-slide {
	padding: 0 1.5rem;
	/* 各スライド間に10pxの隙間 */
}

.voice_text {
	background-color: var(--white);
	border-radius: 2rem;
	padding: 2rem;
}

.voice_img,
.voice_img img {
	border-radius: 2rem 2rem 0 0;
}

.voice_img img {
	width: 100%;
	height: 30rem;
	object-fit: cover;
}

.slick-dotted.slick-slider {
	margin-bottom: 0;
}

.voice_h3 {
	margin-top: 2rem;
}

.voice_h3 span {
	font-size: 2.4rem;
	line-height: 1.5;
	font-weight: 500;
}

.voice_para {
	font-size: 1.6rem;
	line-height: 1.5;
	margin-top: 2rem;
}

.voice_response {
	padding: 2rem;
	background-color: #FEFCF6;
	border-radius: 2rem;
	margin-top: 3rem;
}

.voice_h4 span {
	font-size: 1.8rem;
	color: var(--main-orange);
}

.voice_response p {
	font-size: 1.6rem;
	line-height: 1.5;
	margin-top: 2rem;
}

.slick-dots {
	bottom: -5rem;
}

.google_review {
	margin-top: 5rem;
}

.voice_btn {
	text-align: center;
	margin-top: 7rem;
}

.voice_btn a {
	position: relative;
	display: inline-block;
	background-color: var(--main-green);
	padding: 2rem 5rem 2rem 2rem;
	border-radius: 5rem;
}

.voice_btn a::before {
	position: absolute;
	content: '';
	right: 2rem;
	top: 40%;
	transform: translateY(-50%);
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 6.5px 0 6.5px 13px;
	border-color: transparent transparent transparent #FFFFFF;
	transform: rotate(0deg);
}

.voice_btn a span {
	display: block;
	color: var(--white);
	font-weight: 500;
	font-size: 1.6rem;
	line-height: 1;
}

.voice_top {
	display: flex;
	align-items: center;
	gap: 0 1rem;
}

.voice_person img {
	width: 5rem;
	height: 5rem;
	object-fit: cover;
}

.voice_name span {
	display: block;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.5;
}

.voice_data span {
	display: block;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5;
}

@media screen and (max-width:768px) {
	.voice_list .slick-slide {
		padding: 0 2.5rem;
	}

	.voice_img img {
		height: 20rem;
	}
}

@media screen and (max-width:555px) {
	.voice_img img {
		height: 16rem;
	}
}

/* greeting */

.greeting {
	padding-block: 24rem 8rem;
}

.greeting::before {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	background-image: url(./images/section/wave.svg);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100% auto;
	aspect-ratio: 1920 / 200;
	transform: rotate(180deg);
}

.greeting_container {
	margin-top: 5rem;
	display: flex;
	justify-content: space-between;
	gap: 0 10rem;
}

.greeting_container>* {
	display: flex;
	flex-direction: column;
}

.greeting_text {
	flex: 6;
}

.greeting_img {
	position: relative;
	flex: 4;
}

.greeting_img img {
	width: 100%;
	height: 100%;
	aspect-ratio: 1/1;
	object-fit: cover;
	border-radius: 2rem;
	border: 2px solid var(--main-orange);
}

.greeting_name {
	position: absolute;
	bottom: 1.5rem;
	right: 2rem;
	font-size: 1.8rem;
	line-height: 2;
	text-align: right;
}

.greeting_name span {
	display: block;
	font-size: 2.6rem;
	font-weight: 500;
}

.greeting_header p {
	font-weight: 500;
	font-size: 1.8rem;
	line-height: 2;
}

.greeting_header p span {
	position: relative;
	display: inline-block;
	color: var(--main-orange);
}

.greeting_header p span::before {
	position: absolute;
	content: '';
	width: 100%;
	height: 1px;
	background-color: var(--main-orange);
	bottom: 6px;
	left: 0;
}

.greeting_para {
	margin-top: 2rem;
	font-size: 1.6rem;
	line-height: 1.8;
}

@media screen and (max-width:768px) {
	.greeting {
		padding-block: 11rem 3rem;
	}

	.greeting_container {
		flex-direction: column-reverse;
		gap: 3rem 0;
	}
}

/* column */
.column {
	padding-block: 8rem;
}

.column_container {
	margin-top: 5rem;
}

.column_list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3rem 2.5rem;
}

.column_img img {
	border-radius: 2rem;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.post_cat {
	margin-top: 1rem;
}

.column_h1 {
	margin-top: 1rem;
}

.column_h1 span {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
}

.column_item time {
	text-align: right;
	display: block;
	font-size: 1.4rem;
	color: #9B9B9B;
	margin-top: 1rem;
}

@media screen and (max-width:768px) {
	.column {
		padding-block: 3rem;
	}

	.column_list {
		grid-template-columns: repeat(1, 1fr);
	}
}

.pagination {
	margin-top: 5rem;
}

ul.page-numbers {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 2rem;
}

ul.page-numbers li a {
	font-size: 1.8rem;
	color: var(--common-text);
}

ul.page-numbers li span.current {
	font-size: 2rem;
	font-weight: 500;
	color: var(--main-orange);
}

@media screen and (max-width:900px) {
	.page-column .column_list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width:540px) {
	.page-column .column_list {
		grid-template-columns: repeat(1, 1fr);
	}
}

/* page common */
.page_header {
	display: flex;
	justify-content: center;
	align-items: center;
	background-image: url(./images/page-common/header.webp);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	padding-block: 10rem;
}

.page_header .page_h1 {
	text-align: center;
}

.page_header .page_h1 span {
	color: var(--main-orange);
	font-size: 3.4rem;
	font-weight: 500;
	text-shadow:
		3px 3px 3px #ffffff, -3px -3px 3px #ffffff,
		-3px 3px 3px #ffffff, 3px -3px 3px #ffffff,
		3px 0px 3px #ffffff, -3px -0px 3px #ffffff,
		0px 3px 3px #ffffff, 0px -3px 3px #ffffff;
	margin: 0;
	line-height: 1.5;
}

.page .cta {
	padding-block: 8rem 5rem;
}

.page .cta::before,
.page .cta::after {
	content: none;
}

.aboutPage .topInfo {
	padding-block: 8rem 0;
}

.pricePage .topInfo,
{
	margin-top: 0;
}

.flowPage .flow {
	padding-top: 0;
}

.treatmentsPage .topInfo {
	padding-bottom: 0;
}

.pricePage .topInfo {
	padding-bottom: 0;
}

.flowPage .topInfo {
	padding-bottom: 0;
}

.reviewPage .topInfo {
	padding-bottom: 0;
}

.symptomsPage .topInfo {
	padding-bottom: 0;
	margin-top: 8rem;
}

.page .topInfo::before {
	content: none;
}

@media screen and (max-width:768px) {
	.page_header {
		padding-block: 6rem;
	}

	.page .topInfo {
		padding-block: 5rem 2rem;
	}

	.page .cta {
		padding-block: 5rem;
	}

	.page .cta_h2,
	.page .cta_text {
		margin-top: 2rem;
	}

	.page_header .page_h1 {
		padding-inline: 1.5rem;
	}

	.page_header .page_h1 span {
		font-size: 2.4rem;
	}
}

/* about */
.about {
	/* padding-block: 0 8rem; */
}

.about_hero {
	text-align: center;
	margin-bottom: 8rem;
}

.about_hero_img {
	position: relative;
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	border-radius: 2rem;
	overflow: hidden;
}

.about_hero_img img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

.about_hero_text {
	margin-top: 3rem;
}

.about_hero_text h1 {
	font-size: 3.4rem;
	font-weight: 500;
	line-height: 1.5;
	margin-bottom: 2rem;
}

.about_hero_text h1 .orange {
	color: var(--main-orange);
}

.about_hero_text p {
	font-size: 1.6rem;
	line-height: 1.8;
	max-width: 600px;
	margin: 0 auto;
}

.about_hero_text p:last-child {
	margin-top: 2rem;
}

.about_section {
	margin-bottom: 8rem;
}

.about_section:last-child {
	margin-bottom: 0;
}

.about_section h2 {
	text-align: center;
	margin-bottom: 5rem;
}

.about_section h2 .about_h2_text {
	position: relative;
	display: inline-block;
	font-size: 3.4rem;
	font-weight: 500;
}

.about_section h2 .about_h2_text::before,
.about_section h2 .about_h2_text::after {
	position: absolute;
	content: '';
	height: 100%;
	width: 1px;
	background-color: var(--common-text);
	top: 50%;
}

.about_section h2 .about_h2_text::before {
	left: -1rem;
	transform: translateY(-50%) rotate(-25deg);
}

.about_section h2 .about_h2_text::after {
	right: -1rem;
	transform: translateY(-50%) rotate(25deg);
}

.about_section h2 .orange {
	color: var(--main-orange);
}

.about_content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 6rem;
}

.about_content.reverse {
	flex-direction: row-reverse;
}

.about_content>* {
	flex: 1;
}

.about_content_img img {
	width: 100%;
	height: auto;
	border-radius: 2rem;
	object-fit: cover;
}

.about_content_text h3 {
	font-size: 2.4rem;
	font-weight: 500;
	margin-bottom: 2rem;
	color: var(--main-orange);
}

.about_content_text h3 span {
	font-weight: 400;
}

.about_content_text p {
	font-size: 1.6rem;
	line-height: 1.8;
	margin-bottom: 1.5rem;
}

.about_content_text p:last-child {
	margin-bottom: 0;
}

.about_features {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3rem;
	margin-top: 5rem;
}

.about_feature {
	text-align: center;
	padding: 3rem 2rem;
	background-color: var(--white);
	border-radius: 2rem;
	border: 2px solid var(--main-orange);
	position: relative;
}

.about_feature::before {
	position: absolute;
	top: -2rem;
	left: 50%;
	transform: translateX(-50%);
	width: 4rem;
	height: 4rem;
	background-color: var(--main-orange);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2rem;
	color: var(--white);
	font-weight: bold;
}

.about_feature:nth-child(1)::before {
	content: '1';
}

.about_feature:nth-child(2)::before {
	content: '2';
}

.about_feature:nth-child(3)::before {
	content: '3';
}

.about_feature h3 {
	font-size: 2rem;
	font-weight: 500;
	margin-top: 2rem;
	color: var(--common-text);
}

.about_feature p {
	font-size: 1.6rem;
	line-height: 1.6;
	color: var(--common-text);
	text-align: left;
	margin-top: 2rem;
}

.about_philosophy {
	background-color: var(--beige);
	padding: 6rem 0;
	border-radius: 2rem;
	text-align: center;
}

.about_philosophy h2 {
	margin-bottom: 3rem;
}

.about_philosophy p {
	font-size: 1.8rem;
	line-height: 1.8;
	max-width: 800px;
	margin: 0 auto;
	font-weight: 500;
}

.about_philosophy h2 {
	position: relative;
	display: inline-block;
	font-size: 3.4rem;
	font-weight: 500;
}

.about_philosophy h2 span {
	position: relative;
	display: inline-block;
	font-size: 3.4rem;
	font-weight: 500;
}

.about_philosophy h2 span::before,
.about_philosophy h2 span::after {
	position: absolute;
	content: '';
	height: 100%;
	width: 1px;
	background-color: var(--common-text);
	top: 50%;
}

.about_philosophy h2 span::before {
	left: -1rem;
	transform: translateY(-50%) rotate(-25deg);
}

.about_philosophy h2 span::after {
	right: -1rem;
	transform: translateY(-50%) rotate(25deg);
}

.about_philosophy h2 span.orange {
	color: var(--main-orange);
}

.about_philosophy h2 span.orange::before,
.about_philosophy h2 span.orange::after {
	content: none;
}

@media screen and (max-width:768px) {
	.about_hero_text h1 {
		font-size: 2.4rem;
	}

	.about_section h2 .about_h2_text {
		font-size: 2.4rem;
	}

	.about_content {
		flex-direction: column;
		gap: 3rem 0;
	}

	.about_content.reverse {
		flex-direction: column;
	}

	.about_features {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.about_philosophy p {
		font-size: 1.6rem;
	}
}

/* ============================================
Treatments Page Styles
============================================ */

.treatmentsPage {
	padding-top: 0;
}

.treatments_hero {
	margin-bottom: 8rem;
}

.treatments_hero_text {
	text-align: center;
	max-width: 1000px;
	margin: 0 auto;
}

.treatments_hero_text h1 {
	font-size: 3.6rem;
	font-weight: 500;
	line-height: 1.4;
	margin-bottom: 3rem;
	color: var(--common-text);
}

.treatments_hero_text h1 .orange {
	color: var(--main-orange);
}

.treatments_hero_text p {
	font-size: 1.8rem;
	line-height: 1.8;
	color: var(--common-text);
}

.treatments_section {
	margin-bottom: 8rem;
}

.treatments_content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 6rem;
	padding-top: 10rem;
	/* margin-bottom: 6rem; */
}

.treatments_content.reverse {
	flex-direction: row-reverse;
}

.treatments_content>* {
	flex: 1;
}

.treatments_content_img img {
	width: 100%;
	height: auto;
	border-radius: 2rem;
	object-fit: cover;
}

.treatments_content_text h2 {
	font-size: 2.4rem;
	font-weight: 500;
	color: var(--main-orange);
}

.treatments_content_text h3 {
	font-size: 2rem;
	font-weight: 500;
	margin-top: 2rem;
	color: var(--common-text);
}

.treatments_content_text p {
	font-size: 1.6rem;
	line-height: 1.8;
	margin-top: 2rem;
}

.treatments_list {
	list-style: none;
	padding: 0;
	margin: 0;
	margin-top: 2rem;
}

.treatments_list li {
	position: relative;
	padding-left: 2rem;
	font-size: 1.6rem;
	line-height: 1.6;
	margin-bottom: 1rem;
	color: var(--common-text);
}

.treatments_list li::before {
	content: '●';
	position: absolute;
	top: 5px;
	left: 0;
	color: var(--main-orange);
	font-size: 1.2rem;
}

.treatments_video {
	display: flex;
	justify-content: center;
	margin-top: 3rem;
}


/* Treatments Page Responsive */
@media screen and (max-width: 768px) {
	.treatments_hero_text h1 {
		font-size: 2.4rem;
	}

	.treatments_section h2 .treatments_h2_text {
		font-size: 2.4rem;
	}

	.treatments_content {
		flex-direction: column-reverse;
		gap: 3rem 0;
	}

	.treatments_content.reverse {
		flex-direction: column-reverse;
	}

}

/* ============================================
Price Page Styles
============================================ */

.pricePage {
	padding-top: 0;
}

.price_hero {
	margin-bottom: 8rem;
}

.price_hero_text {
	text-align: center;
	max-width: 1000px;
	margin: 0 auto;
}

.price_hero_text h1 {
	font-size: 3.6rem;
	font-weight: 500;
	line-height: 1.4;
	margin-bottom: 3rem;
	color: var(--common-text);
}

.price_hero_text h1 .orange {
	color: var(--main-orange);
}

.price_hero_text p {
	font-size: 1.8rem;
	line-height: 1.8;
	color: var(--common-text);
}

.price_section {
	margin-bottom: 8rem;
	margin-top: 8rem;
}

.price_section h2 {
	text-align: center;
	margin-bottom: 5rem;
}

.price_section h2 .price_h2_text {
	position: relative;
	display: inline-block;
	font-size: 3.4rem;
	font-weight: 500;
}

.price_section h2 .price_h2_text::before,
.price_section h2 .price_h2_text::after {
	position: absolute;
	content: '';
	height: 100%;
	width: 1px;
	background-color: var(--common-text);
	top: 50%;
}

.price_section h2 .price_h2_text::before {
	left: -1rem;
	transform: translateY(-50%) rotate(-25deg);
}

.price_section h2 .price_h2_text::after {
	right: -1rem;
	transform: translateY(-50%) rotate(25deg);
}

.price_section h2 .orange {
	color: var(--main-orange);
}

.price_table_container {
	background-color: var(--white);
	border-radius: 2rem;
	padding: 3rem;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	margin-bottom: 4rem;
}

.price_table {
	width: 100%;
	border-collapse: collapse;
	font-size: 1.6rem;
}

.price_table thead th {
	background-color: var(--main-orange);
	color: var(--white);
	padding: 2rem 1.5rem;
	font-weight: 500;
	text-align: center;
	border: none;
}

.price_table tbody td {
	padding: 2rem 1.5rem;
	text-align: center;
	border-bottom: 1px solid var(--light-orange);
	color: var(--common-text);
}

.price_table tbody tr:last-child td {
	border-bottom: none;
}

.price_table tbody tr:nth-child(even) {
	background-color: var(--beige);
}

.price_note {
	background-color: var(--beige);
	padding: 3rem;
	border-radius: 2rem;
	margin-top: 4rem;
}

.price_note h3 {
	font-size: 2.4rem;
	font-weight: 500;
	color: var(--main-orange);
	margin-bottom: 2rem;
	text-align: center;
}

.price_note_list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.price_note_list li {
	position: relative;
	padding-left: 2rem;
	font-size: 1.6rem;
	line-height: 1.8;
	margin-bottom: 1rem;
	color: var(--common-text);
}

.price_note_list li::before {
	content: '●';
	position: absolute;
	left: 0;
	color: var(--main-orange);
	font-size: 1.2rem;
}

.insurance_content {
	background-color: var(--white);
	border-radius: 2rem;
	padding: 4rem;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.insurance_text h3 {
	font-size: 2.4rem;
	font-weight: 500;
	color: var(--main-orange);
	margin-bottom: 2rem;
	text-align: left;
}

.insurance_text p {
	font-size: 1.6rem;
	line-height: 1.8;
	color: var(--common-text);
	margin-bottom: 3rem;
	text-align: center;
}

.insurance_conditions,
.insurance_benefits {
	margin-bottom: 3rem;
}

.insurance_conditions h4,
.insurance_benefits h4 {
	font-size: 2rem;
	font-weight: 500;
	color: var(--common-text);
	margin-bottom: 1.5rem;
}

.insurance_text p {
	text-align: left;
}

.insurance_list {
	display: inline-block;
	list-style: none;
	padding: 0;
	margin: 0;
}

.insurance_list li {
	position: relative;
	padding-left: 2rem;
	font-size: 1.6rem;
	line-height: 1.8;
	margin-bottom: 1rem;
	color: var(--common-text);
}

.insurance_list li::before {
	content: '●';
	position: absolute;
	left: 0;
	color: var(--main-orange);
	font-size: 1.2rem;
}

.payment_content {
	background-color: var(--white);
	border-radius: 2rem;
	padding: 4rem;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.payment_methods {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 3rem;
}

.payment_method {
	text-align: center;
	padding: 3rem 2rem;
	background-color: var(--beige);
	border-radius: 2rem;
	border: 2px solid var(--main-orange);
}

.payment_method h3 {
	font-size: 2rem;
	font-weight: 500;
	color: var(--main-orange);
	margin-bottom: 1.5rem;
}

.payment_method p {
	font-size: 1.6rem;
	line-height: 1.6;
	color: var(--common-text);
}

.price_contact {
	background-color: var(--beige);
	padding: 6rem 4rem;
	border-radius: 2rem;
	text-align: center;
}

.price_contact h2 {
	margin-bottom: 3rem;
}

.price_contact p {
	font-size: 1.8rem;
	line-height: 1.8;
	color: var(--common-text);
	margin-bottom: 3rem;
}

.price_contact_btn {
	display: flex;
	justify-content: center;
	gap: 2rem;
}

.price_contact_btn a {
	display: inline-block;
	transition: transform 0.3s ease;
}

.price_contact_btn a:hover {
	transform: scale(1.05);
}

.price_contact h2 {
	position: relative;
	display: inline-block;
	font-size: 3.4rem;
	font-weight: 500;
}

.price_contact h2 span {
	position: relative;
	display: inline-block;
	font-size: 3.4rem;
	font-weight: 500;
}

.price_contact h2 span::before,
.price_contact h2 span::after {
	position: absolute;
	content: '';
	height: 100%;
	width: 1px;
	background-color: var(--common-text);
	top: 50%;
}

.price_contact h2 span::before {
	left: -1rem;
	transform: translateY(-50%) rotate(-25deg);
}

.price_contact h2 span::after {
	right: -1rem;
	transform: translateY(-50%) rotate(25deg);
}

.price_contact h2 span.orange {
	color: var(--main-orange);
}

.price_contact h2 span.orange::before,
.price_contact h2 span.orange::after {
	content: none;
}

.caution {
	margin-top: 3rem;
}

.caution span {
	display: block;
	font-size: 1.4rem;
	line-height: 1.5;
	font-weight: 400;
}

.caution_jiko {
	margin-top: 1rem;
}

.caution_jiko span {
	display: block;
	font-size: 1.4rem;
	line-height: 1.5;
	font-weight: 400;
}

.jiko_h4 {
	margin-top: 5rem;
	line-height: 1.5;
}

.price_link {
	background-color: var(--main-green);
	padding: 1rem 2rem;
	width: 100%;
	border-radius: 2rem;
}

.price_link span {
	color: var(--white);
	font-weight: 500;
}

.jihi_h3 {
	font-size: 2.4rem;
	font-weight: 500;
	color: var(--main-orange);
	margin-top: 5rem;
	text-align: center;
	line-height: 1.5;
}

.price_example {
	margin-top: 3rem;
	display: flex;
	justify-content: center;
}

.price_example img {
	max-width: 100%;
}

.jiko_para {
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.8;
	margin-top: 5rem;
	padding-bottom: 5rem;
}

.yokosuku_01,
.yokosuku_02 {
	display: none;
}

/* Price Page Responsive */
@media screen and (max-width: 768px) {
	.price_hero_text h1 {
		font-size: 2.4rem;
	}

	.price_section {
		margin-bottom: 0rem;
		margin-top: 5rem;
	}

	.price_section h2 .price_h2_text {
		font-size: 2.4rem;
	}

	.price_table_container {
		padding: 2rem;
		/* overflow-x: auto; */
	}

	.price_table_contents {
		overflow-x: auto;
	}

	.price_table {
		font-size: 1.4rem;
		min-width: 500px;
	}

	.price_table thead th,
	.price_table tbody td {
		padding: 1.5rem 1rem;
	}

	.insurance_content,
	.payment_content {
		padding: 3rem 2rem;
	}

	.payment_methods {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.price_contact {
		padding: 4rem 2rem;
	}

	.price_contact_btn {
		flex-direction: column;
		align-items: center;
		gap: 1.5rem;
	}

	.jihi_h3 {
		font-size: 2rem;
	}
}

@media screen and (max-width:569px) {
	.yokosuku_01 {
		display: block;
		font-size: 1.3rem;
	}

	.yokosuku_02 {
		display: block;
		font-size: 1.3rem;
	}
}

/* flowPage */
.flowPage .flow {
	padding-bottom: 8rem;
}

.flowPage .flow::before {
	content: none;
}

.serviceflow_container {
	margin-top: 5rem;
	display: flex;
	flex-direction: column;
	gap: 5rem;
}

.serviceflow_box {
	display: flex;
	justify-content: space-between;
	gap: 0 5rem;
}

.flow_num {
	position: relative;
	z-index: 1;
}

.flow_num::before {
	position: absolute;
	content: '';
	width: 3px;
	height: calc(100% - 5rem);
	background-color: var(--light-green);
	left: 50%;
	top: 5rem;
	transform: translateX(-50%);
	z-index: 0;
}

.flow_num::after {
	position: absolute;
	content: '';
	left: 50%;
	bottom: 0;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 16px 13.5px 0 13.5px;
	border-color: #AED581 transparent transparent transparent;
	transform: rotate(0deg) translateX(-50%);
}

.flow_circle {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--light-green);
	border-radius: 50%;
	width: 5rem;
	height: 5rem;
}

.flow_circle_num {
	color: var(--white);
	font-size: 2.2rem;
	line-height: 1;
	font-weight: 500;
}

.serviceflow_content {
	display: flex;
	justify-content: space-between;
	gap: 0 5rem;
}

.serviceflow_content>* {
	display: flex;
	flex-direction: column;
	flex: 1;
}

.serviceflow_h2 span {
	font-size: 2.4rem;
	font-weight: 500;
	color: var(--main-green);
}

.serviceflow_para {
	font-size: 1.6rem;
	line-height: 1.8;
	margin-top: 3rem;
}

.serviceflow_img img {
	border-radius: 2rem;
	width: 100%;
	height: auto;
	aspect-ratio: 3/2;
	object-fit: cover;
}

@media screen and (max-width:768px) {
	.flowPage .flow {
		padding-bottom: 3rem;
	}

	.serviceflow_content {
		flex-direction: column;
		gap: 2rem;
	}

	.serviceflow_para {
		margin-top: 1rem;
	}
}

/* review */
.review {
	padding-bottom: 8rem;
}

.review_container {
	margin-top: 5rem;
}

.review_list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3rem;
}

.review_item {
	border-radius: 2rem;
	background-color: var(--beige);
	padding: 2rem;
}

.review_name {
	font-size: 2rem;
	font-weight: 500;
}

.review_info {
	font-size: 1.6rem;
	color: #707070;
}

.review_para {
	font-size: 1.6rem;
	line-height: 1.5;
	margin-top: 3rem;
}

@media screen and (max-width:1024px) {
	.review_list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width:768px) {
	.review_list {
		grid-template-columns: repeat(1, 1fr);
	}
}

/* single */
.post-title {
	font-size: 3.4rem;
	font-weight: 500;
	line-height: 1.5;
}

.post-meta {
	margin-top: 1.2rem;
}

.post-meta .post-date {
	font-size: 1.4rem;
	color: #707070;
	margin-right: 2rem;
}

.post-meta .post-cats a {
	background-color: var(--light-green);
	color: var(--white);
	padding: 0.3rem 1rem;
	line-height: 1;
	font-size: 1.4rem;
	border-radius: 2rem;
}

.post-thumb {
	margin-top: 2rem;
}

.post-thumb img {
	max-width: 100%;
	width: 100%;
	object-fit: cover;
	aspect-ratio: 3 / 1.5;
	border-radius: 2rem;
}

.post-content img {
	width: 100%;
	max-width: 100%;
	object-fit: cover;
	border-radius: 2rem;
}

.post-content h2 {
	position: relative;
	font-size: 2.4rem;
	line-height: 1.5;
	font-weight: 500;
	background-color: var(--light-orange);
	color: var(--white);
	padding-left: 2rem;
	padding-block: 1rem;
	margin-top: 2rem;
}

.post-content h2::before {
	position: absolute;
	content: '';
	bottom: -12px;
	left: 2rem;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 12px 11px 0 11px;
	border-color: #F9A825 transparent transparent transparent;
	transform: rotate(0deg);
}

.post-content h3 {
	font-size: 2rem;
	line-height: 1.5;
	font-weight: 500;
	padding-left: 2rem;
	padding-bottom: 1rem;
	border-left: 5px solid var(--main-orange);
	border-bottom: 1px solid var(--main-orange);
	margin-top: 2rem;
}

.post-content h4 {
	position: relative;
	font-size: 1.8rem;
	line-height: 1.5;
	font-weight: 500;
	margin-top: 2rem;
	padding-left: 2.5rem;
}

.post-content h4::before {
	position: absolute;
	content: '';
	left: 0;
	top: 5px;
	width: 2rem;
	height: 2rem;
	background-color: var(--light-orange);
	border-radius: 50%;
}

.post-content p {
	font-size: 1.6rem;
	line-height: 1.5;
	margin-top: 2rem;
}

.post-content ul {
	list-style-type: disc;
	list-style-position: inside;
	margin-top: 2rem;
}

.post-content ol {
	list-style-position: inside;
	margin-top: 2rem;
}

.post-content ol li ol {
	margin-top: 0;
}

.post-content li {
	font-size: 1.6rem;
	margin-top: 1.5rem;
}

.post-content ol li {
	margin-top: 1.5rem;
}

.post-content ul li ul {
	margin-top: 1.5rem;
}

.post-content table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 2rem;
}

.post-content table thead tr th,
.post-content table thead tr td,
.post-content table tbody tr th,
.post-content table tbody tr td {
	font-size: 1.6rem;
	padding-block: 1.4rem;
	padding-left: 1rem;
}

.post-content table thead tr {
	background-color: var(--main-orange);
}

.post-content table thead tr th,
.post-content table thead tr td {
	color: var(--white);
	border-right: 1px solid var(--white);
}

.post-content table tbody tr td {
	padding-left: 1.5rem;
}

.post-content table tbody tr th,
.post-content table tbody tr td {
	border: solid 1px #707070;
}

.post-content table tbody tr:first-child th,
.post-content table tbody tr:first-child td {
	border-top: none;
}

.post-content dl {
	font-size: 1.6rem;
	margin-top: 2rem;
}

.post-content dl dt {
	line-height: 1.5;
}

.post-content dl dd {
	line-height: 1.5;
}

.post-content strong {
	font-weight: 500;
}

.post-content blockquote {
	background-color: var(--beige);
	padding: 2rem;
	border-radius: 2rem;
	margin-top: 2rem;
}

.post-content blockquote p:first-child {
	margin-top: 0;
}

/* 404 */

.nopage {
	padding-top: 5rem;
	padding-bottom: 8rem;
}

.noPage_img {
	display: flex;
	justify-content: center;
}

.noPage_img img {
	width: 100%;
	max-width: 100%;
}

@media screen and (max-width:768px) {
	.nopage {
		padding-bottom: 0;
	}
}

/* 症状別 */
.symptoms_h2 {
	text-align: center;
	margin-top: 8rem;
}

.symptoms_h2:first-child {
	margin-top: 8rem;
}

.symptoms_h2 span {
	position: relative;
	display: inline-block;
	font-size: 3.4rem;
	font-weight: 500;
}

.symptoms_h2 span::before,
.symptoms_h2 span::after {
	position: absolute;
	content: '';
	height: 100%;
	width: 1px;
	background-color: var(--common-text);
	top: 50%;
}

.symptoms_h2 span::before {
	left: -1rem;
	transform: translateY(-50%) rotate(-25deg);
}

.symptoms_h2 span::after {
	right: -1rem;
	transform: translateY(-50%) rotate(25deg);
}

.symptoms_container {
	display: flex;
	justify-content: space-between;
	gap: 0 5rem;
}

.symptoms_container>* {
	display: flex;
	flex-direction: column;
	margin-top: 8rem;
}

.symptoms_container:nth-child(even) {
	flex-direction: row-reverse;
}

.symptoms_text {
	flex: 6;
}

.symptoms_img {
	flex: 4;
}

.symptoms_img img {
	width: 100%;
	height: auto;
	aspect-ratio: 3/2;
	object-fit: cover;
	border-radius: 2rem;
}

.symptoms_h3 {
	margin-bottom: 0;
}

.symptoms_h3 span {
	font-size: 2.4rem;
	font-weight: 500;
	color: var(--main-orange);
	line-height: 1.5;
}

.symptoms_list {
	margin-top: 1rem;
	list-style-type: none;
}

.symptoms_item {
	position: relative;
	margin-top: 1rem;
}

.symptoms_item:first-child {
	margin-top: 0;
}

.symptoms_item::before {
	position: absolute;
	content: '';
	top: 5px;
	left: 0;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background-color: var(--main-orange);
}

.symptoms_item span {
	padding-left: 2.5rem;
	font-size: 1.6rem;
	display: block;
	line-height: 1.8;
}

.symptoms_para {
	font-size: 1.6rem;
	line-height: 1.8;
	margin-top: 1.5rem;
}

.symptoms_container .symptoms_para:first-child {
	margin-top: 0;
}

.cause {
	margin-top: 3rem;
	padding: 3rem;
	background-color: var(--beige);
	border-radius: 2rem;
}

.cause_h3 {
	text-align: center;
}

.cause_h3 span {
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.8;
	color: var(--main-orange);
}

.cause_list_inner {
	display: flex;
	justify-content: center;
}

.cause_list {
	list-style-type: none;
	margin-top: 3rem;
}

.cause_item {
	position: relative;
	margin-top: 2rem;
}

.cause_item:first-child {
	margin-top: 0;
}

.cause_item::before {
	position: absolute;
	content: '';
	top: 5px;
	left: 0;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background-color: var(--main-orange);
}

.cause_item span {
	padding-left: 2.5rem;
	font-size: 1.6rem;
	display: block;
	line-height: 1.8;
}

.cause_para {
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.8;
	font-weight: 500;
	margin-top: 3rem;
}

.symptoms_flow_container {
	max-width: 90rem;
	margin-inline: auto;
	margin-top: 3rem;
}

.symptoms_flow {
	display: flex;
	background-color: var(--beige);
	border-radius: 2rem;
	padding: 3rem;
	gap: 5rem;
}

.symptoms_flow>* {
	display: flex;
	flex-direction: column;
}

.s_flow_num_inner {
	position: relative;
	z-index: 1;
}

.s_flow_num_inner::before {
	position: absolute;
	content: '';
	width: 3px;
	height: calc(100% - 5rem);
	background-color: var(--light-orange);
	left: 50%;
	top: 5rem;
	transform: translateX(-50%);
	z-index: 0;
}

.s_flow_num_inner::after {
	position: absolute;
	content: '';
	left: 50%;
	bottom: 0;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 16px 13.5px 0 13.5px;
	border-color: #F9A825 transparent transparent transparent;
	transform: rotate(0deg) translateX(-50%);
}

.symptoms_flow_container .symptoms_flow:last-child .s_flow_num_inner::before,
.symptoms_flow_container .symptoms_flow:last-child .s_flow_num_inner::after {
	content: none;
}

.s_flow_circle {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--light-orange);
	border-radius: 50%;
	width: 5rem;
	height: 5rem;
}

.s_flow_num {
	color: var(--white);
	font-size: 2.2rem;
	line-height: 1;
	font-weight: 500;
}

.s_flow_h3 span {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.8;
	color: var(--main-orange);
}

.s_flow_para {
	font-size: 1.6rem;
	line-height: 1.8;
	margin-top: 1rem;
}

.s_flow_list {
	margin-top: 1rem;
}

.s_flow_item {
	position: relative;
	margin-top: 1rem;
}

.s_flow_item:first-child {
	margin-top: 0;
}

.s_flow_item::before {
	position: absolute;
	content: '';
	top: 5px;
	left: 0;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background-color: var(--main-orange);
}

.s_flow_item span {
	padding-left: 2.5rem;
	font-size: 1.6rem;
	display: block;
	line-height: 1.8;
}

.s_flow_outro {
	margin-top: 5rem;
	font-size: 1.6rem;
	line-height: 1.8;
}

@media screen and (max-width:768px) {
	.symptoms_h2 {
		margin-top: 5rem;
	}

	.symptoms_h2:first-child {
		margin-top: 3rem;
	}

	.symptoms_h2 span {
		font-size: 2.4rem;
	}

	.symptoms_container:nth-child(even) {
		flex-direction: column-reverse;
	}

	.symptoms_container:nth-child(odd) {
		flex-direction: column-reverse;
	}

	.symptoms_container {
		margin-top: 3rem;
	}

	.symptoms_text {
		margin-top: 3rem;
	}

	.symptoms_list {
		margin-top: 1rem;
	}

	.symptoms_item {
		margin-top: 1rem;
	}

	.symptoms_img {
		margin-top: 0;
	}

	.symptoms_flow {
		padding: 2rem 1.5rem;
		gap: 2rem;
	}

	.s_flow_h3 span {
		line-height: 1.5;
		font-size: 2rem;
	}

	.symptomsPage .topInfo {
		padding-block: 0rem 2rem;
	}
}

/* 症状ページ */
.s_gallery_container {
	max-width: 80rem;
	margin-inline: auto;
	margin-top: 8rem;
}

.s_gallery_list {
	display: flex;
	flex-direction: column;
	gap: 3rem;
}

.s_gallery_item a {
	display: flex;
	justify-content: space-between;
	border-radius: 2rem;
	background-color: var(--beige);
	padding: 3rem;
	gap: 0 3rem;
	box-shadow: 0 3px 6px #e7e4e4;
}

.s_gallery_item a:hover {
	opacity: 0.7;
}

.s_gallery_item a>* {
	display: flex;
	flex-direction: column;
}

.s_gallery_img {
	flex: 3;
}

.s_gallery_img img {
	border-radius: 1rem;
	width: 100%;
	height: auto;
	aspect-ratio: 3/2;
	object-fit: cover;
}

.s_gallery_text {
	flex: 7;
}

.s_gallery_h2 span {
	font-size: 2.8rem;
	font-weight: 500;
	color: var(--light-orange);
	line-height: 1.5;
}

.s_gallery_text p {
	font-size: 1.6rem;
	line-height: 1.8;
	margin-top: 2rem;
}

@media screen and (max-width:768px) {
	.s_gallery_item a {
		flex-direction: column;
		gap: 2rem 0;
		padding: 2rem 1.5rem;
	}

	.s_gallery_h2 span {
		font-size: 2.2rem;
	}

	.s_gallery_text p {
		margin-top: 1rem;
	}
}

/* footer menu */
.footer_menu {
	display: none;
}

@media screen and (max-width:768px) {
	.footer_menu {
		position: fixed;
		bottom: 0;
		left: 0;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		z-index: 999;
		width: 100%;
	}

	.footer_menu a {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 1rem;
	}

	.footer_menu a:nth-child(1) {
		background-color: #00B915;
	}

	.footer_menu a:nth-child(2) {
		background-color: var(--main-orange);
	}
}