@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;word-wrap:break-word;overflow-wrap:break-word;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display: block;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:inherit;}
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:super;}
sub{vertical-align:text-bottom;}
input,textarea,select,button{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select,button{*font-size:100%;}
legend{color:#000;}
img {vertical-align:top;}
input[type="radio"],input[type="checkbox"] {vertical-align: -2px;}
label {cursor: pointer;}


/* =Common
-------------------------------------------------------------- */
body {
	text-align: center;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}
img {
	max-width: 100%;
	height: auto;
}
input[type="submit"], input[type="reset"] {
	appearance: none;
	cursor: pointer;
}

/* clearfix */
.cf:before, .cf:after {content:"";display:table;}
.cf:after {clear:both;}
.clr {clear: both;}


/* =Styles 
-------------------------------------------------------------- */
body {
	font-family: YuGothic, -apple-system, BlinkMacSystemFont, 'Yu Gothic Medium', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
	color: #383838;
	background: #fff;
	font-weight: 500;
}
a {
	text-decoration: none;
	color: #000;
}
@media ( min-width: 601px ){
	body {
		font-size: 17px;
	}
	.sp {
		display: none !important;
	}
	.inner {
		max-width: 1000px;
		margin: 0 auto;
	}
	a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	}
}
@media ( min-width: 961px ){
	.sptab {
		display: none !important;
	}
	.inner {
		padding: 0 70px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	.inner {
		padding: 0 30px;
	}
}
@media ( max-width: 960px ){
	.pc {
		display: none !important;
	}
}
@media ( max-width: 600px ){
	body {
		font-size: 3.4667vw;
	}
	.pctab {
		display: none !important;
	}
	.inner {
		padding: 0 5.33vw;
	}
}


.c_darkred {
	color: #9c2335;
}
.fw_700 {
	font-weight: 700;
}
.kosugimaru {
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 400;
}
/*-----------------------------------
.section_title
-----------------------------------*/
.section_title {
	position: relative;
}
.section_title::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.section_title .jpn {
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #234872;
}
.section_title .eng {
	color: #9c2335;
	font-weight: 500;
}
@media ( min-width: 601px ) {
	.section_title {
		padding: 60px 0 0;
	}
	.section_title::before {
		width: 35px;
		height: 40px;
	}
	.section_title .jpn {
		font-size: 28px;
	}
	.section_title .eng {
		margin: 13px 0 0;
		font-size: 20px;
	}
	.section_title.icon_logo::before {
		background: url('img/icon_logo.png') no-repeat left top/cover;
	}
	.section_title.icon_bed::before {
		background: url('img/icon_bed.png') no-repeat left top/cover;
	}
	.section_title.icon_cross::before {
		background: url('img/icon_cross.png') no-repeat left top/cover;
	}
	.section_title.icon_crown::before {
		background: url('img/icon_crown.png') no-repeat left top/cover;
	}
	.section_title.icon_map::before {
		background: url('img/icon_map.png') no-repeat left top/cover;
	}
	.section_title.icon_question::before {
		background: url('img/icon_question.png') no-repeat left top/cover;
	}
	.section_title.icon_stethoscope::before {
		background: url('img/icon_stethoscope.png') no-repeat left top/cover;
	}
}
@media ( max-width: 600px ) {
	.section_title {
		padding: 12vw 0 0;
	}
	.section_title:not(.icon_logo)::before {
		width: 6.93vw;
		height: 8vw;
	}
	.section_title.icon_logo::before {
		width: 8.1333vw;
		height: 8.8vw;
	}
	.section_title .jpn {
		font-size: 5.33vw;
	}
	.section_title .eng {
		margin: 2.93vw 0 0;
		font-size: 4vw;
	}
	.section_title.icon_logo::before {
		background: url('img/icon_logo_sp.png') no-repeat left top/cover;
	}
	.section_title.icon_bed::before {
		background: url('img/icon_bed_sp.png') no-repeat left top/cover;
	}
	.section_title.icon_cross::before {
		background: url('img/icon_cross_sp.png') no-repeat left top/cover;
	}
	.section_title.icon_crown::before {
		background: url('img/icon_crown_sp.png') no-repeat left top/cover;
	}
	.section_title.icon_map::before {
		background: url('img/icon_map_sp.png') no-repeat left top/cover;
	}
	.section_title.icon_question::before {
		background: url('img/icon_question_sp.png') no-repeat left top/cover;
	}
	.section_title.icon_stethoscope::before {
		background: url('img/icon_stethoscope_sp.png') no-repeat left top/cover;
	}
}

/*-----------------------------------
.td_underline
-----------------------------------*/
.td_underline {
	font-weight: 800;
	text-decoration: underline;
	text-decoration-color: #a1ceeb;
	text-decoration-skip-ink: none;
}
@media ( min-width: 601px ) {
	.td_underline {
		text-decoration-thickness: 10px;
		text-underline-offset: -5px;
	}
}
@media ( max-width: 600px ) {
	.td_underline {
		text-decoration-thickness: 1.3333vw;
		text-underline-offset: -0.6667vw;
	}
}
/*-----------------------------------
.header
-----------------------------------*/
.header {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.header .about_box {
	border: 1px solid #383838;
	box-sizing: border-box;
}
.header .btn a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: #234872;
	background-color: #eee9d3;
	font-family: "Kosugi Maru", sans-serif;
}
.header .btn a .btn_text {
	position: relative;
	font-weight: bold;
}
.header .btn a .btn_text::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background: url(img/icon_arrow_navy.png) no-repeat left top / cover;
}
@media ( min-width: 601px ) {
	.header {
		height: 85px;
		gap: 10px;
		padding: 0 3.33% 0 2.9%;
	}
	.header .about_box {
		margin-left: 30px;
		padding: 5px 10px;
		font-size: 14px;
	}
	.header .btn {
		flex: 0 1 300px;
	}
	.header .btn a {
		padding: 10px 0 11px;
		border-radius: 15px;
		transition: opacity .3s;
	}
	.header .btn a:hover {
		opacity: .7;
	}
	.header .btn a .small_text {
		font-size: 14px;
		letter-spacing: 0.1em;
		margin: 0 0 5px;
	}
	.header .btn a .btn_text {
		font-size: 21px;
		padding-right: 22px;
	}
	.header .btn a .btn_text::after {
		width: 10px;
		height: 15px;
	}
}
@media ( max-width: 600px ) {
	.header {
		height: 10.67vw;
		padding: 1.3333vw 2.6667vw;
		box-sizing: border-box;
	}
	.header .logo {
		width: 65.8667vw;
	}
	.header .about_box {
		margin-left: 4vw;
		padding: 1vw 2vw;
		font-size: 2.5vw;
	}
	.header .btn {
		flex: 0 1 26.6667vw;
	}
	.header .btn a {
		padding: 1.6vw 0 1.4667vw;
		border-radius: 2vw;
	}
	.header .btn a .small_text {
		font-size: 1.6vw;
		margin: 0 0 0.8vw;
	}
	.header .btn a .btn_text {
		font-size: 2.8vw;
		padding-right: 2.5333vw;
	}
	.header .btn a .btn_text::after {
		width: 1.3333vw;
		height: 2vw;
	}
}
/*-----------------------------------
.kv
-----------------------------------*/
.bg_wrap {
	background: url('img/kv_graph-paper.png') repeat;
}
.kv {
	position: relative;
}
.kv .catchcopy {
	color: #234872;
	text-align: left;
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 400;
}
.kv .lead {
	color: #234872;
	text-align: left;
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 400;
}
.kv .list {
	display: flex;
}
.kv .list li {
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 400;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: #234872;
	clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}
.kv .price_wrap {
	box-sizing: border-box;
	color: #234872;
	font-family: "Kosugi Maru", sans-serif;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: #fff;
	border: 1px solid #234872;
}
.kv .price_wrap .td_underline {
	font-weight: 400;
}
.kv .price_wrap dd {
	position: relative;
	z-index: 1;
}
.kv .price_wrap dd .price {
	position: relative;
	display: inline-block;
}
.kv .price_wrap dd .price::before {
	content: '';
	display: block;
	width: 100%;
	background: #a1ceeb;
	position: absolute;
	left: 0;
	z-index: -1;
}
.kv .price_wrap dd .price .num {
	font-family: "Shippori Antique", sans-serif;
	font-weight: 400;
	letter-spacing: -0.02em;
	padding: 0 0 0 0.15em;
}
.kv .price_wrap dd .price .num span {
	font-family: -apple-system, BlinkMacSystemFont, Meiryo, 'Yu Gothic Medium', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', YuGothic, sans-serif;
	margin: 0 -0.05em;
}
.kv .name_wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #234872;
	box-sizing: border-box;
	position: absolute;
	font-family: "Kosugi Maru", sans-serif;
	background: rgba(255,255,255,0.75);
	right: 0;
}
.kv .name_wrap .title {
	text-align: left;
}
.kv .name_wrap .name {
	text-align: left;
}
@media ( min-width: 601px ) {
	.kv .price_wrap dd .price::before {
		height: 10px;
		bottom: 6px;
	}
}
@media ( min-width: 961px ) {
	.kv .inner {
		position: relative;
		max-width: 1100px;
		padding: 30px 50px 70px 45px;
		background: url('img/kv_bg.png') no-repeat right top;
	}
	.kv .catchcopy {
		line-height: 1.43;
		font-size: 53px;
		margin: 0 0 19px;
	}
	.kv .lead {
		font-size: 25px;
		margin: 0 0 35px;
	}
	.kv .list {
		margin: 0 0 19px;
		gap: 0 45px;
		padding: 0 0 0 60px;
	}
	.kv .list li {
		font-size: 16px;
		width: 103px;
		height: 119px;
		line-height: 1.5;
	}
	.kv .price_wrap {
		width: min(44.8333vw,536px);
		height: 150px;
		border-radius: 11px;
	}
	.kv .price_wrap dt {
		font-size: 18px;
		margin: 0 0 5px;
	}
	.kv .price_wrap dd {
		position: relative;
		z-index: 1;
	}
	.kv .price_wrap dd .price {
		font-size: 40px;
		margin: 0 0 4px;
		padding: 0 17px;
	}
	.kv .price_wrap dd .price::before {
		height: 13px;
		bottom: 0;
	}
	.kv .price_wrap dd .price .num {
		font-size: 56px;
	}
	.kv .price_wrap dd .price .yen {
		font-size: 33px;
	}
	.kv .price_wrap dd .comment {
		font-size: 12px;
	}
	.kv .name_wrap {
		width: 373px;
		height: 107px;
		bottom: 132px;
		padding: 0 0 0 16px;
		border-left: solid #a1ceeb 5px;
		gap: 10px 0;
	}
	.kv .name_wrap .title {
		font-size: 12px;
		line-height: 1.33;
	}
	.kv .name_wrap .name {
		font-size: 49px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	.kv {
		padding: min(9.3333vw,70px) 0 0;
		height: min(106.5333vw,799px);
	}
	.kv .catchcopy {
		font-size: min(7.3333vw,55px);
		margin: 0 0 min(4vw,30px);
	}
	.kv .lead {
		font-size: min(3.3333vw,25px);
		margin: 0 0 min(17.3333vw,130px);
	}
	.kv .list {
		gap: 0 10px;
	}
	.kv .list li {
		font-size: min(2.9333vw,22px);
		width: min(16.8vw,126px);
		height: min(19.4667vw,146px);
		line-height: 1.09;
	}
	.kv .price_wrap {
		width: min(53.0667vw,398px);
		height: min(24vw,180px);
		border-radius: 11px;
		left: 30px;
		bottom: min(6vw,45px);
	}
	.kv .price_wrap dt {
		font-size: min(3.2vw,24px);
		margin: 0 0 min(1.3333vw,10px);
	}
	.kv .price_wrap dt .small {
		font-size: min(2.6667vw,20px);
	}
	.kv .price_wrap dd .price {
		font-size: min(4.6667vw,35px);
		margin: 0 0 min(10px,1.3333vw);
	}
	.kv .price_wrap dd .price .num {
		font-size: min(7.4667vw,56px);
	}
	.kv .price_wrap dd .price .yen {
		font-size: min(4.4vw,33px);
	}
	.kv .price_wrap dd .comment {
		font-size: min(2.1333vw,16px);
	}
	.kv .name_wrap {
		width: min(34.6667vw,260px);
		height: min(20vw,150px);
		bottom: min(10.9333vw,82px);
		padding: 0 0 0 min(3.2vw,24px);
		border-left: solid #a1ceeb 5px;
		gap: min(1.7333vw,13px) 0;
	}
	.kv .name_wrap .title {
		font-size: min(2.1333vw,16px);
	}
	.kv .name_wrap .name {
		font-size: 6vw;
	}
}
@media ( max-width: 960px ) {
	.kv {
		background: url('img/kv_bg_sp.png') no-repeat right top/cover;
	}
	.kv .catchcopy {
		line-height: 1.36;
	}
	.kv .list li {
		line-height: 1.09;
	}
	.kv .price_wrap {
		position: absolute;
	}
	.kv .name_wrap .title {
		line-height: 1.37;
	}
}
@media ( max-width: 600px ) {
	.bg_wrap {
		background-size: 6.6667vw 6.8vw;
	}
	.kv {
		height: 106.5333vw;
		padding: 9.3333vw 0 0;
		box-sizing: border-box;
	}
	.kv .catchcopy {
		font-size: 7.3333vw;
		margin: 0 0 4vw;
	}
	.kv .lead {
		font-size: 3.3333vw;
		margin: 0 0 16vw;
	}
	.kv .list {
		gap: 0 1.3333vw;
	}
	.kv .list li {
		font-size: 2.9333vw;
		width: 16.8vw;
		height: 19.4667vw;
	}
	.kv .price_wrap {
		width: 53.0667vw;
		height: 24vw;
		border-radius: 1.4667vw;
		left: 5.3333vw;
		bottom: 6vw;
	}
	.kv .price_wrap dt {
		font-size: 3.2vw;
		margin: 0 0 1.3333vw;
	}
	.kv .price_wrap dt .small {
		font-size: 2.6667vw;
	}
	.kv .price_wrap dd .price {
		font-size: 4.6667vw;
		margin: 0 0 1.3333vw;
	}
	.kv .price_wrap dd .price::before {
		height: 1.3333vw;
		bottom: 0.8vw;
	}
	.kv .price_wrap dd .price .num {
		font-size: 7.4667vw;
	}
	.kv .price_wrap dd .price .yen {
		font-size: 4.4vw;
	}
	.kv .price_wrap dd .comment {
		font-size: 2.1333vw;
	}
	.kv .name_wrap {
		width: 34.6667vw;
		height: 20vw;
		bottom: 11.2vw;
		padding: 0 0 0 3.2vw;
		border-left: solid #a1ceeb 0.6667vw;
		gap: 1.6vw 0;
	}
	.kv .name_wrap .title {
		font-size: 2.1333vw;
	}
	.kv .name_wrap .name {
		font-size: min(6vw,45px);
	}
}
/*-----------------------------------
.worries
-----------------------------------*/
.worries {
	position: relative;
	background: #f5f3ea;
	z-index: 1;
}
.worries .section_title {
	padding: 0;
}
.worries .section_title::before {
	content: none;
}
.worries .list_wrap {
	position: relative;
}
.worries .list {
	box-sizing: border-box;
	background: #fff;
	margin: 0 0 0 auto;
}
.worries .list ul {
	display: inline-flex;
	flex-direction: column;
}
.worries .list ul li {
	position: relative;
	font-weight: 700;
	text-align: left;
}
.worries .list ul li::before {
	content: '';
	display: block;
	background: url('img/icon_check.png') no-repeat left top/cover;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.worries .list_wrap .photo {
	position: absolute;
	left: 0;
	bottom: 0;
}
.worries .summary {
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 400;
	color: #234872;
}
.worries .summary .small {
	display: block;
}
@media ( min-width: 601px ) {
	.worries {
		padding: 50px 0 100px;
	}
	.worries .section_title {
		margin: 0 0 40px;
	}
	.worries .list {
		width: 75%;
		padding: 45px 0 45px 25px;
	}
	.worries .list ul {
		gap: 20px 0;
	}
	.worries .list ul li {
		font-size: min(2.6667vw,20px);
		padding: 0 0 0 min(5.6vw,42px);
	}
	.worries .list ul li::before {
		width: 24px;
		height: 24px;
	}
	.worries .summary {
		font-size: min(4vw,30px);
	}
	.worries .summary .small {
		font-size: 22px;
		margin: 0 0 0.5em;
	}
}
@media ( min-width: 961px ) {
	.worries .list_wrap {
		max-width: 800px;
		padding: 0 0 33px;
		margin: 0 auto 30px;
	}
	.worries .list_wrap .photo {
		width: 300px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	.worries .list_wrap {
		margin: 0 -30px 30px;
		padding: 0 0 55px;
	}
	.worries .list_wrap .photo {
		width: 37.33%;
		max-width: 280px;
	}
}
@media ( max-width: 600px ) {
	.worries {
		padding: 10.67vw 0 13.33vw;
	}
	.worries .section_title {
		margin: 0 0 6.67vw;
	}
	.worries .list_wrap {
		margin: 0 -5.33vw 4.6667vw;
		padding: 0 0 7.3333vw;
	}
	.worries .list_wrap .photo {
		width: 37.3333vw;
	}
	.worries .list {
		width: 66.66%;
		padding: 4.67vw 2vw 4.67vw 6vw;
	}
	.worries .list ul {
		gap: 3.6vw 0;
	}
	.worries .list ul li {
		font-size: 3.2vw;
		padding: 0 0 0 5.3333vw;
	}
	.worries .list ul li::before {
		width: 4vw;
		height: 4vw;
	}
	.worries .summary {
		font-size: 4.6667vw;
	}
	.worries .summary .small {
		font-size: 3.7333vw;
		margin: 0 0 0.5em;
	}
}
/*-----------------------------------
.what_it
-----------------------------------*/
.what_it .intro .text {
	font-weight: 500;
	text-align: left;
	box-sizing: border-box;
}
.what_it .risk {
	background: #dcdcdc;
}
.what_it .risk .headline {
	color: #234872;
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 400;
}
.what_it .risk .risk_list ul {
	display: flex;
}
.what_it .risk .risk_list ul li dl {
	background: #fff;
}
.what_it .risk .risk_list ul li dt {
	font-weight: 700;
}
.what_it .risk .risk_list ul li dd .text {
	text-align: left;
	font-weight: 700;
}
.what_it .risk .risk_list ul li dd .text .illust {
	display: block;
	text-align: center;
}
.what_it .risk .risk_list ul li .references {
	text-align: left;
	font-weight: 700;
	margin: 0.7em 0 0;
}
.what_it .risk .other_risk .lead {
	font-weight: 700;
}
.what_it .risk .other_risk .other_risk_list ul {
	display: flex;
	justify-content: center;
}
.what_it .risk .other_risk .other_risk_list ul li {
	position: relative;
	box-sizing: border-box;
	background: #234872;
	clip-path: polygon(50% 0, 100% 27%, 100% 73%, 50% 100%, 0 73%, 0 27%);
}
.what_it .risk .other_risk .other_risk_list ul li .inn {
	color: #234872;
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 400;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: #fff;
	clip-path: polygon(50% 0, 100% 27%, 100% 73%, 50% 100%, 0 73%, 0 27%);
}
.what_it .summary {
	position: relative;
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 400;
	color: #234872;
}
.what_it .summary::before,
.what_it .summary::after {
	content: '';
}
.what_it .summary::after {
	transform: rotateY(180deg);
}
@media ( min-width: 601px ) {
	.what_it {
		padding: 20px 0 105px;
	}
	.what_it .section_title {
		margin: 0 0 40px;
	}
	.what_it .intro {
		margin: 0 auto 40px;
	}
	.what_it .intro .text,
	.what_it .intro .photo {
		flex: 1 1 50%;
	}
	.what_it .intro .text {
		font-size: 18px;
		line-height: 1.83;
		padding: 0 30px 0 0;
	}
	.what_it .risk {
		max-width: 800px;
		padding: 35px 20px 37px;
		margin: 0 auto 60px;
	}
	.what_it .risk .headline {
		font-size: 22px;
		margin: 0 0 27px;
	}
	.what_it .risk .risk_list {
		max-width: 692px;
		margin: 0 auto 32px;
	}
	.what_it .risk .risk_list ul {
		gap: 20px 32px;
	}
	.what_it .risk .risk_list ul li dl {
		padding: 25px 30px;
	}
	.what_it .risk .risk_list ul li dt {
		font-size: 18px;
		margin: 0 0 17px;
	}
	.what_it .risk .risk_list ul li dd .illust {
		margin: 0 auto 11px;
	}
	.what_it .risk .risk_list ul li .references {
		font-size: 12px;
		line-height: 1.5;
	}
	.what_it .risk .other_risk .lead {
		margin: 0 0 15px;
		font-size: 18px;
	}
	.what_it .risk .other_risk .other_risk_list ul {
		gap: 0 24px;
	}
	.what_it .risk .other_risk .other_risk_list ul li {
		width: 130px;
		height: 150px;
		padding: 5px;
	}
	.what_it .risk .other_risk .other_risk_list ul li .inn {
		font-size: 20px;
	}
	.what_it .summary {
		font-size: 30px;
	}
	.what_it .summary::before,
	.what_it .summary::after {
		width: 25px;
		height: 30px;
		background: url('img/icon_twin_hexagon.png') no-repeat left top/cover;
	}
}
@media ( min-width: 961px ) {
	.what_it .intro {
		display: flex;
		align-items: center;
	}
	.what_it .risk .risk_list ul li {
		width: calc((100% - 32px)/2);
	}
	.what_it .summary::before,
	.what_it .summary::after {
		display: inline-block;
	}
	.what_it .summary::before {
		margin: 0 0.23em 0 0;
	}
	.what_it .summary::after {
		margin: 0 0 0 0.23em;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	.what_it .intro {
		padding: 320px 0 0;
		margin: 0 0 40px;
	}
	.what_it .intro .text {
		padding: 0;
	}
}
@media ( max-width: 960px ) {
	.what_it .intro {
		position: relative;
	}
	.what_it .intro .photo {
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		margin: auto;
		height: 300px;
		width: auto;
	}
	.what_it .intro .text {
		box-sizing: border-box;
		position: relative;
		z-index: 1;
	}
	.what_it .risk .risk_list ul {
		flex-direction: column;
	}
	.what_it .summary {
		display: inline-block;
		line-height: 1.43;
	}
	.what_it .summary::before,
	.what_it .summary::after {
		display: block;
		position: absolute;
		bottom: 0.23em;
	}
	.what_it .summary::before {
		left: -1.28em;
	}
	.what_it .summary::after {
		right: -1.28em;
	}
}
@media ( max-width: 600px ) {
	.what_it {
		padding: 15.6vw 0 13.8667vw;
	}
	.what_it .section_title {
		margin: 0 0 6.6667vw;
	}
	.what_it .intro {
		margin: 0 0 6.6667vw;
		padding: 57vw 0 0;
	}
	.what_it .intro .text {
		line-height: 1.62;
	}
	.what_it .intro .photo {
		width: 100%;
		height: auto;
	}
	.what_it .risk {
		padding: 6vw 4vw 5.3333vw;
		margin: 0 0 6vw;
	}
	.what_it .risk .headline {
		font-size: 3.7333vw;
		margin: 0 0 4vw;
	}
	.what_it .risk .risk_list {
		margin: 0 0 5.3333vw;
	}
	.what_it .risk .risk_list ul {
		gap: 2.6667vw 0;
	}
	.what_it .risk .risk_list ul li dl {
		padding: 4vw;
	}
	.what_it .risk .risk_list ul li dt {
		margin: 0 0 4vw;
	}
	.what_it .risk .risk_list ul li dd .illust {
		width: 70.2667vw;
		margin: 0 auto;
	}
	.what_it .risk .risk_list ul li .references {
		font-size: 2.1333vw;
		line-height: 1.25;
	}
	.what_it .risk .other_risk .lead {
		margin: 0 0 2.6667vw;
	}
	.what_it .risk .other_risk .other_risk_list ul {
		gap: 0 3.2vw;
	}
	.what_it .risk .other_risk .other_risk_list ul li {
		width: 17.3333vw;
		height: 20vw;
		padding: 0.6667vw;
	}
	.what_it .risk .other_risk .other_risk_list ul li .inn {
		font-size: 2.9333vw;
	}
	.what_it .summary {
		font-size: 4.6667vw;
	}
	.what_it .summary::before,
	.what_it .summary::after {
		width: 5.2vw;
		height: 6.6667vw;
		background: url('img/icon_twin_hexagon_sp.png') no-repeat left top/cover;
	}
}
/*-----------------------------------
.about
-----------------------------------*/
.about {
	background: #dce9f2;
}
.about .content_wrap {
	overflow: hidden;
}
.about .content_wrap .content {
	position: relative;
	display: flex;
	margin-right: auto;
	margin-left: auto;
}
.about .content_wrap .content .group .lead {
	color: #234872;
	text-align: left;
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 400;
}
.about .content_wrap .content .group .lead .td_underline {
	font-weight: 400;
}
.about .content_wrap .online .group .text {
	text-align: left;
}
.about .content_wrap .treatment .group .therapy_list ul {
	display: flex;
	justify-content: center;
}
.about .content_wrap .treatment .group .therapy_list ul li {
	position: relative;
	box-sizing: border-box;
	background: #234872;
	clip-path: polygon(50% 0, 100% 27%, 100% 73%, 50% 100%, 0 73%, 0 27%);
}
.about .content_wrap .treatment .group .therapy_list ul li .inn {
	color: #234872;
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 400;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: #fff;
	clip-path: polygon(50% 0, 100% 27%, 100% 73%, 50% 100%, 0 73%, 0 27%);
}
.about .merit {
	position: relative;
	box-sizing: border-box;
	background: #f5f3ea;
}
.about .merit dl dt {
	color: #234872;
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 400;
}
.about .merit dl dd .list ul {
	display: inline-grid;
	grid-template-columns: auto auto; 
	grid-template-rows: auto auto;
}
.about .merit dl dd .list ul li {
	position: relative;
	display: flex;
	align-items: center;
}
.about .merit dl dd .list ul li::before {
	content: '';
	display: block;
	position: absolute;
}
.about .merit dl dd .list ul li:nth-child(1)::before {
	background: url('img/icon_hand.png') no-repeat left top/cover;
}
.about .merit dl dd .list ul li:nth-child(2)::before {
	background: url('img/icon_money.png') no-repeat left top/cover;
}
.about .merit dl dd .list ul li:nth-child(3)::before {
	background: url('img/icon_japan.png') no-repeat left top/cover;
}
.about .merit dl dd .list ul li:nth-child(4)::before {
	background: url('img/icon_clock.png') no-repeat left top/cover;
}
.other_hospitals_cpap {
	position: relative;
	z-index: 1;
}
.other_hospitals_cpap .title {
	cursor: pointer;
	color: #fff;
	font-family: "Kosugi Maru", sans-serif;
	background: #234872;
	position: relative;
	letter-spacing: 0.05em;
}
.other_hospitals_cpap .title::before {
	content: '';
	display: block;
	box-sizing: border-box;
	position: absolute;
	background: transparent;
	border: 1px solid #fff;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.other_hospitals_cpap .title .sub {
	position: absolute;
	left: 0;
	right: 0;
	color: #234872;
	font-weight: bold;
	margin: 0 auto;
	background-color: #fff;
}
.other_hospitals_cpap .title .sub::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	background-color: #fff;
	clip-path: polygon(100% 0, 0 0, 50% 100%);
}
.other_hospitals_cpap .title .wrap {
	display: flex;
	align-items: center;
	justify-content: center;
}
.other_hospitals_cpap .title .wrap span {
	position: relative;
}
.other_hospitals_cpap .title .wrap span::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;
}
.other_hospitals_cpap .title .wrap span::after {
	background: url('img/icon_arrow_down_white.png') no-repeat left top/cover;
}
.other_hospitals_cpap .title.open .wrap span::after {
	transform: rotateX(180deg);
}
.other_hospitals_cpap .content {
	background: #fff;
	display: none;
	height: auto;
	border-color: #234872;
	border-style: solid;
	border-width: 0 1px 1px 1px;
}
.other_hospitals_cpap .content .text.big {
	font-family: "Kosugi Maru", sans-serif;
}
.other_hospitals_cpap .content .lead {
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 400;
	text-align: left;
}
.other_hospitals_cpap .content .lead .td_underline {
	color: #234872;
}
.other_hospitals_cpap .content .comment {
	text-align: left;
	position: relative;
	padding: 0 0 0 1em;
}
.other_hospitals_cpap .content .comment::before {
	content: '※';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
.other_hospitals_cpap .content .problem_list {
	display: flex;
	flex-direction: column;
}
.other_hospitals_cpap .content .problem_list li {
	text-align: left;
	position: relative;
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 400;
	color: #234872;
	padding: 0 0 0 1em;
}
.other_hospitals_cpap .content .problem_list li::before {
	content: '・';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
.other_hospitals_cpap .content .problem_list + p {
	text-align: left;
}
.other_hospitals_cpap .content .text {
	text-align: left;
	line-height: 1.7;
}
.other_hospitals_cpap .content .text .td_underline {
	color: #234872;
}
.other_hospitals_cpap .content dl dt {
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 600;
	text-align: left;
	border-bottom: 1px solid #d8d8cd;
}
.other_hospitals_cpap .content dl dd p {
	text-align: left;
}
.other_hospitals_cpap .content dl dd p .td_underline {
	color: #234872;
}
.other_hospitals_cpap .content dl dd ul {
	display: flex;
}
.other_hospitals_cpap .content dl dd ul li {
	position: relative;
	background: #f5f3ea;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}
.other_hospitals_cpap .content dl dd ul li:first-child::before {
	content: '';
	display: block;
	background: transparent;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.other_hospitals_cpap .content dl dd ul li .type {
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 400;
}
.other_hospitals_cpap .content dl dd ul li .price {
	color: #234872;
}
.other_hospitals_cpap .content dl dd ul li .price .num {
	font-weight: 700;
}
.other_hospitals_cpap .btn_wrap {
	position: relative;
}
.other_hospitals_cpap .btn_wrap::before{
	content: '';
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
}
.other_hospitals_cpap .btn_wrap .text {
	color: #234872;
	font-weight: bold;
	font-family: "Kosugi Maru", sans-serif;
}
.other_hospitals_cpap .btn_wrap .btn a {
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	position: relative;
	letter-spacing: 0.1em;
}
.other_hospitals_cpap .btn_wrap .cpap a {
	color: #234872;
	background: #eee9d3;
}
.other_hospitals_cpap .btn_wrap .btn a::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: url(img/icon_arrow_navy.png) no-repeat left top / cover;
}
@media ( min-width: 601px ) {
	.about {
		padding: 55px 0 100px;
	}
	.about .section_title {
		margin: 0 0 45px;
	}
	.about .content_wrap .content {
		max-width: 1000px;
		gap: 30px 55px;
	}
	.other_hospitals_cpap .content .text.big {
		font-size: 20px;
	}
	.other_hospitals_cpap .content .text.mini {
		font-size: 14px;
	}
	.about .content_wrap .treatment {
		margin-bottom: 48px;
	}
	.about .content_wrap .online {
		margin-bottom: 80px;
	}
	.about .content_wrap .photo img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.about .content_wrap .content .group .lead {
		font-size: 22px;
		line-height: 1.59;
	}
	.about .content_wrap .treatment .group .lead {
		margin: 0 0 47px;
	}
	.about .content_wrap .online .group .lead {
		margin: 0 0 26px;
	}
	.about .content_wrap .online .group .text {
		margin: 0 0 43px;
		line-height: 1.76;
		letter-spacing: -0.04em;
	}
	.about .content_wrap .treatment .group .therapy_list ul {
		gap: 0 35px;
		width: 100%;
		max-width: 545px;
	}
	.about .content_wrap .treatment .group .therapy_list ul li {
		width: calc((100% - 70px)/3);
		height: 100%;
		aspect-ratio: 157 / 180;
		padding: 5px;
	}
	.about .content_wrap .treatment .group .therapy_list ul li .inn {
		font-size: min(1.5385vw,20px);
		gap: 7px 0;
	}
	.about .merit {
		padding: 40px 30px 30px;
	}
	.about .merit dl dt {
		font-size: 20px;
		margin: 0 0 22px;
	}
	.about .merit dl dd .list ul li {
		font-size: min(2.5333vw,19px);
	}
	.about .merit dl dd .list ul li::before {
		width: 40px;
		height: 48px;
	}
	.other_hospitals_cpap dl {
		max-width: 800px;
		margin: 0 auto;
	}
	.other_hospitals_cpap .title::before {
		width: calc(100% - 10px);
		height: calc(100% - 10px);
	}
	.other_hospitals_cpap .title .sub {
		font-size: 22px;
		max-width: 600px;
		top: -23px;
		padding: 6px 0;
		border: 3px solid #234872;
		border-radius: 20px;
	}
	.other_hospitals_cpap .title .sub::after {
		bottom: -12px;
		width: 15px;
		height: 12px;
	}
	.other_hospitals_cpap .title .wrap {
		height: 80px;
		font-size: 20px;
		padding: 5px 0 0;
		box-sizing: border-box;
	}
	.other_hospitals_cpap .title .wrap span {
		padding-right: 33px;
	}
	.other_hospitals_cpap .title .wrap span::after {
		width: 15px;
		height: 11px;
		right: 0;
	}
	.other_hospitals_cpap .content {
		padding: 30px 30px 40px;
	}
	.other_hospitals_cpap .content .lead {
		font-size: 20px;
		margin: 0 0 20px;
	}
	.other_hospitals_cpap .content .comment {
		font-size: 14px;
		line-height: 1.79;
	}
	.other_hospitals_cpap .content .problem_list {
		margin: 27px 0 16px;
		gap: 16px 0;
	}
	.other_hospitals_cpap .content .problem_list li {
		font-size: 20px;
	}
	.other_hospitals_cpap .content .problem_list + p {
		font-size: 20px;
		margin: 0 0 28px;
	}
	.other_hospitals_cpap .content dl:first-of-type {
		margin-top: 42px;
	}
	.other_hospitals_cpap .content dl:not(:last-of-type) {
		margin-bottom: 37px;
	}
	.other_hospitals_cpap .content dl dt {
		font-size: 20px;
		padding: 0 0 13px;
		margin: 0 0 22px;
	}
	.other_hospitals_cpap .content dl dd ul {
		gap: 0 22px;
		margin: 0 0 22px;
	}
	.other_hospitals_cpap .content dl dd ul li {
		width: calc((100% - 22px)/2);
		height: 130px;
	}
	.other_hospitals_cpap .content dl dd ul li:first-child {
		gap: 20px 0;
		border: 5px solid #c7c7bb;
	}
	.other_hospitals_cpap .content dl dd ul li:last-child {
		gap: 10px 0;
	}
	.other_hospitals_cpap .content dl dd ul li:first-child::before {
		width: calc(100% - 6px);
		height: calc(100% - 8px);
		border: solid #d8d8cd 2px;
	}
	.other_hospitals_cpap .content dl dd ul li .type {
		font-size: 20px;
	}
	.other_hospitals_cpap .content dl dd ul li .price {
		font-size: 26px;
	}
	.other_hospitals_cpap .content dl dd ul li .price .period {
		padding: 0 12px 0 0;
	}
	.other_hospitals_cpap .content dl dd ul li .price .num {
		font-size: 35px;
	}
	.other_hospitals_cpap .content dl dd ul li .comment {
		font-size: 12px;
	}
	.other_hospitals_cpap .btn_wrap {
		padding: 40px 0 50px;
	}
	.other_hospitals_cpap .btn_wrap::before {
		width: 1200px;
		height: 491px;
		max-width: 100vw;
		background: url(img/other_hospitals_cpap_oblong.png) no-repeat center / 100% auto;
	}
	.other_hospitals_cpap .btn_wrap .text {
		font-size: 22px;
		letter-spacing: 0.2em;
		margin: 0 0 11px;
	}
	.other_hospitals_cpap .btn_wrap .btn {
		max-width: 350px;
		margin: 0 auto;
	}
	.other_hospitals_cpap .btn_wrap .btn a {
		font-size: 21px;
        height: 60px;
        border-radius: 15px;
        transition: opacity .3s, background-color .3s;
        opacity: 1;
    }
    .other_hospitals_cpap .btn_wrap .btn a::after {
        width: 10px;
        height: 15px;
        right: 31px;
        transition: background 0.3s;
    }
    .other_hospitals_cpap .btn_wrap .btn a:hover {
		opacity: 0.7;
	}
}
@media ( min-width: 961px ) {
	.about .content_wrap .content {
		padding: 0 70px;
		margin-right: auto;
		margin-left: auto;
	}
	.about .content_wrap .online {
		flex-direction: row-reverse;
	}
	.about .content_wrap .content .photo {
		flex: 0 0 41.6667vw;
		height: 350px;
	}
	.about .content_wrap .content:nth-of-type(odd) .photo {
		margin-left: calc((50vw - 50%)*-1);
	}
	.about .content_wrap .content:nth-of-type(even) .photo {
		margin-right: calc((50vw - 50%)*-1);
	}
	.about .content_wrap .content .group {
		position: relative;
	}
	.about .merit {
		position: absolute;
		width: 700px;
		height: 220px;
		left: 0;
		bottom: -30px;
	}
	.about .merit dl dd .list ul {
		gap: 16px 25px;
	}
	.about .merit dl dd .list ul li::before {
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}
	.about .merit dl dd .list ul li {
		text-align: left;
		padding: 0 0 0 50px;
		height: 48px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	.about .content_wrap .content {
		padding: 0 70px;
	}
	.about .content_wrap .content:nth-of-type(odd) .photo {
		margin-left: -70px;
	}
	.about .content_wrap .content:nth-of-type(even) .photo {
		margin-right: -70px;
	}
	.about .content_wrap .treatment .group .therapy_list ul {
		margin: 0 auto;
	}
	.about .merit {
		margin: 0 -30px;
	}
	.about .merit dl dd .list ul {
		gap: 25px 35px;
	}
	.about .merit dl dd .list ul li {
		padding: 60px 0 0;
	}
	.other_hospitals_cpap {
		padding: 23px 0 0;
	}
}
@media ( max-width: 960px ) {
	.about .content_wrap .content {
		flex-direction: column;
	}
	.about .merit dl dd .list ul li {
		flex-direction: column;
	}
	.about .merit dl dd .list ul li::before {
		top: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	.other_hospitals_cpap .content .text {
		line-height: 1.67;
	}
	.other_hospitals_cpap .content .lead {
		line-height: 1.5;
	}
}
@media ( max-width: 600px ) {
	.about {
		padding: 10.6667vw 0 13.3333vw;
	}
	.about .section_title {
		margin: 0 0 6.6667vw;
	}
	.about .content_wrap .content {
		gap: 5.3333vw 0;
		padding: 0 9.3333vw;
	}
	.about .content_wrap .treatment {
		margin-bottom: 8.2667vw;
	}
	.about .content_wrap .online {
		margin-bottom: 6.9333vw;
	}
	.about .content_wrap .content .photo {
		width: 90.6667vw;
	}
	.about .content_wrap .content:nth-of-type(odd) .photo {
		margin-left: -9.3333vw;
	}
	.about .content_wrap .content:nth-of-type(even) .photo {
		margin-right: -9.3333vw;
	}
	.about .content_wrap .content .group .lead {
		font-size: 3.7333vw;
		line-height: 1.61;
	}
	.about .content_wrap .treatment .group .lead {
		margin: 0 0 4vw;
		letter-spacing: -0.02em;
	}
	.about .content_wrap .online .group .lead {
		margin: 0 0 3.7333vw;
	}
	.about .content_wrap .online .group .text {
		margin: 0 0 5.3333vw;
		line-height: 1.82;
	}
	.about .content_wrap .treatment .group .therapy_list ul {
		gap: 0 4.6667vw;
	}
	.about .content_wrap .treatment .group .therapy_list ul li {
		width: 20.9333vw;
		height: 24vw;
		padding: 0.6667vw;
	}
	.about .content_wrap .treatment .group .therapy_list ul li .inn {
		font-size: 3.4667vw;
		gap: 0.9333vw 0;
	}
	.about .content_wrap .treatment .group .therapy_list ul li .illust {
		width: 9.6vw;
	}
	.about .merit {
		padding: 5.33vw 2.6667vw;
		margin: 0 -4vw;
	}
	.about .merit dl dt {
		margin: 0 0 4.2667vw;
	}
	.about .merit dl dd .list ul {
		gap: 5.0667vw 4vw;
	}
	.about .merit dl dd .list ul li {
		font-size: 3.4667vw;
		padding: 8.6667vw 0 0 0;
		line-height: 1.3;
		width: 40vw;
	}
	.about .merit dl dd .list ul li::before {
		width: 5.3333vw;
		height: 6.4vw;
	}
	.other_hospitals_cpap {
		padding: 3.3333vw 0 0;
	}
	.other_hospitals_cpap .title {
		font-size: 3.2vw;
	}
	.other_hospitals_cpap .title::before {
		width: calc(100% - 2.6667vw);
		height: calc(100% - 2.6667vw);
	}
	.other_hospitals_cpap .title .sub {
		font-size: 3.2vw;
		width: 84vw;
		top: -3.7333vw;
		padding: 1.7333vw 0;
		border: 0.4vw solid #234872;
		border-radius: 3.3333vw;
	}
	.other_hospitals_cpap .title .sub::after {
		bottom: -1.3333vw;
		width: 2vw;
		height: 1.7333vw;
	}
	.other_hospitals_cpap .title .wrap {
		height: 12vw;
		font-size: 3.2vw;
		padding: 0.9333vw 0 0;
		box-sizing: border-box;
	}
	.other_hospitals_cpap .title .wrap span {
		padding-right: 5.0667vw;
	}
	.other_hospitals_cpap .title .wrap span::after {
		width: 2.6667vw;
		height: 1.8667vw;
		right: 0;
	}
	.other_hospitals_cpap .content {
		padding: 4vw 2.6667vw 6.6667vw;
	}
	.other_hospitals_cpap .content .text.big {
		font-size: 3.3vw;
	}
	.other_hospitals_cpap .content .text.mini {
		font-size: 2.6667vw;
	}
	.other_hospitals_cpap .content .lead {
		margin: 0 0 2.6667vw;
		font-size: 3.4667vw;
	}
	.other_hospitals_cpap .content .comment {
		font-size: 2.6667vw;
		line-height: 1.5;
	}
	.other_hospitals_cpap .content .problem_list {
		margin: 2.8vw 0 0;
		line-height: 1.73;
	}
	.other_hospitals_cpap .content .problem_list + p {
		line-height: 1.73;
		margin: 0 0 0.5333vw;
	}
	.other_hospitals_cpap .content dl:first-of-type {
		margin-top: 6.6667vw;
	}
	.other_hospitals_cpap .content dl:not(:last-of-type) {
		margin-bottom: 6.6667vw;
	}
	.other_hospitals_cpap .content dl dt {
		font-size: 3.7333vw;
		padding: 0 0 2vw;
		margin: 0 0 3.3333vw;
		font-weight: 800;
	}
	.other_hospitals_cpap .content dl dd ul {
		gap: 0 1.3333vw;
		margin: 0 0 2.6667vw;
	}
	.other_hospitals_cpap .content dl dd ul li {
		width: calc((100% - 1.3333vw)/2);
		height: 17.3333vw;
	}
	.other_hospitals_cpap .content dl dd ul li:first-child {
		gap: 3.0667vw 0;
		border: 0.8vw solid #c7c7bb;
	}
	.other_hospitals_cpap .content dl dd ul li:last-child {
		gap: 1.3333vw 0;
	}
	.other_hospitals_cpap .content dl dd ul li:first-child::before {
		width: calc(100% - 0.8vw);
		height: calc(100% - 0.8vw);
		border: solid #d8d8cd 0.2667vw;
	}
	.other_hospitals_cpap .content dl dd ul li .type {
		font-size: 2.6667vw;
	}
	.other_hospitals_cpap .content dl dd ul li .price .period {
		padding: 0 1.6vw 0 0;
	}
	.other_hospitals_cpap .content dl dd ul li .price .num {
		font-size: 4.6667vw;
	}
	.other_hospitals_cpap .content dl dd ul li .comment {
		font-size: 2vw;
	}
	.other_hospitals_cpap .btn_wrap {
		padding: 6.5333vw 0 8.9333vw;
	}
	.other_hospitals_cpap .btn_wrap::before {
		width: 100vw;
		height: 96.4vw;
		background: url(img/cv_area_oblong_sp.png) no-repeat center / cover;
    }
	.other_hospitals_cpap .btn_wrap .text {
		font-size: 4.6667vw;
		margin: 0 0 2.6667vw;
	}
	.other_hospitals_cpap .btn_wrap .btn {
		width: 80vw;
		margin: 0 auto;
	}
	.other_hospitals_cpap .btn_wrap .btn a {
		font-size: 4.8vw;
		height: 13.3333vw;
		border-radius: 2vw;
	}
	.other_hospitals_cpap .btn_wrap .btn a::after {
		width: 2.4vw;
		height: 3.4667vw;
		right: 6.6667vw;
	}
}

/*-----------------------------------
.reason
-----------------------------------*/
.reason .list ul {
	display: flex;
	flex-direction: column;
}
.reason .list ul li dl {
	box-sizing: border-box;
	position: relative;
	background-color: #eee9d3;
	background-repeat: no-repeat;
	text-align: left;
}
.reason .list ul li dl .number {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	position: absolute;
	background: #234872;
	clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}
.reason .list ul li dl dt {
	color: #234872;
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 400;
}
.reason .list ul li dl dd .c_darkred {
	font-weight: 700;
}
.reason .summary {
	position: relative;
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 700;
	color: #234872;
}
.reason .summary::before,
.reason .summary::after {
	content: '';
}
.reason .summary::after {
	transform: rotateY(180deg);
}
.reason .doctor {
	background: #f5f3ea;
	display: grid;
}
.reason .doctor .profile .photo_wrap {
	position: relative;
}
.reason .doctor .profile .photo_wrap .band {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	background: rgba(255,255,255,0.75);
	position: absolute;
	right: 0;
	bottom: 0;
}
.reason .doctor .profile .photo_wrap .band span {
	color: #234872;
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 400;
	text-align: left;
}
.reason .doctor .profile .text {
	text-align: left;
}
.reason .doctor .career_media dt,
.reason .doctor .career_media dd {
	text-align: left;
}
.reason .doctor .career_media dt {
	color: #234872;
	font-weight: 700;
}
@media ( min-width: 601px ) {
	.reason {
		padding: 55px 0 100px;
	}
	.reason .section_title {
		margin: 0 0 40px;
	}
	.reason .list {
		margin: 0 0 60px;
	}
	.reason .list ul {
		gap: 30px 0;
	}
	.reason .list ul li dl {
		width: 100%;
		min-height: 240px;
		padding: 40px 70px 45px 55px;
	}
	.reason .list ul li:nth-child(1) dl {
		background-image: url('img/reason_list_1_illust.png');
	}
	.reason .list ul li:nth-child(2) dl {
		background-image: url('img/reason_list_2_illust.png');
	}
	.reason .list ul li:nth-child(3) dl {
		background-image: url('img/reason_list_3_illust.png');
	}
	.reason .list ul li:nth-child(4) dl {
		background-image: url('img/reason_list_4_illust.png');
	}
	.reason .list ul li:nth-child(5) dl {
		background-image: url('img/reason_list_5_illust.png');
	}
	.reason .list ul li dl dt {
		font-size: 22px;
		margin: 0 0 27px;
	}
	.reason .list ul li dl .number {
		width: 70px;
		height: 80px;
		font-size: 30px;
		left: -45px;
		top: 12px;
	}
	.reason .list ul li dd {
		font-size: 18px;
		line-height: 1.67;
	}
	.reason .list ul li dl dd .comment {
		font-size: 14px;
		margin: 20px 0 0;
	}
	.reason .summary {
		font-size: 30px;
		margin: 0 0 35px;
	}
	.reason .summary::before,
	.reason .summary::after {
		width: 25px;
		height: 30px;
		background: url('img/icon_twin_hexagon.png') no-repeat left top/cover;
	}
	.reason .doctor {
		padding: 46px 35px 48px;
	}
	.reason .doctor .profile .photo_wrap {
		margin: 0 0 22px;
	}
	.reason .doctor .profile .text {
		font-size: 14px;
		line-height: 1.79;
	}
	.reason .doctor .career_media .career {
		margin: 0 0 30px;
	}
	.reason .doctor .career_media dt {
		font-size: 16px;
		margin: 0 0 10px;
	}
	.reason .doctor .career_media dd {
		font-size: 14px;
		line-height: 1.79;
	}
	.reason .doctor .profile .photo_wrap .band {
		width: 300px;
		height: 70px;
		border-left: 6px solid #a1ceeb;
		gap: 0 15px;
		padding: 0 0 0 32px;
	}
	.reason .doctor .profile .photo_wrap .band .post {
		font-size: 12px;
		line-height: 1.5;
	}
	.reason .doctor .profile .photo_wrap .band .name {
		font-size: 30px;
	}
}
@media ( min-width: 961px ) {
	.reason .list ul li:nth-child(odd) {
		padding: 0 0 0 35px;
	}
	.reason .list ul li dl {
		border-left: 10px solid #a1ceeb;
		background-position: right bottom;
		max-width: 765px;
	}
	.reason .list ul li:nth-child(even) dl {
		margin: 0 0 0 auto;
	}
	.reason .doctor {
		grid-template-columns: 390px auto;
		grid-template-rows: 1fr;
		grid-column-gap: 45px;
		grid-row-gap: 0px;
	}
	.reason .summary::before,
	.reason .summary::after {
		display: inline-block;
	}
	.reason .summary::before {
		margin: 0 0.23em 0 0;
	}
	.reason .summary::after {
		margin: 0 0 0 0.23em;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	.reason .list {
		margin: 0 20px 60px;
	}
	.reason .list ul li dl {
		background-size: 188px auto;
	}
	.reason .list ul li:nth-child(odd) dl {
		border-left: 10px solid #a1ceeb;
	}
	.reason .list ul li:nth-child(even) dl {
		border-right: 10px solid #a1ceeb;
	}
	.reason .list ul li:nth-child(even) dl .number {
		left: auto;
		right: -45px;
	}
	.reason .doctor {
		grid-row-gap: 30px;
	}
	.reason .doctor .profile .photo_wrap {
		max-width: 610px;
		margin: 0 auto 22px;
	}
}
@media ( max-width: 960px ) {
	.reason .list ul li:nth-child(odd) dl {
		background-position: right bottom;
	}
	.reason .list ul li:nth-child(even) dl {
		background-position: left bottom;
	}
	.reason .list ul li:nth-child(1) dl {
		background-image: url('img/reason_list_1_illust_sp.png');
	}
	.reason .list ul li:nth-child(2) dl {
		background-image: url('img/reason_list_2_illust_sp.png');
	}
	.reason .list ul li:nth-child(3) dl {
		background-image: url('img/reason_list_3_illust_sp.png');
	}
	.reason .list ul li:nth-child(4) dl {
		background-image: url('img/reason_list_4_illust_sp.png');
	}
	.reason .list ul li:nth-child(5) dl {
		background-image: url('img/reason_list_5_illust_sp.png');
	}
	.reason .summary {
		display: inline-block;
		line-height: 1.43;
	}
	.reason .summary::before,
	.reason .summary::after {
		display: block;
		position: absolute;
		bottom: 0.23em;
	}
	.reason .summary::before {
		left: -1.28em;
	}
	.reason .summary::after {
		right: -1.28em;
	}
}
@media ( max-width: 600px ) {
	.reason {
		padding: 10.6667vw 0 13.3333vw;
	}
	.reason .section_title {
		margin: 0 0 6.6667vw;
	}
	.reason .list {
		margin: 0 0 6.6667vw;
		padding: 0 4vw;
	}
	.reason .list ul {
		gap: 4vw 0;
	}
	.reason .list ul li dl {
		padding: 5.3333vw 6vw;
		background-size: 27.7333vw auto;
		min-height: 36vw;
	}
	.reason .list ul li:nth-child(odd) dl {
		border-left: 1.3333vw solid #a1ceeb;
	}
	.reason .list ul li:nth-child(even) dl {
		border-right: 1.3333vw solid #a1ceeb;
	}
	.reason .list ul li dl dt {
		font-size: 4.2667vw;
		margin: 0 0 3.0667vw;
	}
	.reason .list ul li dl .number {
		width: 10.6667vw;
		height: 12vw;
		font-size: 4.2667vw;
		top: 1.3333vw;
	}
	.reason .list ul li:nth-child(odd) dl .number {
		left: -6.6667vw;
	}
	.reason .list ul li:nth-child(even) dl .number {
		right: -6.6667vw;
	}
	.reason .list ul li dd {
		font-size: 3.3333vw;
		line-height: 1.6;
	}
	.reason .list ul li dl dd .comment {
		font-size: 2.6667vw;
		margin: 2.6667vw 0 0;
	}
	.reason .summary {
		font-size: 4.6667vw;
		margin: 0 0 5.3333vw;
	}
	.reason .summary::before,
	.reason .summary::after {
		width: 5.2vw;
		height: 6.6667vw;
		background: url('img/icon_twin_hexagon_sp.png') no-repeat left top/cover;
	}
	.reason .doctor {
		grid-row-gap: 5.3333vw;
		padding: 5.3333vw 4vw 6.6667vw;
	}
	.reason .doctor .profile .photo_wrap {
		margin: 0 0 4vw;
	}
	.reason .doctor .profile .text {
		font-size: 2.6667vw;
		line-height: 1.5;
	}
	.reason .doctor .career_media .career {
		margin: 0 0 5.3333vw;
	}
	.reason .doctor .career_media dt {
		font-size: 3.2vw;
		margin: 0 0 2.6667vw;
	}
	.reason .doctor .career_media dd {
		font-size: 2.6667vw;
		line-height: 1.5;
	}
	.reason .doctor .profile .photo_wrap .band {
		width: 48vw;
		height: 10.6667vw;
		border-left: 0.8vw solid #a1ceeb;
		gap: 0 2.6667vw;
		padding: 0 0 0 3.2vw;
	}
	.reason .doctor .profile .photo_wrap .band .post {
		font-size: 2.1333vw;
		line-height: 1.38;
	}
	.reason .doctor .profile .photo_wrap .band .name {
		font-size: 5.0667vw;
	}
}
/*-----------------------------------
.flow
-----------------------------------*/
.flow {
	background: #dce9f2;
}
.flow .flow_list ol > li {
	position: relative;
}
.flow .flow_list ol > li:nth-child(odd) {
	background: #f5f3ea;
}
.flow .flow_list ol > li:nth-child(even) {
	background: #fffdf4;
}
.flow .flow_list ol > li:not(:last-child)::after {
	content: '';
	display: block;
	width: 100%;
	clip-path: polygon(50% 100%, 0 0, 100% 0);
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}
.flow .flow_list ol > li:nth-child(odd)::after {
	background: #f5f3ea;
}
.flow .flow_list ol > li:nth-child(even)::after {
	background: #fffdf4;
}
.flow .flow_list ol > li dt {
	color: #234872;
	display: flex;
	align-items: center;
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 400;
}
.flow .flow_list ol > li dt .number {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: #234872;
	clip-path: polygon(50% 0, 100% 24%, 100% 76%, 50% 100%, 0 76%, 0 24%);
}
.flow .flow_list ol > li:not(:nth-child(2)) dd {
	display: grid;
}
.flow .flow_list ol > li dd .content .text {
	text-align: left;
}
.flow .flow_list ol > li dd .content .text .c_darkred {
	font-weight: 700;
}
.flow .flow_list ol > li dd .content .comment li {
	text-align: left;
	position: relative;
	padding: 0 0 0 1em;
}
.flow .flow_list ol > li dd .content .comment li::before {
	content: '※';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
.flow .flow_list ol > li dd .content .required_wrap {
	background: #fffdf4;
}
.flow .flow_list ol > li dd .content .required_wrap .lead {
	color: #234872;
	font-weight: 700;
}
.flow .flow_list ol > li dd .content .required_wrap .required_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(2, auto);
	grid-column-gap: 0px;
}
.flow .flow_list ol > li dd .content .required_wrap .required_list li {
	position: relative;
	text-align: left;
	padding: 0 0 0 1em;
}
.flow .flow_list ol > li dd .content .required_wrap .required_list li::before {
	content: '●';
	display: block;
	position: absolute;
	left: 0;
}
.flow .flow_list ol > li dd .content .required_wrap .comment {
	display: inline-block
}
.flow .flow_list ol > li dd .content .type {
	display: flex;
}
.flow .flow_list ol > li dd .content .type li {
	box-sizing: border-box;
	background: #b3d8f0;
	display: grid;
}
.flow .flow_list ol > li dd .content .type li .photo {
	grid-area: photo;
}
.flow .flow_list ol > li dd .content .type li .type_name {
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 400;
	color: #234872;
	display: flex;
	align-items: center;
	background: #fff;
	text-align: left;
	grid-area: type_name;
}
.flow .flow_list ol > li dd .content .type li .days {
	text-align: left;
	grid-area: days;
}
@media ( min-width: 601px ) {
	.flow {
		padding: 55px 0 100px;
	}
	.flow .section_title {
		margin: 0 0 45px;
	}
	.flow .flow_list ol > li:not(:first-child) {
		padding: 90px 30px 40px;
	}
	.flow .flow_list ol > li:first-child {
		padding: 40px 30px;
	}
	.flow .flow_list ol > li::after {
		height: 61px;
		bottom: -60px;
	}
	.flow .flow_list ol > li .wrap {
		max-width: 800px;
		margin: 0 auto;
	}
	.flow .flow_list ol > li dt {
		gap: 0 20px;
		font-size: 20px;
		margin: 0 0 15px;
	}
	.flow .flow_list ol > li dt .number {
		width: 45px;
		height: 50px;
		font-size: 20px;
	}
	.flow .flow_list ol > li dd .content .text {
		line-height: 1.76;
	}
	.flow .flow_list ol > li:nth-child(1) dd .content .text {
		margin: 0 0 14px;
	}
	.flow .flow_list ol > li dd .content .comment li {
		font-size: 14px;
	}
	.flow .flow_list ol > li dd .content .required_wrap {
		padding: 30px 20px;
		margin: 32px 0 0;
	}
	.flow .flow_list ol > li dd .content .required_wrap .lead {
		margin: 0 0 22px;
	}
	.flow .flow_list ol > li dd .content .required_wrap .required_list {
		grid-row-gap: 10px;
	}
	.flow .flow_list ol > li dd .content .required_wrap .required_list li::before {
		font-size: 12px;
	}
	.flow .flow_list ol > li dd .content .required_wrap .comment {
		margin: 24px 0 0;
	}
	.flow .flow_list ol > li:nth-child(2) dd .content .text:nth-child(1) {
		margin: 0 0 30px;
	}
	.flow .flow_list ol > li dd .content .type {
		gap: 0 40px;
		margin: 0 0 30px;
	}
	.flow .flow_list ol > li dd .content .type li {
		width: calc((100% - 40px)/2);
	}
	.flow .flow_list ol > li dd .content .type li .type_name {
		font-size: 22px;
		padding: 0 10px;
	}
	.flow .flow_list ol > li dd .content .type li .days {
		font-size: 18px;
	}
}
@media ( min-width: 961px ) {
	.flow .flow_list ol > li dd {
		grid-template-columns: 200px auto;
		grid-template-rows: 1fr;
		grid-column-gap: 30px;
		grid-row-gap: 0px;
	}
	.flow .flow_list ol > li dd .content .required_wrap .required_list li::before {
		top: 2px;
	}
	.flow .flow_list ol > li dd .content .type li {
		grid-template-columns: 150px auto;
		grid-template-rows: 40px auto;
		gap: 17px 20px; 
		grid-template-areas: 'photo type_name''photo days';
		padding: 20px 0 20px 20px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	.flow .flow_list ol > li dd {
		grid-row-gap: 30px;
	}
	.flow .flow_list ol > li dd .content .type li {
		padding: 20px;
		gap: 17px 0; 
	}
	.flow .flow_list ol > li dd .content .type li .type_name {
		width: 220px;
		padding: 10px 0;
		margin: 0 0 0 -20px;
	}
}
@media ( max-width: 960px ) {
	.flow .flow_list ol > li dd .content .required_wrap .lead {
		line-height: 1.59;
	}
	.flow .flow_list ol > li dd .content .required_wrap .required_list li {
		line-height: 1.36;
	}
	.flow .flow_list ol > li dd .content .required_wrap .required_list li::before {
		top: 0.2em;
	}
	.flow .flow_list ol > li dd .content .type li {
		grid-template-columns: 1fr;
		grid-template-rows: repeat(3,auto);
		grid-template-areas: 'type_name''photo''days';
	}
	.flow .flow_list ol > li dd .content .type li .type_name {
		box-sizing: border-box;
		justify-content: center;
	}
}
@media ( max-width: 600px ) {
	.flow {
		padding: 10.6667vw 0 13.3333vw;
	}
	.flow .section_title {
		margin: 0 0 6.6667vw;
	}
	.flow .flow_list ol > li:not(:first-child) {
		padding: 14.1333vw 4vw 6vw;
	}
	.flow .flow_list ol > li:first-child {
		padding: 4vw;
	}
	.flow .flow_list ol > li::after {
		height: 6.8vw;
		bottom: -6.6667vw;
	}
	.flow .flow_list ol > li dt {
		gap: 0 2.6667vw;
		font-size: 4.2667vw;
		margin: 0 0 4vw;
	}
	.flow .flow_list ol > li dt .number {
		width: 6.9333vw;
		height: 8vw;
		font-size: 3.2vw;
	}
	.flow .flow_list ol > li dd {
		grid-row-gap: 5.3333vw;
	}
	.flow .flow_list ol > li dd .content .text {
		line-height: 1.54;
	}
	.flow .flow_list ol > li:nth-child(1) dd .content .text {
		margin: 0 0 2.6667vw;
	}
	.flow .flow_list ol > li dd .content .comment li {
		font-size: 2.9333vw;
		line-height: 1.36;
	}
	.flow .flow_list ol > li dd .content .required_wrap {
		padding: 4vw 5.3333vw;
		margin: 5.3333vw 0 0;
	}
	.flow .flow_list ol > li dd .content .required_wrap .lead {
		margin: 0 0 4vw;
		font-size: 2.9333vw;
	}
	.flow .flow_list ol > li dd .content .required_wrap .required_list {
		grid-row-gap: 2.6667vw;
	}
	.flow .flow_list ol > li dd .content .required_wrap .required_list li {
		font-size: 3.4667vw;
	}
	.flow .flow_list ol > li dd .content .required_wrap .required_list li::before {
		font-size: 2.4vw;
		line-height: 1.36;
	}
	.flow .flow_list ol > li dd .content .required_wrap .comment {
		font-size: 2.6667vw;
		margin: 3.3333vw 0 0;
		line-height: 1.5;
	}
	.flow .flow_list ol > li:nth-child(2) dd .content .text:nth-child(1) {
		margin: 0 0 5.3333vw;
	}
	.flow .flow_list ol > li dd .content .type {
		gap: 0 4vw;
		margin: 0 0 5.3333vw;
	}
	.flow .flow_list ol > li dd .content .type li {
		width: calc((100% - 4vw)/2);
		gap: 2vw 0;
		padding: 2.6667vw 2.6667vw 4.6667vw 2.6667vw;
	}
	.flow .flow_list ol > li dd .content .type li .type_name {
		width: 29.3333vw;
		padding: 1.3333vw 0;
		margin: 0 0 0 -2.6667vw;
	}
	.flow .flow_list ol > li dd .content .type li .days {
		font-size: 2.9333vw;
	}
}
/*-----------------------------------
.access
-----------------------------------*/
.access .title {
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 400;
	border-bottom: 1px solid #d8d8cd;
	text-align: left;
}
.access .info .content {
	display: flex;
}
.access .info .content .detail dl {
	display: flex;
}
.access .info .content .detail dt {
	font-weight: 700;
}
.access .info .content .detail dt,
.access .info .content .detail dd {
	text-align: left;
}
.access .info .content .detail dd a {
	color: #234872;
	font-weight: 700;
	line-height: 1.15;
}
.access .info .content .map {
	position: relative;
}
.access .info .content .map iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.access .medical_hours .table table {
	width: 100%;
}
.access .medical_hours .table thead th,
.access .medical_hours .table tbody th {
	background: #f5f3ea;
	font-weight: 700;
	text-align: center;
}
.access .medical_hours .table tbody th div {
	position: relative;
	line-height: 2;
}
.access .medical_hours .table tbody th div::before {
	content: '';
	width: 1px;
	background: #383838;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.access .medical_hours .text {
	text-align: right;
}
@media ( min-width: 601px ) {
	.access {
		padding: 55px 0 100px;
	}
	.access .section_title {
		margin: 0 0 45px;
	}
	.access .title {
		font-size: 22px;
		margin: 0 0 40px;
		padding: 0 0 15px;
	}
	.access .info {
		margin: 0 0 48px;
	}
	.access .info .title .img {
		width: 267px;
	}
	.access .info .content .detail dl {
		gap: 0 30px;
		line-height: 1.47;
	}
	.access .info .content .detail dl:not(:last-of-type) {
		margin: 0 0 30px;
	}
	.access .info .content .detail dt {
		flex: 0 0 70px;
	}
	.access .info .content .detail dd a {
		font-size: 22px;
	}
	.access .medical_hours .table table {
		max-width: 800px;
		margin: 0 auto 18px;
	}
	.access .medical_hours .table thead th {
		height: 50px;
		border-right: 2px solid #fff;
	}
	.access .medical_hours .table tbody th {
		width: 120px;
		height: 78px;
		border-top: 2px solid #fff;
	}
	.access .medical_hours .table tbody th div::before {
		height: 7px;
	}
	.access .medical_hours .table tbody td:not(:last-of-type) {
		border-right: 2px solid #f5f3ea;
	}
	.access .medical_hours .table tbody tr:nth-of-type(1) td {
		border-bottom: 2px solid #f5f3ea;
	}
	.access .medical_hours .text {
		font-size: 16px;
		line-height: 1.56;
		max-width: 800px;
		margin: 0 auto;
	}
}
@media ( min-width: 961px ) {
	.access .info .content {
		gap: 0 30px;
	}
	.access .info .content .detail {
		flex: 0 0 calc(100% - 500px);
	}
	.access .info .content .map {
		margin: 0 0 0 auto;
		flex: 0 0 470px;
		height: 250px;
	}
}
@media ( min-width: 601px ) {
	.access .info .content {
		gap: 30px 0;
	}
	.access .info .content .map {
		height: 355px;
	}
}
@media ( max-width: 960px ) {
	.access .info .content {
		flex-direction: column;
	}
}
@media ( max-width: 600px ) {
	.access {
		padding: 10.6667vw 0 13.3333vw;
	}
	.access .section_title {
		margin: 0 0 6.9333vw;
	}
	.access .title {
		font-size: 4.2667vw;
		margin: 0 0 5.3333vw;
		padding: 0 0 2.5333vw;
	}
	.access .info {
		margin: 0 0 48px;
	}
	.access .info .title .img {
		width: 44.5333vw;
	}
	.access .info .content {
		gap: 5.3333vw 0;
	}
	.access .info .content .detail dl {
		gap: 0 4.6667vw;
		line-height: 1.54;
	}
	.access .info .content .detail dl:not(:last-of-type) {
		margin: 0 0 5.3333vw;
	}
	.access .info .content .detail dt {
		flex: 0 0 14vw;
	}
	.access .info .content .detail dd a {
		font-size: 4.2667vw;
		text-decoration: underline;
	}
	.access .info .content .map {
		height: 47.4667vw;
	}
	.access .medical_hours .table table {
		margin: 0 auto 3.7333vw;
		font-size: 2.6667vw;
	}
	.access .medical_hours .table thead th {
		height: 8.2667vw;
		border-right: 0.2667vw solid #fff;
	}
	.access .medical_hours .table tbody th {
		width: 13.3333vw;
		height: 12vw;
		border-top: 0.2667vw solid #fff;
	}
	.access .medical_hours .table tbody th div::before {
		height: 0.9333vw;
	}
	.access .medical_hours .table tbody td:not(:last-of-type) {
		border-right: 0.2667vw solid #f5f3ea;
	}
	.access .medical_hours .table tbody tr:nth-of-type(1) td {
		border-bottom: 0.2667vw solid #f5f3ea;
	}
	.access .medical_hours .text {
		font-size: 2.6667vw;
		line-height: 1.5;
	}
}
/*-----------------------------------
.faq
-----------------------------------*/
.faq {
	background: #f5f3ea;
}
.faq .content dl {
	border-bottom: 1px solid #d8d8cd;
}
.faq .content dl:first-of-type {
	border-top: 1px solid #d8d8cd;
}
.faq .content dt,
.faq .content dd {
	text-align: left;
	position: relative;
}
.faq .content dt {
	font-weight: 700;
	cursor: pointer;
}
.faq .content dt::before,
.faq .content dd::before {
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #234872;
	border-radius: 50%;
	position: absolute;
	left: 0;
}
.faq .content dt::before {
	content: 'Q';
	background: #a1ceeb;
}
.faq .content dd::before {
	content: 'A';
	background: #c6c6b8;
}
.faq .content dt::after {
	content: '';
	display: block;
	background: url('img/icon_arrow_down_gray.png') no-repeat left top/cover;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto 0;
}
.faq .content dt.open::after {
	transform: rotateX(180deg);
}
.faq .content dt::after {
	width: 15px;
	height: 10px;
}
.faq .content dd {
	display: none;
	height: auto;
}
@media ( min-width: 601px ) {
	.faq {
		padding: 55px 0 100px;
	}
	.faq .section_title {
		margin: 0 0 40px;
	}
	.faq .content {
		max-width: 800px;
		margin: 0 auto;
	}
	.faq .content dl {
		padding: 30px 20px;
	}
	.faq .content dt,
	.faq .content dd {
		line-height: 1.76;
	}
	.faq .content dt {
		padding: 0 35px 0 45px;
	}
	.faq .content dd {
		padding: 0 0 0 45px;
		margin: 25px 0 0;
	}
	.faq .content dt::before,
	.faq .content dd::before {
		width: 30px;
		height: 30px;
		top: 0;
	}
}
@media ( max-width: 600px ) {
	.faq {
		padding: 10.6667vw 0 13.3333vw;
	}
	.faq .section_title {
		margin: 0 0 6.9333vw;
	}
	.faq .content dl {
		padding: 5.6vw 0 4vw;
	}
	.faq .content dt,
	.faq .content dd {
		line-height: 1.54;
	}
	.faq .content dt {
		padding: 0 6vw 0 8.6667vw;
	}
	.faq .content dd {
		padding: 0 0 0 8.6667vw;
		margin: 5.0667vw 0 0;
	}
	.faq .content dt::before,
	.faq .content dd::before {
		width: 6vw;
		height: 6vw;
		top: 0;
	}
}
/*-----------------------------------
.cv_area
-----------------------------------*/
.cv_area {
	position: relative;
	overflow: hidden;
}
.cv_area::before {
	content: '';
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
.cv_area .btn_area {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.cv_area .btn_area .btn a {
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	position: relative;
	letter-spacing: 0.1em;
}
.cv_area .btn_area .booking_online a {
	color: #fff;
	background: #234872;
}
.cv_area .btn_area .booking_face a {
	color: #234872;
	background: #f5f3ea;
}
.cv_area .btn_area .cpap a {
	color: #234872;
	background: #eee9d3;
}
.cv_area .btn_area .btn a::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.cv_area .btn_area .booking_online a::after {
	background: url('img/icon_arrow_white.png') no-repeat left top/cover;
}
.cv_area .btn_area .booking_face a::after,
.cv_area .btn_area .btn.cpap a::after {
	background: url('img/icon_arrow_navy.png') no-repeat left top/cover;
}
@media ( min-width: 601px ) {
	.cv_area {
		padding: 50px 0 60px;
		background: url('img/cv_area_bg.jpg') no-repeat left top/cover;
	}
	.cv_area::before {
		width: 1262px;
		height: 542px;
		background: url('img/cv_area_oblong.png') no-repeat center/cover;
	}
	.cv_area.bottom::before {
		width: 1200px;
		height: 621px;
		background: url('img/cv_area_bottom_oblong.png') no-repeat center/cover;
	}
	.cv_area .section_title {
		margin: 0 0 40px;
	}
	.cv_area .btn_area {
		gap: 20px;
		max-width: 560px;
		margin: 0 auto;
	}
	.cv_area .btn_area .btn {
		flex: 0 1 calc(50% - 10px);
	}
	.cv_area .btn_area .btn.cpap {
		flex: 0 1 100%;
		max-width: 560px;
	}
	.cv_area .btn_area .btn a {
		font-size: 21px;
		height: 60px;
		border-radius: 15px;
		transition: opacity .3s, background-color .3s;
		opacity: 1;
	}
	.cv_area .btn_area .btn a::after {
		width: 10px;
		height: 15px;
		right: 20px;
		transition: background 0.3s;
	}
	.cv_area .btn_area .btn a:hover {
		opacity: 0.7;
	}
}
@media ( max-width: 600px ) {
	.cv_area {
		padding: 10.6667vw 0 13.3333vw;
		background: url('img/cv_area_bg_sp.jpg') no-repeat left top/cover;
	}
	.cv_area::before {
		width: 100vw;
		height: 96.4vw;
		background: url('img/cv_area_oblong_sp.png') no-repeat center/cover;
	}
	.cv_area.bottom::before {
		width: 100vw;
		height: 119.4667vw;
		background: url('img/cv_area_bottom_oblong_sp.png') no-repeat center/cover;
	}
	.cv_area .section_title {
		margin: 0 0 6.6667vw;
	}
	.cv_area .btn_area {
		gap: 4vw 0;
		flex-direction: column;
	}
	.cv_area .btn_area .btn {
		width: 80vw;
	}
	.cv_area .btn_area .btn a {
		font-size: 4.8vw;
		height: 13.3333vw;
		border-radius: 2vw;
	}
	.cv_area .btn_area .btn a::after {
		width: 2.4vw;
		height: 3.4667vw;
		right: 6.6667vw;
	}
}

/*-----------------------------------
.footer
-----------------------------------*/
.footer {
	background: #234872;
}
.footer .copyright {
	color: #fff;
}
@media ( min-width: 601px ) {
	.footer .logo {
		width: 339px;
	}
	.footer .copyright {
		font-size: 12px;
	}
}
@media ( min-width: 961px ) {
	.footer {
		padding: 32px 0 18px;
	}
	.footer .logo {
		text-align: left;
	}
	.footer .copyright {
		text-align: right;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	.footer {
		padding: 32px 0 116px;
	}
	.footer .logo {
		margin: 0 auto 20px;
	}
}
@media ( max-width: 600px ) {
	.footer {
		padding: 6.6667vw 0 15.6vw;
	}
	.footer .logo {
		width: 55.4667vw;
		margin: 0 auto 6.2667vw;
	}
	.footer .copyright {
		font-size: 1.8667vw;
	}
}

/*-----------------------------------
.follow_area
-----------------------------------*/
.follow_area {
	box-sizing: border-box;
	position: fixed;
	z-index: 100;
}
.follow_area ul {
	display: flex;
}
.follow_area .btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 700;
	width: 100%;
	letter-spacing: 0.1em;
}
.follow_area .btn.booking_online a {
	color: #fff;
	background: #234872;
}
.follow_area .btn.booking_face a {
	color: #234872;
	background: #d8d8cd;
}
@media ( min-width: 601px ) {
	.follow_area .btn a {
		font-size: min(2.8vw,21px);
		transition: opacity .3s, background-color .3s;
		opacity: 1;
	}
	.follow_area .btn a:hover {
		opacity: 0.7;
	}
}
@media ( min-width: 961px ) {
	.follow_area {
		width: 65px;
		height: 498px;
		top: 100px;
		right: 0;
	}
	.follow_area ul {
		flex-direction: column;
	}
	.follow_area .btn a {
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		height: 249px;
		box-shadow: -2px 2px 1px 0px rgba(56,56,56,0.3);
	}
	.follow_area .btn.booking_online a {
		border-radius: 15px 0 0;
	}
	.follow_area .btn.booking_face a {
		border-radius: 0 0 0 15px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	.follow_area {
		padding: 15px 40px;
	}
	.follow_area ul {
		gap: 0 20px;
		max-width: 560px;
		margin: 0 auto;
	}
	.follow_area ul li {
		flex: 0 0 calc((100% - 20px)/2);
	}
	.follow_area .btn a {
		border-radius: 15px;
		height: 60px;
	}
	.follow_area .btn a::after {
		width: 10px;
		height: 15px;
		right: 20px;
	}
}
@media ( max-width: 960px ) {
	.follow_area {
		width: 100%;
		background: rgba(255,255,255,0.7);
		bottom: 0;
		left: 0;
	}
	.follow_area .btn a {
		position: relative;
		box-shadow: 0 1px 1px 0px rgba(56,56,56,0.3);
	}
	.follow_area .btn a::after {
		content: '';
		display: block;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}
	.follow_area .btn.booking_online a::after {
		background: url('img/icon_arrow_white.png') no-repeat left top/cover;
	}
	.follow_area .btn.booking_face a::after {
		background: url('img/icon_arrow_navy.png') no-repeat left top/cover;
	}
}
@media ( max-width: 600px ) {
	.follow_area {
		padding: 2vw 5.3333vw;
	}
	.follow_area ul {
		gap: 0 2.6667vw;
	}
	.follow_area ul li {
		flex: 0 0 calc((100% - 2.6667vw)/2);
	}
	.follow_area .btn a {
		font-size: 3.8vw;
		border-radius: 2vw;
		height: 12vw;
		letter-spacing: -0.1vw;
		padding-right: 2.5vw;
		box-sizing: border-box;
	}
	.follow_area .btn a::after {
		width: 2.4vw;
		height: 3.4667vw;
		right: 2vw;
	}
}