@charset "UTF-8";
/* ---------------- // reset ---------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: none;
font-style: normal;
text-align: left;
zoom: 1;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
table {
border-collapse: collapse;
font-family: inherit;
}
h1,h2,h3,h4,h5 {
font-size: 100%;
font-weight: normal;
}
input,textarea,select {
font-family: inherit;
font-size: 16px;
}
input[type="button"],input[type="text"],input[type="submit"] {
    -webkit-appearance: none;
    border-radius: 0;
}
textarea {
resize: none;
}
th,td {
border-collapse: collapse;
}
/* table th,table td {
white-space: nowrap;
} */
ul,ol {
list-style-type: none;
}
img {
vertical-align: text-bottom;
vertical-align: -webkit-baseline-middle;
}
img{
max-width: 100%;
height: auto;
width /***/:auto;
}
/* ---------------- link ---------------- */
a {transition: all 1s ease-out;}
a:link { text-decoration:none; color:#192630; }
a:visited { text-decoration:none; color:#192630; }
a:hover { text-decoration:none; color:#192630; }
a:active { text-decoration:none; color:#454545; }
/* ---------------- clearfix ---------------- */
.clearfix:after { content:" "; display:block; height:0; clear:both; visibility:hidden; font-size: 0.1em;}
.clearfix { display:inline-block;}
/*\*/
* html .clearfix { height:1%; }
.clearfix { display:block; }
/**/
/* ---------------- reset // ---------------- */
body {
  font-family: dnp-shuei-mincho-pr6, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #001F45;
  line-height: 1.6;
  font-size: 13px;
  position: relative;
}
@media only screen and (min-width: 768px) {
	body {
		font-size: clamp(13px,1vw,18px);
	}
}
@media only screen and (min-width: 1024px) {
	body {
		font-size: 18px;
	}
}
/* ---------------- font ---------------- */
@font-face {
  font-family: 'garamond';
  src: url('../font/GARA_1.woff') format('woff'),
       url('../font/GARA_1.ttf') format('truetype');
}
.garamond {
	font-family: 'garamond';
}
/*--------------------------------------
box-sizing
--------------------------------------*/
* {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-mos-box-sizing: border-box;
	-mz-box-sizing: border-box;
	-o-box-sizing: border-box;
}
/*--------------------------------------
transition
--------------------------------------*/
.tra {
	transition: all 0.5s ease-out;
	-o-transition: all 0.5s ease-out;
	-moz-transition: all 0.5s ease-out;
	-webkit-transition: all 0.5s ease-out;
	-ms-transition: all 0.5s ease-out;
}
.preload * {
	-webkit-transition: none !important;
	-moz-transition: none !important;
	-ms-transition: none !important;
	-o-transition: none !important;
	transition: none !important;
}
.nowrap {
	white-space: nowrap;
}
/* page_body */
.page_body_01 {
	width: 100%;
	padding: 0 36px;
}
@media only screen and (min-width: 1024px) {
	.page_body_01 {
		padding: 0 136px 0 36px;
	}
}
@media only screen and (min-width: 1480px) {
	.page_body_01 {
		width: 1236px;
		margin: auto;
		padding: 0;
	}
}
.page_body_02 {
	width: 100%;
}
@media only screen and (min-width: 1024px) {
	.page_body_02 {
		padding: 0 0 0 107px;
	}
}
@media only screen and (min-width: 1280px) {
	.page_body_02 {
		padding: 0 0 0 214px;
	}
}
/* background */
.bg_01 {
	background: #F9F9F7;
}
.bg_02 {
	background: #F3F4EF;
}
.bg_white {
	background: #fff;
}

/* wrap */
@media screen and (min-width:1024px) {
	.wrap {
		display: flex;
	}
}
/* sidebar */
.sidebar {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 100;
	width: 100px;
	height: 100vh;
	background: #383D4D;
	display: none;
}
@media screen and (min-width:1024px) {
	.sidebar {
		display: block;
		width: 100px;
	}
}
/* gnav */
.nav_btn {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 103;
	display: flex;
	justify-content: center;
	width: 50px;
	height: 50px;
	background: #383D4D;
	cursor: pointer;
}
.nav_btn_open {
	background: #383D4D;
}
.nav_btn_wrap {
	position: relative;
	width: 30px;
	height: auto;
	transition: all 0.5s ease-out;
}
.nav_btn_txt {
	position: relative;
	top: 32px;
	left: -.9px;
	z-index: -1;
	display: block;
	font-size: 10px;
	color: #fff;
	line-height: 1;
	letter-spacing: 1px;
	transition: all 0.5s ease-out;
	word-break: keep-all;
}
.nav_btn_line {
	position: absolute;
	width: 100%;
	height: 1px;
	background: #fff;
	transition: transform .6s;
	transition: all 0.5s ease-out;
}
.nav_btn_line_open {
	display: block;
}
.nav_btn_line-top {
	top: 16px;
}
.nav_btn_line-center {
	display: none;
	/* top: 17px; */
}
.nav_btn_line-bottom {
	top: 24px;
}
.nav_btn_line-top.active {
	top: 18px;
	transform: rotate(45deg);
}
.nav_btn_line-center.active {
	transform:scaleX(0);
}
.nav_btn_line-bottom.active {
	top: 18px;
	transform: rotate(-45deg);
}
.nav_btn_txt.close {
	left: -3px;
}
.gnav {
	position: fixed;
	top: 0;
	z-index: 102;
	width: 100%;
	height: 100%;
	display: none;
	background: #fff;
	overflow-y: scroll;
}
.gnav_wrap {
	display: flex;
	flex-direction: column;
	flex-flow: column;
	animation: gnav_wrap_ani02 .5s linear;
}
.gnav_wrap_ani {
	animation: gnav_wrap_ani01 .5s linear;
}
@keyframes gnav_wrap_ani01 {
	0% {
		transform:translateY(-10px);
	}
	100% {
		transform:translateY(0);
	}
}
@keyframes gnav_wrap_ani02 {
	0% {
		transform:translateY(0);
	}
	100% {
		transform:translateY(-10px);
	}
}
.gnav_list_wrap {
	height: 100%;
	overflow-x: hidden;
	background: #F3F4EF;
}
.gnav_list_inner {
	padding: 50px 0 0;
}
.gnav_list {
	display: flex;
	flex-direction: column;
	border-top: 1px solid #D4D5D5;
}
.gnav_list_item {
	border-bottom: 1px solid #D4D5D5;
}
.gnav_list_link {
	display: block;
	padding: 13px 36px;
	font-size: 14px;
	color: #001F45;
}
.reserve_btn.reservation_bnr {
	width: 302px;
	margin: 40px auto 0;
	text-align: center;
}
.business_hours {
	font-size: 18px;
	color: #001F45;
	text-align: right;
}
.business_hours span {
	margin: 0 0 0 1em;
}
.tel_number {
	margin: 8px 0 0;
	font-size: 28px;
	text-align: right;
	color: #001F45;
	line-height: 1;
}
.tel_contact {
	display: inline-block;
	font-size: 16px;
	margin: 0 0 0 1em;
}
.tel_wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 255px;
	margin: 20px auto 0;
}
.gnav_img {
	display: none;
}
.gnav_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.ohp_top_link {
	margin: 119px 0 0;
}
.ohp_top_link a {
	display: flex;
	justify-content: space-between;
	padding: 23px 36px;
	background: #0A2341;
}
@media only screen and (min-width: 768px) {
	.gnav_list_inner {
		padding: 70px 0 0;
	}
	.gnav_list_link {
		font-size: calc(14px, 2.34vw, 24px);
	}
	.reserve_btn.reservation_bnr {
		width: 534px;
		margin: 89px auto 0;
	}
	.tel_wrap {
		align-items: center;
		width: 350px;
		margin: 40px auto 0;
	}
	.tel_number {
		font-size: clamp(28px, 3.9vw, 40px);
	}
}
@media only screen and (min-width: 1024px) {
	.gnav {
		overflow-y: auto;
	}
	.gnav_wrap {
		flex-direction: row;
		flex-flow: row-reverse;
		margin: 0;
		height: 100vh;
	}
	.nav_btn {
		width: 100px;
		height: 100px;
	}
	.nav_btn_wrap {
		width: 42px;
	}
	.nav_btn_line-top {
		top: 35px;
	}
	.nav_btn_line-bottom {
		top: 45px;
	}
	.nav_btn_line-top.active {
		top: 36px;
	}
	.nav_btn_line-bottom.active {
		top: 36px;
	}
	.nav_btn_txt {
		top: 58px;
		left: 0;
		font-size: 14px;
	}
	.nav_btn_txt.close {
		letter-spacing: 1px;
	}
	.gnav_list_wrap {
		width: calc(65% + 100px);
		border-right: solid 100px #383D4D;
		overflow-x: hidden;
	}
	.gnav_list_inner {
		width: calc(100% + 17px);
		height: 100%;
		padding: 100px 50px 100px 100px;
		overflow-y: scroll;
	}
	.gnav_list {
		gap: 34px 0;
		border-top: none;
	}
	.gnav_list_item {
		padding: 0;
		border-bottom: none;
	}
	.gnav_list_link {
		display: inline;
		padding: 0;
		font-size: 24px;
	}
	.reserve_btn.reservation_bnr {
		margin: 50px 0 0;
		text-align: left;
		width: 484px;
	}
	.business_hours {
		font-size: 22px;
	}
	.tel_wrap {
		width: auto;
		align-items: flex-start;
		margin: 57px 0 0;
	}
	.tel_number {
		font-size: 40px;
	}
	.gnav_img {
		display: block;
		width: 35%;
		height: 100vh;
	}
	.ohp_top_link {
		display: none;
	}
}
@media only screen and (min-width: 1280px) {
	.reserve_btn.reservation_bnr .btn_inner {
		width: 97%;
	}
	.reserve_btn.reservation_bnr {
		width: 534px;
	}
}
@media only screen and (min-width: 1450px) {
	.gnav_list_wrap {
		width: calc(50% + 100px);
	}
	.gnav_list_inner {
		padding: 100px 0 100px 100px;
	}
	.gnav_img {
		width: 50%;
	}
}
@media only screen and (min-width: 1650px) {
	.gnav_list_inner {
		padding: 153px 50px 100px 181px;
	}
}
/* side_ohp_logo */
.side_ohp_logo {
	display: flex;
	justify-content: center;
	margin: 100px 0 0;
	padding: 30px 0 25px;
	background: #0A2341;
	transition: all 0.5s ease-out;
}
.side_ohp_logo:hover {
	background: #1A2F48;
}
/* ページトップ */
.page_top a {
	position: fixed;
	bottom: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100px;
	height: 80px;
	padding: 27px 0 0;
	background: #383D4D;
	transition: all 0.5s ease-out;
}
.page_top a:hover {
	background: #001F45;
}
.page_top a::before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 80px;
	height: 1px;
	background: #fff;
}
.page_top_txt {
	margin: 15px 0 0;
	transition: all 0.5s ease-out;
	font-size: 14px;
	color: #fff;
	line-height: 1;
}
.page_top:hover .page_top_txt {
	margin: 5px 0 0;
}
/* contents */
.contents {
	width: 100%;
}
/* mv */
.mv_head {
	height: 50px;
	background: #fff;
}
.mv_area {
	position: relative;
	z-index: 1;
	width: 100%;
}
.mv_img {
	width: 100%;
	object-fit: cover;
}
.logo {
	position: absolute;
	top: 11px;
	left: -20px;
}
.logo img {
	width: 310px;
	height: 30px;
	vertical-align: top;
}
.mv_name_wrap {
	position: absolute;
	left: 0;
	bottom: 30px;
}
.mv_name_en {
	display: inline-block;
	padding: 6px 18px 10px 66px;
	line-height: 1;
	font-size: 12px;
	color: #fff;
	background: #001F45;
	letter-spacing: 4px;
}
.mv_name_ja {
	margin: 8px 0 0 40px;
	font-size: 40px;
	color: #001F45;
	line-height: 1;
}
.mv_bottom_txt {
	display: none;
}
.inner_wrap {
	position: relative;
	z-index: 2;
}
.contents_nav {
	display: none;
}
@media only screen and (min-width: 768px) {
	.mv_name_en {
		padding: 6px 27px 10px 128px;
		font-size: clamp(12px, 2.34vw, 24px);
	}
	.mv_name_ja {
		margin: 13px 0 0 100px;
		font-size: clamp(40px, 7vw, 90px);
	}
	.mv_name_wrap {
		bottom: 70px;
	}
}
@media only screen and (min-width: 1024px) {
	.mv_area {
		position: fixed;
		width: calc( 100% - 100px);
		height: calc(100vh - 74px);
	}
	.mv_head {
		height: auto;
		background: transparent;
	}
	.logo {
		top: 34px;
		left: 50px;
	}
	.logo img {
		width: 400px;
		height: 130px;
	}
	.mv_name_wrap {
		bottom: 302px;
	}
	.mv_name_en {
		font-size: 24px;
	}
	.mv_name_ja {
		font-size: 90px;
	}
	.mv_img {
		height: 100vh;
	}
	.mv_bottom_txt {
		position: absolute;
		left: 0;
		bottom: -4px;
		display: block;
		line-height: 1;
	}
	.contents_nav {
		display: block;
		width: 100%;
		padding: 24px 0;
		backdrop-filter: blur(7px);
		-webkit-backdrop-filter: blur(7px);
		background-color: rgba(255, 255, 255, 0.2);
	}
	.contents_nav_list {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0 30px;
	}
	.contents_nav_link {
		display: flex;
		align-items: center;
		gap: 0 5px;
		font-size: 16px;
		color: #001F45;
	}
	.contents_nav_link img {
		margin: 5px 0 0;
	}
	.inner_wrap {
		padding: calc(100vh - 74px) 0 0;
	}
	.main_head_txt {
		display: none;
	}
}
@media only screen and (min-width: 1280px) {
	.logo img {
		width: 480px;
	}
	.contents_nav_list {
		gap: 0 60px;
	}
	.contents_nav_link {
		gap: 0 8px;
		font-size: 20px;
	}
}
.contents_nav_link img {
	margin: 5px 0 0;
}
.floating_pc {
	position: fixed;
	right: 30px;
	bottom: 120px;
	z-index: 101;
	display: none;
	width: 220px;
	height: 220px;
}
@media only screen and (min-width: 1024px) {
	.floating_pc {
		display: block;
	}
}
@media only screen and (max-height: 830px) {
	.floating_pc {
		right: 120px;
		width: 150px;
		height: 150px;
	}
}
/* main */
.main {
	background: #fff;
}
/* イントロ */
.intro_area {
	padding: 60px 0 40px;
	background: #F9F9F7;
}
.intro_img_01 {
	display: none;
}
.intro_img_02 {
	display: none;
}
.intro_txt_wrap {
	color: #001F45;
}
.intro_ttl {
	font-size: 17px;
	line-height: 1.8;
}
.intro_txt {
	margin: 20px 0 0;
	font-size: 13px;
	line-height: 2;
}
.intro_txt br {
	display: none;
}
.intro_list {
	display: flex;
	flex-direction: column;
	gap: 17px 0;
	margin: 30px 0 0;
	padding: 18px 20px;
	background: #fff;
}
.intro_list_item {
	position: relative;
	font-size: 13px;
	padding: 0 0 0 22px;
	line-height: 2;
}
.intro_list_item::before {
	position: absolute;
	left: 0;
	top: 9px;
	display: block;
	content: '';
	width: 11px;
	height: 11px;
	background: #E49B5B;
}
.intro_img_sp {
	display: block;
	padding: 0 0 60px 36px;
	background: #F9F9F7;
	text-align: right;
}
@media only screen and (min-width: 768px) {
	.intro_ttl {
		font-size: clamp(17px,2vw,36px);
	}
	.intro_txt_wrap {
		max-width: 70%;
		padding: 45px 0 0 0;
	}
	.intro_txt {
		font-size: clamp(13px,1.12vw,20px);
	}
	.intro_txt br {
		display: block;
	}
	.intro_list_item {
		font-size: 18px;
		font-size: clamp(13px,1vw,18px);
	}
	.intro_img_sp {
		text-align: center;
	}
}
@media only screen and (min-width: 1024px) {
	.intro_area {
		padding: 80px 0 121px;
	}
	.intro_txt {
		margin: 49px 0 0;
	}
	.intro_list {
		gap: 40px 0;
		margin: 48px 0 0;
		padding: 60px;
	}
	.intro_list_item::before {
		top: 12px;
		width: 16px;
		height: 16px;
	}
}
@media only screen and (min-width: 1280px) {
	.intro_txt_wrap {
		width: 73%;
		padding: 45px 20px 0 0;
	}
	.intro_img_01 {
		display: block;
		width: 25.2%;
		margin: 280px 0 0;
		padding: 0 20px 0 0;
		float: left;
	}
	.intro_img_02 {
		display: block;
		width: 27%;
		margin: 0 77px 0 48px;
		float: right;
	}
	.intro_img_sp {
		display: none;
	}
}
@media only screen and (min-width: 1780px) {
	.intro_ttl {
		font-size: 36px;
	}
	.intro_txt {
		font-size: 20px;
	}
	.intro_list_item {
		font-size: 18px;
	}
}
/* 診療時間 / アクセス */
.access_wrap {
	padding: 66px 0 60px;
}
.schedule_sub_ttl {
	padding: 0 0 6px;
	font-size: 16px;
	border-bottom: 1px solid #D4D5D5;
}
.schedule_sub_ttl_days {
	font-size: 13px;
}
.schedule_table {
	width: 100%;
	margin: 20px 0 0;
	border-collapse: collapse;
	table-layout: fixed
}
.schedule_table th, .schedule_table td {
	padding: 10px;
	text-align: center;
	border: 1px solid #D4D5D5;
	font-size: 14px;
}
.schedule_table th {
	background-color: #F3F4EF;
	font-weight: normal;
}
.schedule_table td {
	background-color: #fff;
}
.schedule_table th.schedule_days {
	width: 80px;
}
.schedule_table td.schedule_days {
	background-color: #F3F4EF;
	font-size: 14px;
}
@media only screen and (min-width: 768px) {
	.schedule_sub_ttl_days {
		font-size: clamp(13px,1.95vw,20px);
	}
	.schedule_sub_ttl {
		font-size: clamp(16px,2.3vw,24px);
	}
	.schedule_table th, .schedule_table td {
		font-size: clamp(14px,1.7vw,18px);
	}
	.schedule_table td.schedule_days {
		font-size: clamp(14px,1.95vw,20px);
	}
	.schedule_table th.schedule_days {
		width: 150px;
	}
}
@media only screen and (min-width: 1024px) {
	.schedule_sub_ttl_days {
		font-size: 20px;
	}
	.schedule_sub_ttl {
		padding: 0 0 19px;
		font-size: 24px;
	}
	.schedule_table {
		margin: 40px 0 0;
	}
	.schedule_table th, .schedule_table td {
		padding: 15px;
		font-size: 18px;
	}
	.schedule_table td.schedule_days {
		font-size: 20px;
	}
}
/* アクセス */
.access_container {
	margin: 40px 0 0;
}
.access_info_wrap {
	width: 100%;
	margin: 20px 0 0;
}
.access_info_inner {
	display: flex;
	flex-direction: row-reverse;
	gap: 0 10px;
}
.access_photo {
	width: calc(50% - 10px);
}
.access_photo img {
	width: 100%;
	height: auto;
}
.access_info_ttl {
	max-width: 428px;
	margin: 30px 0 0;
	padding: 9px 9px 9px 15px;
	background: #F3F4EF;
	line-height: 1;
	font-size: 13px;
}
.access_address {
	width: calc(50% - 5px);
	line-height: 2;
}
.access_info_list {
	margin: 12px 0 0;
}
.access_info_list li {
	position: relative;
	margin: 0 0 10px;
	padding: 0 0 0 16px;
}
.access_info_list li:last-child {
	margin: 0;
}
.access_info_list li::before {
	position: absolute;
	left: 0;
	top: 9px;
	content: '';
	display: block;
	width: 5.6px;
	height: 5.6px;
	background: #E49B5B;
}
.access_map {
	margin: 10px 0 0;
}
@media only screen and (min-width: 768px) {
	.access_info_inner {
		display: block;
	}
	.access_address {
		width: calc(100% - 47.7% - 89px);
		line-height: 2;
	}
	.access_info_list_wrap {
		width: calc(100% - 47.7% - 89px);
	}
	.access_photo {
		float: right;
		width: 47.7%;
		margin: 0 0 0 89px;
	}
	.access_info_ttl {
		font-size: clamp(13px,1.95vw,20px);
	}
	.access_map {
		margin: 58px 0 0;
	}
}
@media only screen and (min-width: 1024px) {
	.access_wrap {
		padding: 120px 0;
	}
	.access_container {
		margin: 80px 0 0;
	}
	.access_info_wrap {
		gap: 0 89px;
		margin: 40px 0 0;
	}
	.access_info_ttl {
		margin: 41px 0 0;
		padding: 9px 9px 12px 21px;
		font-size: 20px;
	}
	.access_info_list li {
		margin: 0 0 20px;
		padding: 0 0 0 22px;
	}
	.access_info_list li::before {
		top: 12px;
		width: 8px;
		height: 8px;
	}
}
/* 費用 */
.fee_wrap {
	padding: 66px 0 60px;
	background: #F9F9F7;
}
.notification_box {
	background: #fff;
}
.notification_ttl {
	padding: 20px 19px 12px;
	border-bottom: 1px solid #D4D5D5;
	font-size: 15px;
	color: #E49B5B;
}
.notification_txt {
	padding: 20px 19px 30px;
	line-height: 2;
}
.notification_txt span {
	text-decoration-color: #E49B5B !important;
}
.product_container {
	margin: 40px 0 0;
	padding: 20px 0 0;
	border-top: solid #D4D5D5 1px;
}
.fee_name {
	position: relative;
	padding: 0 0 0 22px;
	font-size: 16px;
	line-height: 1;
}
.fee_name::before {
	position: absolute;
	left: 0;
	top: 8px;
	content: '';
	display: block;
	width: 14px;
	height: 4px;
	background: #E49B5B;
}
.fee_praice {
	margin: 20px 0 0;
	font-size: 28px;
}
.fee_praice span {
	font-size: 14px;
}
.fee_txt {
	margin: 15px 0 0;
	line-height: 2;
}
.first_ttl {
	margin: 20px 0 0;
	padding: 8px 8px 8px 14px;
	background: #fff;
	font-size: 13px;
}
.first_list {
	margin: 20px 0 0;
}
.first_list li {
	position: relative;
	margin: 0 0 10px;
	padding: 0 0 0 16px;
}
.first_list li:last-child {
	margin: 0;
}
.first_list li::before {
	position: absolute;
	left: 0;
	top: 6px;
	content: "";
	width: 5.6px;
	height: 5.6px;
	background: #E49B5B;
}
.fee_default {
	margin: 20px 0 0;
	padding: 40px 0 0;
	border-top: solid #D4D5D5 1px;
}
.fee_default_table {
	width: 100%;
	border-collapse: collapse;
}
.fee_default_table th,
.fee_default_table td {
	border: 1px solid #D4D5D5;
	padding: 10px 16px;
	text-align: left;
	font-weight: normal;
	font-size: 13px;
}
.fee_default_table th {
	background-color: #F3F4EF;
	width: 120px;
}
.fee_default_table td {
	background-color: #fff;
	text-align: right;
}
.fee_default_note {
	font-size: 11px;
}
.fee_default_pc {
	display: none;
}
.fee_default_intro {
	margin: 32px 0 40px;
}
.fee_default_intro p + p {
	margin: 22px 0 0;
}
.fee_default_ttl {
	margin: 40px 0 5px;
	font-size: 24px;
}
.fee_note {
	margin: 39px 0 0;
}
.fee_note p {
	padding-left: 1em;
	text-indent: -1em;
}
.fee_note p + p {
	margin: 10px 0 0;
}
@media only screen and (min-width: 768px) {
	.notification_ttl {
		font-size: clamp(15px,2.3vw,24px);
	}
	.fee_name {
		font-size: clamp(16px,2.3vw,24px);
	}
	.fee_praice {
		font-size: clamp(28px,3.9vw,40px);
	}
	.fee_praice span {
		font-size: clamp(14px,1.95vw,20px);
	}
	.first_ttl {
		font-size: clamp(13px,1.95vw,20px);
	}
	.fee_default_sp {
		display: none;
	}
	.fee_default_pc {
		display: table-cell;
	}
	.fee_default_table th,
	.fee_default_table td {
		font-size: clamp(14px,1.95vw,20px);
	}
	.fee_default_br {
		display: none;
	}
}
@media only screen and (min-width: 1024px) {
	.fee_wrap {
		padding: 120px 0;
	}
	.notification_ttl {
		padding: 30px 58px 22px;
		font-size: 24px;
	}
	.notification_txt {
		padding: 31px 59px 57px;
	}
	.product_container {
		margin: 80px 0 0;
		padding: 40px 0 0;
	}
	.fee_name {
		padding: 0 0 0 30px;
		font-size: 24px;
	}
	.fee_name::before {
		top: 12px;
		width: 20px;
		height: 5px;
	}
	.fee_praice {
		margin: 30px 0 0;
		font-size: 40px;
	}
	.fee_praice span {
		font-size: 20px;
	}
	.fee_txt {
		margin: 30px 0 0;
	}
	.first_ttl {
		margin: 41px 0 0;
		padding: 9px 9px 12px 21px;
		font-size: 20px;
	}
	.first_list {
		margin: 25px 0 0;
	}
	.first_list li {
		margin: 0 0 20px;
		padding: 0 0 0 22px;
	}
	.first_list li::before {
		top: 12px;
		width: 8px;
		height: 8px;
	}
	.fee_default {
		margin: 40px 0 0;
		padding: 80px 0 0;
	}
	.fee_default_table th,
	.fee_default_table td {
		padding: 15px;
		font-size: 20px;
	}
	.fee_default_table th {
		background-color: #F3F4EF;
		width: 320px;
	}
	.fee_default_note {
		font-size: 16px;
	}
}
/* フローティング */
.floating_sp {
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 100;
	display: flex;
	width: 100%;
}
.floating_sp a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 50%;
	height: 50px;
	padding: 0 9px 0 19px;
}
.floating_sp a:nth-child(1) {
	background: #0A2341;
}
.floating_sp a:nth-child(2) {
	background: #42B5B1;
}
.floating_sp a svg {
	width: 6px;
	height: 10px;
}
@media only screen and (min-width: 1024px) {
	.floating_sp {
		display: none;
	}
}
/* section_ttl */
.sec_ttl {
	margin: 0 0 27px;
}
.sec_ttl_en {
	font-size: 36px;
	line-height: 1.1;
}
.sec_ttl_ja {
	font-size: 14px;
	line-height: 2;
}
@media only screen and (min-width: 768px) {
	.sec_ttl_en {
		font-size: clamp(36px,4.68vw,60px);
	}
	.sec_ttl_ja {
		font-size: clamp(14px,1.56vw,20px);
	}
}
@media only screen and (min-width: 1280px) {
	.sec_ttl {
		margin: 0 0 40px;
	}
	.sec_ttl_en {
		font-size: 60px;
	}
	.sec_ttl_ja {
		font-size: 20px;
	}
}

/* フッター */
.footer_wrap {
	background: #383D4D;
	color: #fff;
	padding: 60px 36px 80px;
}
.footer_inner {
	padding: 0 0 40px;
	border-bottom: 1px solid #D4D5D5;
	display: flex;
	justify-content: center;
}
.footer_logo {
	max-width: 200px;
	margin: auto;
}
.footer_address {
	font-size: 12px;
	margin: 20px 0 0;
	text-align: center;
}
.footer_address p {
	text-align: left;
	display: inline-block;
}
.footer_btn {
	margin: 40px 0 0;
}
.footer_btn a {
	color: #fff;
	width: 240px;
	height: 50px;
	font-size: 12px;
	border-radius: 25px;
	border: 1px solid #fff;
	padding: 0 16px 1px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin: auto;
}
.footer_btn a svg {
	fill: #fff;
}
.ohp_logo {
	width: 43px;
}
.footer_right {
	display: none;
}
.copy {
	margin: 20px 0 0;
}
.copy small {
	font-size: 9px;
}

@media screen and (min-width:768px) {
	.footer_address {
		font-size: clamp(12px,1.4vw,18px);
	}
	.footer_btn {
		margin: 20px 0 0;
	}
	.footer_btn a {
		height: 45px;
		font-size: 13px;
		border-radius: 25px;
	}
	.copy {
		margin: 30px 0 0;
	}
	.copy small {
		font-size: 12px;
	}
}
@media screen and (min-width:1024px) {
	.footer_inner {
		justify-content: space-between;
	}
	.footer_wrap {
		padding: 80px 0 100px 60px;
	}
	.footer_inner {
		padding: 0 0 60px;
		gap: 100px;
	}
	.footer_address {
		text-align: left;
	}
	.footer_logo {
		max-width: unset;
		margin: unset;
	}
	.footer_btn a {
		width: 270px;
		height: 60px;
		font-size: 14px;
		border-radius: 30px;
		gap: 25px;
		transition: all 0.5s ease-out;
		margin: unset;
	}
	.footer_btn a:hover {
		background: #fff;
		color: #383D4D;
	}
	.footer_btn a:hover svg {
		color: #383D4D;
		fill: #383D4D;
		transition: all 0.5s ease-out;
	}
	.ohp_logo {
		width: unset;
	}
	.footer_right {
		display: block;
		padding: 0 130px 0 0;
	}
	.footer_right_ttl {
		font-size: 28px;
		line-height: 2;
	}
	.contents_list_wrap {
		display: flex;
		gap: 30px;
		margin: 15px 0 0;
	}
	.contents_list a {
		color: #fff;
	}
	.contents_list a:hover {
		opacity: .6;
	}
	.contents_item {
		display: flex;
		align-items: center;
		gap: 9px;
		white-space: nowrap;
	}
	.contents_item + .contents_item {
		margin: 20px 0 0;
	}
	.contents_item::before {
		content: "";
		display: block;
		width: 15px;
		height: 1px;
		background: #E49B5B;
	}
	.copy {
		margin: 53px 0 0;
		text-align: left;
	}
	.copy small {
		font-size: 14px;
	}
}
@media screen and (min-width:1280px) {
	.footer_wrap {
		padding: 80px 0 100px 100px;
	}
	.footer_address {
		font-size: 18px;
	}
	.footer_right {
		padding: 0 180px 0 0;
	}
	.footer_right_ttl {
		font-size: 33px;
	}
	.contents_list_wrap {
		gap: 127px;
		font-size: 18px;
	}
}
@media screen and (min-width:1400px) {
	.footer_right {
		padding: 0 150px 0 0;
	}
}
@media screen and (min-width:1600px) {
	.footer_right {
		padding: 0 250px 0 0;
	}
}

/* FAQ */
.faq_wrap {
	padding: 60px 0;
}
.faq_box {
	margin: 27px 0 0;
} 
.faq_box li {
	background: #fff;
	cursor: pointer;
} 
.faq_box li + li {
	margin: 7px 0 0;
} 
.q_mark,
.a_mark {
	font-size: 20px;
	color: #D4D5D5;
	line-height: 1.2;
}
.quest {
	font-size: 14px;
	padding: 13px 35px 15px 13px;
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 12px;
}
.q_info {
	line-height: 2;
}
.answer {
	display: flex;
	gap: 12px;
	margin: 0 37px 0 33px;
	border-top: 1px solid #D4D5D5;
	padding: 10px 6px 20px;
}
.ans_info {
	font-size: 13px;
	line-height: 2;
}
.i_box {
	position: absolute;
	top: 50%;
	right: 10px;
	width: 14px;
	height: 14px;
	margin-top: -8px;
}
.i_box:before,
.i_box:after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
}
.i_box:before {
	border-top: 1px solid #001F45;
	width: 14px;
	height: 0;
	top: 0;
	bottom: 0;
	right: 0;
}
.i_box:after {
	border-left: 1px solid #001F45;
	width: 0;
	height: 14px;
	top: 1px;
	bottom: 0;
	right: 6.5px;
	transition: .3s;
}
.open .i_box:after {
	height: 0;
}
/* 展開時デザイン */
.open.quest {
	border-radius: 10px 10px 0 0;
}
.open.quest .faq_arw {
	transform: translateY(-50%) rotate(180deg);
}

@media screen and (min-width: 768px) {
	.q_mark,
	.a_mark {
		font-size: clamp(20px,2.34vw,30px);
	}
	.quest {
		font-size: clamp(14px,1.56vw,20px);
	}
	.ans_info {
		font-size: clamp(13px,1.4vw,18px);
	}
	.i_box {
		right: 20px;
	}
}
@media only screen and (min-width: 1024px) {
	.faq_wrap {
		padding: 120px 0;
	}
	.faq_box li + li {
		margin: 10px 0 0;
	} 
	.quest {
		padding: 18px 35px 22px 35px;
		gap: 12px;
	}
	.answer {
		gap: 19px;
		margin: 0 100px 0 65px;
		padding: 19px 6px 26px;
	}
	.answer::before {
		margin: 0 0 19px;
	}
	.i_box {
		right: 30px;
		width: 20px;
		height: 20px;
		margin-top: -9.5px;
	}
	.i_box:before {
		width: 20px;
	}
	.i_box:after {
		top: 0;
		height: 20px;
		right: 9px;
	}
}
@media only screen and (min-width: 1280px) {
	.q_mark,
	.a_mark {
		font-size: 30px;
	}
	.quest {
		font-size: 20px;  
	}
	.ans_info {
		font-size: 18px;
	}
}

/* 治療について */
.treatment_wrap {
	padding: 132px 0 60px;
	position: relative;
}
.sec_img {
	position: absolute;
	right: 0;
	top: -60px;
	width: 339px;
}
.sec_img h3 {
	font-size: 36px;
	position: absolute;
	bottom: -22px;
}
.treatment_flow {
	line-height: 2;
}
.treatment_flow_txt {
	font-size: 13px;
}
.flow_list {
	margin: 20px 0 0;
	border-top: 1px solid #D4D5D5;
}
.flow_list li {
	padding: 8px 0 12px;
	border-bottom: 1px solid #D4D5D5;
	display: flex;
	align-items: flex-start;
	gap: 15px;
	font-size: 14px;
}
.flow_no {
	color: #D4D5D5;
	font-size: 20px;
}
.flow_txt {
	margin: 5px 0 0;
}
.treatment_flow_note {
	font-size: 13px;
	margin: 20px 0 0;
}

@media only screen and (min-width: 768px) {
	.treatment_wrap {
		padding: 306px 0 60px;
	}
	.sec_img {
		width:77%;
	}
	.sec_img h3 {
		font-size: clamp(36px,4.68vw,60px);
	}
	.treatment_flow_txt {
		font-size: clamp(13px,1.4vw,18px);
	}
	.flow_list li {
		font-size: clamp(14px,1.56vw,20px);
	}
	.flow_no {
		font-size: clamp(20px,2.34vw,30px);
	}
	.treatment_flow_note {
		font-size: clamp(13px,1.4vw,18px);
	}
}
@media only screen and (min-width: 1024px) {
	.treatment_wrap {
		padding: 340px 0 120px;
	}
	.sec_img h3 {
		bottom: -32px;
		left: -50px;
	}
	.flow_list {
		margin: 40px 0 0;
	}
	.flow_list li {
		padding: 11px 0;
		align-items: center;
		gap: 25px;
	}
	.flow_txt {
		margin: 2px 0 0;
	}
	.treatment_flow_note {
		margin: 40px 0 0;
	}
	.treatment_flow_note p + p {
		margin: 5px 0 0;
	}
}
@media only screen and (min-width: 1280px) {
	.treatment_wrap {
		padding: 503px 0 120px;
	}
	.sec_img {
		top: -120px;
	}
	.sec_img h3 {
		font-size: 60px;
		bottom: -47px;
		left: -107px;
	}
	.treatment_flow_txt {
		font-size: 18px;
	}
	.flow_list li {
		font-size: 20px;
	}
	.flow_no {
		font-size: 30px;
	}
	.treatment_flow_note {
		font-size: 18px;
	}
}

/* 口臭について */
.smell_wrap {
	padding: 133px 0 120px;
	position: relative;
}
.smell_wrap_inner {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.smell_wrap_ttl {
	font-size: 18px;
	line-height: 2.5;
}
.smell_wrap_ttl .value {
	font-size: 35px;
	line-height: 1;
}
.smell_wrap_ttl .dots {
	font-size: 23px;
	background-image: radial-gradient(circle at center, #E49B5B 20%, transparent 20%);
  background-position: top right;
  background-repeat: repeat-x;
  background-size: 1em 0.3em;
  padding-top: .4em;
	line-height: 1.5;
}
.smell_inner_right {
	text-align: center;
}
.smell_inner_right p {
	font-size: 13px;
	line-height: 2;
}
.smell_inner_right p + p {
	margin: 15px 0 0;
}
.smell_wrap_inner02 {
	margin: 40px 0 0;
}
.smell_wrap_inner02 .smell_wrap_inner {
	gap: 20px;
}
.br_02 {
	display: none;
}
.smell_inner_left_txt {
	font-size: 13px;
	margin: 13px 0 0;
	line-height: 2;
}
.frame-box {
	padding: 15px 32px;
	position: relative;
	font-size: 18px;
	text-align: center;
	width: 252px;
	margin: auto;
}
.frame-box::before,
.frame-box::after {
	content: '';
	width: 32px;
	height: 32px;
	position: absolute;
}
.frame-box::before {
	border-left: solid 5px #fff;
	border-top: solid 5px #fff;
	top: 0;
	left: 0;
}
.frame-box::after {
	border-right: solid 5px #fff;
	border-bottom: solid 5px #fff;
	bottom: 0;
	right: 0;
}
.smell_wrap_inner03 {
	margin: 85px 0 0;
}
.material_ttl {
	font-size: 13px;
	line-height: 2;
	padding: 0 0 3px;
	border-bottom: 1px solid #D4D5D5;
}
.material_ttl span {
	font-size: 16px;
	line-height: 1.2;
}
.material_list {
	margin: 28px 0 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.material_box {
	line-height: 1.5;
}
.material_name {
	height: 56px;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	font-size: 16px;
	text-align: center;
}
.material_name span {
	font-size: 13px;
}
.material_features {
	display: flex;
	justify-content: center;
	align-items: center;
	border-bottom: 2px solid #fff;
	font-size: 13px;
	padding: 9px 0 15px;
	text-align: center;
}
.device_wrap {
	margin: 60px 0 0;
}
.device_item {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 20px 0;
	border-bottom: 1px solid #D4D5D5;
	line-height: 2;
}
.device_item01 {
	border-top: 1px solid #D4D5D5;
}
.device_name {
	font-size: 16px;
	display: flex;
	align-items: center;
	gap: 6px;
}
.device_name::before {
	content: "";
	display: block;
	width: 14px;
	height: 3.5px;
	background: #E49B5B;
	margin: 5px 0 0;
}
.device_txt {
	font-size: 13px;
	margin: 15px 0 0;
}
.device_txt p + p {
	margin: 15px 0 0;
}
.device_image {
	text-align: center;
}

@media only screen and (min-width: 768px) {
	.smell_wrap {
		padding: 300px 0 120px;
	}
	.smell_wrap_inner {
		flex-direction: row;
		align-items: flex-start;
		justify-content: space-between;
	}
	.smell_inner_left {
		width: 50%;
	}
	.smell_inner_right {
		width: 48.1%;
	}
	.smell_wrap_ttl {
		font-size: clamp(18px,2.34vw,30px);
	}
	.smell_wrap_ttl .value {
		font-size: clamp(35px,4.68vw,60px);
	}
	.smell_wrap_ttl .dots {
		font-size: clamp(23px,3.12vw,40px);
		padding-top: 0;
	}
	.smell_inner_right p {
		font-size: clamp(13px,1.56vw,20px);
	}
	.smell_inner_left_txt {
		font-size: clamp(13px,1.56vw,20px);
	}
	.br_02 {
		display: block;
	}
	.frame-box {
		font-size: clamp(18px,2.1vw,27px);
		width: 300px;
		margin: 0;
	}
	.material_ttl {
		font-size: clamp(13px,1.56vw,20px);
	}
	.material_ttl span {
		font-size: clamp(16px,1.87vw,24px);
	}
	.material_list {
		flex-direction: row;
		gap: 20px;
	}
	.material_box {
		width: 33.333%;
	}
	.material_name {
		font-size: clamp(16px,1.87vw,24px);
		height: 60px;
	}
	.material_name span {
		font-size: clamp(13px,1.56vw,20px);
	}
	.material_features {
		font-size: clamp(13px,1.56vw,20px);
		padding: 0;
		height: 70px
	}
	.device_item {
		flex-direction: row;
		justify-content: space-between;
		gap: 30px;
	}
	.device_info,
	.device_image {
		width: 50%;
	}
	.device_name {
		font-size: clamp(16px,1.87vw,24px);
	}
	.device_txt {
		font-size: clamp(13px,1.4vw,18px);
	}
}
@media only screen and (min-width: 1024px) {
	.smell_wrap {
		padding: 350px 0 240px;
	}
	.smell_inner_left_txt {
		margin: 32px 0 0;
	}
	.frame-box {
		padding: 20px 49px;
		width: 380px;
	}
	.smell_wrap_inner02 {
		margin: 80px 0 0;
	}
	.frame-box::before,
	.frame-box::after {
		width: 46px;
		height: 46px;
	}
	.smell_wrap_inner03 {
		margin: 75px 0 0;
	}
	.material_list {
		margin: 40px 0 0;
	}
	.material_ttl {
		margin: 0 11px 0 0;
	}
	.material_list {
		gap: 48px;
	}
	.material_name {
		height: 70px;
	}
	.material_features {
		height: 85px
	}
	.device_wrap {
		margin: 120px 0 0;
	}
	.device_item {
		gap: 48px;
		padding: 40px 0;
	}
	.device_name {
		gap: 9px;
	}
	.device_name::before {
		width: 20px;
		height: 5px;
	}
	.device_txt {
		margin: 30px 0 0;
	}
	.device_txt p + p {
		margin: 30px 0 0;
	}
}
@media only screen and (min-width: 1280px) {
	.smell_wrap {
		padding: 451px 0 240px;
	}
	.smell_wrap_inner,
	.smell_wrap_inner02 .smell_wrap_inner {
		gap: 0;
	}
	.smell_wrap_ttl {
		font-size: 30px;
	}
	.smell_wrap_ttl .value {
		font-size: 60px;
	}
	.smell_wrap_ttl .dots {
		font-size: 40px;
	}
	.smell_inner_right p {
		font-size: 20px;
	}
	.smell_inner_right p + p {
		margin: 30px 0 0;
	}
	.smell_inner_left_txt {
		font-size: 20px;
	}
	.frame-box {
		font-size: 27px;
	}
	.material_ttl {
		font-size: 20px;
		padding: 0 0 15px;
	}
	.material_ttl span {
		font-size: 24px;
	}
	.material_name {
		font-size: 24px;
		height: 80px;
	}
	.material_name span {
		font-size: 20px;
	}
	.material_features {
		font-size: 20px;
		height: 103px
	}
	.device_name {
		font-size: 24px;
	}
	.device_txt {
		font-size: 18px;
	}
}

/* ご予約 */
.reservation_wrap {
	padding: 65px 0 120px;
	line-height: 2;
	position: relative;
}
.reserve_txt {
	color: #E49B5B;
	font-size: 21px;
	padding-bottom: 5px;
	display: inline;
	background: linear-gradient(transparent 97%, #E49B5B 0%);
}
.reserve_btn {
	margin: 20px 0 0;
}
.reserve_btn a {
	color: #fff;
	background: #A0DAD8;
	font-size: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 70px;
}
.btn_inner {
	background: #42B5B1;
	width: 96%;
	height: 56px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px 13px 16px 13px;
	transition: all .5s ease-out;
}
.btn_txt {
	display: flex;
	align-items: center;
	gap: 6px;
}
.btn_txt img {
	margin: 4px 0 0;
	width: 21px;
	height: 19px;
}
.btn_inner svg {
	width: 21px;
	height: 21px;
}
.reserve_info_txt {
	margin: 30px 0 0;
	font-size: 13px;
}
.reserve_info_txt p + p {
	margin: 15px 0 0;
}
.reserve_info_txt_note {
	font-size: 13px;
	margin: 20px 0 0;
}
.reserve_info_txt_note a {
	color: #42B5B1;
	text-decoration: underline;
	transition: all .5s ease-out;
}
.reserve_tel_box {
	background: #F9F9F7;
	margin: 20px auto 0;
}
.reserve_tel_info {
	border-bottom: 1px solid #D4D5D5;
	padding: 20px 16px 12px 20px;
	color: #E49B5B;
	font-size: 15px;
	display: flex;
	justify-content: center;
}
.reserve_tel_num {
	padding: 14px 25px 30px 20px;
	font-size: 28px;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.reserve_tel_num span {
	font-size: 16px;
	margin: 0 0 0 5.5em;
}
.reservation_wrap .intro_area {
	background: #fff;
	padding: 50px 0 30px;
}
.reservation_wrap .intro_img_sp {
	background: #fff;
	padding: 0 0 40px 36px;
}
.reservation_wrap .intro_txt_wrap {
	padding: 0;
}
.day_flow_box p {
	font-size: 16px;
}
.red {
	color: #F1040C;
}
.day_flow_list {
	margin: 7px 0 0;
	border-top: none;
}
.day_flow_list li {
	align-items: flex-start;
	font-size: 14px;
}
.day_flow_list li p {
	font-size: 14px;
}
.day_flow_list li:first-child {
	border-top: 1px solid #D4D5D5;
}
.notes_box {
	background: #F3F4EF;
}
.notes_box_ttl {
	border-bottom: 1px solid #D4D5D5;
	padding: 20px 16px 12px 20px;
	font-size: 15px;
}
.notes_box_under {
	padding: 20px 18px 30px 19px;
}
.notes_box_txt {
	font-size: 13px;
}
.notes_contents {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 20px 0 0;
}
.notes_info_ttl {
	height: 28px;
	font-size: 13px;
	background: #fff;
	padding: 0 0 0 14px;
	display: flex;
	align-items: center;
}
.notes_info_list {
	margin: 8px 0 0;
}
.notes_info_list li {
	font-size: 13px;
	display: flex;
	align-items: center;
	gap: 10px;
}
.notes_info_list li::before {
	content: "";
	display: block;
	background: #E49B5B;
	width: 6px;
	height: 6px;
}
.notes_info_list li + li {
	margin: 10px 0 0;
}
.reserve_img01 {
	position: absolute;
	left: 0;
	bottom: -86px;
}
.reserve_img02 {
	position: absolute;
	right: 0;
	bottom: 30px;
}
.day_flow_list p {
	margin: 5px 0 0;
}
@media only screen and (min-width: 470px) {
	.reserve_tel_box {
		width: 80%;
	}
}
@media only screen and (min-width: 768px) {
	.reserve_txt {
		font-size: clamp(21px,3.12vw,40px);
	}
	.reserve_txt br {
		display: none;
	}
	.reserve_btn a {
		font-size: clamp(16px,1.87vw,24px);
	}
	.btn_inner {
		width: 97%;
	}
	.btn_txt img {
		width: unset;
		height: unset;
	}
	.reserve_tel_info br {
		display: none;
	}
	.reserve_info_txt {
		font-size: clamp(13px,1.4vw,18px);
	}
	.reserve_info_txt_note {
		font-size: clamp(13px,1.4vw,18px);
	}
	.reserve_tel_box {
		width: 100%;
	}
	.reserve_tel_info {
		font-size: clamp(15px,2.18vw,28px);
		justify-content: flex-start;
	}
	.reserve_tel_num {
		font-size: clamp(28px,1.95vw,25px);
		flex-direction: row;
		justify-content: flex-start;
		gap: 10px;
	}
	.reserve_tel_num span {
		font-size: clamp(16px,1.56vw,20px);
		margin: 0;
	}
	.day_flow_ttl {
		font-size: clamp(16px,1.56vw,20px);
	}
	.day_flow_box p {
		font-size: clamp(16px,1.87vw,24px);
	}
	.day_flow_list li {
		font-size: clamp(14px,1.56vw,20px);
	}
	.day_flow_list li p {
		font-size: clamp(14px,1.56vw,20px);
	}
	.notes_box_ttl {
		font-size: clamp(15px,1.87vw,24px);
	}
	.notes_box_txt {
		font-size: clamp(13px,1.4vw,18px);
	}
	.notes_contents {
		flex-direction: row;
	}
	.notes_info {
		width: 50%;
	}
	.notes_info_ttl {
		font-size: clamp(13px,1.56vw,20px);
	}
	.notes_info_list {
		margin: 8px 0 0 10px;
	}
	.notes_info_list li {
		font-size: clamp(13px,1.4vw,18px);
	}
}
@media only screen and (min-width: 1024px) {
	.reservation_wrap {
		padding: 120px 0 240px;
	}
	.reserve_btn {
		margin: 37px 0 0;
	}
	.reserve_btn a {
		height: 80px;
	}
	.btn_inner {
		height: 60px;
		padding: 20px 19px 23px 28px;
	}
	.btn_inner svg {
		width: 30px;
		height: 30px;
	}
	.reserve_btn a:hover .btn_inner {
		background: #4CC7C2;
	}
	.reserve_info_txt p + p {
		margin: 30px 0 0;
	}
	.reserve_info_txt_note {
		margin: 40px 0 0;
	}
	.reserve_info_txt_note a:hover {
		opacity: .7;
	}
	.reserve_tel_box {
		margin: 40px 0 0;
	}
	.reserve_tel_info {
		padding: 30px 30px 21px 60px;
	}
	.reserve_tel_num {
		padding: 31px 30px 60px 60px;
	}
	.day_flow_list {
		margin: 18px 0 0;
	}
	.day_flow_list p {
		margin: 10px 0 0;
	}
	.notes_box_ttl {
		padding: 30px 30px 21px 60px;
	}
	.notes_box_under {
		padding: 31px 60px 60px 60px;
	}
	.notes_contents {
		gap: 48px;
		margin: 30px 0 0;
	}
	.notes_info_ttl {
		height: 40px;
		padding: 3px 0 6px 20px;
	}
	.notes_info_list {
		margin: 20px 0 0 16px;
	}
	.notes_info_list li {
		gap: 14px;
	}
	.notes_info_list li::before {
		width: 8px;
		height: 8px;
	}
	.notes_info_list li + li {
		margin: 20px 0 0;
	}
}
@media only screen and (min-width: 1280px) {
	.reserve_txt {
		font-size: 40px;
	}
	.reserve_btn a {
		font-size: 24px;
		height: 100px;
	}
	.btn_inner {
		width: 98%;
		height: 80px;
	}
	.reserve_info_txt {
		font-size: 18px;
	}
	.reserve_info_txt_note {
		font-size: 18px;
	}
	.reserve_tel_info {
		font-size: 28px;
	}
	.reserve_tel_num {
		font-size: 25px;
	}
	.reserve_tel_num span {
		font-size: 20px;
	}
	.reservation_wrap .intro_area {
		padding: 110px 0 120px;
	}
	.day_flow_box {
		width: 84%;
	}
	.day_flow_box p {
		font-size: 24px;
	}
	.day_flow_list li {
		font-size: 20px;
	}
	.day_flow_list li p {
		font-size: 20px;
	}
	.notes_box_ttl {
		font-size: 24px;
	}
	.notes_box_txt {
		font-size: 18px;
	}
	.notes_info_ttl {
		font-size: 20px;
	}
	.notes_info_list li {
		font-size: 18px;
	}
}
