@charset "UTF-8";
/*
Theme Name: koyukai-mc
Theme URI: 
Description: koyukai-mc.or.jp 専用
Author: fu-mi.
Author URI: -
version: 1.0
*/
/*------------------------------------------------
	fonts styles
-------------------------------------------------*/
body { font-family: 'dnp-shuei-mgothic-std', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', helvetica, arial, clean, sans-serif;}
@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
	.selector {
			property: value;
	}
	body {
		font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', helvetica, arial, clean, sans-serif;
	}
}
/*------------------------------------------------
	reset styles
--------------------------------------------------*/
li {
	list-style: none;
}
h1, h2, h3, h4, h5 {
	font-weight: normal;
}
img {
	vertical-align: top;
}
table {
	table-layout: fixed;
	border-collapse: collapse;
	border-spacing: 0;
}
/*------------------------------------------------
	clear styles
--------------------------------------------------*/
.clear:after {
	content: "";
	display: block;
	clear: both;
}
/*------------------------------------------------
	base styles
--------------------------------------------------*/
:root {
	--txt-color: #365177;
	--color-main-nvy: #365177;
	--color-main-pnk: #eb6b64;
	--color-sub-wht: #f6f6f6;
	--color-sub-gry: #e4e4e5;
}
html {
	font-family: dnp-shuei-mgothic-std, sans-serif;
	font-variation-settings: "wght" 400;
	font-style: normal;
	font-size: 62.5%;
	background-color: #f6f6f6;
	padding: 15px;
}
body {
	-webkit-text-size-adjust: 100%;
	color: var(--txt-color);
	font-weight: 400;
	font-size: 1.5rem;
	line-height: calc(28 / 15);
	letter-spacing: .1em;
	position: relative;
	background-image: url(images/top-head-bg.svg);
	background-repeat: no-repeat;
	background-position: right top;
	background-size: 600px auto;
}
@media screen and (min-width: 768px) and (max-width: 1140px) {
	body {
		width: 1140px;
		margin: 0 auto;
	}
}
body.noscroll {
	overflow: hidden;
}
html::before, html::after, body::before, body::after {
	content:"";
	position:fixed;
	z-index: 10000;
	background-color: var(--color-main-nvy);
}
html::before, html::after {
	width: 100%;
	height: 15px;
	left: 0;
}
body::before, body:after {
	width: 15px;
	height: 100%;
	top: 0;
}
html:before {
	top: 0;
}
html:after {
	bottom: 0;
} 
body:before {
	left: 0;
}
body:after {
	right: 0;
}
html.wf-active {
}
html, body {
	height: auto;
}
h1, h2, h3, h4, h5, p, dt, dd, li {
	font-feature-settings: "normal";
}
i svg {
	vertical-align: middle;
}
.eyecatch-section,
.section {
	width: 100%;
	min-width: 1040px;
	padding-top: 130px;
	padding-bottom: 130px;
}
.section-wht {
	background-color: #fff;
}
.section-topzero {
	padding-top: 0;
}
.foot-section,
.footer {
	background-color: var(--color-sub-gry);
}
.content {
	width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
.div-section {
	width: 100%;
}
.mds {
	text-align: center;
}
.mds > span {
	display: block;
	font-size: 1.8rem;
	line-height: calc(28 / 18);
	letter-spacing: .15em;
	padding-left: .15em;
	position: relative;
	padding-bottom: 5px;
}
.mds > span::first-letter {
	color: var(--color-main-pnk);
}
.mds > span::after {
	content: "";
	width: 30px;
	height: 1px;
	background-color: var(--color-main-nvy);
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
}
.mds > h2,
.mds > h3 {
	font-size: 2.4rem;
	line-height: calc(36 / 24);
	letter-spacing: .15em;
	padding-left: .15em;
	margin-top: 16px;
}
.btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 220px;
	height: 44px;
	border: 1px solid var(--color-main-nvy);
	border-radius: 2px;
	background-color: #fff;
	text-decoration: none;
	color: var(--txt-color);
	transition: all .3s;
}
.btn:hover {
	background-color: var(--color-sub-wht);
}
.btn i {
	display: flex;
	align-items: center;
	justify-content: center;
}
.btn span {
	line-height: 1;
	margin-left: 16px;
}

.navbar {
	width: 100%;
	min-width: 1140px;
	height: 120px;
	padding-left: calc((64 / 1450) * 100%);
	padding-right: calc((64 / 1450) * 100%);
	display: flex;
	align-items: center;
	justify-content: space-between;
}
/* グローバルナビゲーション */
.gnav {
	text-align: right;
}
.gnav ul {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
}
.gnav li {
	position: relative;
	display: flex;
	align-items: center;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: calc(30 / 18);
	letter-spacing: 0.05em;
}
.gnav li + li::before {
	content: "／";
	display: block;
	margin-left: 10px;
	margin-right: 10px;
	color: inherit;
}
.gnav a {
	display: flex;
	align-items: center;
	text-decoration: none;
	color: inherit;
	transition: opacity 0.25s ease;
	padding-top: 5px;
	padding-bottom: 5px;
}
.gnav li:first-child a {
	width: 24px;
	height: 40px;
}
.gnav li:first-child a svg {
	width: 24px;
	height: 24px;
}
.gnav a:hover {
	opacity: 0.7;
}
.gnav .gnv-ico {
	display: block;
	width: 24px;
	height: 24px;
	margin-right: 8px;
}
.gnav .gnv-ico img {
	display: block;
	width: 100%;
	height: auto;
}
.gnav .gnv-label {
	display: block;
	text-align: center;
}
.clone-nav {
	position: fixed;
	top: -120px;
	left: 0;
	width: 100%;
	z-index: 9999;
	transition: top 0.4s ease;
	height: 135px;
	background-color: var(--color-sub-wht);
}
.clone-nav.is-show {
	top: 0;
}
@media screen and (max-width: 1250px) {
	.navbar h1 img,
	.navbar a img {
		width: auto;
		height: 60px;
	}
	.gnav li {
		font-size: 1.5rem;
		line-height: calc(30 / 15);
	}
}


.eyecatch-box {
	width: 1000px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
}
.vertical-title {
	width: calc(100% - 840px);
	text-align: right;
	padding-top: 7px;
}


.top-eyecatch-box {
	width: 100%;
	min-width: 1140px;
	padding-left: calc(((64 / 1450) * 100%) / 1);
	padding-right: calc(((64 / 1450) * 100%) / 1);
	margin-left: auto;
	margin-right: auto;
	height: 805px;
	
	position: relative;
}
.top-eyecatch-bg {
	width: 100%;
	height: 100%;
	background-image: url(images/top-eyecatch01.jpg), url(images/top-eyecatch02.jpg), url(images/top-eyecatch03.jpg);
	background-repeat: no-repeat;
	background-size: 340px auto, 280px auto, 900px auto;
	background-position: top 25px left, bottom left 60px, top 165px left 420px;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
	.top-eyecatch-bg {
		background-image: url(images/top-eyecatch01-2x.jpg), url(images/top-eyecatch02-2x.jpg), url(images/top-eyecatch03-2x.jpg);
	}
}
@media screen and (min-width: 1480px) {
	.top-eyecatch-bg {
		width: 1320px;
		margin-left: auto;
		margin-right: auto;
	}
}
.top-eyecatch {
	padding-top: 30px;
	position: absolute;
	top: 0;
	left: calc(50% - 500px);
}
.top-eyecatch p {
	margin-left: auto;
	margin-right: 0;
	text-align: right;
}

.top-time-box {
	width: 545px;
	height: 240px;
	padding-left: 30px;
	border-top-left-radius: 18px;
	overflow: hidden;
	background: linear-gradient(
		to right,
		#365177 0px,         /* 左端から */
		#365177 30px,        /* 30pxまでは青 */
		rgba(255, 255, 255, 0.9) 30px,  /* そこから白(半透明) */
		rgba(255, 255, 255, 0.9) 100%   /* 最後まで白 */
	);
	padding-top: 25px;
	position: absolute;
	bottom: 0;
	right: 0;
}
.top-time-box > div {
	width: 450px;
	margin-left: auto;
	margin-right: auto;
}
.top-tel {
	display: flex;
	align-items: center;
	margin-top: 20px;
}
.top-tel > p:first-of-type {
	display: inline-flex;
	align-items: baseline;
}
.top-tel > p:first-of-type span {
	font-size: 1.5rem;
	line-height: calc(32 / 15);
}
.top-tel > p:first-of-type span + span {
	font-size: 2.6rem;
	line-height: calc(32 / 26);
	margin-left: 10px;
}
.top-tel > p + p {
	font-size: 1.4rem;
	line-height: calc(16 / 14);
	letter-spacing: .04em;
	margin-left: 15px;
}

.time table {
	width: 100%;
	table-layout: auto;
}
.time table th,
.time table td {
	padding-top: 5px;
	padding-bottom: 5px;
}
.time table thead tr th {
	border-bottom: 1px solid var(--color-main-nvy);
	text-align: center;
	vertical-align: middle;
	font-size: 1.3rem;
	line-height: calc(26 / 13);
	letter-spacing: .25em;
	padding-left: .25em;
}
.time table tbody tr + tr th,
.time table tbody tr + tr td {
	border-top: 1px solid var(--color-main-nvy);
}
.time table thead tr th:first-of-type {
	width: calc((160 / 460) * 100%);
}
.time table thead tr th:last-of-type {
	width: calc((((300 / 7.5) * 1.5) / 460) * 100%);
}
.time table tbody tr + tr th,
.time table tbody tr + tr td {
	border-bottom: 1px solid var(--color-main-nvy);
}
.time table tbody th {
	font-size: 1.6rem;
	line-height: calc(26 / 16);
	letter-spacing: .15em;
	padding-left: .15em;
	text-align: right;
	padding-right: 10px;
}
.time table tbody th span {
	display: inline-block;
	transform: translateY(-0.05em);
}
.time table tbody td {
	font-weight: 700;
	text-align: center;
	vertical-align: middle;
	font-size: 1.3rem;
	line-height: calc(26 / 13);
	letter-spacing: .25em;
	padding-left: .25em;
}
.time table tbody td span {
	color: var(--color-main-pnk);
}
.time table + p {
	margin-top: 8px;
	font-size: 1.4rem;
	line-height: calc(20 / 14);
	font-weight: 700;
	letter-spacing: .18em;
}


.foot-section {
	margin-top: 139px;
	padding-top: 1px;
}
.foot-slide {
	margin-top: -140px;
}
.foot-slide li {
	padding-left: 17px;
	padding-right: 17px;
}
.fp01 {
	padding-top: 10px;
}
.fp02 {
	padding-top: 50px;
}
.fp04 {
	padding-top: 60px;
}
.fp05 {
	padding-top: 20px;
}
.fp06 {
	padding-top: 50px;
}
.footer-top {
	padding-top: 90px;
	padding-bottom: 60px;
	width: 1000px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
}
.ftop-left {
	width: 450px;
}
.ftop-left > div {
	margin-top: 22px;
	display: flex;
	justify-content: space-between;
}
.ftop-right {
	width: 460px;
}
.ftop-right .time {
	margin-top: 50px;
}
.ftop-btm {
	margin-top: 60px;
}
.ftop-btm > p {
	font-weight: 700;
	letter-spacing: .08em;
}
.f-tel {
	margin-top: 20px;
	display: inline-flex;
	align-items: baseline;
	background-image: url(images/border-nvy.svg);
	background-repeat: repeat-x;
	background-position: left bottom;
	background-size: 6px auto;
	padding-right: 4px;
}
.f-tel span {
	font-size: 1.9rem;
	line-height: calc(48 / 19);
}
.f-tel span + span {
	font-size: 3.2rem;
	line-height: calc(48 / 38);
	margin-left: 10px;
}

.news-mds {
	width: 880px;
	margin-left: auto;
	margin-right: auto;
}
.news-mds h2 {
	display: inline-block;
	font-size: 2.4rem;
	line-height: calc(36 / 24);
	letter-spacing: .15em;
	position: relative;
}
.news-mds h2::after {
	content: "";
	width: 30px;
	height: 1px;
	background-color: var(--color-main-nvy);
	position: absolute;
	top: 50%;
	right: -50px;
	transform: translateY(-50%);
}
.news-mds span {
	font-size: 1.6rem;
	display: block;
	line-height: calc(28 / 16);
	letter-spacing: .15em;
	color: var(--color-main-pnk);
	padding-left: .15em;
}
.news-outer {
	width: 880px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
}
.topics_list + .topics_list {
	border-top: 1px solid var(--color-main-nvy);
}
.topics_list:first-child {
	
}
.topics_head {
	padding: 26px 70px 26px 0;
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.date {
	font-size: 1.5rem;
	line-height: calc(28 / 15);
	letter-spacing: .15em;
}
.topics_list h3 {
	font-size: 1.5rem;
	line-height: calc(28 / 15);
	letter-spacing: .15em;
	width: 100%;
	margin-left: 38px;
}
.topics_head figure {
	width: 26px;
	height: 26px;
	display: block;
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	background-image: url(images/news-close.svg);
	background-size: 26px auto;
}
.topics_head.active figure {
	transform: translateY(-50%) rotate(180deg);
}
.topics_head:hover {
	cursor: pointer;
}
.topics_head:hover .date, .topics_head:hover h4, .topics_head:hover figure {
	opacity: 0.7;
}
.topics_content {
	padding: 12px 100px 26px 15px;
	display: none;
}
.topics_head.active + .topics_content {
	display:block;
}
.topics_content {
	margin-top: 0;
}
.topics_content p {
	margin-top: calc(28em / 15);
}
.topics_content p:first-child {margin-top: 0;}
.topics_content p strong {
	font-weight: 700;
}
.topics_content p em { font-style: italic; }
.topics_content p a {
	text-decoration: underline;
}
.topics_content p a:hover {
	text-decoration: none;
}
.topics_content p img {
	max-width: 100%;
	height: auto;
}
.aligncenter {
	display: block;
	margin: 0 auto;
}
.alignright { float: right; }
.alignleft { float: left; }

.ajaxLoad {
	padding-top: 36px;
	position: relative;
	z-index: 1;
}
.ajaxLoad > a {
	width: 170px;
	height: 30px;
	border-radius: 3px;
	border: 1px solid var(--color-main-nvy);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	text-decoration: none;
	color: var(--color-main-nvy);
	letter-spacing: .15em;
	padding-left: .15em;
	background-image: url(images/ico-more.svg);
	background-repeat: no-repeat;
	background-position: left 12px center;
	background-size: 12px auto;
	transition: all .3s;
}
.ajaxLoad > a:hover {
	background-color: var(--color-sub-wht);
}
#loading {
	width: 100%;
	height: 90px;
	background-image: url(images/loading.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 30px auto;
	display: none;
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
}

.top03-mds {
	padding-left: 50px;
	padding-right: 50px;
	position: relative;
}
.top03-mds > p {
	width: 150px;
	height: 50px;
	display: flex;
	align-items: center;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: calc(28 / 16);
	letter-spacing: .15em;
	padding-bottom: .5em;
	color: var(--color-main-pnk);
	position: absolute;
	top: 0;
	left: 50px;
	transform: rotate(90deg);
	transform-origin: 0 0;
}
.top03-mds + h2 {
	font-size: 3.5rem;
	line-height: calc(58 / 35);
	letter-spacing: .15em;
	padding-left: .15em;
	text-align: center;
	margin-top: 70px;
}


.top03-list {
	margin-top: 100px;
	display: grid;
	grid-template-columns: repeat(2, 470px);
	grid-template-rows: repeat(2);
	gap: 90px 60px;
	justify-content: center;
	align-content: center;
}
.top03-list li {
	width: 470px;
	display: flex;
	justify-content: space-between;
}
.top03-list li > figure {
	position: relative;
}
.top03-list li > figure > span {
	display: block;
	position: absolute;
	top: -26px;
	left: 0;
}
.top03-list li > div {
	width: 240px;
}
.top03-list h3 {
	font-size: 2.2rem;
	font-weight: 700;
	line-height: calc(30 / 22);
	letter-spacing: .15em;
}
.top03-list li p {
	margin-top: 20px;
}

.message-box + .btn {
	margin-top: 60px;
	margin-left: auto;
	margin-right: auto;
}












.about01-box01 {
	margin-top: 64px;
}
.about01-box01 > figure {
}
.about01-box01 > figure img + img {
	margin-top: 70px;
}
.about01-box01 > div {
	display: flex;
	justify-content: space-between;
}
.about01-box01 > div > div,
.message-box > div {
	width: 590px;
	padding-right: 40px;
}
.about01-box01 > div + div {
	margin-top: 80px;
}
.message-box {
	display: flex;
	justify-content: space-between;
}
.message01 {
	position: relative;
}
.message01 h3 {
	margin-top: 50px;
	font-size: 20px;
	line-height: calc(36 / 20);
	letter-spacing: .15em;
}
.message01 > p {
	position: absolute;
	top: 0;
	right: 0;
}
.message02 {
	margin-top: 50px;
}
.profile {
	
}
.profile h4 {
	display: inline-block;
	font-size: 1.8rem;
	line-height: calc(36 / 18);
	letter-spacing: .15em;
	padding-left: .15em;
	background-image: url(images/border-nvy.svg);
	background-repeat: repeat-x;
	background-position: left bottom;
	background-size: 6px auto;
}
.profile dl + h4 {
	margin-top: 46px;
}
.profile dl,
.profile ul {
	margin-top: 16px;
}
.profile dt,
.profile li {
	position: relative;
	padding-left: 1.1em;
}
.profile dt::before,
.profile li::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
	color: var(--color-main-pnk);
}
.profile dl > div {
	display: flex;
}
.profile dd {
	margin-left: 1.1em;
}
.about02-box {
	margin-top: 60px;
}
.facility-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 50px 60px;
}
.modal-item {
	cursor: pointer;
	transition: opacity 0.3s ease;
}
.modal-item figure {
	width: 470px;
	height: 310px;
	margin: 0;
	overflow: hidden;
}
.modal-item figure img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	transition: transform 0.4s ease;
}
.modal-item:hover figure img {
	transform: scale(1.05);
}
.modal-item:hover {
	opacity: 0.9;
}
.facility-list .caption {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 10px;
}
.facility-list .caption h3 {
	font-size: 1.8rem;
	margin: 0;
}
.btn-zoom img {
	width: 34px;
	height: 34px;
	opacity: 0.8;
	transition: opacity 0.2s ease;
}
.modal-item:hover .btn-zoom img {
	opacity: 1;
}
#cboxContent {
	border-radius: 0;
}
#cboxCloseCustom {
	position: fixed;
	top: 60px;
	right: 60px;
	width: 80px;
	height: 80px;
	background: url("images/ico-gal-close.svg") no-repeat center center / contain;
	border: none;
	cursor: pointer;
	z-index: 100001;
	opacity: 0.8;
	transition: opacity 0.2s ease;
}
#cboxCloseCustom.is-show {
	opacity: 0.8;
}

#cboxCloseCustom:hover {
	opacity: 1;
}
#colorbox img:focus,
#colorbox:focus,
#cboxLoadedContent:focus {
	outline: none !important;
}

.about02-box .btn {
	margin-top: 60px;
	margin-left: auto;
	margin-right: auto;
}






.servicenav-section {
	width: 100%;
	background-image: url(images/service-nav-bg.png);
	background-position: center center;
	background-size: cover;
	padding-top: 130px;
	padding-bottom: 130px;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
	.servicenav-section {
		background-image: url(images/service-nav-bg-2x.png);
	}
}
.servicenav-section .mds {
	color: #fff;
}
.servicenav-section .mds > span::after {
	background-color: #fff;
}
.sv-nav {
	margin-top: 64px;
	display: grid;
	grid-template-columns: repeat(3, 220px);
	grid-template-rows: repeat(3, 220px);
	gap: 40px;
	justify-content: center;
	align-content: center;
}
.sv-nav li a {
	width: 220px;
	height: 220px;
	background-color: var(--color-sub-wht);
	border: 1px solid var(--color-main-nvy);
	color: var(--txt-color);
	border-radius: 4px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: all .3s;
	text-align: center;
}
.sv-nav li a:hover {
	background-color: var(--color-sub-gry);
}
.sv-nav li a figure {
	width: 100%;
	height: 70px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.sv-nav li a figure img {
	height: 66px;
	width: auto;
}
.sv-nav li p {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: calc(23 / 18);
	letter-spacing: 0;
	min-height: calc(23px * 3);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 6px;
}
.sv-nav li a span {
	width: 160px;
	height: 26px;
	margin-top: 6px;
	border-radius: 13px;
	border: 1px solid var(--color-main-nvy);
	display: flex;
	align-items: center;
	justify-content: center;
	background-image: url(images/ico-svnav-arrow.svg);
	background-repeat: no-repeat;
	background-size: 6px auto;
	background-position: right 10px center;
	background-color: #fff;
}
.service-head,
.service-body {
	display: flex;
	justify-content: space-between;
}
.service-head > p,
.service-body > div {
	width: 550px;
}
.service-head {
	align-items: flex-start;
}
.service-body {
	margin-top: 50px;
}
.service-mds {
	display: flex;
	align-items: center;
}
.service-mds span {
	display: block;
	font-size: 1.1rem;
	font-weight: 700;
	line-height: calc(26 / 11);
	letter-spacing: .15em;
	padding-left: .35em;
	color: var(--color-main-pnk);
}
.service-mds h3 {
	display: inline-block;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: calc(36 / 24);
	letter-spacing: .15em;
	padding-left: .15em;
	background-image: url(images/border-nvy.svg);
	background-repeat: repeat-x;
	background-position: left bottom;
	background-size: 6px auto;
	padding-bottom: 4px;
}
.service-mds > div {
	margin-left: 34px;
	align-self: center;
}
.service-head > p {
	line-height: calc(30 / 15);
}
.service-body > div {
	background-color: #fff;
	padding-top: 40px;
	padding-bottom: 40px;
	padding-left: 40px;
	padding-right: 40px;
}
.section-wht .service-body > div {
	background-color: var(--color-sub-wht);
}
.service-body > div h4 {
	display: inline-block;
	font-size: 2.1rem;
	line-height: calc(36 / 21);
	letter-spacing: .15em;
	color: var(--color-main-pnk);
	background-image: url(images/border-nvy.svg);
	background-repeat: repeat-x;
	background-position: left bottom;
	background-size: 6px auto;
	padding-bottom: 4px;
}
.service-body > div ul {
	margin-top: 20px;
}
.service-body > div li {
	font-size: 1.8rem;
	line-height: calc(28 / 18);
	position: relative;
	padding-left: 40px;
}
.service-body > div li::before {
	content: "";
	width: 20px;
	height: 20px;
	background-image: url(images/ico-check.svg);
	background-size: cover;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.service-body > div li + li {
	margin-top: 11px;
}
.treatment-box {
	padding-top: 50px;
	padding-bottom: 50px;
	position: relative;
}
.mds + .treatment-box {
	margin-top: 64px;
}
.treatment-box + .treatment-box {
	padding-top: 51px;
	background-image: url(images/border-nvy.svg);
	background-repeat: repeat-x;
	background-position: left top;
	background-size: 6px auto;
}
.treatment-box > figure {
	display: inline-block;
	position: absolute;
	top: 50px;
	right: 0;
}
.treatment-box > div {
	width: 700px;
	min-height: 200px;
}
.treatment-mds {
	display: flex;
	align-items: center;
	margin-bottom: 40px;
}
.treatment-mds h3 {
	margin-left: 15px;
	font-size: 2.4rem;
	line-height: calc(36 / 24);
	letter-spacing: .15em;
	padding-left: .15em;
	position: relative;
}
.treatment-mds h3::after {
	content: "";
	width: 100%;
	height: 1px;
	background-color: var(--color-main-pnk);
	position: absolute;
	bottom: 0;
	left: 0;
}
.treatment-box h4,
.treatment-box > dl > dd dt {
	font-size: 2.0rem;
	font-weight: 700;
	line-height: calc(36 / 20);
	letter-spacing: .15em;
	color: var(--color-main-pnk);
	padding-left: 1.15em;
	position: relative;
}
.treatment-box h4::before,
.treatment-box > dl > dd dt::before {
	content: "○";
	position: absolute;
	top: 0;
	left: 0;
}
.treatment-box * + h4 {
	margin-top: 40px;
}
.treatment-box p,
.treatment-box dt {
	line-height: calc(30 / 15);
}
.treatment-box p,
.treatment-box ul {
	margin-top: 10px;
}
.treatment-box li {
	font-size: 1.8rem;
}
.treatment-box > dl > dt {
	font-size: 1.6rem;
	line-height: calc(30 / 16);
	font-weight: bold;
	margin-top: 30px;
}
.treatment-box > dl > dt::before {
	content: "【";
}
.treatment-box > dl > dt::after {
	content: "】";
}
.treatment-box > dl > dd dt {
	margin-top: 30px;
}
.treatment-box > dl > dd dt:first-of-type {
	margin-top: 0px;
}


.reserve {
	margin-top: 64px;
	text-align: center;
}
.reserve > a {
	display: inline-block;
	margin-left: auto;
	margin-right: auto;
	border-radius: 4px;
	transition: all .3s;
}
.reserve > a:hover {
	opacity: .8;
}
.reserve > a img {
	border-radius: 4px;
}
.reserve h3 {
	margin-top: 70px;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: calc(26 / 24);
	padding-left: .1em;
	color: var(--color-main-pnk);
}
.reserve-col3 {
	margin-top: 30px;
	width: 680px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
.reserve-col3 > div {
	width: 364px;
}
.reserve-col3 > div h4 {
	font-size: 3.1rem;
	line-height: calc(34 / 31);
	padding-left: .1em;
	background-image: url(images/border-nvy.svg), url(images/border-nvy.svg);
	background-repeat: repeat-x;
	background-position: left bottom, left top;
	background-size: 6px auto;
	padding-top: 15px;
	padding-bottom: 15px;
}
.reserve-col3 > div p {
	text-align: left;
	font-feature-settings: "palt";
	font-size: 1.8rem;
	line-height: calc(32 / 18);
	margin-top: 10px;	
}
.reserve-col3 .qr p {
	margin-top: 5px;
}

.reseve-wht {
	margin-top: 100px;
	background-color: #fff;
	text-align: center;
	padding-top: 40px;
	padding-bottom: 40px;
}
.reseve-wht > ul {
	display: inline-block;
	text-align: left;
}
.reseve-wht li {
	font-size: 1.6rem;
	line-height: calc(28 / 16);
	padding-left: 1.1em;
	position: relative;
}
.reseve-wht li::before {
	content: "●";
	position: absolute;
	top: 0;
	left: 0;
}
.reseve-wht li + li {
	margin-top: 10px;
}
.cts-eyecatch + .mds {
	margin-top: 130px;
}
.flow-warp {
	margin-top: 64px;
}
.flow-box + .flow-box {
	margin-top: 90px;
}
.flow-box {
	display: flex;
}
.flow-box > span {
	display: block;
	width: 100px;
	align-self: flex-start;
}
.flow-box > h3 {
	width: 140px;
	height: 160px;
	background-color: #fff;
	border: 1px solid var(--color-main-nvy);
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 1.8rem;
	line-height: calc(28 / 18);
	letter-spacing: .15em;
	padding-left: .15em;
	align-self: flex-start;
}
.flow-box > div {
	margin-left: 34px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.flow-box .flow-text.is-top {
  justify-content: flex-start;
}
.flow-box > div dl {
	margin-top: calc(28em / 15);
}
.flow-box > div dt {
	font-weight: 700;
	color: var(--color-main-pnk);
}
.flow-box > div dt::before {
	content: "【";
}
.flow-box > div dt::after {
	content: "】";
}
.flow-box > div dd {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: calc(29 / 16);
	padding-left: 1.1em;
	position: relative;
}
.flow-box > div dd::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}
.flow-box > div .btn {
	margin-top: calc(28em / 15);
}
.flow-wht {
	width: 900px;
	background-color: #fff;
	margin-left: auto;
	margin-right: 0;
	margin-top: 30px;
	min-height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.flow-wht > p {
	display: inline-block;
	font-size: 2.4rem;
	line-height: calc(36 / 24);
	letter-spacing: .15em;
	padding-left: .15em;
	background-image: url(images/border-nvy.svg);
	background-repeat: repeat-x;
	background-position: left bottom;
	background-size: 6px auto;
	padding-bottom: 4px;
}
.flow-wht > figure {
	display: block;
	margin-left: 60px;
	text-align: center;
	padding-top: 20px;
}
.flow-wht > figure .caption {
	font-size: 1.6rem;
	line-height: calc(28 / 16);
	letter-spacing: .15em;
	padding-left: .15em;
	margin-top: 5px;
}






.access01-box {
	margin-top: 64px;
	text-align: center;
}
.access01-box p {
	letter-spacing: .08em;
	padding-left: .08em;
	margin-top: 40px;
}
.access01-box .btn {
	margin-top: 40px;
	margin-left: auto;
	margin-right: auto;
}
.access02-box {
	margin-top: 100px;
	display: flex;
	justify-content: space-between;
}
.access02-box > div {
	width: 480px;
}
.access-mds span {
	display: block;
	font-size: 1.1rem;
	font-weight: 700;
	line-height: calc(26 / 11);
	letter-spacing: .15em;
	padding-left: .35em;
	color: var(--color-main-pnk);
}
.access-mds h3 {
	display: inline-block;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: calc(36 / 24);
	letter-spacing: .15em;
	padding-left: .15em;
	background-image: url(images/border-nvy.svg);
	background-repeat: repeat-x;
	background-position: left bottom;
	background-size: 6px auto;
	padding-bottom: 4px;
}
.access02-box figure {
	margin-top: 20px;
}
.access02-box p {
	font-size: 2.0rem;
	line-height: calc(26 / 20);
	letter-spacing: .08em;
	margin-top: 10px;
}

.copyright {
	height: 180px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.copyright p {
	font-size: 1.2rem;
	letter-spacing: .08em;
	padding-left: .08em;
}
#side-insta {
	width: 60px;
	height: 60px;
	position: fixed;
	z-index: 10000;
	right: 15px;
	bottom: -60px;
}
#side-insta > a {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: opacity .3s;
}
#side-insta > a:hover {
	opacity: .5;
}
#pagetop {
	width: 60px;
	height: 60px;
	position: fixed;
	z-index: 10000;
	right: 15px;
	display: block;
	background-image: url(images/pagetop.svg);
	background-size: cover;
	border-radius: 50%;
	transition: all .3s;
}
#pagetop:hover {
	opacity: .7;
}
.side-btn {
	width: 55px;
	height: 220px;
	position: fixed;
	z-index: 9999;
	top: 200px;
	right: 15px;
}
.side-btn a {
	width: 100%;
	height: 100%;
	display: flex;
	border-top-left-radius: 18px;
	border-bottom-left-radius: 18px;
	transition: all .3s;
	overflow: hidden;
}
.side-btn a:hover {
	opacity: .8;
}
.anker {
	position: relative;
}
.anker > span {
	width: 100%;
	height: 0;
	position: absolute;
	top: -120px;
	left: 0;
}