@charset "UTF-8";
/*---------------------------------------------------------------------------------------- */
/* reset */
/*---------------------------------------------------------------------------------------- */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0; padding:0;
    border:0; outline:0;
    font-size:100%; font-weight: inherit;;
    vertical-align:bottom;
    background:transparent;
}

body { line-height:1;}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { display:block;}

nav ul { list-style:none;}
li { list-style: none;}
blockquote, q { quotes:none;}
blockquote:before, blockquote:after,
q:before, q:after { content:''; content:none;}
a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent;}
ins { background-color:#ff9; color:#000; text-decoration:none;}
mark { background-color:#ff9; color:#000;  font-style:italic; font-weight:bold;}
del { text-decoration: line-through;}
abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help;}
table { border-collapse:collapse; border-spacing:0;}
hr {
    display:block; height:1px; border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0; padding:0;
}
input, select { vertical-align:middle;}

/* .clearfix */
.clear { clear:both;}
.clearfix:after {
    content: ".";  display: block; 
    height: 0;  clear: both; 
    visibility: hidden; font-size: 0.1em;
}
.clearfix { display: inline-block;}
* html .clearfix { height: 1%; }
.clearfix { display: block; }

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
 }
/*---------------------------------------------------------------------------------------- */
/* end-reset */
/*---------------------------------------------------------------------------------------- */
body {
	color: #252525;
	background-color: #fff;
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	font-size: 16px;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a { color: inherit; text-decoration: none;
	-webkit-transition: 0.25s;
    -moz-transition: 0.25s;
    -o-transition: 0.25s;
    -ms-transition: 0.25s;
    transition: 0.25s;
}
a:hover { color: #333;}
a:focus, a:hover {}
a:focus img, a:hover img { opacity: 0.8;}

@media screen and (min-width: 992px) {
	.br-pc { display:block; }
	.br-sp { display:none; }
	.br-tb { display:none; }
	.only-pc { display:block; }
	.only-tab { display:none; }
	.only-sp { display:none; }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
	.br-pc  { display:none; }
	.br-sp { display:none; }
	.br-tb { display:block; }
	.only-pc  { display:none; }
	.only-tab { display:block; }
	.only-sp { display:none; }
}
@media screen and (max-width: 767px) {
	.br-pc { display:none; }
	.br-sp { display:block; }
	.br-tb { display:none; }
	.only-pc { display:none; }
	.only-tab { display:none; }
	.only-sp { display:block; }
}

/*==================================
    common
==================================*/
@media screen and (min-width: 992px) {
/*（ここにPC用スタイルを記述）*/
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
/*（ここにタブレット用スタイルを記述）*/
}
@media screen and (max-width: 767px) {
/*（ここにモバイル用スタイルを記述）*/
}

.wrap {
	margin: 0 auto;
	width: 100%;
	max-width: 700px;
}

.img img {
	width: 100%;
}
/*==================================
    CPN
==================================*/
.top-bnr {
	position: fixed;
	top: 0;
	z-index: 10;
}
.top-bnr .img {
	max-width: 700px;
}
/*==================================
    MV
==================================*/
.mv {
	padding-top: 0;
}
@media screen and (max-width: 767px) {
	.mv { padding-top: 0;}
}
/*==================================
    cta
==================================*/
.cta__area {
	position: relative;
}
.cta__area--btn {
	position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	width: 80%;
}
.cta__area--btn a {
	display: block;
}
.cta__area--btn a:hover {
	transform: translate(6px, 6px);
}
@media screen and (max-width: 767px) {
	.cta__area--btn { bottom: 0.5rem; width: 90%;}
}

/*==================================
    clinic_list
==================================*/
.clinic_list {
	background-color: #FFF6F8;
	padding: 0 0 2rem;
}
.toggle_title {
	position: relative;
	cursor: pointer;
	margin: 1.25rem auto;
	width: 90%;
}
.toggle_title:hover {
	opacity: 0.8;
	transition: 0.25s;
}
.toggle_in {
	padding: 1rem;
	display: none;
	margin: 0 auto;
	width: 90%;
}

.toggle_title .plus {
	position: absolute;
	right: 40px; top: 0;
	height: 100%;
}
.toggle_title .plus:before,
.toggle_title .plus:after {
    display: block;
    content: "";
    background-color: #fff;
    position: absolute; right: 50%; bottom: 50%;
    width: 30px; height: 4px;
    transform: translate(50%, 50%);
    transition: 0.5s;
}
.toggle_title .plus:before {
	width: 4px;
	height: 30px;
}
.toggle_title.selected .plus:before {
	transform: translate(50%, 50%) rotate(90deg);
}

@media screen and (max-width: 767px) {
	
	.toggle_title { margin: 0.5rem auto; width: 95%;}
	.toggle_in { padding: 1rem;}
	.toggle_title .plus {right: 30px;}
	.toggle_title .plus:after {width: 20px;}
	.toggle_title .plus:before {height: 20px;}
}
.clinic_list__in { position: relative;}
	
.clinic__area--btn {
	position: absolute;
    bottom: 3rem;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	 width: 80%;
}
.clinic__area--btn a {
	display: block;
}
.clinic__area--btn a:hover {
	transform: translate(6px, 6px);
}
@media screen and (max-width: 767px) {
	.clinic__area--btn { bottom: 24px; width: 90%;}
}

/*==================================
    foot-cta
==================================*/
.foot-cta { position: fixed; left: 0; bottom: 0; width: 100%; text-align: center; z-index: 5; background-image: linear-gradient(45deg, rgba(253, 146, 146, 1), rgba(209, 254, 212, 1));
}
.foot-cta__area--btn { margin: 0 auto; padding: 0.5rem 0 0.25rem; width: 400px;}
@media screen and (max-width: 767px) {
	.foot-cta__area--btn { margin: 0 auto; width: 70%;}
}

.contact_area__box {
	background: #FFF;
	position: relative;
	z-index: 10;
}
/*==================================
    footer
==================================*/
footer.footer{
	background: #222;
	color: #fff;
	text-align: center;
	padding: 30px 0;
	margin: 0 auto;
	position: relative;
	z-index: 10;
}

footer .nav li {
    font-size: 12px;
    list-style: none;
	display: inline-block;
}

footer a {
	color: #fff;
    text-decoration: none;
    padding: 0 10px;
}

.copyright {
    font-size: 11px;
    margin: 0;
    padding: 10px 0;
}

/*==================================
    modaal
==================================*/
.modaal-content-container {
    padding: 1rem;
}
@media screen and (max-width: 767px) {
	.modaal-content-container { padding: 0.5rem;}
}

/*==================================
    アクセス一覧
==================================*/
.box_access {
	width: 100%;
	background-color: #fff3f5;
	text-align: center;
	padding-top: 1px;
}

.box_access img {
	max-width: 100%;
	height: auto;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.floatBnr-none {
	/* floatBnr-none は特別なスタイルなし */
}

/* ユーティリティクラス */
.pb-20 {
	padding-bottom: 2rem;
}

.pb-30 {
	padding-bottom: 3rem;
}

.mt-10 {
	margin-top: 1rem;
}

.mt-30 {
	margin-top: 3rem;
}