@charset "utf-8";

@font-face {
	font-family: "LINESeedJP_OTF_Rg";
	src: url('../fonts/LINESeedJP_OTF_Rg.woff2') format("woff2");
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: "LINESeedJP_OTF_Bd";
	src: url('../fonts/LINESeedJP_OTF_Bd.woff2') format("woff2");
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: "LINESeedJP_OTF_Th";
	src: url('../fonts/LINESeedJP_OTF_Th.woff2') format("woff2");
	font-weight: 100;
	font-style: normal;
}

/************ common ************/
body {
	font-family: "Yu Gothic", "游ゴシック体", "YuGothic", "メイリオ", Meiryo, sans-serif;
	font-size: min(1vw, 16px);
	font-weight: 500;
	color: #1d1d1d;
	background: #fff;
	width: 100%;
	margin: 0 auto;
	line-height: 1.2;
	overflow-x: hidden;
}

body.agecheck {
	overflow: hidden;
}

p {
	margin: 0;
}

a {
	color: #1d1d1d;
	text-decoration: none;
}

ul li {
	list-style: none;
}

input[type="text"],
input[type="email"],
input[type="tel"] {
	font-size: clamp(16px, 1.5vw, 30px);
	width: 100%;
	height: 63px;
	border: #000 1px solid;
	padding: 0 10px;
}

textarea {
	font-size: clamp(16px, 1.5vw, 30px);
	width: 100%;
	height: 590px;
	border: #000 1px solid;
	border-radius: 0;
	padding: 10px;
}

input[type="submit"],
input[type="button"] {
	font-size: min(1.563vw, 25px);
	color: #ec6d8f;
	background-color: #fff;
	width: 26.625vw;
	max-width: 426px;
	border: #ec6d8f min(0.25vw, 4px) solid;
	text-align: center;
	line-height: 2.52;
	display: block;
	transition: .5s;
}

input[type="submit"]:hover,
input[type="button"]:hover {
	color: #fff;
	background-color: #ec6d8f;
}

input[type="submit"]:disabled {
	color: #fff;
	background: #000;
	border: #000 min(0.25vw, 4px) solid;
	cursor: auto;
	opacity: .5;
}

.black {
	color: #fff;

	img {
		filter: brightness(0) invert(1);
	}
}

@keyframes zoomIn {
	0% {
		transform: scale(0.8);
		opacity: 0;
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}
  
.zoom_in {
	animation: zoomIn .75s ease-out;
}

header {
	#btn_open {
		width: 50px;
		position: fixed;
		right: 0;
		top: 0;
		z-index: 10;

		> div {
			width: 50px;
			position: absolute !important;
			left: inherit !important;
			right: inherit !important;
			cursor: pointer;
			transition: transform .5s;

			img {
				width: fit-content;
				margin: 60px auto 0;
				display: block;
			}

			p {
				font-family: "LINESeedJP_OTF_Bd";
				font-size: 20px;
				font-weight: bold;
				width: 135%;
				height: 100px;
				transform: rotate(90deg);
				transform-origin: 12px 25px;
			}
		}

		> div:hover {
			transform: scale(1.15);
		}

		div:nth-child(n+2) {
			top: 0 !important;
		}
	}

	#menu_box {
		background: rgba(0, 0, 0, .85);
		width: 100%;
		height: 100dvh;
		padding-top: 100px;
		display: none;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 11;

		.inner {
			width: 700px;
			margin: 0 auto;
			position: relative;

			h2 {
				font-family: "LINESeedJP_OTF_Bd";
				font-size: 40px;
				font-weight: bold;
				color: #fff;
				text-align: center;
			}

			#btn_close {
				position: absolute;
				right: 20px;
				top: 5px;
				cursor: pointer;
				transition: transform .5s;
			}

			#btn_close:hover {
				transform: scale(1.15);
			}

			nav {
				margin-top: 30px;
				display: flex;
				gap: 30px 0;
				flex-wrap: wrap;

				div {
					width: 20%;
					text-align: center;

					a {
						font-size: 20px;
						font-weight: bold;
						color: #fff;
					}
				}
			}
		}
	}
}

#breadcrumb {
	background: #fff;
	width: 100%;

	ul {
		width: 100%;
		max-width: 1400px;
		margin: 0 auto;
		display: flex;

		li {
			font-size: min(1.125vw, 18px);
			line-height: 2.778;

			a:hover {
				text-decoration: underline;
				text-underline-offset: 3px;
			}
		}

		li:not(:last-child) {
			padding-right: min(0.313vw, 5px);
		}

		li:not(:last-child)::after {
			content: '＞';
			font-size: min(1.125vw, 18px);
		}
	}
}

.btn_more a {
	font-family: LINESeedJP_OTF_Rg;
	font-size: 20px;
	background-color: #fff;
	width: 18.75vw;
	max-width: 300px;
	margin: 0 auto;
	border: #1d1d1d 1px solid;
	text-align: center;
	line-height: 2.75;
	letter-spacing: 0.1em;
	display: block;
	transition: color .5s, background-color .5s;
}

.btn_more a:hover {
	color: #fff;
	background-color: #1d1d1d;
}

.therapist_box {
	width: 100%;
	max-width: 2000px;
	margin: min(1.875vw, 30px) auto 0;
	display: flex;
	gap: min(0.625vw, 10px) 0;
	flex-wrap: wrap;

	.one_box {
		width: calc(100% / 6);
		border: #1d1d1d 1px solid;

		a {
			display: block;
			position: relative;

			.thumbnail {
				width: 100%;
				height: 21.8vw;
				max-height: 436px;
				overflow: hidden;

				img {
					width: 100%;
					transition: transform .5s;
				}

				img:hover {
					transform: scale(1.1);
				}
			}

			.data_box {
				background: rgba(255, 255, 255, .8);
				width: 100%;
				padding: min(0.5vw, 10px) min(0.5vw, 10px) min(0.25vw, 5px);
				position: absolute;
				left: 0;
				bottom: 0;
				z-index: 2;

				.name,
				.size {
					font-size: min(1vw, 20px);
				}
			}

			.icon_new {
				position: absolute;
				right: min(0.5vw, 10px);
				bottom: 0;
				z-index: 3;

				img {
					width: min(4.5vw, 90px);
				}
			}
		}

		.type {
			margin-top: min(0.25vw, 5px);
			padding: 0 min(0.25vw, 5px);
			display: flex;
			flex-wrap: wrap;
			gap: min(0.25vw, 5px);

			p {
				font-size: min(1.125vw, 18px);
				color: #fff;
				background: #ec6d8f;
				width: calc(50% - min(0.125vw, 5px / 2));
				text-align: center;
				line-height: 1.556;
				letter-spacing: -0.05em;
			}
		}

		.sns {
			margin-top: min(0.75vw, 15px);
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 0 min(0.25vw, 5px);

			a {
				transition: opacity .5s;

				img {
					width: min(1.9vw, 38px);
				}
			}

			a:hover {
				opacity: .5;
			}
		}

		.time {
			font-size: min(1vw, 20px);
			background: #cdcdcd;
			text-align: center;
			line-height: 2;
		}

		.reserve a {
			font-size: min(1vw, 20px);
			color: #fff;
			background: #1d1d1d;
			border: #cdcdcd 1px solid;
			text-align: center;
			line-height: 1.75;
			display: block;
			transition: opacity .5s;

			span {
				font-size: min(0.5vw, 10px);
				margin-right: min(0.25vw, 5px);
				vertical-align: middle;
			}
		}

		.reserve a:hover {
			opacity: .7;
		}
	}
}

.u_layer h1 {
	font-size: min(1.875vw, 30px);
	font-weight: bold;
	color: #fff;
	width: 100%;
	height: 500px;
	text-align: center;
	align-content: center;

	@media (width <= 1600px) {
		height: 31.25vw;
	}

	strong {
		font-family: LINESeedJP_OTF_Bd;
		font-size: min(4.375vw, 70px);
		font-weight: bold;
		line-height: 0;
	}

	span {
		font-family: LINESeedJP_OTF_Bd;
		font-size: min(10vw, 160px);
		font-weight: bold;
	}
}

.pagenation {
	display: flex;
	justify-content: center;
	gap: 0 min(0.625vw, 10px);

	li:first-child a,
	li:last-child a {
		font-family: LINESeedJP_OTF_Rg;
		font-size: min(1.25vw, 20px);
		font-weight: normal;
		color: #1d1d1d;
		background-color: #fff;
		width: min(6.25vw, 100px);
		border: #1d1d1d 1px solid;
		text-align: center;
		line-height: 2.25;
		letter-spacing: 0.1em;
		display: block;
		transition: .5s;
	}

	li:first-child a:hover,
	li:last-child a:hover {
		color: #fff;
		background-color: #1d1d1d;
	}

	.no_link a {
		pointer-events: none;
	}

	.back a {
		font-size: min(1.25vw, 20px);
		color: #fff;
		background: #ec6d8f;
		padding: 0 min(1.875vw, 30px);
		border: #ec6d8f 1px solid;
		line-height: 2.25;
		letter-spacing: 0.1em;
		display: block;
		transition: .5s;
	}

	.back a:hover {
		color: #ec6d8f;
		background-color: #fff;
	}

	.page a {
		font-family: LINESeedJP_OTF_Rg;
		font-size: min(1.25vw, 20px);
		font-weight: normal;
		color: #1d1d1d;
		background-color: #fff;
		width: min(2.5vw, 40px);
		border: #1d1d1d 1px solid;
		text-align: center;
		line-height: 2.25;
		letter-spacing: 0.1em;
		display: block;
		transition: .5s;
	}

	.page a:hover {
		color: #fff;
		background-color: #1d1d1d;
	}

	.active {
		font-size: min(1.25vw, 20px);
		color: #fff;
		background: #ec6d8f;
		width: min(2.5vw, 40px);
		border: #ec6d8f 1px solid;
		text-align: center;
		line-height: 2.25;
		letter-spacing: 0.1em;
	}
}

footer {
	background: url(../images/bg_footer.jpg) no-repeat center top / 100%;
	width: 100%;
	margin-top: min(6.25vw, 100px);
	padding: min(3.75vw, 60px) min(5vw, 80px);

	@media (1601px <= width <= 2000px) {
		background: url(../images/bg_footer.jpg) no-repeat center top / 2000px 9px;
	}

	@media (width <= 1600px) {
		background: url(../images/bg_footer.jpg) no-repeat center top / 125vw 0.563vw;
	}

	.logo {
		text-align: center;

		a img {
			width: 16.438vw;
			max-width: 263px;
		}
	}

	nav {
		width: 87.5vw;
		max-width: 1400px;
		margin: min(2.5vw, 40px) auto 0;
		display: flex;
		gap: min(0.625vw, 10px) min(1.563vw, 25px);
		flex-wrap: wrap;

		div:not(:last-child) {
			padding-right: min(1.563vw, 25px);
			border-right: #1d1d1d 1px solid;
		}

		div a {
			font-size: min(1.125vw, 18px);
		}

		div a:hover {
			text-decoration: underline;
			text-underline-offset: 3px;
		}
	}

	.copyrights {
		font-size: min(0.75vw, 12px);
		margin-top: min(3.75vw, 60px);
		text-align: center;
		letter-spacing: 0.15em;
	}

	.tracking_nav {
		display: none;
	}
}

@media (width <= 1000px) {
	input[type="text"],
	input[type="email"],
	input[type="tel"] {
		font-size: clamp(16px, 4vw, 40px);
		height: 9vw;
		padding: 0 1vw;
	}

	textarea {
		font-size: clamp(16px, 4vw, 40px);
		height: 60vw;
		padding: 1vw;
	}

	input[type="submit"],
	input[type="button"] {
		font-size: 4vw;
		width: 75.8vw;
		max-width: 758px;
		border: #ec6d8f 0.4vw solid;
		line-height: 2.8;
	}

	header {
		#btn_open {
			width: 7vw;
	
			> div {
				background: linear-gradient(to top, rgba(255, 255, 255, 0), rgba(255, 255, 255, .8) 50%);
				width: 9vw;
				height: 60vw !important;
	
				img {
					width: 5.5vw;
					margin: 5vw auto 0;
				}
	
				p {
					font-size: 5.5vw;
					height: auto;
					transform-origin: 3vw 4.7vw;
				}
			}
		}
	
		#menu_box {
			padding-top: 15vw;
	
			.inner {
				width: 95vw;
	
				h2 {
					font-size: 6vw;
				}
	
				#btn_close {
					right: -1vw;
					top: -10vw;

					img {
						width: 6vw;
					}
				}
	
				nav {
					margin-top: 5vw;
					gap: 6vw 0;
	
					div {
						width: 25%;
	
						a {
							font-size: 3.2vw;
							line-height: 1.4;

							img {
								width: 15vw;
							}
						}
					}
				}
			}
		}
	}

	#breadcrumb {
		ul {
			padding-left: 1vw;
			width: 100%;
			overflow-x: auto;
			white-space: nowrap;

			li {
				font-size: 3vw;
				line-height: 1.667;
			}
	
			li:not(:last-child) {
				padding-right: 1vw;
			}
	
			li:not(:last-child)::after {
				font-size: 3vw;
			}
		}
	}

	.btn_more a {
		font-size: 4vw;
		width: 48vw;
		max-width: 480px;
		line-height: 2.25;
	}
	
	.therapist_box {
		margin: 3vw auto 0;
		gap: 1vw 0;
	
		.one_box {
			width: 50%;
	
			a {
				.thumbnail {
					height: 65vw;
					max-height: 650px;
				}
	
				.data_box {
					padding: 1vw 1.5vw 0;
	
					.name,
					.size {
						font-size: 3vw;
					}
				}
	
				.icon_new {
					right: 1vw;
	
					img {
						width: 15vw;
					}
				}
			}
	
			.type {
				margin-top: 1vw;
				padding: 0 1vw;
				gap: 0.5vw;
	
				p {
					font-size: 3vw;
					width: calc(50% - 0.25vw);
				}
			}
	
			.sns {
				margin-top: 0;
				padding: 2vw 0;
				gap: 0 1vw;
	
				a {
					img {
						width: 7vw;
					}
				}
			}
	
			.time {
				font-size: 3.6vw;
			}
	
			.reserve a {
				font-size: 3.6vw;
				line-height: 2.5;
	
				span {
					font-size: 2vw;
					margin-right: 1vw;
				}
			}
		}
	}
	
	.u_layer h1 {
		font-size: 4vw;
		height: 60vw;
	
		strong {
			font-size: 6vw;
		}
	
		span {
			font-size: 13vw;
		}
	}
	
	.pagenation {
		gap: 0 3vw;
	
		li:first-child a,
		li:last-child a {
			font-size: 4vw;
			width: 18.6vw;
			line-height: 2.2;
		}
	
		.back a {
			font-size: 4vw;
			padding: 0 3vw;
			line-height: 2.2;
		}
	
		.page a {
			font-size: 4vw;
			width: 7vw;
			line-height: 2.2;
		}
	
		.active {
			font-size: 4vw;
			width: 7vw;
			line-height: 2.2;
		}
	}
	
	footer {
		background: url(../images/bg_footer_sp.jpg) no-repeat center top / 100%;
		width: 100%;
		margin-top: 10vw;
		padding: 10vw 0 28vw;
	
		.logo {
			text-align: center;
	
			a img {
				width: 37.4vw;
				max-width: 374px;
			}
		}
	
		nav {
			width: 100%;
			margin: 7.5vw auto 0;
			gap: 0;
			flex-wrap: wrap;

			div {
				width: 50%;
				border-top: #1d1d1d 1px solid;
			}

			div:nth-child(2n) {
				border-right: #1d1d1d 1px solid;
			}

			div:nth-child(2n+1) {
				border-left: #1d1d1d 1px solid;
			}
			
			div:last-child,
			div:nth-last-child(2) {
				border-bottom: #1d1d1d 1px solid;
			}

			div:not(:last-child) {
				padding: 0;
			}

			div a {
				font-size: 4vw;
				width: 100%;
				text-align: center;
				line-height: 2.25;
				display: block;
			}
		}
	
		.copyrights {
			font-size: 2vw;
			margin-top: 5vw;
		}

		.tracking_nav {
			background: rgba(0, 0, 0, .85);
			width: 100%;
			padding-bottom: 3vw;
			display: flex;
			justify-content: center;
			position: fixed;
			left: 0;
			bottom: 0;
			z-index: 4;

			div {
				width: calc(95% / 5);
				margin-top: -3vw;
				text-align: center;

				a {
					font-size: 3vw;
					color: #fff;

					img {
						width: 14.6vw;
					}

					span {
						margin-top: 1.5vw;
						display: block;
					}
				}
			}
		}
	}
}
/************ common ************/

/************ index ************/
#enter main {
	background: url(../images/bg_enter.jpg) no-repeat center top / 100%;
	width: 100%;
	padding: min(29vw, 464px) 0 min(18.75vw, 300px);

	@media (1601px <= width <= 2000px) {
		background: url(../images/bg_enter.jpg) no-repeat center top / 2000px 1000px;
	}

	@media (width <= 1600px) {
		background: url(../images/bg_enter.jpg) no-repeat center top / 125vw 62.5vw;
	}

	h1 img {
		width: min(53.5vw, 856px);
		margin: 0 auto;
		display: block;
	}

	ul {
		margin-top: min(1.875vw, 30px);
		display: flex;
		justify-content: center;
		gap: 0 min(1.25vw, 20px);

		li a {
			font-family: LINESeedJP_OTF_Th;
			font-size: min(2.5vw, 40px);
			font-weight: 100;
			color: #fff;
			background: linear-gradient(to top, rgba(54, 54, 54, .65), rgba(140, 140, 140, .65) 37%, rgba(86, 86, 86, .65) 66%, rgba(45, 45, 45, .65));
			width: min(17.5vw, 280px);
			border-radius: min(1.875vw, 30px);
			text-align: center;
			line-height: 1.625;
			display: block;
			position: relative;
			z-index: 0;
		}

		li a::before {
			content: '';
			background: rgba(236, 109, 143, .65);
			border-radius: min(1.875vw, 30px);
			inset: 0;
			position: absolute;
			z-index: -1;
			opacity: 0;
			transition: opacity .3s;
		}

		li a:hover::before {
			opacity: 1;
		}

		/*li:first-child a,
		li:nth-child(3) a,
		li:nth-child(4) a {
			pointer-events: none;
		}*/
	}

	.attention {
		font-size: min(1.125vw, 18px);
		margin-top: min(1.875vw, 30px);
		text-align: center;

		img {
			width: min(3.125vw, 50px);
		}

		a {
			text-decoration: underline;
		}

		a:hover {
			text-decoration: none;
		}
	}

	#other_shop {
		h2 {
			font-family: LINESeedJP_OTF_Bd;
			font-size: min(2.5vw, 40px);
			font-weight: bold;
			margin-top: min(2.5vw, 40px);
			display: flex;
			align-items: center;
			justify-content: center;

			span {
				color: #ec6d8f;
			}
		}

		h2::before,
		h2::after {
			content: '';
			width: min(31.25vw, 500px);
			border-top: #1d1d1d 1px solid;
		}

		h2::before {
			margin-right: 1em;
		}

		h2::after {
			margin-left: 1em;
		}

		.box {
			width: min(90.625vw, 1450px);
			margin: min(1.25vw, 20px) auto 0;
			display: flex;
			gap: 0 min(1.25vw, 20px);

			.one_box {
				.area {
					font-size: min(1.5vw, 24px);
					color: #fff;
					background: #1d1d1d;
					width: min(7.5vw, 120px);
					text-align: center;
					line-height: 1.25;
				}

				.name {
					font-family: LINESeedJP_OTF_Rg;
					font-size: min(1.5vw, 24px);
					font-weight: normal;
				}

				p:nth-child(2) {
					margin-top: min(1.25vw, 20px);
				}

				p:nth-child(n+3) {
					margin-top: min(0.625vw, 10px);
				}
			}
		}
	}
}

@media (width <= 1000px) {
	#enter main {
		background: url(../images/bg_enter_sp.jpg) no-repeat center top / 100%;
		padding-top: 80vw;
		text-align: center;
	
		h1 img {
			width: 86.4vw;
		}
	
		ul {
			margin-top: 4vw;
			gap: 2vw 2.5vw;
			flex-wrap: wrap;
	
			li a {
				font-size: 6vw;
				width: 41.3vw;
				border-radius: 4.8vw;
				line-height: 1.6;
			}
	
			li a::before {
				border-radius: 4.8vw;
			}
		}
	
		.attention {
			font-size: 2.4vw;
			margin-top: 3vw;
			line-height: 1.4;
	
			img {
				width: 8vw;
			}
		}
	
		#other_shop {
			h2 {
				font-size: 6vw;
				width: fit-content;
				margin: 7vw auto 0;
				padding-bottom: 3vw;
				border-bottom: #1d1d1d 1px solid;
			}
	
			h2::before,
			h2::after {
				display: none;
			}
	
			.box {
				width: 83vw;
				margin: 4vw auto 0;
				gap: 6vw 0;
				flex-wrap: wrap;
	
				.one_box {
					width: 50%;

					.area {
						font-size: 4vw;
						width: 20.5vw;
						text-align: center;
					}
	
					.name {
						font-family: LINESeedJP_OTF_Rg;
						font-size: 4vw;
						text-align: left;
					}
	
					p:nth-child(2) {
						margin-top: 1.5vw;
					}
	
					p:nth-child(n+3) {
						margin-top: 2vw;
					}
				}

				.one_box:nth-child(2n) {
					padding-left: 8vw;
				}
			}
		}
	}
}
/************ index ************/

/************ top ************/
#top {
	main h2 {
		font-size: min(1.25vw, 20px);
		text-align: center;

		span {
			font-family: LINESeedJP_OTF_Bd;
			font-size: min(2.5vw, 40px);
			font-weight: bold;
			letter-spacing: 0.1em;
			display: block;
		}
	}

	#age_verification {
		background: rgba(255, 255, 255, .8);
		width: 100%;
		height: 100dvh;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 15;

		#modal {
			background: rgba(0, 0, 0, .9);
			width: 62.5vw;
			max-width: 1000px;
			height: 36.563vw;
			max-height: 585px;
			margin: auto;
			padding: min(5vw, 80px) 0;
			border: #000 min(0.188vw, 3px) solid;
			outline: #fff min(0.438vw, 7px) solid;
			outline-offset: max(-0.625vw, -10px);
			text-align: center;
			position: absolute;
			left: 0;
			right: 0;
			top: 0;
			bottom: 0;

			h2 {
				font-size: min(2.5vw, 40px);
				font-weight: bold;
				color: #fff;
			}

			p {
				font-size: min(1.875vw, 30px);
				color: #fff;
				margin-top: min(1.875vw, 30px);

				span {
					font-size: min(2.5vw, 40px);
				}
			}

			#btn_yes {
				font-size: min(2.5vw, 40px);
				font-weight: bold;
				color: #fff;
				background: #ff5da2;
				width: 33.125vw;
				max-width: 530px;
				margin: min(1.875vw, 30px) auto 0;
				border: #fff min(0.188vw, 3px) solid;
				text-align: center;
				line-height: 1.625;
				cursor: pointer;
			}

			#btn_no a {
				font-size: min(2.5vw, 40px);
				font-weight: bold;
				color: #fff;
				background: #000;
				width: min(25vw, 400px);
				margin: min(1.25vw, 20px) auto 0;
				border: #fff min(0.188vw, 3px) solid;
				text-align: center;
				line-height: 1.625;
				display: block;
				cursor: pointer;
			}
		}
	}
	
	#age_verification.close {
		display: none;
	}

	#first_view {
		background: url(../images/main_image.jpg) no-repeat center top / 100%;
		width: 100%;
		height: 1000px;
		padding-top: min(45vw, 720px);
		position: relative;

		@media (1601px <= width <= 2000px) {
			background: url(../images/main_image.jpg) no-repeat center top / 2000px 1000px;
		}

		@media (width <= 1600px) {
			background: url(../images/main_image.jpg) no-repeat center top / 125vw 62.5vw;
			height: 62.5vw;
		}

		h1 {
			text-align: center;

			img {
				width: min(65.813vw, 1053px);
			}
		}

		#nav_box {
			background: rgba(255, 255, 255, .5);
			width: min(10.938vw, 175px);
			height: 100%;
			padding-top: min(9.375vw, 150px);
			border-radius: min(1.875vw, 30px) 0 0 0;
			position: absolute;
			right: 50px;
			top: 0;

			.time {
				text-align: center;

				img {
					width: min(9.375vw, 150px);
				}
			}

			nav {
				margin-top: min(1.875vw, 30px);
				padding-left: min(1.875vw, 30px);

				div:nth-child(n+2) {
					margin-top: min(0.625vw, 10px);
				}

				div a {
					font-size: min(1.125vw, 18px);
					width: fit-content;
					position: relative;
					display: block;
					transition: color .3s;
				}

				div a:hover {
					color: #ff5da2;
				}

				div a::after {
					content: '';
					background: #ff5da2;
					width: 100%;
					height: 1px;
					position: absolute;
					left: 0;
					bottom: -1px;
					transform: scale(0, 1);
					transform-origin: left top;
					transition: transform 0.5s;
				}
					
				div a:hover::after {
					transform: scale(1, 1);
				}
			}
		}

		.right {
			background: #fff;
			width: 50px;
			height: 100%;
			position: absolute;
			right: 0;
			top: 0;
		}
	}

	#top_slider_01 {
		background: url(../images/bg_top_slider_01.jpg) no-repeat center top / 100%;
		width: 100%;
		height: 488px;
		align-content: center;

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_top_slider_01.jpg) no-repeat center top / 2000px 488px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_top_slider_01.jpg) no-repeat center top / 125vw 30.5vw;
			height: 30.5vw;
		}

		.slider {
			width: 58.75vw;
			max-width: 940px;
			margin: 0 auto;

			.slides {
				img {
					width: 100%;
					height: auto;
				}
			}
		}

		.thumbnail {
			width: 58.75vw;
			max-width: 940px;
			margin: min(0.625vw, 10px) auto 0;

			.slides {
				width: 11vw;
				max-width: 176px;

				img {
					width: 100%;
				}
			}

			.slick-slide {
				margin: 0 min(0.125vw, 2px);
				opacity: 0.3;
				transition: opacity .5s linear;
				cursor: pointer;
			}

			.slick-current {
				opacity: 1;
			}
		}
	}

	#top_topic {
		background: url(../images/bg_top_topic.jpg) no-repeat center top / 100%;
		width: 100%;
		height: 1450px;
		padding-top: min(9.375vw, 150px);

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_top_topic.jpg) no-repeat center top / 2000px 1450px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_top_topic.jpg) no-repeat center top / 125vw 90.625vw;
			height: 90.625vw;
		}

		.box {
			width: 75vw;
			max-width: 1200px;
			margin: min(1.875vw, 30px) auto 0;
			border: #1d1d1d 1px solid;

			.one_box {
				width: 31.25vw;
				max-width: 500px;
				margin: 0 auto;
				padding: min(1.25vw, 20px) 0;

				.date {
					font-size: min(1.25vw, 20px);
				}

				h3 {
					a {
						font-size: min(1.25vw, 20px);
						margin-top: min(0.625vw, 10px);
						width: 100%;
						display: block;
					}
				}

				h3:hover a {
					color: #ff5da2;
					text-decoration: underline;
					text-underline-offset: 3px;
				}

				.marquee {
					a {
						white-space: nowrap;
						overflow: hidden;

						span {
							padding-left: 100%;
							display: inline-block;
							animation: marquee 10s linear infinite;
						}
					}
				}
			}

			.one_box:not(:last-child) {
				border-bottom: #1d1d1d 1px solid;
			}
		}

		.btn_more {
			margin-top: min(1.875vw, 30px);
		}
	}

	#top_schedule {
		margin-top: max(-37.5vw, -600px);

		.today {
			font-size: min(1.875vw, 30px);
			margin-top: min(1.875vw, 30px);
			display: flex;
			align-items: center;
			justify-content: center;
		}

		.today::before,
		.today::after {
			content: '';
			background: #1d1d1d;
			width: 31vw;
			max-width: 620px;
			height: 1px;
		}

		.today::before {
			margin-right: 1em;
		}

		.today::after {
			margin-left: 1em;
		}

		.btn_more {
			margin-top: min(2.5vw, 40px);
		}
	}

	#top_ranking {
		background: url(../images/bg_top_ranking.jpg) no-repeat center top / 100%;
		width: 100%;
		height: 1191px;
		margin: min(5vw, 100px) auto 0;

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_top_ranking.jpg) no-repeat center top / 2000px 1191px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_top_ranking.jpg) no-repeat center top / 125vw 59.55vw;
			height: 59.55vw;
		}

		.slider {
			width: 100%;
			max-width: 2000px;
			margin: min(3vw, 60px) auto 0;

			.slick-slide{
				margin-right: min(0.25vw, 5px);
				margin-left: min(0.25vw, 5px);
			}

			.slides {
				width: 18.75vw;
				max-width: 375px;

				a {
					display: block;
					position: relative;
					transition: opacity .5s;

					.thumbnail {
						width: 100%;
					}

					.number {
						width: 12.5vw;
						max-width: 250px;
						position: absolute;
						right: 0;
						bottom: 0;

						img {
							width: 100%;
						}
					}

					.ten {
						width: 15.7vw;
						max-width: 314px;
					}
				}

				a:hover {
					opacity: .7;
				}

				.data {
					height: min(4.25vw, 95px);
					text-align: center;
					align-content: center;

					.name {
						font-size: min(1.2vw, 24px);

						span {
							font-size: min(0.9vw, 18px);
						}
					}

					.size {
						font-size: min(0.9vw, 18px);
						margin-top: min(0.5vw, 10px);
					}
				}

				#no1 {
					background: linear-gradient(to left, #876731, #f8efb7 50%, #84632d);
				}

				#no2 {
					background: linear-gradient(to left, #576164, #fefefe 50%, #576164);
				}

				#no3 {
					background: linear-gradient(to left, #ab775b, #ffe9d0 50%, #ab775b);
				}

				#no4 {
					background: linear-gradient(to left, #b94ba0, #fedbf0 50%, #b94ba0);
				}

				#no5 {
					background: linear-gradient(to left, #be62cc, #f7d1ff 50%, #be62cc);
				}

				#no6 {
					background: linear-gradient(to left, #b5412f, #fab9af 50%, #b5412f);
				}

				#no7 {
					background: linear-gradient(to left, #94982a, #f7f8c4 50%, #94982a);
				}

				#no8 {
					background: linear-gradient(to left, #009d16, #f3ffed 50%, #009d16);
				}

				#no9 {
					background: linear-gradient(to left, #19dcff, #d0f9ff 50%, #19dcff);
				}

				#no10 {
					background: linear-gradient(to left, #1e34d5, #dbdfff 50%, #1e34d5);
				}
			}

			.slick-prev,
			.slick-next {
				width: min(3.75vw, 60px) !important;
				height: min(3.75vw, 60px) !important;
				z-index: 2;
			}

			.slick-prev {
				left: min(1.875vw, 30px) !important;
			}

			.slick-next {
				right: min(1.875vw, 30px) !important;
			}

			.slick-arrow::before{
				content: "" !important;
				width: min(3.75vw, 60px) !important;
				height: min(3.75vw, 60px) !important;
				position: absolute;
				top: 0;
				left: 0;
			}
			
			.slick-next::before{
				background: url(../images/arrow_right.png) !important;
				background-size: contain !important;
			}
			
			.slick-prev::before{
				background: url(../images/arrow_left.png) !important;
				background-size: contain !important;
			}
		}

		.btn_more {
			margin-top: min(2.5vw, 40px);
		}
	}

	#top_newface {
		margin-top: max(-8.75vw, -140px);

		.therapist_box {
			margin-top: min(4vw, 80px);

			.one_box {
				a {
					.data_box {
						background: rgba(78, 163, 207, .8);

						.name,
						.size {
							color: #fff;
						}
					}
				}
			}
		}

		.btn_more {
			margin-top: min(2.5vw, 40px);
		}
	}

	#top_photodiary {
		margin: min(9.375vw, 150px) auto 0;
		position: relative;
		z-index: 2;

		h2 {
			margin-bottom: min(1.25vw, 20px);
		}

		.box {
			background: url(../images/bg_top_photodiary.jpg) no-repeat center top / 100%;
			width: 100%;
			height: 450px;
			align-content: center;

			@media (1601px <= width <= 2000px) {
				background: url(../images/bg_top_photodiary.jpg) no-repeat center top / 2000px 450px;
			}

			@media (width <= 1600px) {
				background: url(../images/bg_top_photodiary.jpg) no-repeat center top / 125vw 28.125vw;
				height: 28.125vw;
			}

			.slider {
				width: 75vw;
				max-width: 1200px;
				margin: 0 auto;

				.slides {
					width: 18.75vw;
					max-width: 300px;
					border: #646464 1px solid;

					a {
						display: block;
						position: relative;
						transition: 0.5s;

						.thumbnail {
							width: 100%;
							height: min(25vw, 400px);
							overflow: hidden;

							img {
								width: 100%;
								display: block;
								transition: 0.5s;
							}
						}

						.data_box {
							width: 100%;
							position: absolute;
							left: 0;
							bottom: 0;
							z-index: 2;

							.date {
								font-size: min(0.875vw, 14px);
								background: rgba(255, 255, 255, .8);
								padding: 0 min(0.313vw, 5px);
								line-height: 1.786;
							}

							.bottom {
								background: #fff;
								height: min(4.063vw, 65px);
								padding: 0 min(0.625vw, 10px);
								text-align: center;
								align-content: center;

								h3 {
									font-size: min(1.125vw, 18px);
									font-weight: bold;
									white-space: nowrap;
									overflow: hidden;
								}

								.marquee {
									white-space: nowrap;
									overflow: hidden;

									span {
										padding-left: 100%;
										display: inline-block;
										animation: marquee 10s linear infinite;
									}
								}

								.name {
									font-size: min(1.125vw, 18px);
									margin-top: min(0.625vw, 10px);

									span {
										font-size: min(1vw, 16px);
									}
								}
							}
						}
					}

					a:before {
						content: "READ MORE";
						font-size: min(1vw, 16px);
						font-weight: bold;
						color: #fff;
						width: min(11.25vw, 180px);
						margin: -1em auto 0;
						border: solid 1px #fff;
						text-align: center;
						line-height: 3;
						letter-spacing: 0.1em;
						display: block;
						position: absolute;
						top: 37%;
						left: 0;
						right: 0;
						z-index: 3;
						opacity: 0;
						transition: 0.5s;
					}
					
					a:hover img {
						filter: blur(5px);
					}
					
					a:hover:before {
						margin-top: -0.5em;
						opacity: 1;
					}			
				}

				.slick-prev,
				.slick-next {
					width: min(4.375vw, 70px) !important;
					height: min(4.375vw, 70px) !important;
					z-index: 2;
				}

				.slick-prev {
					left: max(-2.188vw, -35px) !important;
				}

				.slick-next {
					right: max(-2.188vw, -35px) !important;
				}

				.slick-arrow::before{
					content: "" !important;
					width: min(4.375vw, 70px) !important;
					height: min(4.375vw, 70px) !important;
					position: absolute;
					top: 0;
					left: 0;
				}
				
				.slick-next::before{
					background: url(../images/arrow_right.png) !important;
					background-size: contain !important;
				}
				
				.slick-prev::before{
					background: url(../images/arrow_left.png) !important;
					background-size: contain !important;
				}
			}
		}

		.btn_more {
			margin-top: min(2.5vw, 40px);
		}
	}

	#group {
		background: url(../images/bg_top_group.jpg) no-repeat center top / 100%;
		width: 100%;
		height: 1261px;
		margin: max(-5.938vw, -95px) auto 0;
		padding-top: min(13.75vw, 220px);

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_top_group.jpg) no-repeat center top / 2000px 1261px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_top_group.jpg) no-repeat center top / 125vw 78.813vw;
			height: 78.813vw;
		}

		.box {
			width: 87.5vw;
			max-width: 1400px;
			margin: min(2.5vw, 40px) auto 0;
			display: flex;
			gap: min(2.5vw, 40px) min(1.563vw, 25px);
			flex-wrap: wrap;

			.one_box {
				width: calc(100% / 3 - min(3.125vw, 50px) / 3);

				h3 {
					font-family: LINESeedJP_OTF_Rg;
					font-size: min(1.25vw ,20px);
					font-weight: normal;
					color: #fff;
					background: #1d1d1d;
					text-align: center;
					line-height: 1.75;
				}

				.shop {
					margin-top: min(1.875vw, 30px);

					.data {
						display: flex;
						align-items: center;
						justify-content: center;
						transition: opacity .5s;

						.area {
							font-family: LINESeedJP_OTF_Rg;
							font-size: min(1.875vw, 30px);
							font-weight: normal;
							color: #fff;
							width: min(3vw, 48px);
							height: min(3vw, 48px);
							outline: min(0.188vw, 3px) solid #fff;
							outline-offset: max(-0.375vw, -6px);
							text-align: center;
							display: flex;
							align-items: center;
							justify-content: center;
						}

						.name {
							font-family: LINESeedJP_OTF_Rg;
							font-size: min(1.5vw, 24px);
							font-weight: normal;
							padding: 0 min(0.313vw, 5px) 0 min(0.938vw, 15px);
						}
					}

					.data:hover {
						opacity: .5;
					}

					.data {
						.area {
							background: #000000;
						}

						.name {
							border-bottom: #000000 min(0.25vw, 4px) solid;
						}
					}
				}
			}
		}
	}
}

@media (width <= 1000px) {
	#top {
		main h2 {
			font-size: 4vw;
	
			span {
				font-size: 7vw;
			}
		}
	
		#age_verification {
			#modal {
				width: 95vw;
				height: 58.5vw;
				margin: auto;
				padding: 5vw 0;
				border: #000 0.3vw solid;
				outline: #fff 0.7vw solid;
				outline-offset: -1vw;
	
				h2 {
					font-size: 4vw;
				}
	
				p {
					font-size: min(3vw);
					margin-top: 3vw;
	
					span {
						font-size: 4vw;
					}
				}
	
				#btn_yes {
					font-size: 4vw;
					width: 53vw;
					margin: 3vw auto 0;
					border: #fff 0.3vw solid;
					line-height: 1.7;
				}
	
				#btn_no a {
					font-size: 4vw;
					width: 40vw;
					margin-top: 3vw;
					border: #fff 0.3vw solid;
					line-height: 1.7;
				}
			}
		}
	
		#first_view {
			background: url(../images/main_image_sp.jpg) no-repeat center top / 100%;
			height: 150vw;
			padding-top: 122vw;
	
			h1 {
				text-align: center;
	
				img {
					width: 81vw;
				}
			}
	
			#nav_box {
				display: none;
			}
	
			.right {
				background: #fff;
				width: 9vw;
				height: 100%;
				position: absolute;
				right: 0;
				top: 0;
			}
		}
	
		#top_slider_01 {
			background: url(../images/bg_top_slider_01_sp.jpg) no-repeat center top / 100%;
			width: 100%;
			height: 50vw;

			.slider {
				width: 100%;
				max-width: 1000px;
			}
	
			.thumbnail {
				width: 100%;
				max-width: 1000px;
				margin: 0.5vw auto 0;
	
				.slides {
					width: 25vw;
					max-width: 250px;
				}
	
				.slick-slide {
					margin: 0 0.5vw;
				}
			}
		}
	
		#top_topic {
			background: url(../images/bg_top_topic_sp.jpg) no-repeat center top / 100%;
			height: 110vw;
			padding: 18vw 0 25vw;

			.box {
				width: 92vw;
				margin: 3vw auto 0;
				padding: 4vw 0;
	
				.one_box {
					width: 80vw;
					max-width: 800px;
					margin: 0 auto;
					padding: 1vw 0;
	
					.date {
						font-size: 3vw;
					}
	
					h3 {
						a {
							font-size: 3.6vw;
							margin-top: 0.5vw;
						}
					}
				}
			}
	
			.btn_more {
				margin-top: 3vw;
			}
		}
	
		#top_schedule {
			margin-top: -10vw;
	
			.today {
				font-size: 4vw;
				margin-top: 3.5vw;
			}
	
			.today::before,
			.today::after {
				width: 24.5vw;
			}
	
			.today::before {
				margin-right: 0.5em;
			}
	
			.today::after {
				margin-left: 0.5em;
			}
	
			.btn_more {
				margin-top: 3vw;
			}
		}
	
		#top_ranking {
			background: url(../images/bg_top_ranking_sp.jpg) no-repeat center top / 100%;
			height: 145vw;
			margin: 10vw auto 0;
	
			.slider {
				margin: 5vw auto 0;
	
				.slick-slide{
					margin-right: 0;
					margin-left: 0;
				}
	
				.slides {
					width: 63vw;
					max-width: 630px;
	
					a {
						.number {
							width: 43.8vw;
							max-width: 438px;
						}
	
						.ten {
							width: 54.9vw;
							max-width: 549px;
						}
					}
	
					.data {
						height: 15vw;
	
						.name {
							font-size: 3.6vw;
	
							span {
								font-size: 3.6vw;
							}
						}
	
						.size {
							font-size: 3.6vw;
							margin-top: 1vw;
						}
					}
				}

				.slick-prev,
				.slick-next {
					width: 7vw !important;
					height: 7vw !important;
				}
	
				.slick-prev {
					left: 0 !important;
				}
	
				.slick-next {
					right: 0 !important;
				}
	
				.slick-arrow::before{
					width: 7vw !important;
					height: 7vw !important;
				}
			}
	
			.btn_more {
				margin-top: 4vw;
			}
		}
	
		#top_newface {
			margin-top: 0;
	
			.therapist_box {
				margin-top: 4vw;
			}
	
			.btn_more {
				margin-top: 4vw;
			}
		}
	
		#top_photodiary {
			margin: 15vw auto 0;

			h2 {
				margin-bottom: 4vw;
			}
	
			.box {
				background: url(../images/bg_top_photodiary_sp.jpg) no-repeat center top / 100%;
				height: 58vw;

				.slider {
					width: 100%;
	
					.slides {
						width: 35.7vw;
						max-width: 357px;
	
						a {	
							.thumbnail {
								width: 100%;
								height: 47.6vw;
								overflow: hidden;
							}
	
							.data_box {
								.date {
									font-size: 3vw;
									padding: 0 1vw;
								}
	
								.bottom {
									height: 11vw;
									padding: 0 1vw;
	
									h3 {
										font-size: 4vw;
									}
	
									.name {
										font-size: 3vw;
										margin-top: 1vw;
	
										span {
											font-size: 3vw;
										}
									}
								}
							}
						}
	
						a:before {
							font-size: 3vw;
							width: 25vw;
						}		
					}
	
					.slick-prev,
					.slick-next {
						width: 7vw !important;
						height: 7vw !important;
					}
	
					.slick-prev {
						left: 0 !important;
					}
	
					.slick-next {
						right: 0 !important;
					}
	
					.slick-arrow::before{
						width: 7vw !important;
						height: 7vw !important;
					}
				}
			}
	
			.btn_more {
				margin-top: 4vw;
			}
		}
	
		#group {
			background: url(../images/bg_top_group_sp.jpg) no-repeat center top / 100%;
			width: 100%;
			height: 200vw;
			margin: -20vw auto 0;
			padding-top: 40vw;
	
			.box {
				width: 95vw;
				margin: 4vw auto 0;
				gap: 5vw;
	
				.one_box {
					width: calc(50% - 2.5vw);
	
					h3 {
						font-size: 3vw;
					}
	
					.shop {
						margin-top: 3vw;
	
						.data {	
							.area {
								font-size: 3vw;
								width: 5.5vw;
								height: 5.5vw;
								outline: 0.4vw solid #fff;
								outline-offset: -0.8vw;
							}
	
							.name {
								font-size: 3vw;
								padding: 0 1vw 0 1.5vw;
							}
						}
	
						.data {
							.name {
								border-bottom: #000000 min(0.25vw, 0.5vw) solid;
							}
						}
					}
				}
			}
		}
	}
} 
/************ top ************/

/************ attention ************/
#attention {
	h1 {
		background: url(../images/bg_attention_title.jpg) no-repeat center top / 100%;

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_attention_title.jpg) no-repeat center top / 2000px 500px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_attention_title.jpg) no-repeat center top / 125vw 31.25vw;
		}
	}

	.box {
		width: 75vw;
		max-width: 1200px;
		margin: min(3.125vw, 50px) auto 0;

		h2 {
			font-size: min(1.5vw, 24px);
			color: #fff;
			background: #ec6d8f;
			text-align: center;
			line-height: 1.667;
		}

		.text_01 {
			font-size: min(1.125vw, 18px);
			margin: min(1.25vw, 20px) 0 min(1.875vw, 30px);
			line-height: 1.4;
		}

		.one_box {
			margin-top: min(1.25vw, 20px);

			h3 {
				font-size: min(1.5vw, 24px);
				color: #fff;
				background: #000;
				text-align: center;
				line-height: 1.25;
			}

			p {
				font-size: min(0.875vw, 14px);
				padding: 0 min(0.625vw, 10px);
				margin-top: min(1.25vw, 20px);
				line-height: 1.8;
			}
		}
	}
}

@media (width <= 1000px) {
	#attention {
		h1 {
			background: url(../images/bg_attention_title_sp.jpg) no-repeat center top / 100%;
		}
	
		.box {
			width: 95vw;
			margin: 4vw auto 0;
	
			h2 {
				font-size: 4vw;
				line-height: 1.25;
			}
	
			.text_01 {
				font-size: 3vw;
				margin: 2vw 0 0;
			}
	
			.one_box {
				margin-top: 2vw;
	
				h3 {
					font-size: 4vw;
					line-height: 1.25;
				}
	
				p {
					font-size: 3vw;
					padding: 0;
					margin-top: 2vw;
					line-height: 1.4;
				}
			}
		}
	}
}
/************ attention ************/

/************ column ************/
#column {
	h1 {
		background: url(../images/bg_column_title.jpg) no-repeat center top / 100%;

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_column_title.jpg) no-repeat center top / 2000px 500x;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_column_title.jpg) no-repeat center top / 125vw 31.25vw;
		}
	}

	.box {
		width: 75vw;
		max-width: 1200px;
		margin: min(6.25vw, 100px) auto 0;
		padding-bottom: min(2.5vw, 40px);
		border-bottom: #1d1d1d 1px solid;

		.images {
			width: 50vw;
			max-width: 800px;
			margin: 0 auto;

			img {
				width: 100%;
				vertical-align: top;
			}
		}

		.title_box {
			width: 50vw;
			max-width: 800px;
			margin: 0 auto;
			border: #e8e7e4 min(0.188vw, 3px) solid;

			.date {
				font-size: min(1.25vw, 20px);
				background: #e8e7e4;
				padding: 0 min(1.875vw, 30px);
				line-height: 2;
			}

			h2 {
				font-size: min(1.875vw, 30px);
				/*background: url(../images/bg_column_title_text.jpg) no-repeat center top / 100%;*/
				padding: min(0.625vw, 10px) min(1.875vw, 30px);
			}
		}

		.text {
			font-size: min(1.5vw, 24px);
			margin-top: min(3.625vw, 60px);
			line-height: 1.8;
			text-align: justify;
		}
	}

	.pagenation {
		margin-top: min(5vw, 80px);
	}
}

@media (width <= 1000px) {
	#column {
		h1 {
			background: url(../images/bg_column_title_sp.jpg) no-repeat center top / 100%;
		}
	
		.box {
			width: 95vw;
			margin: 8vw auto 0;
			padding-bottom: 0;
			border-bottom: none;
	
			.images {
				width: 100%;
				max-width: 950px;
	
				img {
					width: 100%;
				}
			}
	
			.title_box {
				width: 100%;
				max-width: 950px;
				border: #e8e7e4 0.3vw solid;
	
				.date {
					font-size: 4vw;
					padding: 0 2vw;
					line-height: 1.875;
				}
	
				h2 {
					font-size: 6vw;
					padding: 3vw 2vw;
				}
			}
	
			.text {
				font-size: 3.5vw;
				margin: 4vw 3vw 0;
				padding-bottom: 3vw;
				border-bottom: #1d1d1d 1px solid;
			}
		}
	
		.pagenation {
			margin-top: 8vw;
		}
	}
}
/************ column ************/

/************ column_list ************/
#column_list {
	h1 {
		background: url(../images/bg_column_title.jpg) no-repeat center top / 100%;

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_column_title.jpg) no-repeat center top / 2000px 500px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_column_title.jpg) no-repeat center top / 125vw 31.25vw;
		}
	}

	.box {
		width: 96.25vw;
		max-width: 1540px;
		margin: min(5vw, 80px) auto 0;
		display: flex;
		gap: min(0.625vw, 10px) min(0.313vw, 5px);
		flex-wrap: wrap;

		.one_box {
			width: calc(100% / 3 - min(0.625vw, 10px) / 3);
			border: #e8e7e4 min(0.188vw, 3px) solid;

			.images img {
				width: 100%;
				vertical-align: top;
			}

			.date {
				font-size: min(1.25vw, 20px);
				background: #e8e7e4;
				padding: 0 min(0.625vw, 10px);
				line-height: 2;				
			}

			h2 {
				font-size: min(1.875vw, 30px);
				padding: min(0.625vw, 10px);
			}

			.marquee {
				p {
					overflow: hidden;
					white-space: nowrap;

					span {
						padding-left: 100%;
						display: inline-block;
						animation: marquee 15s linear infinite;
					}
				}
			}
		}
	}

	.pagenation {
		margin-top: min(3.75vw, 60px);
	}
}

@keyframes marquee {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-100%);
	}
}

@media (width <= 1000px) {
	#column_list {
		h1 {
			background: url(../images/bg_column_title_sp.jpg) no-repeat center top / 100%;
		}
	
		.box {
			width: 78vw;
			margin: 8vw auto 0;
			gap: 3vw 0;
	
			.one_box {
				width: 100%;
				border: #e8e7e4 0.3vw solid;

				.date {
					font-size: 3vw;
					padding: 0 1vw;
				}
	
				h2 {
					font-size: 4vw;
					padding: 2vw 1vw;
				}
			}
		}
	
		.pagenation {
			margin-top: 8vw;
		}
	}
}
/************ column_list ************/

/************ contact ************/
#contact {
	h1 {
		background: url(../images/bg_contact_title.jpg) no-repeat center top / 100%;

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_contact_title.jpg) no-repeat center top / 2000px 500px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_contact_title.jpg) no-repeat center top / 125vw 31.25vw;
		}
	}

	.box {
		width: 95vw;
		max-width: 1030px;
		margin: min(5vw, 80px) auto 0;

		dl {
			dt {
				font-size: min(1.5vw, 24px);
				margin-top: min(1.25vw, 20px);

				span {
					font-size: min(1.125vw, 18px);
					color: #f00;
				}
			}

			dd {
				margin-top: min(0.313vw, 5px);

				label {
					font-size: min(1.125vw, 18px);
					color: #f00;
					margin-top: min(0.313vw, 5px);
					display: block;
				}
			}
		}

		.btn_submit {
			width: fit-content;
			margin: min(2.5vw, 40px) auto 0;
		}
	}

	#confirm {
		.text_01 {
			font-size: min(1.25vw, 20px);
			font-weight: bold;
			margin-top: min(3.75vw, 60px);
			text-align: center;
		}

		dl {
			dd {
				font-size: min(1.5vw, 24px);
				padding: 0 min(0.625vw, 10px) min(0.625vw, 10px) min(0.625vw, 10px);
				border-bottom: #6e5a2d 1px solid;
			}
		}

		.btn_box {
			margin-top: min(2.5vw, 40px);
			display: flex;
			justify-content: center;
			gap: 0 min(0.625vw, 10px);

			.btn_submit {
				margin: 0;
			}
		}
	}

	#complete {
		.box {
			p {
				font-size: min(1.25vw, 20px);
				text-align: center;
				line-height: 1.5;
			}

			.btn_back {
				width: fit-content;
				margin: min(5vw, 80px) auto 0;
			}
		}
	}
}

@media (width <= 1000px) {
	#contact {
		h1 {
			background: url(../images/bg_contact_title_sp.jpg) no-repeat center top / 100%;
		}

		.box {
			margin: 5vw auto 0;
	
			dl {
				dt {
					font-size: 4vw;
					margin-top: 3vw;
	
					span {
						font-size: 3vw;
					}
				}
	
				dd {
					margin-top: 0.5vw;
	
					label {
						font-size: 3vw;
						margin-top: 0.5vw;
					}
				}
			}

			.btn_submit {
				margin: 8vw auto 0;
			}
		}
	
		#confirm {
			.text_01 {
				font-size: 4vw;
				margin-top: 4vw;
			}
	
			dl {
				dd {
					font-size: 4vw;
					padding: 0 1vw 1vw 1vw;
					line-height: 1.6;
				}
			}
	
			.btn_box {
				margin-top: 8vw;
				gap: 3vw 0;
				flex-wrap: wrap;
			}
		}
	
		#complete {
			.box {
				p {
					font-size: 4vw;
				}
	
				.btn_back {
					margin: 8vw auto 0;
				}
			}
		}
	}
}
/************ contact ************/

/************ hotel_list ************/
#hotel_list {
	h1 {
		background: url(../images/bg_hotel_list_title.jpg) no-repeat center top / 100%;

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_hotel_list_title.jpg) no-repeat center top / 2000px 500px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_hotel_list_title.jpg) no-repeat center top / 125vw 31.25vw;
		}
	}

	.box {
		width: 75vw;
		max-width: 1200px;
		margin: min(5vw, 80px) auto 0;

		h2 {
			font-size: min(1.5vw, 24px);
			color: #fff;
			background: #ec6d8f;
			text-align: center;
			line-height: 2.25;
		}

		h3 {
			font-size: min(1.25vw, 20px);
			margin-top: min(2.5vw, 40px);
			border: #1d1d1d 1px solid;
			text-align: center;
			line-height: 2.25;
		}

		select {
			font-size: clamp(16px, 1.25vw, 20px);
			background: url(../images/hotel_list_select_arrow.jpg) no-repeat right center / 35px 45px;
			width: 100%;
			height: 45px;
			margin-top: min(1.875vw, 30px);
			border: #1d1d1d 1px solid;
			text-align: center;
			cursor: pointer;
		}

		ul {
			margin-top: min(1.875vw, 30px);
			display: flex;
			gap: min(1.25vw, 20px);
			flex-wrap: wrap;

			li {
				width: calc(100% / 3 - min(2.5vw, 40px) / 3);

				a {
					font-size: min(1.25vw, 20px);
					color: #1d1d1d;
					background: #e8e7e4;
					width: 100%;
					text-align: center;
					line-height: 2.25;
					display: block;
					transition: .5s;
				}
			}

			li a:hover {
				color: #fff;
				background: #ec6d8f;
			}
		}
	}
}

#hotel_list.detail {
	dl {
		font-size: min(1.25vw, 20px);
		margin-top: min(1.875vw, 30px);
		line-height: 2.25;
		display: flex;
		flex-wrap: wrap;

		dt {
			width: 35%;
			padding: 0 min(0.625vw, 10px);
		}

		.marquee {
			p {
				white-space: nowrap;
				overflow: hidden;

				span {
					padding-left: 100%;
					display: inline-block;
					animation: marquee 15s linear infinite;
				}
			}
		}

		dd {
			width: 65%;
			display: flex;
			gap: 0 min(3.125vw, 50px);
		}

		dt:nth-of-type(2n+1),
		dd:nth-of-type(2n+1) {
			background: #e8e7e4;
		}
	}

	.btn_back button {
		font-size: min(1.25vw, 20px);
		font-weight: bold;
		color: #fff;
		background: #ec6d8f;
		width: 25vw;
		max-width: 400px;
		margin: min(2.5vw, 40px) auto 0;
		text-align: center;
		line-height: 2.1;
		display: block;
	}
}

@media (width <= 1000px) {
	#hotel_list {
		h1 {
			background: url(../images/bg_hotel_list_title_sp.jpg) no-repeat center top / 100%;
		}
	
		.box {
			width: 100%;
			margin: 8vw auto 0;
	
			h2 {
				font-size: 4vw;
				line-height: 1.5;
			}
	
			h3 {
				font-size: 3.5vw;
				width: 95vw;
				margin: 4vw auto 0;
				line-height: 1.714;
			}
	
			select {
				font-size: clamp(16px, 3.5vw, 35px);
				background: url(../images/hotel_list_select_arrow.jpg) no-repeat right center / 5.25vw 9vw;
				width: 95vw;
				height: 9vw;
				margin: 4vw auto 0;
				display: block;
			}
	
			ul {
				width: 95vw;
				margin: 4vw auto 0;
				gap: 2vw 1vw;
	
				li {
					width: calc(50% - 0.5vw);
	
					a {
						font-size: 4vw;
					}
				}
			}
		}
	}
	
	#hotel_list.detail {
		dl {
			font-size: 4vw;
			width: 95vw;
			margin: 3vw auto 0;
			padding: 0;
			line-height: 1.5;
	
			dt {
				width: 100%;
				padding: 2vw 3vw 0;
			}
	
			dd {
				width: 100%;
				padding: 0 3vw 2vw;
				gap: 0;
				flex-wrap: wrap;

				p {
					width: 100%;
				}
			}
		}
	
		.btn_back button {
			font-size: 4vw;
			width: 65vw;
			max-width: 650px;
			margin: 4vw auto 0;
			line-height: 2.25;
		}
	}
}
/************ hotel_list ************/

/************ howto ************/
#howto {
	h1 {
		background: url(../images/bg_howto_title.jpg) no-repeat center top / 100%;

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_howto_title.jpg) no-repeat center top / 2000px 500px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_howto_title.jpg) no-repeat center top / 125vw 31.25vw;
		}
	}

	.box {
		margin-top: min(2.5vw, 40px);
		text-align: center;

		h2 {
			font-size: min(2.5vw, 40px);
		}

		.text_01 {
			font-size: min(1.875vw, 30px);
			margin-top: min(1.875vw, 30px);
			padding: min(1.875vw, 30px) 0;
			line-height: 1;
			position: relative;

			.sp {
				display: none;
			}
		}

		.text_01::before,
		.text_01::after {
			content: "";
			background: #1d1d1d;
			width: 41.875vw;
			max-width: 670px;
			height: 1px;
			margin: auto;
			position: absolute;
			left: 0;
			right: 0;
		}

		.text_01::before {
			top: 0;
		}

		.text_01::after {
			bottom: 0;
		}

		.one_box {
			margin-top: min(5vw, 80px);

			.images img {
				width: 96.25vw;
				max-width: 1540px;
			}

			h3 {
				font-size: min(1.875vw, 30px);
				margin-top: min(5vw, 80px);
				display: flex;
				align-items: center;
				justify-content: center;
			}

			h3::before,
			h3::after {
				content: "";
				background: #1d1d1d;
				width: 8.75vw;
				max-width: 140px;
				height: 1px;
			}

			h3::before {
				padding-right: 1em;
			}

			h3::after {
				padding-left: 1em;
			}

			p {
				font-size: min(1.25vw, 20px);
				margin-top: min(1.875vw, 30px);
				padding-bottom: min(3.125vw, 50px);
				line-height: 1.6;
				position: relative;

				span {
					text-decoration: underline;
					text-underline-offset: 2px;
				}

				strong {
					color: #fff;
					background: #ec6d8f;
					line-height: 1.5;
					display: inline-block;
				}

				.sp {
					display: none;
				}
			}

			p::after {
				content: '';
				background: #ec6d8f;
				width: 4.375vw;
				max-width: 70px;
				height: 0.313vw;
				max-height: 5px;
				margin: auto;
				position: absolute;
				left: 0;
				right: 0;
				bottom: 0;
			}
		}
	}
}

@media (width <= 1000px) {
	#howto {
		h1 {
			background: url(../images/bg_howto_title_sp.jpg) no-repeat center top / 100%;
		}
	
		.box {
			margin-top: 8vw;
	
			h2 {
				font-size: 5vw;
			}
	
			.text_01 {
				font-size: 4vw;
				margin-top: 3vw;
				padding: 3vw 0;
				line-height: 1.2;

				.sp {
					display: inline-block;
				}
			}
	
			.text_01::before,
			.text_01::after {
				content: "";
				background: #1d1d1d;
				width: 67vw;
			}
	
			.one_box {
				margin-top: 8vw;
	
				.images img {
					width: 100%;
				}
	
				h3 {
					font-size: 4vw;
					margin-top: 8vw;
				}
	
				h3::before,
				h3::after {
					width: 14vw;
				}
	
				p {
					font-size: 3vw;
					margin-top: 3vw;
					padding-bottom: 5vw;

					.sp {
						display: inline-block;
					}
				}
	
				p::after {
					width: 9vw;
					max-width: 90px;
					height: 0.5vw;
				}
			}
		}
	}
}
/************ howto ************/

/************ newface ************/
#newface {
	h1 {
		background: url(../images/bg_newface_title.jpg) no-repeat center top / 100%;

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_newface_title.jpg) no-repeat center top / 2000px 500px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_newface_title.jpg) no-repeat center top / 125vw 31.25vw;
		}
	}

	.box {
		width: 100%;
		max-width: 2000px;
		margin: min(6.25vw, 100px) auto 0;

		.one_box {
			width: 117.5vw;
			max-width: 1880px;
			margin: min(3.75vw, 60px) 0 0 auto;
			display: flex;

			.thumbnail {
				width: 33.75vw;
				max-width: 540px;
				height: 45vw;
				max-height: 720px;
				overflow: hidden;

				img {
					width: 100%;
				}
			}

			.data_box {
				background: url(../images/bg_newface_right.jpg) no-repeat center top / 100%;
				width: 83.75vw;
				max-width: 1340px;
				height: 37.5vw;
				max-height: 600px;
				margin: min(1.875vw, 30px) 0 0 max(-0.313vw, -5px);
				padding: min(3.125vw, 50px) 0 0 min(1.25vw, 20px);

				.upper {
					background: rgba(255, 255, 255, .8);
					width: 64.188vw;
					max-width: 1027px;
					height: min(7.5vw, 120px);
					border-radius: min(0.625vw, 10px);
					display: flex;
					align-items: center;
					gap: 0 min(1.563vw, 25px);
					box-shadow: min(0.188vw, 3px) min(0.188vw, 3px) min(0.188vw, 3px) 0 rgba(255, 255, 255, .8);
					
					.left {
						width: 18.75vw;
						max-width: 300px;
						text-align: center;

						.date {
							font-size: min(1.25vw, 20px);
							color: #fff;
							background: #1d1d1d;
							margin-top: max(-1.875vw, -30px);
							line-height: 1.75;
						}

						.name {
							font-size: min(2.25vw, 36px);
							width: calc(100% - min(1.25vw, 20px));
							margin: min(0.313vw, 5px) auto 0;
							overflow: hidden;
							white-space: nowrap;

							p {
								span {
									font-size: min(1.5vw, 24px);
								}
							}

							.marquee {
								padding-left: 100%;
								display: inline-block;
								animation: marquee 15s linear infinite;
							}
						}

						.size {
							font-size: min(1.125vw, 18px);
						}
					}

					.center {
						width: 20.938vw;
						max-width: 335px;
						display: flex;
						gap: min(0.625vw, 10px) min(0.313vw, 5px);
						flex-wrap: wrap;

						p {
							font-size: min(1.125vw, 18px);
							color: #fff;
							background: #ec6d8f;
							width: calc(50% - min(0.313vw, 5px) / 2);
							text-align: center;
							line-height: 1.556;
						}
					}

					.right {
						width: calc(100% - min(18.75vw, 300px) - min(20.938vw, 335px) - min(3.75vw, 60px));

						ul {
							display: flex;
							align-items: center;
							gap: 0 min(0.75vw, 12px);

							li a {
								transition: opacity .5s;
							}

							li a:hover {
								opacity: .5;
							}

							li a img {
								width: min(3.438vw, 55px);
							}
						}
					}
				}

				.bottom {
					background: rgba(255, 255, 255, .8);
					width: calc(104.444vw - 645px);
					max-width: 1210px;
					margin-top: min(3.75vw, 60px);
					padding: min(1.875vw, 30px) min(2.5vw, 40px);
					border-radius: min(0.625vw, 10px);
					box-shadow: min(0.188vw, 3px) min(0.188vw, 3px) min(0.188vw, 3px) 0 rgba(255, 255, 255, .8);

					@media (width <= 1600px) {
						width: 64.188vw;
					}

					.recommend {
						font-family: LINESeedJP_OTF_Bd;
						font-size: min(1.125vw, 18px);
						font-weight: bold;
						color: #ec6d8f;
						width: 16.25vw;
						max-width: 260px;
						border-bottom: #ec6d8f 1px solid;
						line-height: 1.4;
						letter-spacing: 0.1em;
					}

					.text {
						font-size: min(1.25vw, 20px);
						height: min(8.75vw, 140px);
						margin-top: min(1.25vw, 20px);
						padding-right: min(1.875vw, 30px);
						overflow: auto;
					}

					.btn_view_profile a {
						font-family: LINESeedJP_OTF_Bd;
						font-size: min(1.125vw, 18px);
						font-weight: bold;
						color: #1d1d1d;
						background-color: transparent;
						width: min(13.75vw, 220px);
						margin-top: min(2.5vw, 40px);
						border: #1d1d1d 1px solid;
						text-align: center;
						line-height: 2.444;
						letter-spacing: 0.1em;
						transition: .5s;
						display: block;
					}

					.btn_view_profile a:hover {
						color: #fff;
						background-color: #1d1d1d;
					}
				}
			}
		}
	}
}

@media (width <= 1000px) {
	#newface {
		h1 {
			background: url(../images/bg_newface_title_sp.jpg) no-repeat center top / 100%;
		}
	
		.box {
			margin: 0 auto;
	
			.one_box {
				width: 100%;
				margin: 0;
				flex-wrap: wrap;
	
				.thumbnail {
					width: 95vw;
					max-width: 950px;
					height: 126.7vw;
					max-height: 1267px;
					margin: 0 auto;
				}
	
				.data_box {
					background: url(../images/bg_newface_right_sp.jpg) no-repeat center top / 100%;
					width: 100%;
					height: 126vw;
					max-height: 1260px;
					margin: 0;
					padding: 2vw 0 0;
	
					.upper {
						width: 95vw;
						height: auto;
						margin: 0 auto;
						padding-bottom: 2vw;
						border-radius: 1vw;
						gap: 2.5vw 0;
						flex-wrap: wrap;
						box-shadow: none;
						
						.left {
							width: 100%;
							max-width: 950px;
	
							.date {
								font-size: 4vw;
								width: 47.8vw;
								margin: 0 auto;
								line-height: 1.3;
							}
	
							.name {
								font-size: 8vw;
								width: 100%;
								margin: 2vw auto 0;
								padding: 0 2vw;
	
								p {
									span {
										font-size: 3.6vw;
									}
								}
							}
	
							.size {
								font-size: 3.6vw;
							}
						}
	
						.center {
							width: 100%;
							max-width: 950px;
							gap: 2vw;
	
							p {
								font-size: 4vw;
								width: calc(50% - 1vw);
								line-height: 1.875;
							}
						}
	
						.right {
							width: 100%;
	
							ul {
								justify-content: center;
								gap: 0 3vw;
	
								li a img {
									width: 13.4vw;
								}
							}
						}
					}
	
					.bottom {
						width: 95vw;
						margin: 2vw auto 0;
						padding: 2vw 4vw 4vw;
						border-radius: 1vw;
						box-shadow: none;
	
						.recommend {
							font-size: 3vw;
							width: 23.7vw;
							max-width: 237px;
						}
	
						.text {
							font-size: 3.5vw;
							height: 30.5vw;
							margin-top: 2vw;
							padding-right: 2vw;
						}
	
						.btn_view_profile a {
							font-size: 4vw;
							width: 53.4vw;
							margin: 4vw auto 0;
							line-height: 2.375;
						}
					}
				}
			}
		}
	}
}
/************ newface ************/

/************ news ************/
#news {
	h1 {
		background: url(../images/bg_news_title.jpg) no-repeat center top / 100%;

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_news_title.jpg) no-repeat center top / 2000px 500px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_news_title.jpg) no-repeat center top / 125vw 31.25vw;
		}
	}

	.box {
		width: 75vw;
		max-width: 1200px;
		margin: 0 auto;

		.one_box {
			margin-top: min(5vw, 80px);
			display: flex;
			gap: 0 min(1.875vw, 30px);

			.images {
				width: 34.063vw;
				max-width: 545px;
				position: relative;
				z-index: 1;

				img {
					width: 100%;
				}
			}

			.images::before {
				content: '';
				background: #cfcfcf;
				width: 100%;
				height: 100%;
				position: absolute;
				left: max(-1.875vw, -30px);
				top: min(1.875vw, 30px);
				z-index: -1;
			}

			.data_box {
				width: calc(100% - min(35.938vw, 575px));

				.date {
					font-size: min(1.5vw, 24px);
				}

				h2 {
					font-size: min(2.5vw, 40px);
					font-weight: bold;
					color: #ec6d8f;
					width: 35.938vw;
					max-width: 575px;
					padding-right: min(0.625vw, 10px);
					border-bottom: #bdb9b9 1px solid;
				}

				.marquee {
					p {
						overflow: hidden;
						white-space: nowrap;
	
						span {
							padding-left: 100%;
							display: inline-block;
							animation: marquee 15s linear infinite;
						}
					}
				}

				.text {
					font-size: min(1.5vw, 24px);
					height: 35.813vw;
					max-height: 573px;
					margin-top: min(1.875vw, 30px);
					padding: min(0.938vw, 15px) min(1.25vw, 20px);
					border: #e8e7e4 min(0.5vw, 8px) solid;
					line-height: 2;
					overflow: auto;
				}
			}
		}

		.one_box:nth-child(n+2) {
			margin-top: min(6.25vw, 100px);
		}
	}
}

@media (width <= 1000px) {
	#news {
		h1 {
			background: url(../images/bg_news_title_sp.jpg) no-repeat center top / 100%;
		}
	
		.box {
			width: 95vw;
			margin: 0 auto;
	
			.one_box {
				margin-top: 3vw;
				gap: 6vw 0;
				flex-wrap: wrap;
	
				.images {
					width: 100%;
					max-width: 950px;
				}
	
				.images::before {
					left: -1vw;
					top: 2vw;
				}
	
				.data_box {
					width: 100%;
	
					.date {
						font-size: 3.5vw;
					}
	
					h2 {
						font-size: 6vw;
						width: 87.4vw;
						max-width: 874px;
						margin-top: 1vw;
						padding-right: 0;
					}
	
					.text {
						font-size: 3.5vw;
						height: 73vw;
						max-height: 730px;
						margin-top: 4vw;
						padding: 3vw;
						border: #e8e7e4 0.8vw solid;
					}
				}
			}
	
			.one_box:nth-child(n+2) {
				margin-top: 4vw;
			}
		}
	}
}
/************ news ************/

/************ photodiary ************/
#photodiary {
	h1 {
		background: url(../images/bg_photodiary_title.jpg) no-repeat center top / 100%;

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_photodiary_title.jpg) no-repeat center top / 2000px 500px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_photodiary_title.jpg) no-repeat center top / 125vw 31.25vw;
		}
	}

	.profile {
		width: 75vw;
		max-width: 1200px;
		margin: min(5vw, 80px) auto 0;
		padding-left: min(1.875vw, 30px);
		display: flex;
		align-items: flex-end;
		gap: 0 min(1.875vw, 30px);

		.thumbnail {
			width: 7vw;
			max-width: 112px;
			height: 7vw;
			max-height: 112px;
			border-radius: 50%;
			overflow: hidden;

			img {
				width: 100%;
				transform: scale(1.4);
				transform-origin: center top;
			}
		}

		.name_box {
			width: 18vw;
			max-width: 360px;

			.name {
				font-size: min(2vw, 36px);
				letter-spacing: 0.1em;

				span {
					font-size: min(1.25vw, 20px);
				}
			}

			.tel {
				font-size: min(1.25vw, 20px);
				margin-top: min(0.625vw, 10px);
				text-align: center;

				img {
					width: 1.25vw;
					max-width: 20px;
					vertical-align: middle;
				}
			}
		}

		.size_box {
			.size {
				font-size: min(1.25vw, 20px);
				text-align: right;
			}

			.sns {
				margin-top: min(0.625vw, 10px);
				display: flex;
				align-items: center;
				gap: 0 min(0.625vw, 10px);

				li a {
					transition: opacity .5s;

					img {
						width: min(2.375vw, 38px);
					}
				}

				li a:hover {
					opacity: .5;
				}
			}
		}

		.btn_profile a {
			font-size: min(1.25vw, 20px);
			width: 25vw;
			color: #1d1d1d;
			background: transparent;
			max-width: 400px;
			margin-bottom: min(0.313vw, 5px);
			border: #1d1d1d 1px solid;
			text-align: center;
			line-height: 2.1;
			display: block;
			transition: .5s;
		}

		.btn_profile a:hover {
			color: #fff;
			background: #1d1d1d;
		}
	}

	.box {
		.one_box {
			width: 75vw;
			max-width: 1200px;
			margin: min(1.875vw, 30px) auto 0;
			padding: min(2.5vw, 40px) min(2.5vw, 40px) min(6.25vw, 100px);
			border: #e8e7e4 min(0.5vw, 8px) solid;

			.date {
				font-size: min(1.5vw, 24px);
			}

			h2 {
				font-size: min(2.5vw, 40px);
				font-weight: bold;
				color: #ec6d8f;
				width: 35.938vw;
				max-width: 575px;
				margin-top: min(0.625vw, 10px);
				padding-right: min(0.625vw, 10px);
				border-bottom: #bdb9b9 1px solid;
			}

			.marquee {
				p {
					overflow: hidden;
					white-space: nowrap;

					span {
						padding-left: 100%;
						display: inline-block;
						animation: marquee 15s linear infinite;
					}
				}
			}

			.contents {
				margin-top: min(5vw, 80px);
				display: flex;
				gap: 0 min(1.875vw, 30px);

				.images {
					width: 18.75vw;
					max-width: 300px;

					img {
						width: 100%;
					}
				}

				.text {
					font-size: min(1.5vw, 24px);
					width: calc(100% - 20.625vw);
					padding-right: min(3.75vw, 60px);
					line-height: 2;
					overflow: auto;
				}
			}
		}
	}

	.pagenation {
		margin-top: min(3.125vw, 50px);
	}
}

@media (width <= 1000px) {
	#photodiary {
		h1 {
			background: url(../images/bg_photodiary_title_sp.jpg) no-repeat center top / 100%;
		}
	
		.profile {
			width: 76vw;
			margin: 8vw auto 0;
			padding-left: 0;
			gap: 3vw;
			flex-wrap: wrap;
	
			.thumbnail {
				width: 20.7vw;
				max-width: 207px;
				height: 20.7vw;
				max-height: 207px;
			}
	
			.name_box {
				width: calc(100% - 23.7vw);

				.name {
					font-size: 5.5vw;
	
					span {
						font-size: 3vw;
					}
				}
	
				.tel {
					font-size: 5vw;
					margin-top: 6vw;
					text-align: left;
	
					img {
						width: 4vw;
						max-width: 40px;
					}
				}
			}
	
			.size_box {
				position: relative;

				.size {
					font-size: 3vw;
					width: 52.3vw;
					text-align: left;
					position: absolute;
					left: 23.7vw;
					top: -15vw;
				}
	
				.sns {
					margin-top: 0;
					gap: 0 3vw;
	
					li a {
						img {
							width: 12.7vw;
							max-width: 127px;
						}
					}
				}
			}
	
			.btn_profile a {
				font-size: 4vw;
				width: 76vw;
				max-width: 760px;
				margin-bottom: 0;
				line-height: 2.25;
			}
		}
	
		.box {
			.one_box {
				width: 95vw;
				margin: 8vw auto 0;
				padding: 4vw 4.5vw 6vw;
				border: #e8e7e4 0.8vw solid;

				.date {
					font-size: 3.5vw;
				}
	
				h2 {
					font-size: 6vw;
					width: 85.4vw;
					max-width: 854px;
					margin-top: 1vw;
					padding-right: 0;
				}
	
				.contents {
					margin-top: 4vw;
					gap: 4vw 0;
					flex-wrap: wrap;
	
					.images {
						width: 100%;
						max-width: 860px;
					}
	
					.text {
						font-size: 3.5vw;
						width: 100%;
						padding-right: 0;
					}
				}
			}
		}
	
		.pagenation {
			margin-top: 6vw;
			gap: 0 1vw;

			li:first-child a,
			li:last-child a {
				font-size: 3.5vw;
				width: 16.5vw;
			}

			.back a {
				font-size: 3.5vw;
				padding: 0 0.5vw;
			}
		}
	}
}
/************ photodiary ************/

/************ photodiary_list ************/
#photodiary_list {
	h1 {
		background: url(../images/bg_photodiary_title.jpg) no-repeat center top / 100%;

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_photodiary_title.jpg) no-repeat center top / 2000px 500px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_photodiary_title.jpg) no-repeat center top / 125vw 31.25vw;
		}
	}

	.box {
		width: 75vw;
		max-width: 1200px;
		margin: min(6.25vw, 100px) auto 0;
		display: flex;
		gap: min(0.625vw, 10px) 0;
		flex-wrap: wrap;

		.one_box {
			width: 25%;
			border-bottom: #a9a9a9 1px solid;

			a {
				width: 100%;
				display: block;
				position: relative;

				.thumbnail {
					height: 28.125vw;
					max-height: 450px;
					overflow: hidden;

					img {
						width: 100%;
						transition: .5s;
					}
				}

				.data_box {
					width: 100%;
					position: absolute;
					left: 0;
					bottom: 0;

					.date {
						font-size: min(0.875vw, 14px);
						background: rgba(255, 255, 255, .8);
						padding: 0 min(0.625vw, 10px);
						line-height: 1.786;
					}

					h2 {
						font-size: min(1.125vw, 18px);
						background: #fff;
						padding: min(0.313vw, 5px) min(0.625vw, 10px) 0;
						white-space: nowrap;
						overflow: hidden;
					}

					.marquee {
						p {
							overflow: hidden;
							white-space: nowrap;
		
							span {
								padding-left: 100%;
								display: inline-block;
								animation: marquee 10s linear infinite;
							}
						}
					}

					.inner {
						background: #fff;
						padding: min(0.313vw, 5px) min(0.625vw, 10px);
						display: flex;
						align-items: center;
						gap: 0 min(1.25vw, 20px);

						.therapist_thumbnail {
							width: 4.25vw;
							max-width: 68px;
							height: 4.25vw;
							max-height: 68px;
							border-radius: 50%;
							overflow: hidden;

							img {
								width: 100%;
								transform: scale(1.6);
								transform-origin: center top;
							}
						}

						.name {
							font-size: min(1.125vw, 18px);

							span {
								font-size: min(1vw, 16px);
							}
						}
					}
				}
			}

			a:before {
				content: "READ MORE";
				font-size: min(1vw, 16px);
				font-weight: bold;
				color: #fff;
				width: min(11.25vw, 180px);
				margin: -1em auto 0;
				border: solid 1px #fff;
				text-align: center;
				line-height: 3;
				letter-spacing: 0.1em;
				display: block;
				position: absolute;
				top: 37%;
				left: 0;
				right: 0;
				z-index: 3;
				opacity: 0;
				transition: 0.5s;
			}
			
			a:hover .thumbnail img {
				filter: blur(5px);
			}
			
			a:hover:before {
				margin-top: -0.5em;
				opacity: 1;
			}
		}
	}

	.pagenation {
		margin-top: min(3.125vw, 50px);
	}
}

@media (width <= 1000px) {
	#photodiary_list {
		h1 {
			background: url(../images/bg_photodiary_title_sp.jpg) no-repeat center top / 100%;
		}
	
		.box {
			width: 95vw;
			margin: 4vw auto 0;
			gap: 3vw 0;
	
			.one_box {
				width: 50%;
	
				a {
					.thumbnail {
						height: 76vw;
						max-height: 760px;
					}
	
					.data_box {
						.date {
							font-size: 3vw;
							padding: 0 1vw;
							line-height: 1.667;
						}
	
						h2 {
							font-size: 4vw;
							padding: 1vw 1vw 0;
						}
	
						.inner {
							padding: 1vw;
							gap: 0 2vw;
	
							.therapist_thumbnail {
								width: 12.8vw;
								max-width: 128px;
								height: 12.8vw;
								max-height: 128px;
							}
	
							.name {
								font-size: 4vw;
	
								span {
									font-size: 3vw;
								}
							}
						}
					}
				}
	
				a:before {
					font-size: 3vw;
					width: 25vw;
				}
			}
		}
	
		.pagenation {
			margin-top: 6vw;
		}
	}
}
/************ photodiary_list ************/

/************ photodiary_individual_list ************/
#photodiary_individual_list {
	h1 {
		background: url(../images/bg_photodiary_title.jpg) no-repeat center top / 100%;

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_photodiary_title.jpg) no-repeat center top / 2000px 500px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_photodiary_title.jpg) no-repeat center top / 125vw 31.25vw;
		}
	}

	.profile {
		width: 75vw;
		max-width: 1200px;
		margin: min(5vw, 80px) auto 0;
		padding-left: min(1.875vw, 30px);
		display: flex;
		align-items: flex-end;
		gap: 0 min(1.875vw, 30px);

		.thumbnail {
			width: 7vw;
			max-width: 112px;
			height: 7vw;
			max-height: 112px;
			border-radius: 50%;
			overflow: hidden;

			img {
				width: 100%;
				transform: scale(1.4);
				transform-origin: center top;
			}
		}

		.name_box {
			.name {
				font-size: min(2.5vw, 40px);
				letter-spacing: 0.1em;

				span {
					font-size: min(1.25vw, 20px);
				}
			}

			.tel {
				font-size: min(1.25vw, 20px);
				margin-top: min(0.625vw, 10px);
				text-align: center;

				img {
					width: 1.25vw;
					max-width: 20px;
					vertical-align: middle;
				}
			}
		}

		.size_box {
			.size {
				font-size: min(1.25vw, 20px);
				text-align: right;
			}

			.sns {
				margin-top: min(0.625vw, 10px);
				display: flex;
				align-items: center;
				gap: 0 min(0.625vw, 10px);

				li a {
					transition: opacity .5s;

					img {
						width: min(2.375vw, 38px);
					}
				}

				li a:hover {
					opacity: .5;
				}
			}
		}

		.btn_profile a {
			font-size: min(1.25vw, 20px);
			width: 25vw;
			color: #1d1d1d;
			background: transparent;
			max-width: 400px;
			margin-bottom: min(0.313vw, 5px);
			border: #1d1d1d 1px solid;
			text-align: center;
			line-height: 2.1;
			display: block;
			transition: .5s;
		}

		.btn_profile a:hover {
			color: #fff;
			background: #1d1d1d;
		}
	}

	.box {
		width: 75vw;
		max-width: 1200px;
		margin: min(1.875vw, 30px) auto 0;
		display: flex;
		gap: min(0.625vw, 10px) 0;
		flex-wrap: wrap;

		.one_box {
			width: 25%;
			border-bottom: #a9a9a9 1px solid;

			a {
				width: 100%;
				display: block;
				position: relative;

				.thumbnail {
					height: 28.125vw;
					max-height: 450px;
					overflow: hidden;

					img {
						width: 100%;
						transition: .5s;
					}
				}

				.data_box {
					width: 100%;
					position: absolute;
					left: 0;
					bottom: 0;

					.date {
						font-size: min(0.875vw, 14px);
						background: rgba(255, 255, 255, .8);
						padding: 0 min(0.625vw, 10px);
						line-height: 1.786;
					}

					h2 {
						font-size: min(1.125vw, 18px);
						background: #fff;
						padding: min(0.313vw, 5px) min(0.625vw, 10px) 0;
						white-space: nowrap;
						overflow: hidden;
					}

					.marquee {
						p {
							overflow: hidden;
							white-space: nowrap;
		
							span {
								padding-left: 100%;
								display: inline-block;
								animation: marquee 10s linear infinite;
							}
						}
					}

					.inner {
						background: #fff;
						padding: min(0.313vw, 5px) min(0.625vw, 10px);
						display: flex;
						align-items: center;
						gap: 0 min(1.25vw, 20px);

						.therapist_thumbnail {
							width: 4.25vw;
							max-width: 68px;
							height: 4.25vw;
							max-height: 68px;
							border-radius: 50%;
							overflow: hidden;

							img {
								width: 100%;
								transform: scale(1.6);
								transform-origin: center top;
							}
						}

						.name {
							font-size: min(1.125vw, 18px);

							span {
								font-size: min(1vw, 16px);
							}
						}
					}
				}
			}

			a:before {
				content: "READ MORE";
				font-size: min(1vw, 16px);
				font-weight: bold;
				color: #fff;
				width: min(11.25vw, 180px);
				margin: -1em auto 0;
				border: solid 1px #fff;
				text-align: center;
				line-height: 3;
				letter-spacing: 0.1em;
				display: block;
				position: absolute;
				top: 37%;
				left: 0;
				right: 0;
				z-index: 3;
				opacity: 0;
				transition: 0.5s;
			}
			
			a:hover .thumbnail img {
				filter: blur(5px);
			}
			
			a:hover:before {
				margin-top: -0.5em;
				opacity: 1;
			}
		}
	}

	.pagenation {
		margin-top: min(3.125vw, 50px);
	}
}

@media (width <= 1000px) {
	#photodiary_individual_list {
		h1 {
			background: url(../images/bg_photodiary_title_sp.jpg) no-repeat center top / 100%;
		}
	
		.profile {
			width: 76vw;
			margin: 4vw auto 0;
			padding-left: 0;
			gap: 3vw;
			flex-wrap: wrap;
	
			.thumbnail {
				width: 20.7vw;
				max-width: 207px;
				height: 20.7vw;
				max-height: 207px;
			}
	
			.name_box {
				width: calc(100% - 23.7vw);

				.name {
					font-size: 7vw;
	
					span {
						font-size: 3vw;
					}
				}
	
				.tel {
					font-size: 5vw;
					margin-top: 6vw;
					text-align: left;
	
					img {
						width: 4vw;
						max-width: 40px;
					}
				}
			}
	
			.size_box {
				position: relative;

				.size {
					font-size: 3vw;
					text-align: left;
					position: absolute;
					left: 23.7vw;
					top: -15vw;
				}
	
				.sns {
					margin-top: 0;
					gap: 0 3vw;
	
					li a {
						img {
							width: 12.7vw;
							max-width: 127px;
						}
					}
				}
			}
	
			.btn_profile a {
				font-size: 4vw;
				width: 76vw;
				max-width: 760px;
				margin-bottom: 0;
				line-height: 2.25;
			}
		}
	
		.box {
			width: 95vw;
			margin: 8vw auto 0;
			gap: 3vw 0;
	
			.one_box {
				width: 50%;
	
				a {
					.thumbnail {
						height: 76vw;
						max-height: 760px;
					}
	
					.data_box {
						.date {
							font-size: 3vw;
							padding: 0 1vw;
							line-height: 1.667;
						}
	
						h2 {
							font-size: 4vw;
							padding: 1vw 1vw 0;
						}
	
						.inner {
							padding: 1vw;
							gap: 0 2vw;
	
							.therapist_thumbnail {
								width: 12.8vw;
								max-width: 128px;
								height: 12.8vw;
								max-height: 128px;
							}
	
							.name {
								font-size: 4vw;
	
								span {
									font-size: 3vw;
								}
							}
						}
					}
				}
	
				a:before {
					font-size: 3vw;
					width: 25vw;
				}
			}
		}
	
		.pagenation {
			margin-top: 6vw;
		}
	}
}
/************ photodiary_individual_list ************/

/************ profile ************/
#profile {
	h1 {
		background: url(../images/bg_profile_title.jpg) no-repeat center top / 100%;

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_profile_title.jpg) no-repeat center top / 2000px 500px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_profile_title.jpg) no-repeat center top / 125vw 31.25vw;
		}
	}

	#wrapper {
		width: 75vw;
		max-width: 1200px;
		margin: 0 auto;

		.prof_box {
			margin-top: min(1.875vw, 30px);
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 0 min(13.625vw, 218px);

			.left {
				width: min(28.125vw, 450px);

				.image_slider {
					width: 100%;
					height: min(37.5vw, 600px);
					overflow: hidden;

					.slides img {
						width: 100%;
					}
				}

				.thumbnail_slider {
					width: 100%;
					height: min(7.5vw, 120px);
					margin-top: min(0.625vw, 10px);

					.slides img {
						width: 100%;
					}

					.slick-prev,
					.slick-next {
						width: min(1.75vw, 28px) !important;
						height: min(1.75vw, 28px) !important;
						z-index: 2;
					}

					.slick-prev {
						left: max(-0.875vw, -14px) !important;
					}

					.slick-next {
						right: max(-0.875vw, -14px) !important;
					}

					.slick-arrow::before{
						content: "" !important;
						width: min(1.75vw, 28px) !important;
						height: min(1.75vw, 28px) !important;
						position: absolute;
						top: 0;
						left: 0;
					}
					
					.slick-next::before{
						background: url(../images/arrow_profile_next.png) !important;
						background-size: contain !important;
					}
					
					.slick-prev::before{
						background: url(../images/arrow_profile_prev.png) !important;
						background-size: contain !important;
					}
				}
			}

			.right {
				width: calc(100% - min(13.625vw, 218px) - min(28.125vw, 450px));

				.name {
					font-size: min(2.5vw, 40px);
					letter-spacing: 0.1em;
					white-space: nowrap;
					overflow: hidden;

					span {
						font-size: min(1.25vw, 20px);
					}
				}

				.height_weight {
					font-size: min(1.25vw, 20px);
					margin-bottom: min(0.625vw, 10px);
					padding-bottom: min(0.625vw, 10px);
					border-bottom: #ec6d8f 1px solid;
					letter-spacing: 0;
					white-space: nowrap;
					overflow: hidden;
				}

				.marquee {
					p {
						padding-left: 100%;
						display: inline-block;
						animation: marquee 10s linear infinite;
					}
				}

				.tel_sns {
					display: flex;
					align-items: center;
					gap: 0 min(3.125vw, 50px);

					.tel {
						img {
							width: 1.188vw;
							vertical-align: middle;
							margin-right: min(0.313vw, 5px);
						}

						a {
							font-size: min(1.25vw, 20px);
							vertical-align: middle;
							pointer-events: none;
						}
					}

					.sns {
						display: flex;
						align-items: center;
						gap: 0 min(0.625vw, 10px);

						div a img {
							width: 2.375vw;
						}
					}
				}

				.type {
					margin-top: min(0.313vw, 5px);
					display: flex;
					gap: min(0.313vw, 5px);
					flex-wrap: wrap;

					li {
						font-size: min(1.25vw, 20px);
						color: #fff;
						background: #ec6d8f;
						width: calc(50% - min(0.156vw, calc(5px / 2)));
						text-align: center;
						line-height: 1.9;
					}
				}

				h2 {
					font-size: min(1.125vw, 18px);
					margin-top: min(1.25vw, 20px);

					span {
						font-family: LINESeedJP_OTF_Bd;
						font-size: min(1.5vw, 24px);
						font-weight: bold;
						margin-right: min(0.313vw, 5px);
					}
				}

				.text {
					font-size: min(1.25vw, 20px);
					width: 100%;
					height: min(15.25vw, 244px);
					padding: min(0.625vw, 10px);
					border: #1d1d1d 1px solid;
					line-height: 1.6;
					overflow: auto;
				}
			}
		}

		.available {
			margin-top: min(1.25vw, 20px);
			display: flex;
			gap: 0 min(0.313vw, 5px);

			li {
				width: calc(50% - min(0.156vw, calc(5px / 2)));

				img {
					width: 100%;
				}
			}
		}

		h2.sub_title {
			font-family: LINESeedJP_OTF_Bd;
			font-size: min(1.5vw, 24px);
			font-weight: bold;
			width: fit-content;
			margin: 0 auto;
			text-align: center;
			position: relative;

			span {
				font-family: "Yu Gothic", "游ゴシック体", "YuGothic", yu-gothic-pr6n, "メイリオ", Meiryo, sans-serif;
				font-size: min(1.125vw, 18px);
				display: block;
			}
		}

		h2.sub_title::before,
		h2.sub_title::after {
			content: "";
			background: #1d1d1d;
			width: min(8.75vw, 140px);
			height: 1px;
			position: absolute;
			top: 75%;
		}

		h2.sub_title::before {
			left: max(-9.375vw, -150px);
		}

		h2.sub_title::after {
			right: max(-9.375vw, -150px);
		}

		.photodiary_box {
			margin-top: min(2.5vw, 40px);

			ul {
				background: url(../images/bg_profile_diary.jpg) no-repeat center top / 100%;
				height: 19.875vw;
				max-height: 318px;
				margin: min(1.25vw, 20px) auto 0;
				padding: 0 min(1.25vw, 20px);
				display: flex;
				align-items: center;
				justify-content: center;

				li {
					width: calc(100% / 6);

					a {
						width: 100%;
						height: 16.25vw;
						max-height: 260px;
						border: #646464 min(0.188vw, 3px) solid;
						display: block;
						position: relative;
						overflow: hidden;

						.thumbnail img {
							width: 100%;
						}

						.data_box {
							width: 100%;
							position: absolute;
							left: 0;
							bottom: 0;

							.date {
								font-size: min(0.875vw, 14px);
								background: rgba(255, 255, 255, .8);
								width: 100%;
								padding-left: min(0.625vw, 10px);
								line-height: 1.667;
							}

							h3 {
								font-size: min(1vw, 16px);
								background: #fff;
								width: 100%;
								padding: 0 min(0.625vw, 10px);
								text-align: center;
								line-height: 2.625;

								p {
									overflow: hidden;
									white-space: nowrap;
								}
							}

							.marquee {
								p {
									span {
										padding-left: 100%;
										display: inline-block;
										animation: marquee 10s linear infinite;
									}
								}
							}
						}
					}

					a:before {
						content: "READ MORE";
						font-size: min(1vw, 16px);
						font-weight: bold;
						color: #fff;
						width: min(11.25vw, 180px);
						margin: -1em auto 0;
						border: solid 1px #fff;
						text-align: center;
						line-height: 3;
						letter-spacing: 0.1em;
						display: block;
						position: absolute;
						top: 37%;
						left: 0;
						right: 0;
						z-index: 3;
						opacity: 0;
						transition: 0.5s;
					}
					
					a:hover img {
						filter: blur(5px);
					}
					
					a:hover:before {
						margin-top: -0.5em;
						opacity: 1;
					}
				}
			}
		}

		.btn a {
			font-size: min(1.25vw, 20px);
			width: 25vw;
			max-width: 400px;
			margin: min(1.25vw, 20px) auto 0;
			border: #1d1d1d 1px solid;
			text-align: center;
			line-height: 2.1;
			display: block;
			transition: .5s;
		}

		.btn a:hover {
			color: #fff;
			background: #1d1d1d;
		}

		.qa_box {
			margin-top: min(2.5vw, 40px);

			.box {
				margin: min(1.25vw, 20px) auto 0;

				.one_box {
					display: flex;
					margin-top: min(0.625vw, 10px);

					.question {
						font-size: min(1.25vw, 20px);
						width: 50%;
						padding-right: min(0.625vw, 10px);
						border: #1d1d1d 1px solid;
						line-height: 1.8;
						display: flex;
					}

					.question::before {
						content: 'Q';
						color: #fff;
						background: #000;
						width: 2.375vw;
						max-width: 38px;
						height: 2.375vw;
						max-height: 38px;
						margin-right: min(0.625vw, 10px);
						text-align: center;
						align-content: center;
					}

					.answer {
						font-size: min(1.25vw, 20px);
						width: 50%;
						padding-right: min(0.625vw, 10px);
						border: #ec6d8f 1px solid;
						line-height: 1.8;
						display: flex;

						span {
							width: calc(100% - min(2.375vw, 38px) - min(0.625vw, 10px));
						}
					}

					.answer::before {
						content: 'A';
						color: #fff;
						background: #ec6d8f;
						width: 2.375vw;
						max-width: 38px;
						height: 2.375vw;
						max-height: 38px;
						margin-right: min(0.625vw, 10px);
						text-align: center;
						align-content: center;
					}
				}
			}
		}
		
		.review_box {
			margin-top: min(2.5vw, 40px);

			.box {
				height: 18.75vw;
				margin: min(1.25vw, 20px) auto 0;
				padding: min(1.25vw, 20px) min(1.875vw, 30px);
				border: #e8e7e4 0.5vw solid;
				overflow: auto;

				.date {
					font-size: min(1.125vw, 18px);
					width: 42.5vw;
					max-width: 680px;
					border-bottom: #bdb9b9 1px solid;

					span {
						color: #ec6d8f;
						margin-left: min(0.313vw, 5px);
						vertical-align: top;

						img {
							width: 1.125vw;
							max-width: 18px;
							margin-right: max(-0.188vw, -3px);
							vertical-align: top;
						}
					}
				}

				.text {
					font-size: min(1.125vw, 18px);
					margin-top: min(0.625vw, 10px);
					line-height: 1.6;
				}
			}
		}

		.schedule_box {
			background: url(../images/bg_profile_schedule.jpg) no-repeat center top / 100%;
			width: 125vw;
			max-width: 2000px;
			height: 31vw;
			margin: min(2.5vw, 40px) 0 0 max(-62.5vw, -1000px);
			position: relative;
			left: 50%;

			dl {
				width: 36.75vw;
				max-width: 588px;
				margin: min(1.25vw, 20px) auto 0;
				display: flex;
				flex-wrap: wrap;
				gap: min(0.313vw, 5px) 0;

				dt {
					font-size: min(1.25vw, 20px);
					color: #fff;
					background: #ec6d8f;
					width: 14.875vw;
					max-width: 238px;
					text-align: center;
					line-height: 1.9;
				}

				.active {
					background: #000;
				}

				dd {
					font-size: min(1.25vw, 20px);
					background: #fff;
					width: 21.875vw;
					max-width: 350px;
					text-align: center;
					line-height: 1.9;
				}
			}
		}

		.availability_box {
			margin-top: min(2.5vw, 40px);

			.box {
				.one_box {
					margin-top: min(1.25vw, 20px);

					.situation {
						font-size: min(1.25vw, 20px);

						span {
							font-size: min(1.5vw, 24px);
							margin-left: min(0.313vw, 5px);
						}
					}

					.schedule_graph {
						width: 100%;
						margin-top: min(0.313vw, 5px);
						border: #1d1d1d 1px solid;
						border-collapse: collapse;

						.hours {
							th {
								font-size: min(1vw, 16px);
								background: #d5d5d5;
								height: min(1.875vw, 30px);
								border: #1d1d1d 1px solid;
								align-content: center;
							}

							th:first-child {
								font-size: min(1.25vw, 20px);
								background: #fff;
								width: 2.75vw;
								max-width: 44px;
								height: 10.375vw;
								max-height: 166px;
							}
						}

						.graph {
							td {
								font-size: 0;
								background: #fff;
								height: 8.438vw;
								max-height: 135px;
								align-content: center;

								span {
									font-size: min(1.25vw, 20px);
									color: #fff;
									background: #ec6d8f;
									height: 6.5vw;
									max-height: 104px;
									text-align: center;
									align-content: center;
									display: inline-block;
									vertical-align: middle;

									a {
										color: #fff;
										background-color: transparent;
										border: none;
										display: block;
										width: 100%;
										height: 100%;
										align-content: center;
										transition: opacity .5s;
									}

									a:hover {
										opacity: .7;
									}
								}

								.possible {
									background: #fff;

									a {
										background: #53c8b5;

										strong {
											font-weight: normal;
										}
									}

									.marquee {
										white-space: nowrap;
										overflow: hidden;

										strong {
											padding-left: 100%;
											display: inline-block;
											animation: marquee 10s linear infinite;
										}
									}
								}

								.vacant {
									background: none;
								}
							}
						}
					}
				}
			}
		}

		.play_box {
			margin-top: min(2.5vw, 40px);

			ul {
				margin: min(1.25vw, 20px) auto 0;
				width: 48.125vw;
				max-width: 770px;
				display: flex;
				gap: min(0.313vw, 5px);
				flex-wrap: wrap;

				li {
					font-size: min(1.25vw, 20px);
					color: #fff;
					background: #ec6d8f;
					width: calc(20% - min(0.5vw, 8px));
					border-radius: min(1.25vw, 20px);
					text-align: center;
					line-height: 2;
					letter-spacing: -0.075em;
					white-space: nowrap;
				}
			}
		}

		.system_box {
			margin-top: min(2.5vw, 40px);

			.head {
				margin-top: min(1.25vw, 20px);
				display: flex;
				justify-content: center;

				li {
					font-family: LINESeedJP_OTF_Rg;
					font-size: min(1.25vw, 20px);
					color: #fff;
					width: 28.125vw;
					max-width: 450px;
					text-align: center;
					line-height: 1.9;
				}

				li:first-child {
					background: #1d1d1d;
				}

				li:last-child {
					background: #ec6d8f;
				}
			}

			.box {
				width: 56.25vw;
				max-width: 900px;
				margin: 0 auto;
				padding: min(1.25vw, 20px) 0;
				border-left: #1d1d1d 1px solid;
				border-right: #1d1d1d 1px solid;
				border-bottom: #1d1d1d 1px solid;

				.one_box {
					display: flex;
					align-items: center;
					justify-content: center;
					gap: 0 min(19.25vw, 308px);

					p {
						font-family: LINESeedJP_OTF_Rg;
						font-size: min(2.25vw, 36px);
						font-weight: bold;
						text-align: right;
						position: relative;

						span {
							font-family: yu-gothic-pr6n, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;;
							font-size: min(1.875vw, 30px);
						}
					}

					p:first-child {
						width: 12.2vw;
						max-width: 200px;
						text-align: right;
					}

					p:first-child::after {
						content: '';
						background: #1d1d1d;
						width: 17.5vw;
						max-width: 280px;
						height: 1px;
						position: absolute;
						left: min(14.375vw, 230px);
						top: 50%;
					}

					p:last-child {
						width: 13.125vw;
						max-width: 210px;
					}
				}

				.one_box:nth-child(n+2) {
					margin-top: min(0.625vw, 10px);
				}
			}

			.available {
				justify-content: center;

				li {
					width: 16.375vw;
				}
			}
		}

		#fixed_reserve {
			background: rgba(255, 255, 255, .7);
			width: 100%;
			padding: min(0.625vw, 10px) 0;
			border-top: #ec6d8f min(0.438vw, 7px) solid;
			border-bottom: #ec6d8f min(0.438vw, 7px) solid;
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 0 min(3.125vw, 50px);
			position: fixed;
			left: 0;
			bottom: 0;
			z-index: 3;

			p {
				font-family: LINESeedJP_OTF_Th;
				font-size: min(3vw, 48px);
				font-weight: 100;
				color: #ec6d8f;
				display: block;
			}

			.box {
				display: flex;
				gap: 0 min(1.25vw, 20px);

				a img {
					width: 7.813vw;
					transition: transform .5s;
				}

				a:hover img {
					transform: scale(1.15);
				}
			}
		}
	}

	footer {
		padding-bottom: min(13.125vw, 210px);
	}
}

@media (width <= 1000px) {
	#profile {
		h1 {
			background: url(../images/bg_profile_title_sp.jpg) no-repeat center top / 100%;
		}
	
		#wrapper {
			width: 100%;
			overflow: hidden;
	
			.prof_box {
				margin-top: 1vw;
				gap: 4vw 0;
				flex-wrap: wrap;
	
				.left {
					width: 95vw;
	
					.image_slider {
						height: 127vw;
					}
	
					.thumbnail_slider {
						height: 25.5vw;
						margin-top: 2vw;

						.slick-prev,
						.slick-next {
							width: 6vw !important;
							height: 6vw !important;
						}

						.slick-prev {
							left: -3vw !important;
						}

						.slick-next {
							right: -3vw !important;
						}

						.slick-arrow::before{
							width: 6vw !important;
							height: 6vw !important;
						}
					}
				}
	
				.right {
					width: 95vw;
	
					.name {
						font-size: 8vw;
						text-align: center;
	
						span {
							font-size: 3.6vw;
						}
					}

					.height_weight {
						font-size: 3.6vw;
						margin-bottom: 1vw;
						padding-bottom: 4vw;
						border-bottom: #ec6d8f 0.2vw solid;
						text-align: center;
					}
	
					.tel_sns {
						gap: 4vw 0;
						flex-wrap: wrap;
	
						.tel {
							width: 100%;
							margin-top: 4vw;
							text-align: center;

							img {
								width: 5.7vw;
								margin-right: 2vw;
							}
	
							a {
								font-size: 6vw;
								pointer-events: auto;
							}
						}
	
						.sns {
							width: 100%;
							gap: 0 3vw;
							justify-content: center;

							div a img {
								width: 13.4vw;
							}
						}
					}
	
					.type {
						margin-top: 4vw;
						display: flex;
						gap: 1vw;
	
						li {
							font-size: 4vw;
							width: calc(50% - 0.5vw);
							line-height: 1.875;
						}
					}
	
					h2 {
						font-size: 3.5vw;
						margin-top: 5vw;
	
						span {
							font-size: 4vw;
							margin-right: 3vw;
						}
					}
	
					.text {
						font-size: 3.5vw;
						height: 43vw;
						margin-top: 1vw;
						padding: 3vw 2vw;
					}
				}
			}
	
			.available {
				margin-top: 4vw;
				gap: 0 1vw;
	
				li {
					width: calc(50% - 0.5vw);
	
					img {
						width: 100%;
					}
				}
			}
	
			h2.sub_title {
				font-size: 7vw;
	
				span {
					font-size: 4vw;
				}
			}
	
			h2.sub_title::before,
			h2.sub_title::after {
				width: 19vw;
			}
	
			h2.sub_title::before {
				left: -20vw;
			}
	
			h2.sub_title::after {
				right: -20vw;
			}
	
			.photodiary_box {
				margin-top: 8vw;
	
				ul {
					background: url(../images/bg_profile_diary_sp.jpg) no-repeat center top / 100%;
					height: 58.1vw;
					max-height: 581px;
					margin: 4vw auto 0;
					padding: 0;
	
					li {
						width: 35.7vw !important;

						a {
							height: 47.6vw;
							max-height: 476px;
							border: #646464 0.3vw solid;

							.data_box {
								.date {
									font-size: 3vw;
									padding-left: 1vw;
								}
	
								h3 {
									font-size: 4vw;
									padding: 0 1vw;
									line-height: 1.95;
								}
							}
						}

						a:before {
							font-size: 3vw;
							width: 25vw;
						}
					}

					.slick-prev,
					.slick-next {
						width: 7vw !important;
						height: 7vw !important;
						top: calc(50% - 3.5vw);
						z-index: 2;
					}

					.slick-prev {
						left: 0 !important;
					}

					.slick-next {
						right: 0 !important;
					}

					.slick-arrow::before{
						content: "" !important;
						width: 7vw !important;
						height: 7vw !important;
						position: absolute;
						top: 0;
						left: 0;
					}
					
					.slick-next::before{
						background: url(../images/arrow_right.png) !important;
						background-size: contain !important;
					}
					
					.slick-prev::before{
						background: url(../images/arrow_left.png) !important;
						background-size: contain !important;
					}
				}
			}
	
			.btn a {
				font-size: 4vw;
				width: 72.5vw;
				max-width: 725px;
				margin: 4vw auto 0;
				line-height: 2.25;
			}
	
			.qa_box {
				width: 95vw;
				margin: 8vw auto 0;
	
				.box {
					margin: 4vw auto 0;
	
					.one_box {
						margin-top: 2vw;
						flex-wrap: wrap;
	
						.question {
							font-size: 3.6vw;
							width: 100%;
							padding-right: 1vw;
						}
	
						.question::before {
							width: 6vw;
							max-width: 60px;
							height: auto;
							max-height: 100%;
							margin-right: 2vw;
						}
	
						.answer {
							font-size: 3.6vw;
							width: 100%;
							padding-right: 1vw;
	
							span {
								width: calc(100% - 6vw);
							}
						}
	
						.answer::before {
							width: 6vw;
							max-width: 60px;
							height: auto;
							max-height: 100%;
							margin-right: 2vw;
						}
					}
				}
			}
			
			.review_box {
				width: 95vw;
				margin: 8vw auto 0;
	
				.box {
					height: 30vw;
					margin: 4vw auto 0;
					padding: 3vw 2vw;
					border: #e8e7e4 0.8vw solid;
	
					.date {
						font-size: 3vw;
						width: 68vw;

						span {
							margin-left: 1vw;
	
							img {
								width: 3vw;
								max-width: 30px;
								margin-right: -0.5vw;
							}
						}
					}
	
					.text {
						font-size: 3vw;
						margin-top: 1vw;
					}
				}
			}
	
			.schedule_box {
				background: url(../images/bg_profile_schedule_sp.jpg) no-repeat center top / 100%;
				width: 100%;
				height: 170vw;
				margin: 8vw 0 0;
				padding-top: 4vw;
				left: 0;
	
				dl {
					width: 75vw;
					max-width: 750px;
					margin: 6vw auto 0;
					gap: 0;
	
					dt {
						font-size: 3.5vw;
						width: 100%;
						max-width: 750px;
						line-height: 1.857;
					}
	
					dd {
						font-size: 4vw;
						width: 100%;
						max-width: 750px;
						line-height: 1.875;
					}
				}
			}
	
			.availability_box {
				width: 95vw;
				margin: 0 auto;
	
				.box {
					.one_box {
						width: 100%;
						margin-top: 3vw;
						overflow: auto;
	
						.situation {
							font-size: 3vw;
	
							span {
								font-size: 3.6vw;
								margin-left: 0.5vw;
							}
						}
	
						.schedule_graph {
							width: 200%;
							margin-top: 0.5vw;
	
							.hours {
								th {
									font-size: 2.4vw;
									height: 4vw;
								}
	
								th:first-child {
									font-size: 3vw;
									width: 5.6vw;
									max-width: 56px;
									height: 34.5vw;
									max-height: 345px;
								}
							}
	
							.graph {
								td {
									height: 31vw;
									max-height: 310px;
	
									span {
										font-size: 3vw;
										height: 23vw;
										max-height: 230px;
									}
								}
							}
						}
					}
				}
			}
	
			.play_box {
				width: 95vw;
				margin: 8vw auto 0;
	
				ul {
					margin: 2vw auto 0;
					width: 100%;
					max-width: 950px;
					gap: 2vw 1vw;
	
					li {
						font-size: 4vw;
						width: calc(100% / 3 - 2vw / 3);
						border-radius: 4.25vw;
						line-height: 2.125;
					}
				}
			}
	
			.system_box {
				width: 95vw;
				margin: 8vw auto 0;
	
				.head {
					margin-top: 4vw;
	
					li {
						font-size: 3vw;
						width: 50%;
						max-width: 475px;
						line-height: 1.667;
					}
				}
	
				.box {
					width: 100%;
					max-width: 950px;
					padding: 3vw 0;
	
					.one_box {
						gap: 0 30.8vw;
	
						p {
							font-size: 4.5vw;
	
							span {
								font-size: 3.7vw;
							}
						}
	
						p:first-child {
							width: 14vw;
						}
	
						p:first-child::after {
							width: 29vw;
							left: 15.5vw;
						}
	
						p:last-child {
							width: 24vw;
							max-width: 240px;
						}
					}
	
					.one_box:nth-child(n+2) {
						margin-top: 1vw;
					}
				}
	
				.available {	
					li {
						width: calc(50% - 0.5vw);
					}
				}
			}
	
			#fixed_reserve {
				padding: 2vw 0 6vw;
				border-top: #ec6d8f 0.7vw solid;
				border-bottom: #ec6d8f 0.7vw solid;
				gap: 0;
				bottom: 18vw;
	
				p {
					display: none;
				}
	
				.box {
					display: flex;
					gap: 0 2vw;
	
					a img {
						width: 13.4vw;
					}
				}
			}
		}
	
		footer {
			padding-bottom: 46vw;
		}
	}
}
/************ profile ************/

/************ q&a ************/
#qa {
	h1 {
		background: url(../images/bg_q&a_title.jpg) no-repeat center top / 100%;

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_q&a_title.jpg) no-repeat center top / 2000px 500px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_q&a_title.jpg) no-repeat center top / 125vw 31.25vw;
		}
	}

	.box {
		width: 75vw;
		max-width: 1200px;
		margin: min(5vw, 80px) auto 0;

		.one_box {
			margin-top: min(1.25vw, 20px);
			padding-bottom: min(1.25vw, 20px);
			border-bottom: #1d1d1d 1px solid;

			.question {
				font-size: min(1.5vw, 24px);
				padding: min(0.625vw, 10px) min(0.625vw, 10px) 0 min(4vw, 64px);
				line-height: 1.4;
				position: relative;
			}

			.question::before {
				content: 'Q';
				font-size: min(1.5vw, 24px);
				color: #fff;
				background: #ec6d8f;
				width: 3.375vw;
				max-width: 54px;
				line-height: 2.25;
				display: flex;
				align-items: center;
				justify-content: center;
				position: absolute;
				left: 0;
				top: 0;
			}

			.answer {
				font-size: min(1.5vw, 24px);
				margin-top: min(0.625vw, 10px);
				padding: min(0.625vw, 10px) min(0.625vw, 10px) 0 min(4vw, 64px);
				line-height: 1.4;
				position: relative;
			}

			.answer::before {
				content: 'A';
				font-size: min(1.5vw, 24px);
				color: #fff;
				background: #000;
				width: 3.375vw;
				max-width: 54px;
				line-height: 2.25;
				display: flex;
				align-items: center;
				justify-content: center;
				position: absolute;
				left: 0;
				top: 0;
			}
		}
	}
}

@media (width <= 1000px) {
	#qa {
		h1 {
			background: url(../images/bg_q&a_title_sp.jpg) no-repeat center top / 100%;
		}
	
		.box {
			width: 95vw;
			margin: 0 auto;
	
			.one_box {
				margin-top: 4vw;
				padding-bottom: 3vw;
	
				.question {
					font-size: 4vw;
					padding: 0.5vw 1vw 0 7vw;
				}
	
				.question::before {
					font-size: 4vw;
					width: 6vw;
					max-width: 60px;
					line-height: 1.5;
				}
	
				.answer {
					font-size: 4vw;
					margin-top: 3vw;
					padding: 0.5vw 1vw 0 7vw;
				}
	
				.answer::before {
					font-size: 4vw;
					width: 6vw;
					max-width: 60px;
					line-height: 1.5;
				}
			}
		}
	}
}
/************ q&a ************/

/************ ranking ************/
#ranking {
	h1 {
		background: url(../images/bg_ranking_title.jpg) no-repeat center top / 100%;

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_ranking_title.jpg) no-repeat center top / 2000px 500px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_ranking_title.jpg) no-repeat center top / 125vw 31.25vw;
		}
	}

	#select {
		margin-top: min(2.5vw, 40px);
		display: flex;
		justify-content: center;
		gap: 0 min(1.25vw, 20px);

		li {
			font-size: min(1.25vw, 20px);
			width: 21.875vw;
			line-height: 2.75;
			text-align: center;
		}

		li:not(.active) a {
			color: #1d1d1d;
			background: transparent;
			border: #1d1d1d 1px solid;
			display: block;
			transition: .5s;
		}

		li:not(.active) a:hover {
			color: #fff;
			background: #ec6d8f;
			border: #ec6d8f 1px solid;
		}

		li.active {
			color: #fff;
			background: #ec6d8f;
		}
	}

	.box {
		width: 100%;
		max-width: 2000px;
		margin: min(2.5vw, 40px) auto 0;

		.no1-3 {
			width: 94vw;
			max-width: 1880px;
			margin-left: auto;
			display: flex;

			.thumbnail {
				width: 27vw;
				max-width: 540px;
				height: 36vw;
				max-height: 720px;
				overflow: hidden;

				img {
					width: 100%;
				}
			}

			.right {
				background: url(../images/bg_ranking_1_3.png) no-repeat center top / 100%;
				width: 70vw;
				max-width: 1400px;
				margin: min(7vw, 140px) 0 0 max(-4vw, -80px);
				display: flex;
				align-items: center;
				gap: 0 min(1vw, 20px);

				.rank {
					width: 28.9vw;
					max-width: 578px;
					margin-top: min(2vw, 40px);

					img {
						width: 100%;
					}
				}

				.data_box {
					background: rgba(255, 255, 255, .8);
					width: 33.8vw;
					max-width: 676px;
					padding: min(1vw, 20px) min(1vw, 20px) min(1vw, 20px) min(2vw, 40px);
					border-radius: 0.5vw;
					box-shadow: min(0.15vw, 3px) min(0.15vw, 3px) min(0.15vw, 3px) 0 rgba(255, 255, 255, .8);

					.name {
						font-size: min(1.8vw, 36px);

						span {
							font-size: min(1.2vw, 24px);
						}
					}

					.size {
						font-size: min(0.9vw, 18px);
					}

					.recommend {
						font-family: LINESeedJP_OTF_Bd;
						font-size: min(0.9vw, 18px);
						font-weight: bold;
						color: #ec6d8f;
						width: 11.9vw;
						max-width: 238px;
						margin-top: min(1.25vw, 25px);
						border-bottom: #ec6d8f 1px solid;
					}

					.text {
						font-size: min(0.9vw, 18px);
						height: min(6.5vw, 130px);
						margin-top: min(0.5vw, 10px);
						letter-spacing: -0.1em;
						overflow: auto;
					}

					.btn_view_profile a {
						font-family: LINESeedJP_OTF_Bd;
						font-size: min(0.9vw, 18px);
						font-weight: bold;
						color: #1d1d1d;
						background: transparent;
						width: 11vw;
						max-width: 220px;
						margin-top: min(0.25vw, 5px);
						border: #1d1d1d 1px solid;
						text-align: center;
						line-height: 2.444;
						letter-spacing: 0.1em;
						display: block;
						transition: .5s;
					}

					.btn_view_profile a:hover {
						color: #fff;
						background: #1d1d1d;
					}
				}
			}
		}

		.no1-3:nth-child(n+2) {
			margin-top: min(3vw, 60px);
		}

		.no4-5 {
			width: 96.5vw;
			max-width: 1930px;
			margin: min(3vw, 60px) 0 0 auto;
			display: flex;

			.one_box {
				background: url(../images/bg_ranking_4_5.png) no-repeat left bottom / contain;
				padding: 0 0 min(1.5vw, 30px) min(2.5vw, 50px);
				display: flex;

				.thumbnail {
					width: 20.3vw;
					max-width: 406px;
					height: 27vw;
					max-height: 540px;
					overflow: hidden;

					img {
						width: 100%;
					}
				}

				.right {
					margin-left: max(-1vw, -20px);

					.rank {
						width: 22vw;
						max-width: 440px;

						img {
							width: 100%;
						}
					}

					.data_box {
						background: rgba(255, 255, 255, .8);
						width: 23.65vw;
						max-width: 473px;
						padding: min(1vw, 20px) min(1vw, 20px) min(1vw, 20px) min(2vw, 40px);
						border-radius: min(0.5vw, 10px);
						box-shadow: min(0.15vw, 3px) min(0.15vw, 3px) min(0.15vw, 3px) 0 rgba(255, 255, 255, .8);

						.name {
							font-size: min(1.8vw, 36px);
	
							span {
								font-size: min(1.2vw, 24px);
							}
						}
	
						.size {
							font-size: min(0.9vw, 18px);
						}
	
						.recommend {
							font-family: LINESeedJP_OTF_Bd;
							font-size: min(0.9vw, 18px);
							font-weight: bold;
							color: #ec6d8f;
							width: 11.9vw;
							max-width: 238px;
							margin-top: min(1.25vw, 25px);
							border-bottom: #ec6d8f 1px solid;
						}
	
						.text {
							font-size: min(0.9vw, 18px);
							height: min(6.5vw, 130px);
							margin-top: min(0.5vw, 10px);
							letter-spacing: -0.1em;
							overflow: auto;
						}

						.btn_view_profile a {
							font-family: LINESeedJP_OTF_Bd;
							font-size: min(0.9vw, 18px);
							font-weight: bold;
							color: #1d1d1d;
							background: transparent;
							width: 11vw;
							max-width: 220px;
							margin-top: min(0.25vw, 5px);
							border: #1d1d1d 1px solid;
							text-align: center;
							line-height: 2.444;
							letter-spacing: 0.1em;
							display: block;
							transition: .5s;
						}
	
						.btn_view_profile a:hover {
							color: #fff;
							background: #1d1d1d;
						}
					}
				}
			}
		}

		.sp {
			display: none;
		}

		.no6-10 {
			width: 89vw;
			max-width: 1780px;
			margin: min(5vw, 100px) auto 0;
			display: flex;
			gap: 0 min(0.15vw, 3px);

			.one_box {
				width: calc(20% - min(0.6vw, 12px) / 5);
				box-shadow: min(0.15vw, 3px) min(0.15vw, 3px) min(0.5vw, 10px) rgba(0, 0, 0, .35);

				a {
					display: block;
					position: relative;

					.thumbnail {
						width: 100%;
						height: 23.55vw;
						max-height: 471px;

						img {
							width: 100%;
						}
					}

					.rank {
						width: 16vw;
						max-width: 320px;
						margin: auto;
						position: absolute;
						left: 0;
						right: 0;
						bottom: min(4.75vw, 95px);

						img {
							width: 100%;
						}
					}

					.data_box {
						background: #fff;
						padding: min(2.5vw, 50px) min(0.5vw, 10px) min(1.5vw, 30px);
						text-align: center;

						.name {
							font-size: min(1.5vw, 30px);
	
							span {
								font-size: min(1.2vw, 24px);
							}
						}

						.size {
							font-size: min(0.9vw, 18px);
						}
					}
				}
			}

			.one_box:last-child {
				a {
					.rank {
						width: 20vw;
						max-width: 400px;
					}
				}
			}
		}
	}
}

@media (width <= 1000px) {
	#ranking {
		h1 {
			background: url(../images/bg_ranking_title_sp.jpg) no-repeat center top / 100%;
		}
	
		#select {
			margin-top: 2vw;
			gap: 0 2vw;
	
			li {
				font-size: 3vw;
				width: 45.8vw;
				line-height: 2.4;
			}
		}
	
		.box {
			margin: 4vw auto 0;
	
			.no1-3 {
				width: 100%;
				padding-bottom: 4vw;
				flex-wrap: wrap;

				.thumbnail {
					width: 95vw;
					max-width: 950px;
					height: 126.7vw;
					max-height: 1267px;
					margin: 0 auto;
				}
	
				.right {
					background: url(../images/bg_ranking_1_3_sp.png) no-repeat center top / 100%;
					width: 100%;
					margin: 0;
					display: flex;
					align-items: center;
					gap: 0;
					flex-wrap: wrap;
	
					.rank {
						width: 100%;
						max-width: 950px;
						margin: -32vw auto 0;
						text-align: right;
	
						img {
							width: 75vw;
						}
					}
	
					.data_box {
						width: 95vw;
						max-width: 950px;
						margin: 0 auto;
						padding: 2vw 4vw 4vw;
						border-radius: 1vw;
						box-shadow: none;
	
						.name {
							font-size: 8vw;
							text-align: center;
	
							span {
								font-size: 3.6vw;
							}
						}
	
						.size {
							font-size: 3.6vw;
							text-align: center;
						}
	
						.recommend {
							font-size: 3vw;
							width: 23.7vw;
							max-width: 237px;
							margin-top: 2vw;
						}
	
						.text {
							font-size: 3.5vw;
							height: 30.5vw;
							margin-top: 2vw;
						}
	
						.btn_view_profile a {
							font-size: 4vw;
							width: 53.4vw;
							max-width: 534px;
							margin: 4vw auto 0;
							line-height: 2.375;
						}
					}
				}
			}
	
			.no1-3:nth-child(n+2) {
				margin-top: 0;
			}
	
			.no4-5 {
				width: 100%;
				padding-bottom: 4vw;
				flex-wrap: wrap;

				.one_box {
					background: none;
					padding: 0 0 4vw 0;
					flex-wrap: wrap;

					.thumbnail {
						width: 95vw;
						max-width: 950px;
						height: 126.7vw;
						max-height: 1267px;
						margin: 0 auto;
					}
		
					.right {
						background: url(../images/bg_ranking_1_3_sp.png) no-repeat center top / 100%;
						width: 100%;
						margin: 0;
						display: flex;
						align-items: center;
						gap: 0;
						flex-wrap: wrap;
		
						.rank {
							width: 100%;
							max-width: 950px;
							margin: -32vw auto 0;
							text-align: right;
		
							img {
								width: 75vw;
							}
						}
		
						.data_box {
							width: 95vw;
							max-width: 950px;
							margin: 0 auto;
							padding: 2vw 4vw 4vw;
							border-radius: 1vw;
							box-shadow: none;
		
							.name {
								font-size: 8vw;
								text-align: center;
		
								span {
									font-size: 3.6vw;
								}
							}
		
							.size {
								font-size: 3.6vw;
								text-align: center;
							}
		
							.recommend {
								font-size: 3vw;
								width: 23.7vw;
								max-width: 237px;
								margin-top: 2vw;
							}
		
							.text {
								font-size: 3.5vw;
								height: 30.5vw;
								margin-top: 2vw;
							}
		
							.btn_view_profile a {
								font-size: 4vw;
								width: 53.4vw;
								max-width: 534px;
								margin: 4vw auto 0;
								line-height: 2.375;
							}
						}
					}
				}
			}

			.sp {
				font-family: LINESeedJP_OTF_Bd;
				font-size: 4vw;
				font-weight: bold;
				width: fit-content;
				margin: 0 2.5vw 0 auto;
				border-bottom: #1d1d1d 1px solid;
				text-align: right;
				letter-spacing: 0.1em;
				display: block;
			}
	
			.no6-10 {
				width: 100%;
				margin: 1vw auto 0;
				gap: 0;
				overflow-x: hidden;
	
				.one_box {
					width: 48.4vw;
					box-shadow: 3vw 3vw 0 7vw rgba(0, 0, 0, .35);
	
					a {
						.thumbnail {
							height: 64.4vw;
							max-height: 644px;
						}
	
						.rank {
							width: 43.6vw !important;
							max-width: 436px !important;
							bottom: 14vw !important;
						}
	
						.data_box {
							padding: 7vw 2vw 4vw;
	
							.name {
								font-size: 4vw;
		
								span {
									font-size: 3.6vw;
								}
							}
	
							.size {
								font-size: 3vw;
							}
						}
					}
				}
	
				.one_box.ten {
					a {
						.rank {
							width: 54.8vw !important;
							max-width: 548px !important;
							margin-left: -27.8vw;
							left: 50%;
							z-index: 2;
						}
					}
				}
			}
		}
	}
}
/************ ranking ************/

/************ recruit ************/
#recruit {
	h1 {
		background: url(../images/bg_recruit_title.jpg) no-repeat center top / 100%;

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_recruit_title.jpg) no-repeat center top / 2000px 500px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_recruit_title.jpg) no-repeat center top / 125vw 31.25vw;
		}

		strong {
			font-size: min(3.5vw, 70px);
		}

		span {
			font-size: min(8vw, 160px);
		}
	}

	.box {
		background: #000;

		.image_01,
		.image_02,
		.image_03,
		.image_05,
		.image_07,
		.image_08,
		.image_09 {
			width: 100%;
			max-width: 2000px;
			margin: 0 auto;

			img {
				width: 100%;
			}
		}

		.image_01 {
			padding: min(1vw, 20px) min(1vw, 20px) min(2.5vw, 50px);

			img {
				width: 97.5vw;
				max-width: 1950px;
			}
		}

		.image_04 {
			margin-top: min(1vw, 20px);
			display: flex;
			justify-content: center;
			gap: 0 min(1.5vw, 30px);

			div:last-child {
				margin-top: min(12vw, 240px);
			}

			div img {
				width: 41.2vw;
				max-width: 824px;
			}
		}

		.image_05 {
			margin: min(3.5vw, 70px) 0 min(2.5vw, 50px);
		}

		.image_06 {
			width: 60vw;
			max-width: 1200px;
			margin: 0 auto;

			img {
				width: 100%;
			}
		}

		.image_07 {
			margin-top: min(2vw, 40px);
		}

		.image_08 {
			margin-top: min(5vw, 100px);
		}

		.image_09 {
			margin-top: min(1vw, 20px);
		}

		.image_10 {
			background: url(../images/recruit_10.png) no-repeat center top / cover;
			width: 100%;
			height: 56.75vw;
			max-height: 1135px;
			margin-top: min(5vw, 100px);
			padding-top: min(16.5vw, 330px);
			text-align: center;

			p {
				font-size: min(6.5vw, 130px);
				font-weight: bold;
				color: #fff;
				animation: blink .6s ease-in-out infinite alternate;
			}
		}

		.text_01 {
			font-size: min(3vw, 60px);
			font-weight: bold;
			color: #fff;
			padding: min(2.5vw, 50px) 0;
			text-align: center;
			letter-spacing: 0.1em;

			span {
				text-decoration: underline;
				text-underline-offset: -3px;
				text-decoration-thickness: 1px;
			}

			.sp {
				display: none;
			}
		}

		.text_02 {
			font-size: min(1.8vw, 36px);
			font-weight: bold;
			color: #fff;
			padding: min(2.5vw, 50px) 0;
			text-align: center;
			line-height: 1.6;
			letter-spacing: 0.1em;

			.sp {
				display: none;
			}
		}

		.btn {
			padding: min(3vw, 60px) 0;
		}

		.btn a {
			width: 48vw;
			max-width: 960px;
			margin: 0 auto;
			display: block;
			transition: opacity .5s;

			img {
				width: 100%;
			}
		}

		.btn a:hover {
			opacity: .5;
		}
	}

	#btn_open div {
		img {
			filter: brightness(0) invert(1);
		}

		p {
			color: #fff;
		}
	}

	#breadcrumb {
		background: #000;

		ul li,
		ul li a {
			color: #fff;
		}
	}

	footer {
		margin-top: 0;
	}
}

@keyframes blink {
	0% {
		opacity:0;
	}
	100% {
		opacity:1;
	}
}

@media (width <= 1000px) {
	#recruit {
		h1 {
			background: url(../images/bg_recruit_title_sp.jpg) no-repeat center top / 100%;

			strong {
				font-size: 6vw;
			}
	
			span {
				font-size: 13vw;
			}
		}
	
		.box {
			.image_01 {
				padding: 1vw 0 4vw;

				img {
					width: 100%;
				}
			}
	
			.image_04 {
				margin-top: 4vw;
				gap: 0;
				flex-wrap: wrap;
	
				div:last-child {
					margin-top: 3vw;
				}
	
				div img {
					width: 82.3vw;
				}
			}
	
			.image_05 {
				margin: 8vw 0 4vw;
			}
	
			.image_06 {
				width: 95vw;
			}
	
			.image_07 {
				margin-top: 8vw;
			}
	
			.image_08 {
				margin-top: 8vw;
			}
	
			.image_09 {
				margin-top: 8vw;
			}
	
			.image_10 {
				background: url(../images/recruit_10_sp.png) no-repeat center top / cover;
				height: 137.5vw;
				max-height: 1375px;
				margin-top: 8vw;
				padding-top: 40vw;
	
				p {
					font-size: 13vw;
				}
			}
	
			.text_01 {
				font-size: 6vw;
				padding: 5vw 0;
				letter-spacing: -0.05em;

				.sp {
					display: inline-block;
				}

				span {
					text-underline-offset: 5px;
				}
			}

			.text_02 {
				font-size: 5.5vw;
				padding: 5vw 0;
				letter-spacing: 0;

				.sp {
					display: inline-block;
				}
			}
	
			.btn {
				padding: 8vw 0;
			}
	
			.btn a {
				width: 90vw;
			}
		}
	}
}
/************ recruit ************/

/************ recruit_instructor ************/
#recruit_instructor {
	h1 {
		background: url(../images/bg_recruit_instructor_title.jpg) no-repeat center top / 100%;

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_recruit_instructor_title.jpg) no-repeat center top / 2000px 500px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_recruit_instructor_title.jpg) no-repeat center top / 125vw 31.25vw;
		}

		span {
			font-size: min(7.5vw, 160px);
		}
	}

	.box {
		overflow: hidden;

		#main_image {
			width: 100%;
			max-width: 2000px;
			margin: 0 auto;

			img {
				width: 100%;
			}
		}

		.recruit {
			width: 82.7vw;
			max-width: 1654px;
			margin: min(8vw, 160px) auto 0;
			padding-bottom: min(8vw, 160px);
			border-bottom: #1c1c1c 0.1vw solid;

			h2 {
				text-align: center;

				img {
					width: min(14.9vw, 298px);
				}
			}

			p {
				font-size: min(3vw, 60px);
				font-weight: bold;
				margin-top: min(1vw, 20px);
				text-align: center;
				line-height: 1.6;

				span {
					color: #fff;
					background: #ffa3a3;
					padding: 0 min(2vw, 40px);
				}

				.sp {
					display: none;
				}
			}
		}

		.information {
			width: 85vw;
			max-width: 1700px;
			margin: min(8vw, 160px) auto 0;
			padding-bottom: min(8vw, 160px);

			h2 {
				text-align: center;

				img {
					width: min(21.2vw, 424px);
				}
			}

			h3 {
				font-size: min(3vw, 60px);
				font-weight: bold;
				margin-top: min(1vw, 20px);
				text-align: center;
			}

			.one_box {
				margin-top: min(2vw, 40px);

				h4 {
					font-size: min(2.5vw, 50px);
					font-weight: bold;
					color: #fff;
					background: #000;
					width: 45.75vw;
					max-width: 915px;
					margin: 0 auto;
					text-align: center;
					line-height: 1.3;
				}

				.text_01 {
					font-size: min(2.5vw, 50px);
					font-weight: bold;
					width: 45.75vw;
					max-width: 915px;
					margin: min(1vw, 20px) auto 0;
					padding: min(1vw, 20px) 0;
					border-top: #1c1c1c 0.5vw double;
					border-bottom: #1c1c1c 0.5vw double;
					text-align: center;
				}

				.text_02 {
					font-size: min(1.75vw, 35px);
					font-weight: bold;
					margin-top: min(1vw, 20px);
					text-align: center;
				}

				ul {
					margin-top: min(3vw, 60px);
					display: flex;
					justify-content: center;
					gap: 0 min(1.5vw, 30px);
					position: relative;

					li {
						width: 37.3vw;
						max-width: 746px;

						h5 {
							font-size: min(2.5vw, 50px);
							font-weight: bold;
							color: #fff;
							background: #ffa3a3;
							text-align: center;
							line-height: 1.46;
						}

						p {
							font-size: min(2.25vw, 45px);
							font-weight: bold;
							margin-top: min(1vw, 20px);
							line-height: 1.6;
							white-space: nowrap;
						}
					}
				}

				ul::before {
					content: '';
					width: 45.75vw;
					max-width: 915px;
					margin: auto;
					border-top: #1c1c1c 0.5vw double;
					position: absolute;
					left: 0;
					right: 0;
					top: max(-1.5vw, -30px);
				}

				.text_03 {
					font-size: min(2vw, 40px);
					font-weight: bold;
					width: 75vw;
					max-width: 1500px;
					margin: min(2vw, 40px) auto 0;
					padding: min(1vw, 20px) 0;
					border: #1c1c1c 0.5vw double;
					text-align: center;
					line-height: 1.4;
					position: relative;

					span {
						font-size: min(1.5vw, 30px);
					}
				}

				.text_03::after {
					content: '';
					width: 45.75vw;
					max-width: 915px;
					margin: auto;
					border-top: #1c1c1c 0.5vw double;
					position: absolute;
					left: 0;
					right: 0;
					bottom: max(-2vw, -40px);
				}
			}

			.one_box:nth-of-type(n+2) {
				margin-top: min(4vw, 80px);
			}

			.one_box:last-of-type {
				margin-top: min(6vw, 120px);
			}
		}

		.terms {
			background: #fe9e9e;
			padding: min(10vw, 200px) 0 min(8vw, 160px);
			position: relative;

			h2 {
				text-align: center;

				img {
					width: 9.2vw;
					max-width: 184px;
				}
			}

			h3 {
				font-size: min(3vw, 60px);
				font-weight: bold;
				color: #fff;
				margin-top: min(1vw, 20px);
				text-align: center;
			}

			.one_box {
				margin-top: min(4vw, 80px);

				h4 {
					font-size: min(2.5vw, 50px);
					font-weight: bold;
					color: #fff;
					text-align: center;
					display: flex;
					align-items: center;
					justify-content: center;
				}

				h4::before,
				h4::after {
					content: '';
					background: #fff;
					width: 21.5vw;
					max-width: 430px;
					height: 1px;
				}

				h4::before {
					margin-right: 1em;
				}

				h4::after {
					margin-left: 1em;
				}

				.text_01 {
					font-size: min(2.5vw, 50px);
					font-weight: bold;
					color: #fff;
					border: #fff 1px solid;
					width: 50.95vw;
					max-width: 1019px;
					margin: min(3vw, 60px) auto 0;
					text-align: center;
					line-height: 1.88;
				}

				.text_01:nth-of-type(n+2) {
					margin-top: min(1.5vw, 30px);
				}

				.text_02 {
					font-size: min(2.5vw, 50px);
					font-weight: bold;
					color: #fff;
					margin: min(3.5vw, 70px) auto 0;
					text-align: center;
				}

				ul {
					margin-top: min(2vw, 40px);
					display: flex;
					justify-content: center;
					gap: 0 min(1vw, 20px);

					li {
						font-size: min(2.5vw, 50px);
						font-weight: bold;
						color: #fff;
						width: 21.3vw;
						max-width: 426px;
						border: #fff 1px solid;
						text-align: center;
						line-height: 1.88;
					}
				}

				.text_03 {
					font-size: min(3vw, 60px);
					font-weight: bold;
					color: #fff;
					margin-top: min(2vw, 40px);
					text-align: center;

					.sp {
						display: none;
					}
				}
			}
		}

		.terms::before{
			content: "";
			background: #fff;
			width: 100%;
			height: 7.3vw;
			max-height: 146px;
			clip-path: polygon(50% 100%, 100% 0%, 0% 0%);
			position: absolute;
		　　left: 0;
			top: 0;
		}

		.job_description {
			margin-top: min(8vw, 160px);

			h2 {
				text-align: center;

				img {
					width: 30.55vw;
					max-width: 611px;
				}
			}

			h3 {
				font-size: min(3vw, 60px);
				margin-top: min(2vw, 40px);
				text-align: center;
			}

			.box {
				background: url(../images/bg_job_description.jpg) no-repeat center top / cover;
				width: 100%;
				max-width: 2000px;
				height: 25vw;
				max-height: 500px;
				margin: min(1vw, 20px) auto 0;
				padding-top: min(5vw, 100px);

				p {
					font-size: min(1.8vw, 36px);
					font-weight: bold;
					background: rgba(255, 255, 255, .95);
					width: 43vw;
					max-width: 860px;
					margin: 0 auto;
					padding-left: min(4vw, 80px);
					line-height: 1.944;
					letter-spacing: 0.15em;
				}

				p:nth-child(n+2) {
					margin-top: min(1vw, 20px);
				}
			}
		}

		.instructor_training {
			margin-top: min(8vw, 160px);

			h2 {
				text-align: center;

				img {
					width: 31.9vw;
					max-width: 638px;
				}
			}

			h3 {
				font-size: min(3vw, 60px);
				margin-top: min(2vw, 40px);
				text-align: center;
			}

			.box {
				background: url(../images/bg_instructor_training.jpg) no-repeat center top / cover;
				width: 100%;
				max-width: 2000px;
				height: 25vw;
				max-height: 500px;
				margin: min(1vw, 20px) auto 0;
				align-content: center;

				p {
					font-size: min(1.8vw, 36px);
					font-weight: bold;
					text-align: center;
					line-height: 2;
					letter-spacing: 0.15em;

					span {
						background: rgba(255, 255, 255, .95);
						padding: min(0.5vw, 10px) min(1vw, 20px);
					}

					.sp {
						display: none;
					}
				}
			}
		}

		.application_process {
			margin-top: min(8vw, 160px);

			h2 {
				text-align: center;

				img {
					width: 34.35vw;
					max-width: 687px;
				}
			}

			h3 {
				font-size: min(3vw, 60px);
				font-weight: bold;
				margin-top: min(2vw, 40px);
				text-align: center;
			}

			.one_box {
				margin-top: min(2vw, 40px);

				h4 {
					font-size: min(2.5vw, 50px);
					font-weight: bold;
					color: #fff;
					background: #1c1c1c;
					width: 24.1vw;
					max-width: 482px;
					margin: 0 auto;
					text-align: center;
					line-height: 1.3;
				}

				.text_01 {
					font-size: min(2vw, 40px);
					font-weight: bold;
					margin-top: min(1vw, 20px);
					text-align: center;
					line-height: 2;

					.sp {
						display: none;
					}

					span {
						color: #ec6d8f;
					}
				}

				.text_02 {
					font-size: min(1.25vw, 25px);
					width: 67vw;
					max-width: 1340px;
					margin: 0 auto;
					line-height: 2.2;

					span {
						background: #1c1c1c;
						width: 58.5vw;
						max-width: 1170px;
						height: 1px;
						margin: min(0.5vw, 10px) 0;
						display: block;
					}

					em {
						color: #f00;
						font-style: normal;
					}
				}

				.text_02:first-of-type {
					margin-top: min(1.5vw, 30px);
				}
			}

			.one_box:nth-of-type(2) {
				background: #e7e7e7;
				margin-top: min(4vw, 80px);
				padding: min(1.5vw, 30px) 0 min(2vw, 40px);
			}
		}

		.form {
			margin-top: min(5vw, 100px);

			h2 {
				text-align: center;

				img {
					width: 10.8vw;
					max-width: 216px;
				}
			}

			h3 {
				font-size: min(3vw, 60px);
				font-weight: bold;
				margin-top: min(1vw, 20px);
				text-align: center;
			}

			form {
				dl {
					width: 95vw;
					max-width: 1025px;
					margin: min(2vw, 40px) auto 0;

					dt {
						font-size: 24px;

						span {
							font-size: 18px;
							color: #f00;
						}
					}

					dt:nth-of-type(n+2) {
						margin-top: min(1.5vw, 30px);
					}

					dd {
						font-size: 30px;
						margin-top: min(0.25vw, 5px);

						input[type="text"],
						input[type="email"],
						input[type="tel"] {
							font-size: clamp(16px, 1.2vw, 24px);
						}

						input[name="age"],
						input[name="height"],
						input[name="weight"] {
							width: 125px;
						}

						input[type="radio"] {
							display: none;
						}

						label {
							font-size: 24px;
							padding-left: 35px;
							position: relative;
							cursor: pointer;
						}
	
						label::before {
							content: "";
							width: 30px;
							height: 30px;
							border: #1c1c1c 2px solid;
							border-radius: 50%;
							position: absolute;
							left: 0;
							top: 0;
							cursor: pointer;
						}
	
						input[type="radio"]:checked + label::after {
							content: "";
							background: #1c1c1c;
							width: 18px;
							height: 18px;
							border-radius: 50%;
							position: absolute;
							top: 15px;
							left: 15px;
							transform: translate(-50%, -50%);
						}

						.box {
							display: flex;
							gap: 0 50px;
						}

						input[type="file"] {
							font-size: min(2.5vw, 25px);
							margin-top: min(1vw, 10px);
						}

						input[type="file"]::file-selector-button {
							border: #1d1d1d 1px solid;
							border-radius: 0;
							line-height: 1.6;
						}
					}

					.error {
						font-size: 18px;
						color: #f00;
						margin-top: min(0.5vw, 10px);
						display: block;
					}

					.thumbnail_box {
						margin-top: min(1vw, 20px);

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

				.btn_box {
					input {
						font-size: min(1.25vw, 25px);
						width: 21.3vw;
						max-width: 426px;
						margin: min(4vw, 80px) auto 0;
					}
				}
			}
		}
	}

	#confirm {
		.box {
			width: 64.063vw;
			max-width: 1025px;
			margin: min(1.875vw, 30px) auto 0;

			.text_01 {
				font-size: min(1.25vw, 20px);
				font-weight: bold;
				margin-top: min(3.75vw, 60px);
				text-align: center;
			}

			dl {
				dt {
					margin-top: min(1.25vw, 20px);
				}

				dd {
					font-size: min(1.5vw, 24px);
					padding: min(0.625vw, 10px);
					border-bottom: #6e5a2d 1px solid;

					img {
						width: 18.75vw;
						max-width: 300px;
					}
				}
			}

			.btn_box {
				margin-top: min(2.5vw, 40px);
				display: flex;
				justify-content: center;
				gap: 0 min(0.625vw, 10px);

				.btn_submit {
					margin: 0;
				}
			}
		}
	}

	#complete {
		.box {
			margin-top: min(5vw, 80px);

			p {
				font-size: min(1.25vw, 20px);
				text-align: center;
				line-height: 1.5;

				.sp {
					display: none;
				}
			}

			.btn_back {
				width: fit-content;
				margin: min(5vw, 80px) auto 0;
			}
		}
	}
}

@media (width <= 1000px) {
	#recruit_instructor {
		h1 {
			background: url(../images/bg_recruit_instructor_title_sp.jpg) no-repeat center top / 100%;
	
			span {
				font-size: 13vw;
			}
		}
	
		.box {
			.recruit {
				width: 95vw;
				margin: 10vw auto 0;
				padding-bottom: 10vw;
				border-bottom: #1c1c1c 1px solid;
	
				h2 {
					img {
						width: 37.5vw;
					}
				}
	
				p {
					font-size: 6vw;
					margin-top: 4vw;

					span {
						display: block;
						line-height: 1.4;
					}

					span:first-of-type {
						margin-top: 5vw;
					}

					span:nth-of-type(2) {
						margin-top: -5vw;
					}
	
					.sp {
						display: inline-block;
					}
				}
			}
	
			.information {
				width: 95vw;
				margin: 20vw auto 0;
				padding-bottom: 20vw;
	
				h2 {
					img {
						width: 53.2vw;
					}
				}
	
				h3 {
					font-size: 7vw;
					margin-top: 3vw;
				}
	
				.one_box {
					margin-top: 4vw;
	
					h4 {
						font-size: 6vw;
						width: 100%;
						max-width: 950px;
						line-height: 1.333;
					}
	
					.text_01 {
						font-size: 6vw;
						width: 95vw;
						max-width: 950px;
						margin: 3vw auto 0;
						padding: 2vw 0;
						border-top: #1c1c1c 1vw double;
						border-bottom: #1c1c1c 1vw double;
					}
	
					.text_02 {
						font-size: 4vw;
						margin-top: 2vw;
					}
	
					ul {
						margin-top: 3vw;
						padding-top: 8vw;
						gap: 3vw 0;
						flex-wrap: wrap;
	
						li {
							width: 88vw;
							max-width: 880px;
	
							h5 {
								font-size: 6vw;
								line-height: 1.333;
							}
	
							p {
								font-size: 5vw;
								margin-top: 2vw;
								padding: 0 3vw;
							}
						}
					}
	
					ul::before {
						content: '';
						width: 95vw;
						max-width: 950px;
						border-top: #1c1c1c 1vw double;
						top: 1vw;
					}
	
					.text_03 {
						font-size: 5vw;
						width: 95vw;
						margin: 2vw auto 0;
						padding: 3vw;
						border: #1c1c1c 1vw double;

						span {
							font-size: 3.5vw;
						}
					}
	
					.text_03::after {
						width: 95vw;
						max-width: 950px;
						border-top: #1c1c1c 1vw double;
						bottom: -6vw;
					}
				}
	
				.one_box:nth-of-type(n+2) {
					margin-top: 5vw;
				}
	
				.one_box:last-of-type {
					margin-top: 12vw;
				}
			}
	
			.terms {
				padding: 16vw 0;
	
				h2 {
					img {
						width: 23.1vw;
						max-width: 231px;
					}
				}
	
				h3 {
					font-size: 7vw;
					margin-top: 3vw;
				}
	
				.one_box {
					margin-top: 4vw;
	
					h4 {
						font-size: 6vw;
					}
	
					h4::before,
					h4::after {
						width: 30vw;
					}
	
					.text_01 {
						font-size: 5vw;
						width: 95vw;
						margin: 6vw auto 0;
						letter-spacing: -0.025em;
					}
	
					.text_01:nth-of-type(n+2) {
						margin-top: 3vw;
					}
	
					.text_02 {
						font-size: 5vw;
						margin: 3vw auto 0;
					}
	
					ul {
						margin-top: 4vw;
						gap: 2vw;
						flex-wrap: wrap;
	
						li {
							font-size: 5vw;
							width: 42.5vw;
						}
					}
	
					.text_03 {
						font-size: 6vw;
						margin-top: 4vw;
						padding: 0 2vw;

						.sp {
							display: inline-block;
						}
					}
				}
			}
	
			.terms::before{
				height: 7.3vw;
			}
	
			.job_description {
				margin-top: 20vw;
	
				h2 {
					img {
						width: 76.7vw;
						max-width: 767px;
					}
				}
	
				h3 {
					font-size: 7vw;
					margin-top: 3vw;
				}
	
				.box {
					background: url(../images/bg_job_description_sp.jpg) no-repeat center top / cover;
					height: 80vw;
					max-height: 800px;
					margin: 2vw auto 0;
					padding-top: 0;
					align-content: center;
	
					p {
						font-size: 5vw;
						width: 95vw;
						max-width: 950px;
						padding-left: 3vw;
						line-height: 1.8;
						letter-spacing: 0.1em;
					}
	
					p:nth-child(n+2) {
						margin-top: 2vw;
					}
				}
			}
	
			.instructor_training {
				margin-top: 20vw;
	
				h2 {
					img {
						width: 80.2vw;
						max-width: 802px;
					}
				}
	
				h3 {
					font-size: 7vw;
					margin-top: 3vw;
				}
	
				.box {
					background: url(../images/bg_instructor_training_sp.jpg) no-repeat center top / cover;
					height: 70vw;
					max-height: 700px;
					margin: 2vw auto 0;
	
					p {
						font-size: 4vw;
						width: 80vw;
						margin: 0 auto;
						padding: 0 1vw;
						text-align: left;
						line-height: 1.2;
	
						span {
							font-size: 6vw;
							width: 82vw;
							margin: 0 0 1vw -41vw;
							padding: 0;
							text-align: center;
							letter-spacing: 0.175em;
							display: block;
							position: relative;
							left: 50%;
						}

						.sp {
							display: inline-block;
						}
					}
				}
			}
	
			.application_process {
				margin-top: 20vw;
	
				h2 {
					img {
						width: 86.6vw;
						max-width: 866px;
					}
				}
	
				h3 {
					font-size: 7vw;
					margin-top: 3vw;
				}
	
				.one_box {
					margin-top: 5vw;
	
					h4 {
						font-size: 6vw;
						width: 48vw;
						line-height: 1.417;
					}
	
					.text_01 {
						font-size: 5vw;
						margin-top: 3vw;
						line-height: 1.6;

						.sp {
							display: inline-block;
						}
					}
	
					.text_02 {
						font-size: 3.5vw;
						width: 95vw;
	
						span {
							width: 100%;
							margin: 2vw 0;
						}
					}
	
					.text_02:first-of-type {
						margin-top: 3vw;
					}
				}
	
				.one_box:nth-of-type(2) {
					margin-top: 4vw;
					padding: 3vw;
				}
			}
	
			.form {
				margin-top: 5vw;
	
				h2 {
					img {
						width: 27.2vw;
						max-width: 272px;
					}
				}
	
				h3 {
					font-size: 6vw;
					margin-top: 3vw;
				}
	
				form {
					dl {
						width: 95vw;
						margin: 3vw auto 0;
	
						dt {
							font-size: 4vw;
	
							span {
								font-size: 3vw;
							}
						}
	
						dt:nth-of-type(n+2) {
							margin-top: 2vw;
						}
	
						dd {
							font-size: 4vw;
							margin-top: 0.5vw;
	
							input[type="text"],
							input[type="email"],
							input[type="tel"] {
								font-size: min(16px, 4vw);
							}
	
							input[name="age"],
							input[name="height"],
							input[name="weight"] {
								width: 20vw;
							}
	
							label {
								font-size: 4vw;
								padding-left: 5.5vw;
							}
		
							label::before {
								width: 4.5vw;
								height: 4.5vw;
								border: #1c1c1c 1px solid;
							}
							
							input[type="radio"]:checked + label::after {
								width: 3.25vw;
								height: 3.25vw;
								top: 2.275vw;
								left: 2.275vw;
							}
	
							.box {
								gap: 0 4vw;
							}

							input[type="file"] {
								font-size: 3vw;
								margin-top: 1vw;
							}
						}
	
						.error {
							font-size: 3vw;
							margin-top: 0.5vw;
						}
	
						.thumbnail_box {
							margin-top: 2vw;
						}
					}
	
					.btn_box {
						input {
							font-size: 4vw;
							width: 76vw;
							margin: 5vw auto 0;
							line-height: 2.825;
						}
					}
				}
			}
		}

		#confirm {
			.box {
				width: 95vw;
				margin: 4vw auto 0;

				.text_01 {
					font-size: 4vw;
					margin-top: 4vw;
				}

				dl {
					dt {
						margin-top: 2vw;
					}

					dd {
						font-size: 4vw;
						padding: 1vw;
						line-height: 1.6;

						img {
							max-width: 100%;
						}
					}
				}
		
				.btn_box {
					margin-top: 8vw;
					gap: 3vw 0;
					flex-wrap: wrap;
				}
			}
		}

		#complete {
			.box {
				p {
					font-size: 4vw;

					.sp {
						display: inline-block;
					}
				}

				.btn_back {
					margin: 8vw auto 0;
				}
			}
		}
	}
}
/************ recruit_instructor ************/

/************ reserve ************/
#reserve {
	h1 {
		background: url(../images/bg_reserve_title.jpg) no-repeat center top / 100%;

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_reserve_title.jpg) no-repeat center top / 2000px 500px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_reserve_title.jpg) no-repeat center top / 125vw 31.25vw;
		}
	}

	#user_terms {
		background: rgba(255, 255, 255, .8);
		width: 100%;
		height: 100dvh;
		padding: min(6.25vw, 100px) 0;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 10;
		overflow: auto;

		#modal {
			background: #fff;
			width: 93.75vw;
			max-width: 1500px;
			margin: 0 auto;
			padding-top: min(6.25vw, 100px);
			border-top: #ec6d8f min(0.625vw, 5px) solid;

			h2 {
				font-family: LINESeedJP_OTF_Bd;
				font-size: min(1.5vw, 24px);
				font-weight: bold;
				text-align: center;

				span {
					font-family: yu-gothic-pr6n, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
					font-size: min(1.125vw, 18px);
					display: flex;
					align-items: center;
					justify-content: center;
				}

				span::before,
				span::after {
					content: '';
					background: #1d1d1d;
					width: min(10vw, 160px);
					height: 1px;
				}

				span::before {
					margin-right: 1em;
				}

				span::after {
					margin-left: 1em;
				}
			}

			h3 {
				font-size: min(1.5vw, 24px);
				color: #fff;
				background: #ec6d8f;
				width: 75vw;
				max-width: 1200px;
				margin: min(5vw, 80px) auto 0;
				border-left: #1d1d1d 1px solid;
				border-right: #1d1d1d 1px solid;
				border-top: #1d1d1d 1px solid;
				text-align: center;
				line-height: 1.667;
			}

			.terms_box {
				width: 75vw;
				max-width: 1200px;
				height: 62.5vw;
				max-height: 1000px;
				margin: 0 auto;
				padding: min(1.875vw, 30px) min(0.625vw, 10px);
				border-left: #1d1d1d 1px solid;
				border-right: #1d1d1d 1px solid;
				border-bottom: #1d1d1d 1px solid;
				overflow: auto;

				p {
					font-size: min(0.875vw, 14px);
					line-height: 1.6;
					

					span {
						font-size: min(1vw, 16px);
					}
				}

				#btn_yes {
					font-size: min(1.25vw, 20px);
					font-weight: bold;
					color: #fff;
					background: #ec6d8f;
					width: min(25vw, 400px);
					margin: min(1.25vw, 20px) auto 0;
					text-align: center;
					line-height: 3;
					cursor: pointer;
				}

				#btn_no {
					font-size: min(1.25vw, 20px);
					width: min(25vw, 400px);
					margin: min(1.25vw, 20px) auto 0;
					border: #1d1d1d 1px solid;
					text-align: center;
					line-height: 3;
					cursor: pointer;
				}
			}
		}
	}

	#user_terms.close {
		display: none;
	}

	.box {
		.one_box {
			width: 75vw;
			max-width: 1200px;
			margin: min(3.125vw, 50px) auto 0;

			h2 {
				font-size: min(1.5vw, 24px);
				color: #fff;
				background: #ec6d8f;
				text-align: center;
				line-height: 1.667;
			}

			.explanation {
				.text_01 {
					font-size: min(1.25vw, 20px);
					margin-top: min(0.313vw, 5px);
					padding-left: min(3.125vw, 50px);
					line-height: 1.8;
					letter-spacing: -0.025em;
					position: relative;

					.black {
						color: #fff;
						background: #000;
					}

					.pink {
						color: #fff;
						background: #ec6d8f;
					}
				}

				.text_01:first-child {
					margin-top: min(1.875vw, 30px);
				}

				.text_01::before {
					content: '1';
					font-family: LINESeedJP_OTF_Bd;
					font-size: min(1.25vw, 20px);
					font-weight: bold;
					color: #fff;
					background: #1d1d1d;
					width: 1.875vw;
					max-width: 30px;
					height: 1.875vw;
					max-height: 30px;
					text-align: center;
					align-content: center;
					line-height: 1;
					position: absolute;
					left: min(0.625vw, 10px);
					top: 0;
				}

				.text_01:first-child::before {
					content: '1';
				}

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

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

			h3 {
				font-size: min(1.5vw, 24px);
				color: #fff;
				background: #000;
				margin-top: min(3.75vw, 60px);
				text-align: center;
				line-height: 1.667;

				span {
					font-size: min(1.125vw, 18px);
				}
			}

			#text_box {
				font-size: min(1.125vw, 18px);
				padding: min(1.25vw, 20px) min(5.625vw, 90px);
				border: #1d1d1d min(0.188vw, 3px) solid;
				line-height: 1.4;
			}

			button {
				font-size: min(1.563vw, 25px);
				font-weight: bold;
				color: #fff;
				background: #000;
				width: min(26.625vw, 426px);
				margin: min(1.25vw, 20px) auto 0;
				text-align: center;
				line-height: 2.52;
				letter-spacing: 0.1em;
				display: block;
				transition: opacity .5s;
			}

			button:hover {
				opacity: .5;
			}

			form {
				dl {
					dt {
						font-size: min(1.5vw, 24px);
						margin-top: min(1.25vw, 20px);
		
						span {
							font-size: min(1.125vw, 18px);
							color: #f00;
						}
					}
		
					dd {
						margin-top: min(0.313vw, 5px);
		
						label {
							font-size: min(1.125vw, 18px);
							color: #f00;
							margin-top: min(0.313vw, 5px);
							display: block;
						}
					}
				}

				.btn_submit {
					width: fit-content;
					margin: min(2.5vw, 40px) auto 0;
				}
			}
		}
	}

	#confirm {
		.text_01 {
			font-size: min(1.25vw, 20px);
			font-weight: bold;
			margin-top: min(3.75vw, 60px);
			text-align: center;
		}

		dl {
			dd {
				font-size: min(1.5vw, 24px);
				padding: 0 min(0.625vw, 10px) min(0.625vw, 10px) min(0.625vw, 10px);
				border-bottom: #6e5a2d 1px solid;
			}
		}

		.btn_box {
			margin-top: min(2.5vw, 40px);
			display: flex;
			justify-content: center;
			gap: 0 min(0.625vw, 10px);

			.btn_submit {
				margin: 0;
			}
		}
	}

	#complete {
		.box {
			margin-top: min(5vw, 80px);

			p {
				font-size: min(1.25vw, 20px);
				text-align: center;
				line-height: 1.5;
			}

			.btn_back {
				width: fit-content;
				margin: min(5vw, 80px) auto 0;
			}
		}
	}
}

@media (width <= 1000px) {
	#reserve {
		h1 {
			background: url(../images/bg_reserve_title_sp.jpg) no-repeat center top / 100%;
		}

		#user_terms {
			padding: 8vw 0;

			#modal {
				width: 100%;
				padding: 0 5vw;
				border-top: #ec6d8f 1vw solid;

				h2 {
					font-size: 7vw;

					span {
						font-size: 4vw;
					}

					span::before,
					span::after {
						width: 19vw;
					}
				}

				h3 {
					font-size: 4.5vw;
					width: 100%;
					margin: 5vw auto 0;
					border: none;
					line-height: 1.111;
				}

				.terms_box {
					width: 95vw;
					height: 90dvh;
					padding: 5vw 2.5vw;
					border: none;

					p {
						font-size: 2.8vw;

						span {
							font-size: 3vw;
						}
					}

					#btn_yes {
						font-size: 3.75vw;
						width: 47vw;
						margin: 5vw auto 0;
						line-height: 2.667;
					}

					#btn_no {
						font-size: 3.75vw;
						width: 47vw;
						margin: 3.75vw auto 0;
						line-height: 2.667;
					}
				}
			}
		}

		.box {
			.one_box {
				width: 100%;
				margin: 4vw auto 0;

				h2 {
					font-size: 6vw;
					line-height: 1.333;
				}

				.explanation {
					width: 95vw;
					margin: 4vw auto 0;

					.text_01 {
						font-size: 4vw;
						margin-top: 2vw;
						padding: 0 0.5vw 0 4.5vw;
						line-height: 1.4;
					}

					.text_01:first-child {
						margin-top: 3vw;
					}

					.text_01::before {
						font-size: 4vw;
						width: 4vw;
						max-width: 40px;
						height: 4vw;
						max-height: 40px;
						top: 0.5vw;
						left: 0;
					}
				}

				h3 {
					font-size: 6vw;
					height: 15vw;
					margin-top: 5vw;
					align-content: center;
					line-height: 1.4;

					span {
						font-size: 3vw;
						display: block;
					}
				}

				#text_box {
					font-size: 4vw;
					width: 95vw;
					margin: 4vw auto 0;
					padding: 3vw 0.5vw;
					border: #1d1d1d 0.3vw solid;
					letter-spacing: -0.075em;
				}

				button {
					font-size: 4vw;
					width: 76vw;
					margin: 4vw auto 0;
					line-height: 2.75;
				}

				form {
					dl {
						width: 95vw;
						margin: 6vw auto 0;

						dt {
							font-size: 4vw;
							margin-top: 3vw;
			
							span {
								font-size: 3vw;
							}
						}
			
						dd {
							margin-top: 0.5vw;
			
							label {
								font-size: 3vw;
								margin-top: 0.5vw;
							}
						}
					}

					.btn_submit {
						margin: 4vw auto 0;
					}
				}
			}

			.one_box:nth-child(2) {
				margin-top: 8vw;
			}
		}

		#confirm {
			.text_01 {
				font-size: 4vw;
				margin-top: 4vw;
			}

			dl {
				dd {
					font-size: 4vw;
					padding: 0 1vw 1vw 1vw;
				}
			}

			.btn_box {
				width: 75.8vw;
				margin: 8vw auto 0;
				gap: 2vw 0;
				flex-wrap: wrap;
			}
		}

		#complete {
			.box {
				margin-top: 8vw;

				p {
					font-size: 4vw;
				}

				.btn_back {
					margin: 8vw;
				}
			}
		}
	}
}
/************ reserve ************/

/************ review ************/
#review {
	h1 {
		background: url(../images/bg_review_title.jpg) no-repeat center top / 100%;

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_review_title.jpg) no-repeat center top / 2000px 500px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_review_title.jpg) no-repeat center top / 125vw 31.25vw;
		}
	}

	.btn_go_form {
		position: fixed;
		right: min(1.875vw, 30px);
		bottom: min(1.875vw, 30px);
		z-index: 2;

		a img {
			width: 13vw;
			max-width: 208px;
		}
	}

	.box {
		width: 75vw;
		max-width: 1200px;
		margin: min(5vw, 80px) auto 0;

		.one_box {
			padding: min(2.5vw, 40px) min(1.875vw, 30px);
			border: #e8e7e4 min(0.5vw, 8px) solid;
			display: flex;
			justify-content: center;
			gap: 0 min(1.25vw, 20px);
			flex-wrap: wrap;

			.thumbnail {
				width: 18.75vw;
				max-width: 300px;
				height: 25vw;
				max-height: 400px;
				overflow: hidden;

				img {
					width: 100%
				}
			}

			.data_box {
				width: calc(100% - min(20vw, 320px));

				.author {
					font-size: min(1.125vw, 18px);
					width: 36vw;
					max-width: 576px;
					border-bottom: #e8e7e3 1px solid;

					.sp {
						display: none;
					}
				}

				.marquee {
					white-space: nowrap;
					overflow: hidden

					span {
						padding-left: 100%;
						display: inline-block;
						animation: marquee 10s linear infinite;
					}
				}

				.therapist_name {
					font-size: min(1.5vw, 24px);

					span {
						color: #ec6d8f;
					}

					.sp {
						display: none;
					}
				}

				.evaluation {
					margin-top: min(1.875vw, 30px);

					span {
						font-size: min(1.5vw, 24px);
						color: #ec6d8f;
						margin-right: min(0.313vw, 5px);
					}

					img {
						width: 1.375vw;
					}
				}

				.comment {
					margin-top: min(1.875vw, 30px);

					span {
						font-size: min(1.5vw, 24px);
						color: #ec6d8f;
						display: flex;
						align-items: center;
					}

					span::after {
						content: "";
						background: #e8e7e3;
						width: 35.75vw;
						max-width: 572px;
						height: 1px;
						margin-left: 1em;
					}

					p {
						font-size: min(1.125vw, 18px);
						height: 6.625vw;
						max-height: 106px;
						padding: min(0.625vw, 10px) min(1.25vw, 20px) min(0.625vw, 10px) 0;
						line-height: 1.6;
						overflow: auto;
					}
				}
			}

			.btn {
				a {
					font-size: min(1.25vw, 20px);
					background-color: transparent;
					width: 25vw;
					max-width: 400px;
					margin-top: min(2.5vw, 40px);
					border: #1d1d1d 1px solid;
					text-align: center;
					line-height: 2.1;
					display: block;
					transition: .5s;
				}

				a:hover {
					color: #fff;
					background-color: #1d1d1d;
				}
			}
		}

		.one_box:nth-child(n+2) {
			margin-top: min(1.875vw, 30px);
		}
	}

	.pagenation {
		margin-top: min(1.875vw, 30px);
		display: flex;
		justify-content: center;
		gap: 0 min(3.75vw, 60px);

		p {
			a {
				font-size: min(1.25vw, 20px);
				background-color: transparent;
				width: 6.5vw;
				max-width: 130px;
				border: #1d1d1d 1px solid;
				text-align: center;
				line-height: 1.75;
				display: block;
				transition: .5s;
			}

			a:hover {
				color: #fff;
				background-color: #1d1d1d;
			}
		}
	}

	.form_box {
		margin-top: min(5vw, 80px);

		h2 {
			font-family: LINESeedJP_OTF_Bd;
			font-size: min(1.5vw, 24px);
			font-weight: bold;
			color: #fff;
			background: #ec6d8f;
			height: 6.5vw;
			max-height: 130px;
			text-align: center;
			align-content: center;

			span {
				font-family: "Yu Gothic", "游ゴシック体", "YuGothic", yu-gothic-pr6n, "メイリオ", Meiryo, sans-serif;
				font-size: min(1.125vw, 18px);
				font-weight: normal;
				display: flex;
				align-items: center;
				justify-content: center;
			}

			span::before,
			span::after {
				content: "";
				background: #fff;
				width: 8.75vw;
				max-width: 140px;
				height: 1px;
			}

			span::before {
				margin-right: 1em;
			}

			span::after {
				margin-left: 1em;
			}
		}

		dl {
			width: 95%;
			max-width: 1025px;
			margin: min(3.75vw, 60px) auto 0;

			dt {
				font-size: 24px;

				span {
					font-size: min(1.125vw, 18px);
					color: #f00;
				}
			}

			dt:nth-of-type(n+2) {
				margin-top: min(1.25vw, 20px);
			}

			dd {
				font-size: 24px;
				margin-top: min(0.313vw, 5px);

				select {
					font-size: 24px;
					background: url(../images/review_select_arrow.jpg) no-repeat right center / 38px 60px;
					height: 60px;
					padding: 0 10px;
					border: #000 1px solid;
				}

				select[name="therapist"] {
					width: 100%;
				}

				select[name="year"] {
					width: 175px;
					padding: 0 40px;
				}

				select[name="month"],
				select[name="day"],
				select[name="hour"] {
					width: 100px;
					padding: 0 20px;
				}

				div {
					font-size: 24px;
					text-align: center;

					input[type="radio"] {
						display: none;
					}

					label {
						display: inline-block;
						width: 44px;
						height: 44px;
						border: 6px solid #f57ca1;
						border-radius: 50%;
						position: relative;
						cursor: pointer;
					}
					

					input[type="radio"]:checked + label::after {
						content: "";
						background: #f57ca1;
						width: 22px;
						height: 22px;
						border-radius: 50%;
						position: absolute;
						top: 50%;
						left: 50%;
						transform: translate(-50%, -50%);
					}
				}
			}

			dd > label {
				font-size: min(1.125vw, 18px);
				color: #f00;
				margin-top: min(0.313vw, 5px);
				display: block;
			}

			.evaluation {
				display: flex;
				gap: 0 40px;
			}
		}

		.btn_submit {
			width: fit-content;
			margin: min(2.5vw, 40px) auto 0;
		}
	}

	#confirm {
		.text_01 {
			font-size: min(1.25vw, 20px);
			font-weight: bold;
			margin-top: min(3.75vw, 60px);
			text-align: center;
		}

		.form_box {
			dl {
				 dd {
					font-size: min(1.5vw, 24px);
					padding: 0 min(0.625vw, 10px) min(0.625vw, 10px) min(0.625vw, 10px);
					border-bottom: #6e5a2d 1px solid;
				 }
			}

			.btn_box {
				margin-top: min(2.5vw, 40px);
				display: flex;
				justify-content: center;
				gap: 0 min(0.625vw, 10px);

				.btn_submit {
					margin: 0;
				}
			}
		}
	}

	#complete {
		.box {
			p {
				font-size: min(1.25vw, 20px);
				text-align: center;
				line-height: 1.5;
			}

			.btn_back {
				width: fit-content;
				margin: min(5vw, 80px) auto 0;
			}
		}
	}

	#individual {
		.profile {
			width: 75vw;
			max-width: 1200px;
			margin: min(5vw, 80px) auto 0;
			padding-left: min(1.875vw, 30px);
			display: flex;
			align-items: flex-end;
			gap: 0 min(1.875vw, 30px);
	
			.thumbnail {
				width: 7vw;
				max-width: 112px;
				height: 7vw;
				max-height: 112px;
				border-radius: 50%;
				overflow: hidden;
	
				img {
					width: 100%;
					transform: scale(1.4);
					transform-origin: center top;
				}
			}
	
			.name_box {
				.name {
					font-size: min(2.5vw, 40px);
					letter-spacing: 0.1em;
	
					span {
						font-size: min(1.25vw, 20px);
					}
				}
	
				.tel {
					font-size: min(1.25vw, 20px);
					margin-top: min(0.625vw, 10px);
					text-align: center;
	
					img {
						width: 1.25vw;
						max-width: 20px;
						vertical-align: middle;
					}
				}
			}
	
			.size_box {
				.size {
					font-size: min(1.25vw, 20px);
					text-align: right;
				}
	
				.sns {
					margin-top: min(0.625vw, 10px);
					display: flex;
					align-items: center;
					gap: 0 min(0.625vw, 10px);
	
					li a {
						transition: opacity .5s;

						img {
							width: min(2.375vw, 38px);
						}
					}
	
					li a:hover {
						opacity: .5;
					}
				}
			}
	
			.btn_profile a {
				font-size: min(1.25vw, 20px);
				width: 25vw;
				color: #1d1d1d;
				background: transparent;
				max-width: 400px;
				margin-bottom: min(0.313vw, 5px);
				border: #1d1d1d 1px solid;
				text-align: center;
				line-height: 2.1;
				display: block;
				transition: .5s;
			}
	
			.btn_profile a:hover {
				color: #fff;
				background: #1d1d1d;
			}
		}

		.box {
			margin-top: min(1.875vw, 30px);
		}
	}
}

@media (width <= 1000px) {
	#review {
		h1 {
			background: url(../images/bg_review_title_sp.jpg) no-repeat center top / 100%;
		}

		.btn_go_form {
			right: 0.5vw;
			bottom: 30vw;
	
			a img {
				width: 21vw;
			}
		}
	
		.box {
			width: 95vw;
			margin: 4vw auto 0;
	
			.one_box {
				height: 135vw;
				padding: 4vw 3vw;
				border: #e8e7e4 0.8vw solid;
				gap: 0 4vw;
	
				.thumbnail {
					width: 30.6vw;
					max-width: 306px;
					height: 42.7vw;
					max-height: 427px;
				}
	
				.data_box {
					width: calc(100% - 34.6vw);
					position: relative;
	
					.author {
						font-size: 4vw;
						width: 100%;
						border-bottom: none;

						.sp {
							display: inline-block;
						}
					}
	
					.therapist_name {
						font-size: 4vw;
						margin-top: 3vw;

						.sp {
							display: inline-block;
						}
					}
	
					.evaluation {
						margin-top: 3vw;
	
						span {
							font-size: 4vw;
							margin-right: 0.5vw;
						}

						img {
							width: 4vw;
						}
					}
	
					.comment {
						width: 89vw;
						margin-top: 0;
						position: absolute;
						left: -34.6vw;
						top: 42.7vw;
	
						span {
							font-size: 4vw;
						}
	
						span::after {
							width: 75.4vw;
							max-width: 754px;
						}
	
						p {
							font-size: 3.5vw;
							height: 58vw;
							max-height: 580px;
							padding: 1vw 0;
						}
					}
				}
	
				.btn {
					a {
						font-size: 4vw;
						width: 76vw;
						max-width: 760px;
						margin: 65vw auto 0;
						line-height: 2.25;
					}
				}
			}
	
			.one_box:nth-child(n+2) {
				margin-top: 3vw;
			}
		}
	
		.pagenation {
			margin-top: 4vw;
			gap: 0 10vw;
	
			p {
				a {
					font-size: 4vw;
					width: 30.6vw;
					max-width: 306px;
					line-height: 2.05;
				}
			}
		}
	
		.form_box {
			margin-top: 8vw;
	
			h2 {
				font-size: 7vw;
				height: 22.5vw;
				max-height: 225px;
	
				span {
					font-size: 4vw;
				}
	
				span::before,
				span::after {
					width: 19vw;
					max-width: 190px;
				}
			}
	
			dl {
				width: 95vw;
				margin: 8vw auto 0;
	
				dt {
					font-size: 4vw;
	
					span {
						font-size: 3vw;
					}
				}
	
				dt:nth-of-type(n+2) {
					margin-top: 6vw;
				}
	
				dd {
					font-size: 4vw;
					margin-top: 1vw;
	
					select {
						font-size: clamp(16px, 4vw , 40px);
						background: url(../images/review_select_arrow.jpg) no-repeat right center / 3.8vw 9vw;
						height: 9vw;
						padding: 0 1vw;
					}
	
					select[name="year"] {
						width: 21.5vw;
						padding: 0 2vw;
					}
	
					select[name="month"],
					select[name="day"],
					select[name="hour"] {
						width: 12vw;
						padding: 0 1.5vw;
					}
	
					div {
						font-size: 4vw;
	
						label {
							width: 7.2vw;
							height: 7.2vw;
							border: 0.6vw solid #f57ca1;
						}
						
	
						input[type="radio"]:checked + label::after {
							width: 3.6vw;
							height: 3.6vw;
						}
					}
				}
	
				dd > label {
					font-size: 3vw;
					margin-top: 0.5vw;
				}
	
				.evaluation {
					width: 70%;
					flex-wrap: wrap;
					gap: 1vw 6vw;
				}
			}
	
			.btn_submit {
				margin: 8vw auto 0;
			}
		}
	
		#confirm {
			.form_box {
				.text_01 {
					font-size: 4vw;
					margin-top: 4vw;
				}
		
				dl {
					dd {
						font-size: 4vw;
						padding: 0 1vw 1vw 1vw;
						line-height: 1.6;
					}
				}
		
				.btn_box {
					margin-top: 8vw;
					gap: 3vw 0;
					flex-wrap: wrap;
				}
			}
		}
	
		#complete {
			.box {
				p {
					font-size: 4vw;
				}
	
				.btn_back {
					margin: 8vw auto 0;
				}
			}
		}
	
		#individual {
			.profile {
				width: 76vw;
				margin: 4vw auto 0;
				padding-left: 0;
				gap: 3vw;
				flex-wrap: wrap;
		
				.thumbnail {
					width: 20.7vw;
					max-width: 207px;
					height: 20.7vw;
					max-height: 207px;
				}
		
				.name_box {
					width: calc(100% - 23.7vw);
	
					.name {
						font-size: 7vw;
		
						span {
							font-size: 3vw;
						}
					}
		
					.tel {
						font-size: 5vw;
						margin-top: 6vw;
						text-align: left;
		
						img {
							width: 4vw;
							max-width: 40px;
						}
					}
				}
		
				.size_box {
					position: relative;
	
					.size {
						font-size: 3vw;
						text-align: left;
						position: absolute;
						left: 23.7vw;
						top: -15vw;
					}
		
					.sns {
						margin-top: 0;
						gap: 0 3vw;
		
						li a {
							img {
								width: 12.7vw;
								max-width: 127px;
							}
						}
					}
				}
		
				.btn_profile a {
					font-size: 4vw;
					width: 76vw;
					max-width: 760px;
					margin-bottom: 0;
					line-height: 2.25;
				}
			}
	
			.box {
				margin-top: 8vw;
			}
		}
	}
}
/************ review ************/

/************ schedule ************/
#schedule {
	h1 {
		background: url(../images/bg_schedule_title.jpg) no-repeat center top / 100%;

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_schedule_title.jpg) no-repeat center top / 2000px 500px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_schedule_title.jpg) no-repeat center top / 125vw 31.25vw;
		}
	}

	.box {
		background: url(../images/bg_schedule_date.jpg) no-repeat center top / 100% 31.5vw;
		padding-top: min(2vw, 40px);

		#date_box {
			ul {
				display: flex;
				justify-content: center;
				gap: 0 min(0.25vw, 5px);

				li {
					a {
						font-size: min(1.2vw, 24px);
						background-color: rgba(0, 0, 0, .6);
						width: 8vw;
						max-width: 160px;
						color: #fff;
						border: #fff 1px solid;
						text-align: center;
						line-height: 2.292;
						display: block;
						transition: background-color .5s;
					}

					a:hover {
						background-color: rgba(255, 255, 255, .6);
					}
				}

				.active {
					font-size: min(1.2vw, 24px);
					width: 8vw;
					max-width: 160px;
					color: #fff;
					background: #ff5da2;
					text-align: center;
					line-height: 2.292;
				}
			}
		}

		h2 {
			font-size: min(1.5vw, 30px);
			font-weight: normal;
			color: #fff;
			margin-top: min(2vw, 40px);
			display: flex;
			align-items: center;
			justify-content: center;
		}

		h2::before,
		h2::after {
			content: '';
			background: #fff;
			width: min(31vw, 620px);
			height: 1px;
		}

		h2::before {
			margin-right: 1em;
		}

		h2::after {
			margin-left: 1em;
		}
	}
}

@media (width <= 1000px) {
	#schedule {
		h1 {
			background: url(../images/bg_schedule_title_sp.jpg) no-repeat center top / 100%;
		}
	
		.box {
			background: url(../images/bg_schedule_date_sp.jpg) no-repeat center top / 100% 74.1vw;
			padding-top: 4vw;
	
			#date_box {
				ul {
					gap: 1vw;
					flex-wrap: wrap;
	
					li {
						a {
							font-size: 3vw;
							width: 20.8vw;
							max-width: 208px;
							line-height: 2.4;
						}
					}
	
					.active {
						font-size: 3vw;
						width: 20.8vw;
						max-width: 208px;
						line-height: 2.4;
					}
				}
			}
	
			h2 {
				font-size: 4vw;
				margin-top: 4vw;
			}
	
			h2::before,
			h2::after {
				width: 23vw;
			}
		}
	}
}
/************ schedule ************/

/************ therapist ************/
#therapist {
	h1 {
		background: url(../images/bg_therapist_title.jpg) no-repeat center top / 100%;

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_therapist_title.jpg) no-repeat center top / 2000px 500px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_therapist_title.jpg) no-repeat center top / 125vw 31.25vw;
		}
	}

	.box {
		background: url(../images/bg_schedule_date.jpg) no-repeat center top / 100% 31.5vw;
		padding: min(2vw, 40px) 0;

		.narrow_down_box {
			background: rgba(29, 29, 29, .85);
			width: 70vw;
			max-width: 1400px;
			padding: min(2vw, 40px) 0 min(4vw, 80px);
			margin: 0 auto;
			border: #bbb8b8 1px solid;
			outline: #fff min(1.1vw, 22px) solid;
			outline-offset: max(-1.5vw, -30px);

			.search_box {
				width: 40vw;
				max-width: 800px;
				margin: 0 auto;
				border-bottom: #fff 1px solid;
				display: flex;
				position: relative;

				input {
					font-size: clamp(16px, 1.5vw, 30px);
					color: #9a9898;
					width: 100%;
					height: 2vw;
					max-height: 40px;
					margin-right: min(1.5vw, 30px);
					padding: 10px 0;
					flex-grow: 1;
				}

				button {
					width: 1.55vw;
					max-width: 31px;
					position: absolute;
					right: min(0.5vw, 10px);
					top: min(0.25vw, 5px);
					pointer-events: none;

					img {
						width: 100%;
					}
				}
			}

			.btn_open {
				font-size: min(0.9vw, 18px);
				color: #fff;
				width: 9.35vw;
				max-width: 187px;
				margin: min(1vw, 20px) auto 0;
				border: min(0.1vw, 2px) solid #fff;
				text-align: center;
				line-height: 1.667;
				box-shadow: min(0.15vw, 3px) min(0.15vw, 3px) 0 0 rgba(255, 255, 255, 1);
				cursor: pointer;
				transition: .5s;
			}

			.btn_open:hover {
				color: #000;
				background: #fff;
			}

			.more_box {
				display: none;

				dl {
					width: 40vw;
					max-width: 800px;
					margin: min(1vw, 10px) auto 0;

					dt {
						font-size: min(1vw, 20px);
						color: #fff;
						margin-top: min(0.5vw, 10px);
						display: flex;
						align-items: center;
						gap: 0 min(0.25vw, 5px);

						img {
							width: 0.8vw;
							max-width: 16px;
						}

						span {
							font-size: min(0.9vw, 18px);
						}
					}

					dd {
						margin-top: min(0.5vw, 10px);
						display: flex;
						gap: min(0.5vw, 10px);
						flex-wrap: wrap;

						input {
							display: none;
						}

						label {
							font-size: min(0.9vw, 18px);
							background: #fff;
							width: 4.4vw;
							max-width: 88px;
							border-radius: min(0.7vw, 14px);
							text-align: center;
							line-height: 1.667;
							cursor: pointer;
						}

						input:checked + label {
							color: #fff;
							background: #ec6d8f;
						}

						select {
							font-size: min(0.9vw, 18px);
							background: url(../images/therapist_arrow.png) #fff no-repeat center right min(0.5vw, 10px) / min(0.6vw, 12px) min(0.55vw, 11px);
							width: 9.35vw;
							max-width: 187px;
							text-align: center;
							line-height: 1.667;
							cursor: pointer;

							option:disabled {
								color: #fff;
								background: #ec6d8f;
							}
						}
					}

					dd:nth-of-type(2) {
						label {
							width: 6vw;
							max-width: 120px;
						}
					}

					dd:nth-of-type(3) {
						label {
							width: 7.5vw;
							max-width: 150px;
						}
					}
				}

				.btn_box {
					margin-top: min(2vw, 40px);
					display: flex;
					justify-content: center;
					gap: 0 min(1vw, 20px);

					li {
						font-size: min(0.9vw, 18px);
						color: #fff;
						width: 9.35vw;
						max-width: 187px;
						border: #fff 1px solid;
						text-align: center;
						line-height: 1.667;
						cursor: pointer;
					}
				}
			}
		}
	}

	.sort_box {
		height: 4vw;
		max-height: 80px;
		align-content: center;

		ul {
			width: 70vw;
			max-width: 1400px;
			margin: 0 auto;
			display: flex;
			gap: 0 min(0.5vw, 10px);

			li {
				img {
					width: 1.25vw;
					max-width: 25px;
				}
			}

			li:nth-child(n+2) {
				font-size: min(0.9vw, 18px);
				color: #fff;
				background-color: #000;
				width: 6vw;
				max-width: 120px;
				height: fit-content;
				border-radius: min(0.7vw, 14px);
				text-align: center;
				line-height: 1.667;
				cursor: pointer;
			}

			.active {
				background-color: #ec6d8f !important;
			}
		}
	}

	.therapist_box {
		margin-top: 0;
	}
}

@media(width <= 1000px) {
	#therapist {
		h1 {
			background: url(../images/bg_therapist_title_sp.jpg) no-repeat center top / 100%;
		}
	
		.box {
			background: url(../images/bg_schedule_date_sp.jpg) no-repeat center top / 100% 74.1vw;
			padding: 1.8vw 0;
	
			.narrow_down_box {
				width: 95vw;
				padding: 5vw 0;
				outline: #fff 2.2vw solid;
				outline-offset: -3vw;
	
				.search_box {
					width: 80vw;
	
					input {
						font-size: clamp(16px, 3vw, 30px);
						height: 4vw;
						margin-right: 3vw;
					}
	
					button {
						width: 3vw;
						right: 1vw;
						top: 0.5vw;
					}
				}
	
				.btn_open {
					font-size: 3vw;
					width: 28.5vw;
					max-width: 285px;
					margin: 2vw auto 0;
					border: 0.2vw solid #fff;
					line-height: 1.5;
					box-shadow: 0.3vw 0.3vw 0 0 rgba(255, 255, 255, 1);
				}
	
				.more_box {
					display: none;
	
					dl {
						width: 100%;
						max-width: 950px;
						margin: 0 auto;
						padding-left: 7.5vw;
	
						dt {
							font-size: 2.6vw;
							margin-top: 2vw;
							gap: 0 0.5vw;

							img {
								width: 2.2vw;
							}
	
							span {
								font-size: 2.4vw;
							}
						}
	
						dd {
							margin-top: 1vw;
							gap: 1vw;
	
							label {
								font-size: 2.4vw;
								width: 15vw;
								max-width: 150px;
								border-radius: 2vw;
							}
	
							select {
								font-size: 2.4vw;
								background: url(../images/therapist_arrow.png) #fff no-repeat center right 1vw / 1.6vw 1.4vw;
								width: 25vw;
								max-width: 250px;
							}
						}
	
						dd:nth-of-type(2) {
							label {
								width: 20vw;
								max-width: 200px;
							}
						}

						dd:nth-of-type(3) {
							label {
								width: 20vw;
								max-width: 200px;
							}
						}
					}
	
					.btn_box {
						margin-top: 6vw;
						gap: 0 1vw;
	
						li {
							font-size: 2.4vw;
							width: 25vw;
							max-width: 250px;
						}
					}
				}
			}
		}
	
		.sort_box {
			height: 12.8vw;
			max-height: 128px;
	
			ul {
				width: 92.5vw;
				gap: 0 1vw;

				li {
					img {
						width: 4.1vw;
					}
				}
	
				li:nth-child(n+2) {
					font-size: 3vw;
					width: 20vw;
					max-width: 200px;
					border-radius: 2.5vw;
				}
			}
		}
	}
}
/************ therapist ************/

/************ therapist_recruit_form ************/
#therapist_recruit_form {
	h1 {
		background: url(../images/bg_therapist_recruit_form_title.jpg) no-repeat center top / 100%;

		@media (1601px <= width <= 2000px) {
			background: url(../images/bg_therapist_recruit_form_title.jpg) no-repeat center top / 2000px 500px;
		}

		@media (width <= 1600px) {
			background: url(../images/bg_therapist_recruit_form_title.jpg) no-repeat center top / 125vw 31.25vw;
		}
	}

	.box {
		.one_box {
			width: 64.063vw;
			max-width: 1025px;
			margin: min(5vw, 80px) auto 0;

			h2 {
				font-size: min(3.75vw, 60px);
				text-align: center;
			}

			form {
				dl {
					margin-top: min(2.5vw, 40px);

					dt {
						font-size: min(1.5vw, 24px);
						margin-top: min(1.25vw, 20px);
		
						span {
							font-size: min(1.125vw, 18px);
							color: #f00;
						}
					}
		
					dd {
						font-size: 30px;
						margin-top: min(0.25vw, 5px);

						input[type="text"],
						input[type="email"],
						input[type="tel"] {
							font-size: clamp(16px, 1.2vw, 24px);
						}

						input[name="age"],
						input[name="height"],
						input[name="weight"] {
							width: 125px;
						}

						input[type="radio"] {
							display: none;
						}

						label {
							font-size: 24px;
							padding-left: 35px;
							position: relative;
							cursor: pointer;
						}
	
						label::before {
							content: "";
							width: 30px;
							height: 30px;
							border: 2px solid #1c1c1c;
							border-radius: 50%;
							position: absolute;
							left: 0;
							top: 0;
							cursor: pointer;
						}
						
	
						input[type="radio"]:checked + label::after {
							content: "";
							background: #1c1c1c;
							width: 18px;
							height: 18px;
							border-radius: 50%;
							position: absolute;
							top: 15px;
							left: 15px;
							transform: translate(-50%, -50%);
						}

						.box {
							display: flex;
							gap: 0 50px;
						}

						span.error {
							font-size: 18px;
							color: #f00;
							display: block;
							margin-top: min(0.75vw, 15px);
						}

						.thumbnail_box {
							margin-top: min(1vw, 20px);
						}
					}
				}

				.btn_submit {
					width: fit-content;
					margin: min(2.5vw, 40px) auto 0;
				}
			}
		}
	}

	#confirm {
		.text_01 {
			font-size: min(1.25vw, 20px);
			font-weight: bold;
			margin-top: min(3.75vw, 60px);
			text-align: center;
		}

		dl {
			width: 64.063vw;
			margin: min(1.875vw, 30px) auto 0;

			dt {
				font-size: min(1.5vw, 24px);
				margin-top: min(1.25vw, 20px);
			}

			dd {
				font-size: min(1.5vw, 24px);
				margin-top: min(0.625vw, 10px);
				padding: 0 min(0.625vw, 10px) min(0.625vw, 10px) min(0.625vw, 10px);
				border-bottom: #6e5a2d 1px solid;
			}
		}

		.btn_box {
			margin-top: min(2.5vw, 40px);
			display: flex;
			justify-content: center;
			gap: 0 min(0.625vw, 10px);

			.btn_submit {
				margin: 0;
			}
		}
	}

	#complete {
		.box {
			margin-top: min(5vw, 80px);

			p {
				font-size: min(1.25vw, 20px);
				text-align: center;
				line-height: 1.5;

				.sp {
					display: none;
				}
			}

			.btn_back {
				width: fit-content;
				margin: min(5vw, 80px) auto 0;
			}
		}
	}
}

@media (width <= 1000px) {
	#therapist_recruit_form {
		h1 {
			background: url(../images/bg_therapist_recruit_form_title_sp.jpg) no-repeat center top / 100%;
		}
	
		.box {
			.one_box {
				width: 95vw;
				margin: 5vw auto 0;
	
				h2 {
					font-size: 6vw;
				}
	
				form {
					dl {
						margin-top: 3vw;
	
						dt {
							font-size: 4vw;
							margin-top: 2vw;
			
							span {
								font-size: 3vw;
							}
						}
			
						dd {
							font-size: 4vw;
							margin-top: 0.5vw;
	
							input[type="text"],
							input[type="email"],
							input[type="tel"] {
								font-size: clamp(16px, 4vw, 40px);
							}
	
							input[name="age"],
							input[name="height"],
							input[name="weight"] {
								width: 20vw;
							}
	
							label {
								font-size: 4vw;
								padding-left: 35px;
							}
		
							label::before {
								width: 4.5vw;
								height: 4.5vw;
								border: #1c1c1c 1px solid;
							}
							
							input[type="radio"]:checked + label::after {
								width: 3.25vw;
								height: 3.25vw;
								top: 2.275vw;
								left: 2.275vw;
							}
	
							.box {
								gap: 0 4vw;
							}

							span.error {
								font-size: 3vw;
								margin-top: 1.25vw;
							}

							.thumbnail_box {
								margin-top: 2vw;
							}
						}
					}
	
					.btn_submit {
						margin: 4vw auto 0;
					}
				}
			}
		}
	
		#confirm {
			.box {
				width: 95vw;
				margin: 4vw auto 0;

				.text_01 {
					font-size: 4vw;
					margin-top: 4vw;
				}

				dl {
					width: 100%;

					dt {
						font-size: 3vw;
						margin-top: 2vw;
					}

					dd {
						font-size: 4vw;
						padding: 1vw;
						line-height: 1.6;

						img {
							max-width: 100%;
						}
					}
				}
		
				.btn_box {
					margin-top: 8vw;
					gap: 3vw 0;
					flex-wrap: wrap;
				}
			}
		}

		#complete {
			.box {
				p {
					font-size: 4vw;

					.sp {
						display: inline-block;
					}
				}

				.btn_back {
					margin: 8vw auto 0;
				}
			}
		}
	}
}
/************ therapist_recruit_form ************/

/************ 404 ************/
#not_found {
	.box {
		background: url(../images/bg_404_header.jpg) no-repeat center top / contain;
		height: 40vw;
		max-height: 800px;
		padding-top: min(5vw, 100px);

		h1 {
			font-family: LINESeedJP_OTF_Bd;
			font-size: min(3vw, 60px);
			font-weight: bold;
			color: #ec6d8f;
			text-align: center;
			line-height: 1;

			span {
				font-size: min(8vw, 160px);
			}
		}

		h2 {
			font-size: min(2.4vw, 48px);
			font-weight: bold;
			margin-top: min(1.5vw, 30px);
			text-align: center;
			line-height: 0.7;

			span {
				font-size: min(1.5vw, 30px);
			}
		}

		p {
			font-size: min(1.2vw, 24px);
			font-weight: bold;
			margin-top: min(1.5vw, 30px);
			text-align: center;
			line-height: 1.5;

			.sp {
				display: none;
			}
		}

		.btn a {
			font-size: min(1vw, 20px);
			font-weight: bold;
			color: #fff;
			background: #ec6d8f;
			width: 15vw;
			max-width: 300px;
			margin: min(1.5vw, 30px) auto 0;
			padding-right: min(1vw, 20px);
			text-align: right;
			line-height: 2.75;
			letter-spacing: 0.1em;
			display: block;

			span {
				display: inline;
			}
		}
	}
}

@media (width <= 1000px) {
	#not_found {
		.box {
			background: url(../images/bg_404_header_sp.jpg) no-repeat center top / contain;
			height: 120vw;
			max-height: 1200px;
			padding-top: 15vw;

			h1 {
				font-size: 5vw;

				span {
					font-size: 13vw;
				}
			}

			h2 {
				font-size: 5vw;
				margin-top: 5vw;

				span {
					font-size: 3vw;
				}
			}

			p {
				font-size: 3.6vw;
				margin-top: 5vw;
				line-height: 1.6;

				.sp {
					display: inline-block;
				}
			}

			.btn a {
				font-size: 4vw;
				width: 48vw;
				max-width: 480px;
				margin: 8vw auto 0;
				padding-right: 3vw;
				line-height: 2.25;

				span {
					display: none;
				}
			}
		}
	}
}
/************ 404 ************/