@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');
html { 
	font-size: 62.5%;
	scroll-padding-top: 150px;
	scroll-behavior: smooth;
}
body {
    inline-size: 100%;
    -webkit-text-size-adjust: 100%;
    margin: 0;
    color: #000000;
    font-size: 16px;
    font-optical-sizing: auto;
    font-family: "Shippori Mincho", serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    background: #fff;
}
a {
    transition: all 0.5s;
}
a:hover {
    color: #2B4993;
    transition: all 0.5s;
}
a:hover img {
    transition: all 0.5s;
    opacity: 0.7;
}
img {
    display: inline-block;
    max-width: 100%;
    vertical-align: top;
}
h1, h2, h3, h4 {
    text-wrap: auto;
}
h1, h2, h3, h4, button, input, label {
    line-height: 1.6;
}
address {
    font-style: normal;
}
figure {
    margin: 0;
}
* {
    box-sizing: border-box;
}
.mincho {
  font-family: "Shippori Mincho", serif;
  font-style: normal;
}
.inter {
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
}
.pc {
    display: block !important;
}
.sp {
    display: none !important;
}
.sp_menu {
    display: none !important
}
@media screen and (max-width:540px) {
    .pc {
        display: none !important
    }
    .sp {
        display: block !important
    }
    img {
        max-width: 100%;
        height: auto;
        width: auto;
    }
    body {
        min-width: auto !important;
        overflow: inherit !important;
        font-size: 4.2vw;
    }
    div, p, dd, dl, dt, th, td, span, li {
        box-sizing: border-box;
    }
}
/* --------------------
レイアウト
--------------------*/
.inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}
/* --------------------
ブロック
--------------------*/
.dsp_li { display: inline-block !important;}
.dsp_b { display: block !important;}
/* --------------------
文字色
--------------------*/
/* 青 */
.fc_01 { color: #2c76d2 !important;}
/* 緑 */
.fc_02 { color: #8fc143 !important;}
/* 茶 */
.fc_03 { color: #9C7200 !important;}
/* 赤 */
.fc_04 { color: #e60012 !important;}
/* 黄 */
.fc_05 { color: #ffc300 !important; }

/* --------------------
文字サイズ
--------------------*/
.fs_25 { font-size: 25px !important;}
.fs_28 { font-size: 28px !important;}
.fs_32 { font-size: 32px !important;}
.fs_35 { font-size: 35px !important;}

.fs85 { font-size: 85% !important;}
.fs120 { font-size: 120% !important;}
.fs150 { font-size: 150% !important;}
.fs180 { font-size: 180% !important;}
.fs200 { font-size: 200% !important;}

@media screen and (max-width:768px) {
.fs_25 { font-size: 4.59vw !important;}
.fs_28 { font-size: 5.13vw !important;}
.fs_32 { font-size: 5.76vw !important;}
.fs_35 { font-size: 6.43vw !important;}
}

/* --------------------
文字の太さ
--------------------*/
.fw_l { font-weight: 400 !important;}
.fw_n { font-weight: 500 !important;}
.fw_sb { font-weight: 600 !important;}
.fw_b { font-weight: 700 !important;}

/* --------------------
配置
--------------------*/
.tac {text-align: center !important;}
.tal {text-align: left !important;}
.tar {text-align: right !important;}

.w_fc {width: fit-content !important;}
.w_auto {width: auto !important;}
.w_100 {width: 100% !important;}
.w_50 {width: 50% !important;}
.w_30 {width: 30% !important;}
.w_25 {width: 25% !important;}

@media screen and (max-width:768px) {
.sp_tac {text-align: center !important;}
.sp_tal {text-align: left !important;}
.sp_tar {text-align: right !important;}
	
.w_50 {width: 100% !important;}
.w_30 {width: 100% !important;}
.w_25 {width: 100% !important;}
	
.w_sp_50 {width: 50% !important;}
.w_sp_30 {width: 30% !important;}
.w_sp_25 {width: 25% !important;}
	
.w_sp_100 {width: 100% !important;}
	
}
/* --------------------
余白
--------------------*/
.m_0 {margin: 0 !important;}
.mt_1 {margin-top: 1em !important;}
.mb_1 {margin-bottom: 1em !important;}
.mtb_1 {margin-top: 1em !important; margin-bottom: 1em !important;}
.m_auto {
	margin-left: auto !important;
	margin-right: auto !important;
}

.p_1 {padding: 1em !important;}
/* --------------------
ボタン
--------------------*/
.btn_c {
    margin: 1em 0;
    text-align: center;
}
.btn_l {
    margin: 1em 0;
    text-align: left;
}
.btn_r {
    margin: 1em 0;
    text-align: right;
}
/* .btn_01 */
.btn_01 {
    display: inline-block;
    margin: min(5px, 0.26vw);
    padding: 1em;
    color: #fff;
    font-size: min(24px, 1.25vw);
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    background: #2B4993;
    border: 2px solid #2B4993;
    border-radius: 3em;
}
.btn_01:hover {
    color: #2B4993;
    background: #fff;
}
/* .btn_02 */
.btn_02 {
    padding: 0.1em 1.5em 0.1em 0;
    color: #FEBE78;
    font-size: min(35px, 1.8229vw);
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    border: none;
    background: url("../images/common/arrow_02.png") no-repeat right center / 1.2em 1.2em;
}
.btn_02:hover {
    color: #000;
}
/* .btn_03 */
.btn_03 {
    position: relative;
    top: 0;
    left: 0;
    display: inline-block;
    margin: 1em;
    padding: 0.8em 1em;
    color: #fff;
    font-size: 32px;
    font-weight: 400;
    line-height: 1;
    text-decoration: none;
    background: #EDA380;
    border: none;
    border-radius: 10px;
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.25);
    transition: .2s ease-in-out;
}
.btn_03:hover {
    top: 4px;
    left: 4px;
    box-shadow: 0 0 0 0px rgba(0, 0, 0, 0.25);
}
@media screen and (max-width:540px) {
    .btn_01 {
        font-size: 3.5vw;
        border-radius: 3vw;
    }
    .btn_02 {
        font-size: 4vw;
    }
    .btn_03 {
        font-size: 5vw;
    }
}
/* --------------------
診療時間
--------------------*/
.timetable {
    border-spacing: 0;
    font-size: 16px;
}
.timetable th, .timetable td {
    padding: 0.3em;
    font-weight: 400;
    text-align: center;
    background: #d6e7fb;
    border: 1px solid #fff;
}
@media screen and (max-width:540px) {
    .timetable {
        width: 100%;
        font-size: 4.2vw;
    }
    .timetable th, .timetable td {
        padding: 0.3em;
    }
}
/* --------------------
グーグルマップ
--------------------*/
.ggmap {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9のアスペクト比 */
    height: 0;
}

.ggmap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/* --------------------
タイトル（h2）
--------------------*/

.title_h2 {
	position: relative;
}
.title_h2 .headline {
	position: relative;
	z-index: 9;
}
.title_h2 .en {
	position: absolute;
	top: -56px;
	left: 0;
	width: 100%;
	color: #86775f;
	font-size: 32px;
	letter-spacing: 2px;
	text-align: center;
	opacity: .1;
}
@media screen and (max-width:541px) and (max-width:1080px) {
	
	.title_h2 .en {
		top: -5vw;
		font-size: 3vw;
		letter-spacing: .2vw;
	}
	
}
@media screen and (max-width:540px) {
	
	.title_h2 .en {
		top: -9vw;
		font-size: 5vw;
		letter-spacing: .3vw;
	}	
}

/* ----------------------------------------

header

----------------------------------------*/
header {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 1000;
    width: 100%;
    height: min(100px,8vw);
    padding: 0 0 0 min(30px,3vw);
    background: rgba(255, 255, 255, 0.7);
}
header .inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 100% !important;
}
header .logo img {
    width: min(226px, 15.69vw);
}
header .site_title {
    color: #8a8885;
    font-size: min(18px, 1.25vw);
    font-weight: 500;
    margin: 0 0 min(25px, 1.73vw) 0;
}
nav ul {
    display: flex;
    justify-content: flex-end;
    list-style: none;
    margin: 0;
    padding: 0;
}
nav li a {
    display: block;
    padding: 0 1em;
    color: #000;
    font-size: min(20px, 1.38vw);
    line-height: 1;
    text-decoration: none;
}
nav ul .drop_down {
    position: relative;
}
nav .sub_menu {
    position: absolute;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    width: auto;
    background: rgba(193,179,153,.85);
    top: 30px;
    opacity: 0;
    visibility: hidden;
    transition: 0.5s;
}
nav .sub_menu li {
    border-bottom: 1px solid #fff;
}
nav .sub_menu li:not(:first-child) {
    border-left: none;
}
nav .sub_menu a {
    color: #fff;
    padding: 10px 15px;
    display: block;
    white-space: nowrap;
}
nav .sub_menu a:hover {
    color: #fff;
}
nav .drop_down:hover ul {
    opacity: 1;
    visibility: visible;
}


@media screen and (min-width:541px) {
	.site_title.pc {
		position: absolute;
		z-index: 999;
	    color: #8a8885;
	    font-size: min(1.75vw,16px);
    	font-weight: 500;
    	margin: min(110px,9vw) 0 0 min(30px,3vw);
	}
	header .inner {
		height: 100%;		
	}
	header .inner .menu {
		width: 80%;
	}
	.nav_frame {
		display: flex;
		justify-content: flex-end;
	}
	.nav_frame > ul > li {
		position: relative;
		border-left: none!important;
	}
	.nav_frame > ul > li > a {
		display: flex;
		align-items: center;
		height: min(100px,8vw);
		padding: 0 min(1.5vw,15px);
  		font-size: min(1.5vw,18px);
		text-align: center;
	}
	.nav_frame > ul > li > a:hover {
		background: rgba(193,179,153,.85);
		color: #fff;
	}
	.nav_frame > ul > li > a:hover span {
		color: #fff;
	}
	.nav_frame > ul > li > a span {
		display: block;
		width: 100%;
		margin-bottom: min(5px,.5vw);
		color: #bfab82;
		font-size: min(13px, .9vw);
		transition: .5s;
	}
	.nav_frame > ul.nav_pc > li:before {
		display: block;
		content: "";
		position: absolute;
		left: 0;
		bottom: 28%;
		width: 1px;
		height: 25%;
		background: #333;
	}
	nav .sub_menu {
		top: min(100px,8vw);
		width: 1030px;
		padding: 20px 40px;
		justify-content: flex-start;
		flex-direction: row;
		gap: 20px 50px;
	}
	nav .sub_menu.profile {
		left: -105px;
	}
	nav .sub_menu.clinic {
		left: -263px;
	}	
	nav .sub_menu.service {
		left: -579px;
	}
	nav .sub_menu li {
		border-bottom: none;		
	}
	nav .sub_menu li a {
		position: relative;
		padding: 10px 10px 10px 20px;
		font-size: min(1.25vw,16px);
		transition: .5s;
	}
	nav .sub_menu li a::before {
		display: block;
		content: "";
		position: absolute;
		top: calc(50% - 2px);
		left: 0;
		margin: auto;
		width: 6px;
		height: 6px;
		border-top: solid 1px #fff;
		border-right: solid 1px #fff;
        transform: rotate(45deg);
		transition: .5s;
	}
	nav .sub_menu li a:hover::before {
		left: 6px;
	}
	.nav_frame > ul.btns {
		position: relative;
		flex-wrap: wrap;
		width: min(15vw,200px);
	}
	.nav_frame > ul.btns::after {
		content: '';
		position: absolute;
		bottom: 0;
		right: 0;
		border-bottom: 15px solid #333;
		border-left: 15px solid transparent;
	}
	.nav_frame > ul.btns > li {
		width: 100%;
	}
	.nav_frame > ul.btns > li > a {
		justify-content: center;
		height: min(50px,4vw);
		text-align: center;
		gap: 0 10px;
	}
	.nav_frame > ul.btns > li > a:hover {
		color: #666;
	}
	.nav_frame > ul.btns > li > a img {
		width: 20px;
	}
	.nav_frame > ul.btns > li:nth-of-type(1) > a {
		background: #f2fafc;
	}
	.nav_frame > ul.btns > li:nth-of-type(2) > a {
		background: #e7dac4;
	}	

}
@media screen and (min-width:541px) and (max-width:1200px) {
	
	nav .sub_menu {
		width: 76.5vw;
		padding: 1.5vw 2.5vw;
		gap: 1.5vw 3.75vw;
	}
	nav .sub_menu.profile {
		left: -7.5vw;
	}
	nav .sub_menu.clinic {
		left: -19.5vw;
	}	
	nav .sub_menu.service {
		left: -43.5vw;
	}	
	
}
@media screen and (min-width:1201px) and (max-width:1500px) {
	
	nav .sub_menu {
		width: 68vw;
	}
	nav .sub_menu.profile {
		left: -6.75vw;
	}
	nav .sub_menu.clinic {
		left: -17.5vw;
	}	
	nav .sub_menu.service {
		left: -39vw;
	}	
	
}
@media screen and (max-width:540px) {
	.nav_frame {
		display: none;
	}
    header {
        min-height: 14vw;
        padding: 2vw;
    }
    header .inner {
        flex-direction: column-reverse;
    }
    header .logo img {
        width: 25vw;
    }
    header .menu {
        flex: 1;
    }
    header .site_title {
        font-size: 2.5vw;
        margin: 0 0 2vw 0;
        padding: 0;
    }
    .sp_menu {
        display: flex !important;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        position: fixed;
        top: 2vw;
        right: 2vw;
        z-index: 1000;
        width: 10vw;
        height: 10vw;
        padding: 2vw;
        text-align: center;
        cursor: pointer;
        border-radius: 2vw;
    }
    .sp_menu span {
        display: block;
        width: 8vw;
        height: 2px;
        background: #c69c6d;
        border-radius: 1vw;
    }
	.sp_menu span:nth-of-type(2) {
		position: relative;
		width: 4vw;
		top: -1vw;
		left: 1vw;
	}
    header nav {
        z-index: 99999;
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        display: none;
        overflow: scroll;
        padding: 0;
        background: url("../images/top/bg_base.jpg");
		background-size: 100% auto;
        box-sizing: border-box;
    }
    header nav ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        margin: 0;
        padding: 12vw 0;
        list-style: none;
    }
    header nav li {
        width: 100%;
        margin: 0;
        padding: 0;
        border-bottom: 1px solid #fff;
    }
    nav li:not(:first-child) {
        border-left: none;
    }
    header nav li a {
        display: block;
        padding: 2vw 1vw;
        color: #fff !important;
        font-size: 4.5vw;
        text-decoration: none;
    }
    header nav li a span {
        display: none;
    }
    header nav .sp {
        display: block !important;
    }
    header nav .closebtn {
        display: block;
        position: fixed;
        top: 2vw;
        right: 2vw;
        z-index: 1000;
        width: 10vw;
        height: 10vw;
        margin: 0;
        padding: 2vw;
        text-align: center;
        cursor: pointer;
        background: #fff;
        border-radius: 2vw;
    }
    header nav .closebtn span {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        display: block;
        width: 6vw;
        height: 2px;
        background: #c69c6d;
        border-radius: 1vw;
    }
    header nav .closebtn span:first-child {
        transform: rotate(30deg);
    }
    header nav .closebtn span:last-child {
        transform: rotate(-30deg);
    }
    nav .sub_menu {
        position: static;
        opacity: 1;
        visibility: visible;
        padding: 0;
        background: #DEEAF8;
    }
    nav .sub_menu a {
        padding-left: 2em;
        color: #2B4993 !important;
    }
	.nav_sp .timetable th,
	.nav_sp .timetable td {
		background: #f5f3ed;
	}
}
@media screen and (min-width:1501px) {
	
	.nav_frame > ul > li > a {
		height: 100px;
		padding: 0 25px;
  		font-size: 18px;
	}
	
}

/* ----------------------------------------

footer

----------------------------------------*/
footer {
    background: url("../images/top/bg_base.jpg");
    background-size: 100% auto;
}
footer .bnr {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 35px 20px;
}
footer .bnr a {
    display: block;
    margin: 35px;
}
footer .bottom_txt {
    padding: 80px 50px 30px;
    color: #fff;
    font-size: 14px;
    line-height: 1.8;
    background: #2B4993;
}

.f_frame {
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #6A6868;
	padding: 0 0 90px;
}
.f_frame a {
	color: #6A6868;
}
.f_frame .info {
	width: 50%;
}
.f_frame .info .logos {
	width: 75%;
	margin: auto;
}
.f_frame .info .logos .tel a {
	display: flex;
	justify-content: center;
	align-items: cener;
	gap: 12px;
	margin-top: 20px;
	font-size: 24px;
	text-decoration: none;
}
.f_frame .info .logos a:hover img {
	opacity: 1;
}
.f_frame .info .logos .tel img {
	width: 30px;
}
.f_frame .info .address {
	font-size: 20px;
	text-align: center;
}
.f_frame .info .schedule {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid #C0AA97;
	border-left: 1px solid #C0AA97;
	border-right: 1px solid #C0AA97;
	font-size: 18px;
	margin: 30px 0 0;
}
.f_frame .info .schedule th {
	padding: 5px 5px;
	background: #C0AA97;
	color: #fff;
}
.f_frame .info .schedule td {
	padding: 5px 5px;
	background: #fff;
	color: #C0AA97;
	border-bottom: 1px solid #C0AA97;
	text-align: center;
}
.f_frame .info p.schedule_text {
	margin-top: 10px;
	color: #C0AA97;
	font-size: 16px;
}
.f_frame .info .cta_btns {
	display: flex;
	justify-content: space-between;
	margin: 30px 0 0;
	padding: 0;	
}
.f_frame .info .cta_btns li {
	width: 48%;
	list-style: none;
	margin: 0;
	padding: 0;
}
.f_frame .info .cta_btns li a {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
	height: 80px;
	background: #F3FAFC;
	box-shadow: 0 10px 10px rgba(0,0,0,.1);
	text-decoration: none;
}
.f_frame .info .cta_btns li:nth-of-type(2) a {
	background: #E6DBC4;
}
.f_frame .info .cta_btns li a img {
	width: 24px;
}
.f_frame .info .cta_btns li a p {
	margin: 0;
	font-size: 18px;	
}

.f_frame .menu {
	width: 42.5%;
}
.f_frame .menu ul,
.f_frame .menu ul li {
	margin: 0;
	padding: 0;
}
.f_frame .menu ul li a {
	text-decoration: none;
}
.f_frame .menu ul li a:hover {
	opacity: .6;
}
.f_frame .menu ul.parents {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin: 0 0 50px;
}
.f_frame .menu ul.parents li {
	width: calc(50% - 7.5px);
	list-style: none;
}
.f_frame .menu ul.parents li a,
.f_frame .menu .menu_title {
	position: relative;
	font-size: 20px;
	padding-left: 20px;
}
.f_frame .menu ul.parents li a::before,
.f_frame .menu .menu_title::before {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 10px;
	height: 10px;
	margin: auto;
	border-top: solid 2px #6A6868;	
	border-right: solid 2px #6A6868;
	transform: rotate(45deg);
}
.f_frame .menu ul.children {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 0;
	margin-top: 10px;
}
.f_frame .menu ul.children li {
	margin-left: 20px;
}
.f_frame .menu ul.children li:nth-of-type(3n) {
	width: calc(40% - 20px);
}
.f_frame .menu ul.children li:nth-of-type(3n+1) {
	width: calc(30% - 20px);
}
.f_frame .menu ul.children li:nth-of-type(3n+2) {
	width: calc(30% - 20px);
}
.f_frame .menu ul.children li a {
	font-size: 16px;
}

@media screen and (min-width:541px) and (max-width:1240px) {
	
	footer .bnr a {
		width: 28vw;
		margin: 1.5vw;
	}
	footer .bottom_txt {
		padding: 2vw 20px 4vw;
		font-size: 1.4vw;
	}	
	
	.f_frame {
		padding: 0 20px 7.5vw;
	}
	.f_frame .info {
		width: 50%;
	}
	.f_frame .info .logos {
		width: 75%;
		margin: auto;
	}
	.f_frame .info .logos .tel a {
		gap: 1vw;
		margin-top: 2vw;
		font-size: 2vw;
	}
	.f_frame .info .logos .tel img {
		width: 2.5vw;
	}
	.f_frame .info .address {
		font-size: 1.75vw;
	}
	.f_frame .info .schedule {
		font-size: 1.7vw;
		margin: 2.5vw 0 0;
		font-size: 1.5vw;
	}
	.f_frame .info .schedule th {
		padding: .5vw;
	}
	.f_frame .info .schedule td {
		padding: .5vw;
	}
	.f_frame .info p.schedule_text {
		margin-top: 1vw;
		font-size: 1.5vw;
	}
	.f_frame .info .cta_btns {
		margin: 2.5vw 0 0;
	}
	.f_frame .info .cta_btns li {
		width: 48%;
	}
	.f_frame .info .cta_btns li a {
		gap: 1vw;
		height: 6.66vw;
	}
	.f_frame .info .cta_btns li a img {
		width: 2vw;
	}
	.f_frame .info .cta_btns li a p {
		font-size: 1.7vw;	
	}

	.f_frame .menu {
		width: 46%;
	}
	.f_frame .menu ul.parents {
		gap: 1.5vw;
		margin: 0 0 4vw;
	}
	.f_frame .menu ul.parents li {
		width: calc(50% - 1.6vw/2);
	}
	.f_frame .menu ul.parents li a,
	.f_frame .menu .menu_title {
		font-size: 1.6vw;
		padding-left: 1.6vw;
	}
	.f_frame .menu ul.parents li a::before,
	.f_frame .menu .menu_title::before {
		width: 1vw;
		height: 1vw;
	}
	.f_frame .menu ul.children {
		gap: .8vw;
		margin: 1vw 0 0 2vw;
	}
	.f_frame .menu ul.children li {
		margin-left: 1.4vw;
	}
	.f_frame .menu ul.children li:nth-of-type(3n) {
		width: calc(38% - 1.4vw);
	}
	.f_frame .menu ul.children li:nth-of-type(3n+1) {
		width: calc(34% - 1.4vw);
	}
	.f_frame .menu ul.children li:nth-of-type(3n+2) {
		width: calc(28% - 1.4vw);
	}
	.f_frame .menu ul.children li a {
		font-size: 1.333vw;
	}
	
}
@media screen and (max-width:540px) {
	
    footer .bnr {
        padding: 5vw;
    }
    footer .bnr a {
        display: block;
        margin: 3vw;
    }
    footer .bottom_txt {
        padding: 4vw 4vw 20vw;
        font-size: 2.75vw;
    }		
	
	.f_frame {
		display: block;
		padding: 40px 4vw 50px;
	}
	.f_frame .info {
		width: 100%;
	}
	.f_frame .info .logos {
		width: 75%;
	}
	.f_frame .info .logos .tel a {
		gap: 12px;
		margin-top: 20px;
		font-size: 20px;
	}
	.f_frame .info .logos .tel img {
		width: 30px;
	}
	.f_frame .info .address {
		font-size: min(3.5vw,20px);
	}
	.f_frame .info .schedule {
		font-size:  min(3.25vw,17px);
	}
	.f_frame .info .schedule th,
	.f_frame .info .schedule td {
		padding: 1vw;
	}
	.f_frame .info p.schedule_text {
		font-size: min(3.25vw,17px);
	}
	.f_frame .info .cta_btns {
		margin: 15px 0 0;
	}
	.f_frame .info .cta_btns li a {
		height: 60px;
	}
	.f_frame .info .cta_btns li a img {
		width: min(4vw,20px);
	}
	.f_frame .info .cta_btns li a p {
		font-size: min(3.75vw,17px);	
	}

	.f_frame .menu {
		width: 100%;
		margin-top: 50px;
	}
	.f_frame .menu ul.parents {
		gap: 15px;
		margin: 0 0 30px;
	}
	.f_frame .menu ul.parents li {
		width: calc(55% - 7.5px);
	}
	.f_frame .menu ul.parents li:nth-of-type(2n) {
		width: calc(45% - 7.5px);
	}	
	.f_frame .menu ul.parents li a,
	.f_frame .menu .menu_title {
		font-size: min(3.75vw,17px);	
		padding-left: min(3.75vw,17px);	
	}
	.f_frame .menu ul.parents li a::before,
	.f_frame .menu .menu_title::before {
		width: 8px;
		height: 8px;
	}
	.f_frame .menu ul.children {
		gap: 8px 0;
		margin-top: 10px;		
		margin-left: 2vw;
	}
	.f_frame .menu ul.children li:nth-of-type(3n) {
		width: calc(38% - 5vw);
	}
	.f_frame .menu ul.children li:nth-of-type(3n+1) {
		width: calc(33% - 5vw);
	}
	.f_frame .menu ul.children li:nth-of-type(3n+2) {
		width: calc(27% - 5vw);
	}
	.f_frame .menu ul.children li a {
		font-size: 2.75vw;
	}
	
	/*
    footer .information {
        padding: 5vw;
        flex-direction: column-reverse;
    }
    footer .information .map {
        width: 100%;
        padding: 0 0 15px;
    }
	footer .information .map iframe {
		height: 200px;
	}
	footer .information .text {
        width: 100%;
        padding: 0 0 15px;
    }
    footer .information .text address {
        font-size: 4.5vw;
    }
    footer .information .text p {
        font-size: 4.2vw;
    }
    footer .information .text ul {
        font-size: 4.5vw;
    }
    footer .menu {
        flex-direction: column;
        padding: 5vw;
    }
    footer .menu .menu_l {
        width: 100%;
    }
    footer .menu .menu_r {
        width: 100%;
    }
    footer .menu .menu_l .menu_list li ul {
        display: flex;
        flex-wrap: wrap;
		gap: 5px 30px;
    }
	footer .menu .menu_list {
		display: flex;
		flex-wrap: wrap;
	}
	footer .menu .menu_list li {
		width: 50%;
	}
	footer .menu .menu_list li:has(ul) {
		width: 100%;
	}
    footer .menu .menu_list li a {
        font-size: 5vw;
    }
    footer .menu .menu_r .menu_list li ul {
        gap: 5px 30px;		
    }
	footer .menu .menu_r .menu_list li ul li {
		width: auto;
	}
	footer .menu .menu_l .menu_list li ul li a,
	footer .menu .menu_r .menu_list li ul li a {
		font-size: 4.25vw;
	}
    footer .menu .menu_r .sns_btn {
        justify-content: center;
    }
	footer .menu .menu_r .sns_btn a {
		margin: 0 12px;
		width: 48px;
	}
	.footer_frame {
		padding: 0 0 40px;
	}	
	*/
	
}

/* ----------------------------------------

#fixed

----------------------------------------*/
#fixed {
    position: fixed;
    right: 0;
    top: 300px;
    z-index: 100;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}
#fixed a {
    display: block;
    width: 100px;
    height: 100px;
    margin-bottom: 8px;
    padding-top: 18px;
    color: #000;
    font-size: 18px;
    line-height: 1;
    text-align: center;
    text-decoration: none;
}
#fixed a:hover {
    opacity: 0.7;
}
#fixed a.tel {
    background: url("../images/common/side_icon_tel.png") no-repeat center top 50px, url("../images/common/side_icon_parts.png") no-repeat left bottom, #f2fafc;
}
#fixed a.web {
    background: url("../images/common/side_icon_web.png") no-repeat center top 50px, url("../images/common/side_icon_parts.png") no-repeat left bottom, #e7dac4;
}
#fixed a.line {
    background: url("../images/common/side_icon_line.png") no-repeat center top 50px, url("../images/common/side_icon_parts.png") no-repeat left bottom, #9cddb7;
}
@media screen and (min-width:541px) {
	#fixed {
		/*
		display: none;
		*/
	}
}
@media screen and (max-width:540px) {
    #fixed {
        right: inherit;
        top: inherit;
        left: 0;
        bottom: 0;
        width: 100%;
        flex-direction: row;
    }
    #fixed a {
        display: flex;
        align-items: center;
        width: calc(100% / 3);
        height: 50px;
        margin-bottom: 0;
        padding: 0 0 0 40px;
        font-size: 4vw;
        text-align: left;
    }
    #fixed a.tel {
        background: url("../images/common/side_icon_tel.png") no-repeat center left 2vw / auto 30px, #f2fafc;
    }
    #fixed a.web {
        background: url("../images/common/side_icon_web.png") no-repeat center left 2vw / auto 30px, #e7dac4;
    }
    #fixed a.line {
        background: url("../images/common/side_icon_line.png") no-repeat center left 2vw / auto 30px, #9cddb7;
    }
}
/* ----------------------------------------

main

----------------------------------------*/
main {
    display: block;
}
main .inner {
    max-width: 1200px;
    margin: 0 auto;
}
/* --------------------

#top（トップページ）

--------------------*/
/* --------------------
#sec_mv
--------------------*/
#sec_mv img {
    width: 100%;
}
/* --------------------
#sec_team
--------------------*/
#sec_team {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}
#sec_team .headline {
    margin: 0;
}
#sec_team .headline img {
    width: 100%;
}
#sec_team .inner {
    position: relative;
    max-width: 100%;
}
#sec_team .inner img {
    width: 100%;
}
#sec_team .inner p {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    width: 100%;
    max-width: calc(900px + 6vw);
    margin: auto;
    padding: 0 3vw;
    color: #fff;
    font-size: 48px;
}
#sec_team .inner p span {
    display: inline-block;
}
#sec_team .inner p .txt_01 {
    width: 100%;
}
#sec_team .inner p .txt_02 {
    width: 100%;
    font-size: 54px;
    text-align: center;
}
#sec_team .inner p .txt_03 {
    width: 100%;
    text-align: right;
}
@media screen and (min-width:541px) and (max-width:1240px) {
    #sec_team .inner p {
        font-size: 4vw;
    }
    #sec_team .inner p .txt_02 {
        font-size: 5vw;
    }
}
@media screen and (max-width:540px) {
    #sec_team .inner p {
        font-size: 5.33vw;
    }
    #sec_team .inner p .txt_02 {
        font-size: 6.4vw;
    }
}
/* --------------------
#sec_specialist
--------------------*/

.top_bg {
	background: url("../images/top/bg_base.jpg");
	background-size: auto 100%;
}

#sec_specialist {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 16px;
    background: url("../images/top/specialist_bg_02.png") no-repeat left bottom, url("../images/top/specialist_bg_03.png") no-repeat right top;
}
#sec_specialist .headline {
    position: relative;
    margin: 0 -16px 80px -16px;
    padding-right: 452px;
    color: #444;
    font-size: 40px;
    font-weight: 400;
    border-bottom: 1px solid #86775F;
}
#sec_specialist .headline img {
    position: absolute;
    right: 0;
    bottom: -90px;
}
#sec_specialist .headline div {
    width: 100%;
    max-width: 1200px;
    margin: auto;
    padding: 16px;
}
#sec_specialist .headline .em {
    display: inline-block;
    font-size: 55px;
    font-weight: 600;
}
#sec_specialist .inner {
    position: relative;
    width: 100%;
    max-width: 1200px;
    padding: 16px;
    background: url("../images/top/specialist_bg_01.png") no-repeat right bottom, #fff;
    border: 1px solid #333;
    border-radius: 20px;
    box-shadow: 0px 2px 17px 0px rgba(134, 119, 95, 0.3);
}
#sec_specialist .inner .intro {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin: 0;
    padding: 16px;
    font-weight: 600;
    background: url("../images/top/specialist_txt_bg.png") no-repeat left center, linear-gradient(to right, #9a968d 0%, #ffffff 100%);
    border-radius: 4px 4px 0 0;
}
#sec_specialist .inner .intro .txt_01 {
    color: #fff;
    font-size: 44px;
}
#sec_specialist .inner .intro .txt_01 span {
    display: block;
    font-size: 25px;
}
#sec_specialist .inner .intro .txt_02 {
    color: #444;
    font-size: 72px;
}
#sec_specialist .inner .text {
    padding-left: 430px;
    background: url("../images/top/specialist_img_bg.png") no-repeat left bottom / 430px auto;
}
#sec_specialist .inner .text .lead {
    margin: 0;
    padding: 30px;
}
#sec_specialist .inner .text .lead .txt_01 {
    display: block;
    color: #333;
    margin-bottom: 20px;
    font-size: 32px;
    font-weight: 700;
}
#sec_specialist .inner .text .lead .txt_02 {
    display: inline-block;
    padding: 0 10px;
    color: #F7F7F7;
    font-size: 40px;
    font-weight: 700;
    background: #C1B399;
}
#sec_specialist .inner .text .doctor {
    font-size: 24px;
    font-weight: 700;
}
#sec_specialist .inner .text .doctor .line {
    display: inline-block;
    padding: 0 10px 10px 30px;
    border-bottom: 1px solid #794F0C;
}
#sec_specialist .inner .text .doctor .name {
    font-size: 32px;
    font-weight: 700;
}
#sec_specialist .inner .text .career {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 20px;
    font-family: "Inter", sans-serif;
    font-weight: 400;
}
#sec_specialist .inner .text .career li {}
#sec_specialist .inner .text .career li .line {
    display: inline-block;
    padding: 5px 10px 5px 30px;
    border-bottom: 1px solid #794F0C;
}
#sec_specialist .inner .img {
    position: absolute;
    left: 0;
    bottom: 0;
	width: 471px;
}

/* no-photo  */
#sec_specialist .inner.nophoto {
	background: #fff;
	min-height: 813px;
}
#sec_specialist .inner.nophoto .intro {
	justify-content: center;
	align-items: center;
	gap: 12px;
}
#sec_specialist .inner.nophoto .intro .txt_02 {
	font-size: 60px;
}
#sec_specialist .inner.nophoto .text {
	background: none;
}
.slick_case .slick-prev, 
.slick_case .slick-next,
.slick_doctor .slick-prev, 
.slick_doctor .slick-next {
	z-index: 99;	
	left: -70px;
}
.slick_case .slick-next,
.slick_doctor .slick-next {
	left: auto;
	right: -30px;
}
.slick_case .slick-prev::before, 
.slick_case .slick-next::before,
.slick_doctor .slick-prev::before, 
.slick_doctor .slick-next::before {
	color: #c1b399;
	font-size: 60px;
	opacity: 1;
}
.slick_case .slick-dots li button::before,
.slick_doctor .slick-dots li button::before {
	font-size: 20px;
	opacity: 1;
	color: #ccc;
}
.slick_case .slick-dots li.slick-active button::before,
.slick_doctor .slick-dots li.slick-active button::before {
	color: #c1b399;
}

.slick_case {
	max-width: 962px;
	margin: 0 auto;
}

@media screen and (min-width:541px) and (max-width:1240px) {

	.slick_case .slick-prev, 
	.slick_case .slick-next,
	.slick_doctor .slick-prev, 
	.slick_doctor .slick-next {
		left: -20px;
	}
	.slick_case .slick-next,
	.slick_doctor .slick-next {
		left: auto;
		right: 20px;
	}
	
}
@media screen and (max-width:540px) {

	/* no-photo  */
	#sec_specialist .inner.nophoto {
		min-height: 125.5vw;
	}
	#sec_specialist .inner.nophoto .intro {
		justify-content: center;
		align-items: center;
		gap: 0 2vw;
		padding: 3vw;		
	}
	#sec_specialist .inner.nophoto .intro .txt_02 {
		font-size: 7.25vw;
	}
	#sec_specialist .inner.nophoto .text .doctor {
		padding: 3vw 0 3vw;
	}		
	
	.slick_doctor .slick-list {
		padding-top: 5vw;
	}
	.slick_case .slick-prev, 
	.slick_case .slick-next,
	.slick_doctor .slick-prev, 
	.slick_doctor .slick-next {
		left: -20px;
	}
	.slick_case .slick-next,
	.slick_doctor .slick-next {
		left: auto;
		right: 0;
	}
	.slick_case .slick-prev::before, 
	.slick_case .slick-next::before,
	.slick_doctor .slick-prev::before, 
	.slick_doctor .slick-next::before {
		font-size: 40px;
		opacity: 1;
	}
	.slick_case .slick-dots li button::before,
	.slick_doctor .slick-dots li button::before {
		font-size: 15px;
	}
	
}
@media screen and (min-width:540px) and (max-width:1240px) {
	
	#sec_specialist .headline {
		font-size: 3.5vw;
		padding-right: 0;
	}
	#sec_specialist .headline .em {
		font-size: 4.4vw;
	}
    #sec_specialist .headline img {
        width: 40%;
    }
	
    #sec_specialist .inner .intro {
        padding: 1.29vw;
    }
    #sec_specialist .inner .text {
        padding-left: 34.67vw;
        background: url("../images/top/specialist_img_bg.png") no-repeat left bottom / 34.67vw auto;
    }
    #sec_specialist .inner .intro .txt_01 {
        font-size: 3.87vw;
    }
    #sec_specialist .inner .intro .txt_01 span {
        font-size: 2.17vw;
    }
    #sec_specialist .inner .intro .txt_02 {
        font-size: 6.45vw;
    }
    #sec_specialist .inner .img {
        width: 37.98vw;
    }
}
@media screen and (min-width:541px) and (max-width:950px) {
	
	/* no-photo  */
	#sec_specialist .inner.nophoto {
		min-height: 69vw;
	}
	#sec_specialist .inner.nophoto .intro {
		gap: 1vw;
	}
	#sec_specialist .inner.nophoto .intro .txt_02 {
		font-size: 5vw;
	}
	
	#sec_specialist .inner {
		background-size: 50% auto;
	}
	#sec_specialist .inner .text .lead {
		padding: 0;
	}
	#sec_specialist .inner .text .lead .txt_01 {
		font-size: 2.5vw;
		margin: 1.5vw 0;
	}
	#sec_specialist .inner .text .lead .txt_02 {
		font-size: 3vw;
		padding: 1vw;
	}
	#sec_specialist .inner .text .doctor {
		font-size: 2.2vw;
	}
	#sec_specialist .inner .text .doctor .name {
		font-size: 3vw;
	}
	#sec_specialist .inner .text .career {
		font-size: 1.8vw;
	}
	#sec_specialist .inner .text .career li .line {
		padding: .5vw 1vw .5vw 3vw;
	}
}
@media screen and (max-width:540px) {
    #sec_specialist {
        padding: 5vw 5vw;
        background: url("../images/top/specialist_bg_02.png") no-repeat left top 22vw / 100% auto;
    }
    #sec_specialist .headline {
        margin: 0 -5vw 10vw -5vw;
        padding-right: 0;
        font-size: 5.5vw;
    }
    #sec_specialist .headline img {
        position: absolute;
        right: 0;
        bottom: -90px;
    }
    #sec_specialist .headline div {
        width: 100%;
        max-width: 1200px;
        margin: auto;
        padding: 3vw 5vw;
    }
    #sec_specialist .headline .em {
        font-size: 7vw;
    }
    #sec_specialist .headline img {
        display: none;
    }
    #sec_specialist .inner {
        padding: 0;
        background: none;
    }
    #sec_specialist .inner .intro {
        padding: 3vw 3vw 3vw 34vw;
        border-radius: 20px 20px 0 0;
        background: url(../images/top/specialist_txt_bg.png) no-repeat left center, linear-gradient(to right, #9a968d 0%, #D5D1C9 100%);
    }
    #sec_specialist .inner .intro .txt_01 {
		position: relative;
		z-index: 5;		
        width: 100%;
        font-size: 6vw;
    }
    #sec_specialist .inner .intro .txt_01 span {
        font-size: 4.5vw;
    }
    #sec_specialist .inner .intro .txt_02 {
		position: relative;
		z-index: 5;		
        width: 100%;
        font-size: 7vw;
    }
    #sec_specialist .inner .text {
        position: relative;
        z-index: 5;
        width: 100%;
        padding: 0;
        background: none;
    }
    #sec_specialist .inner .text .lead {
        margin: 0;
        padding: 3vw 3vw 3vw 35vw;
    }
    #sec_specialist .inner .text .lead .txt_01 {
        margin-bottom: 1vw;
        font-size: 4.16vw;
        text-align: center;
    }
    #sec_specialist .inner .text .lead .txt_02 {
        padding: 0 2vw;
        font-size: 4.75vw;
    }
    #sec_specialist .inner .text .doctor {
        margin: 0;
        padding: 0 0 3vw 40vw;
        font-size: 3.125vw;
    }
    #sec_specialist .inner .text .doctor .line {
        padding: 0 1vw 1vw 3.9vw;
    }
    #sec_specialist .inner .text .doctor .name {
        font-size: 4.16vw;
    }
    #sec_specialist .inner .text .career {
        font-size: 3.5vw;
        margin-bottom: 3vw;
        padding: 0;
    }
    #sec_specialist .inner .text .career li .line {
        padding: 0.5vw 1vw 0.5vw 3.9vw;
    }
    #sec_specialist .inner .img {
        z-index: 4;
        top: -5vw;
        bottom: inherit;
        width: 45vw;
    }
}
/* --------------------
#sec_case
--------------------*/
#sec_case {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding-bottom: 40px;
}
#sec_case .headline {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0 5vw;
    height: 452px;
    text-align: center;
    background: url("../images/top/case_tit_bg_l.png") no-repeat left top, url("../images/top/case_tit_bg_r.png") no-repeat right top;
}
#sec_case .inner {
    margin-top: -60px;
    padding: 0 5vw;
}
#sec_case .item {
    width: 100%;
    max-width: 962px;
    margin: auto;
    padding: 16px;
    background: url("../images/top/bg_sec_case.png") no-repeat #D8D0C9;
	background-size: 339px auto;
	background-position: right 200px bottom 60px;
    border-radius: 18px;
    box-shadow: 0px 2.67px 11.58px 0px #C3BBAF;
}
#sec_case .item .img {
	position: relative;
    display: flex;
    justify-content: space-between;
}
#sec_case .item .img .arrow img {
	position: absolute;
	top: calc(50% - 35px); 
	left: calc(50% - 17px);
	width: 49px;
	border: none;
}
#sec_case .item .img figure {
    width: 49%;
    text-align: center;
}
#sec_case .item .img img {
    border: 1px solid #86775F;
	border-radius: 10px;
}
#sec_case .item .text {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#sec_case .item .text .inbox {
    position: relative;
    width: 49%;
}
#sec_case .item .text .inbox .center {
	text-align: center;
}
#sec_case .item .text .inbox .treatment {
    margin: 0;
    padding: 16px 16px 8px;
    font-size: 48px;
    font-weight: 600;
    border-bottom: 1px solid #80695D;
	white-space: nowrap;
}
#sec_case .item .text .inbox .note {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    margin: 0;
    padding: 10px 215px 10px 10px;
    font-weight: 800;
    background: url("../images/top/bg_border.jpg") no-repeat #fff;
	background-size: cover;
    border-radius: 9px;
	text-align: center;
}
#sec_case .item .text .inbox .period,
#sec_case .item .text .inbox .cost {
    position: absolute;
    bottom: -15px;
    right: 110px;
    width: 105px;
    height: 130px;
    margin: 0;
    padding-top: 24px;
    color: #fff;
    font-size: 14px;
    text-align: center;
    background: url("../images/top/case_bg_01.png") no-repeat center top;
}
#sec_case .item .text .inbox .period span {
    display: block;
}
#sec_case .item .text .inbox .period .line {
    margin: 0 10px 5px;
    padding-bottom: 5px;
    border-bottom: 1px solid #F5F5F4;
}
#sec_case .item .text .inbox .cost {
    right: 0;
    background: url("../images/top/case_bg_02.png") no-repeat center top;
}
#sec_case .item .text .inbox .cost span {
    display: block;
}
#sec_case .item .text .inbox .cost .line {
    margin: 0 10px 5px;
    padding-bottom: 5px;
    border-bottom: 1px solid #F5F5F4;
}
#sec_case .item .text .inbox .cost .tax {
    font-size: 10px;
}
@media screen and (min-width:540px) and (max-width:1200px) {
	
    #sec_case .headline {
        height: 37.5vw;
        background: url("../images/top/case_tit_bg_l.png") no-repeat left top / auto 37.5vw, url("../images/top/case_tit_bg_r.png") no-repeat right top / auto 37.5vw;
    }
    #sec_case .headline img {
        width: 63.9vw;
    }
	
}
@media screen and (min-width:540px) and (max-width:960px) {
	
	#sec_case .inner {
		margin-top: -5vw;
	}
	#sec_case .item {
		padding: 1.5vw;
		background-size: 30vw auto;
		background-position: right 20vw bottom 10vw;
		border-radius: 1.5vw;
	}
	#sec_case .item .img .arrow img {
		top: calc(50% - 3vw); 
		left: calc(50% - 1.5vw);
		width: 4.5vw;
	}

	#sec_case .item .text {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#sec_case .item .text .inbox {
		position: relative;
		width: 49%;
	}
	#sec_case .item .text .inbox p {
		font-size: 1.6vw;
	}
	#sec_case .item .text .inbox .treatment {
		padding: 1.5vw 1.5vw 1vw;
		font-size: 3.75vw;
	}
	#sec_case .item .text .inbox .note {
		padding: 1vw 25vw 1vw 1vw;
		font-size: 1.75vw;
	}
	#sec_case .item .text .inbox .period,
	#sec_case .item .text .inbox .cost {
		bottom: 1vw;
		right: 12vw;
		width: 12vw;
		height: 11.5vw;
		padding-top: 2.4vw;
		font-size: 2vw;
		background-size: cover;
	}
	#sec_case .item .text .inbox .cost {
		right: 0;
	}
	#sec_case .item .text .inbox .period .line,
	#sec_case .item .text .inbox .cost .line{
		margin: 0 1vw .5vw;
		padding-bottom: .5vw;
	}
	#sec_case .item .text .inbox .cost .tax {
		font-size: 1vw;
	}
	
}
@media screen and (max-width:540px) {
    #sec_case .headline {
        height: 37.5vw;
        background: url("../images/top/case_tit_bg_l.png") no-repeat left top / auto 37.5vw, url("../images/top/case_tit_bg_r.png") no-repeat right top / auto 37.5vw;
    }
    #sec_case .headline img {
        width: 63.9vw;
    }
    #sec_case .inner {
        margin-top: -5vw;
    }
    #sec_case .item {
        padding: 3vw;
		background-size: 40vw auto;
		background-position: right 0 top 30vw;		
    }
    #sec_case .item .text .inbox {
        width: 100%;
    }
	#sec_case .item .text .inbox p {
		font-size: 3.75vw;
	}
    #sec_case .item .text .inbox .treatment {
        margin: 0;
        padding: 2vw 2vw 1vw;
        font-size: 6.25vw;
    }
    #sec_case .item .text .inbox .note {
        position: static;
        margin: 8vw 0 2vw;
        padding: 3vw 44vw 3vw 0vw;
        font-size: 3.5vw;
    }
	#sec_case .item .text .inbox .period,
	#sec_case .item .text .inbox .cost {
		bottom: 3vw;
		right: 22vw;
		width: 22vw;
		height: 21vw;
		padding-top: 5vw;
		font-size: 3.25vw;
		background-size: cover;
	}
	#sec_case .item .text .inbox .cost {
		right: 0;
	}
	#sec_case .item .text .inbox .period .line,
	#sec_case .item .text .inbox .cost .line{
		margin: 0 2vw 1vw;
		padding-bottom: 1vw;
	}
	#sec_case .item .text .inbox .cost .tax {
		font-size: 2vw;
	}

	#sec_case .item .img .arrow img {
		top: calc(50% - 15px); 
		left: calc(50% - 9px);
		width: 20px;
	}		
}
/* --------------------
#sec_reason
--------------------*/
#sec_reason {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
	background: url("../images/top/bg_base.jpg");
	background-size: 100% auto;
}
#sec_reason .headline {
    height: calc(40vw + 80px);
    padding: 80px 0 0;
    background: url("../images/top/reason_tit_bg.png") no-repeat left top / 100% auto;
}
#sec_reason .headline p {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto 0.5em;
    font-size: 48px;
    font-weight: 700;
}
#sec_reason .headline p span {
    display: inline-block;
    margin-bottom: 0.5em;
    font-size: 56px;
    background: rgba(255, 255, 255, 0.7);
}
#sec_reason .headline .title {
    width: 100%;
    max-width: 1200px;
    margin: auto;
}
#sec_reason .headline .title .bg {
    display: inline-block;
    padding: 0.5em 1em 0.5em 2em;
    color: #86775F;
    font-size: 40px;
    text-align: center;
    line-height: 1.5;
    background: rgba(255, 255, 255, 0.8);
}
#sec_reason .inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#sec_reason .inner .reason {
    position: relative;
    width: 50%;
    margin: 10px 20px 40px;
    padding: 0px 32px 80px;
    background: #DEEAF8;
}
#sec_reason .inner .reason:nth-of-type(3) {
	padding: 32px 32px 80px;
}
#sec_reason .inner .reason:nth-child(even) {
    background: #D1EAE3;
}
#sec_reason .inner .reason .nom_headline {
    position: relative;
    margin: 0;
    padding: 16px 16px 16px 120px;
    color: #2B4993;
    font-size: 24px;
    font-weight: 700;
}
#sec_reason .inner .reason .nom_headline span {
    display: inline-block;
}
#sec_reason .inner .reason .nom_headline img {
    position: absolute;
    top: -20px;
    left: -48px;
	width: 176px;
}
#sec_reason .inner .reason:nth-of-type(3) .nom_headline img {
	top: -48px;
}
#sec_reason .inner .reason .img {
    margin-bottom: 30px;
    text-align: center;
}
#sec_reason .inner .reason .img img {
    width: 100%;
}
#sec_reason .inner .reason .bgbox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 16px;
    background: #fff;
}
#sec_reason .inner .reason .bgbox .tit {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 2em;
    margin: 1em 0;
    text-align: center;
    color: #333;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
}
#sec_reason .inner .reason .bgbox .tit span {
    font-size: 24px;
}
#sec_reason .inner .reason .bgbox .text {
    flex: 1;
    padding: 0 16px 0 0;
}
#sec_reason .inner .reason .bgbox .text .txt_01 {
    color: #2B4993;
    font-size: 12px;
    font-weight: 700;
}
#sec_reason .inner .reason .bgbox .text .txt_02 {
    font-size: 14px;
    font-weight: 500;
	font-family: "Zen Kaku Gothic New", sans-serif;
}
#sec_reason .inner .reason .bgbox .text ul {
    margin: 16px 0 0 0;
    padding: 0;
    list-style: none;
}
#sec_reason .inner .reason .bgbox .text li {
    padding-left: 20px;
    font-size: 14px;
    font-weight: 500;
    background: url("../images/common/icon_check.png") no-repeat left top 3px;
	font-family: "Zen Kaku Gothic New", sans-serif;
}
#sec_reason .inner .reason .bgbox .img {
    width: 144px;
    margin: 0;
}
#sec_reason .inner .reason .parts {
    position: absolute;
    bottom: -16px;
    right: -16px;
}
#sec_reason .inner .reason .btn_more {
    position: absolute;
    bottom: 24px;
    right: 32px;
    display: inline-block;
    padding: 8px 16px;
    color: #fff;
    font-size: 14px;
    text-decoration: none;
    background: #2B4993;
    border: 1px solid #2B4993;
    border-radius: 32px;
}
#sec_reason .inner .reason .btn_more:hover {
    color: #2B4993;
    background: #fff;
}
#sec_reason .inner .reason.box {
    width: 100%;
}
#sec_reason .inner .reason.box .nom_headline {
    padding: 16px;
    text-align: center;
}
#sec_reason .inner .reason.box .nom_headline .txt_01 {
    display: inline-block;
}
#sec_reason .inner .reason.box .nom_headline .txt_02 {
    display: block;
    margin-top: 24px;
    color: #333;
    font-size: 48px;
}
#sec_reason .inner .reason.box .lead {
    margin: 16px -32px 56px;
    padding: 16px 280px;
    color: #333;
    font-size: 28px;
    font-weight: 700;
    text-align: center;
    background: #F3ECD9;
}
#sec_reason .inner .reason.box .bgbox {
    display: block;
    margin: 0 95px;
    padding: 80px 120px;
}
#sec_reason .inner .reason.box .bgbox .inbox {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    justify-content: space-between;
    margin-bottom: 30px;
}
#sec_reason .inner .reason.box .bgbox .inbox .text {
    padding: 0 0 0 16px;
}
#sec_reason .inner .reason.box .bgbox .inbox .text .title {
    margin: 0 0 16px 0;
    color: #365399;
    font-size: 24px;
    font-weight: 700;
}
#sec_reason .inner .reason.box .bgbox .inbox .text .title::before {
    content: "■";
}
#sec_reason .inner .reason.box .bgbox .inbox .text p {
    color: #333;
    font-weight: 700;
}
#sec_reason .inner .reason.box .bgbox .inbox .img {
    margin-bottom: 0;
}
#sec_reason .inner .reason.box .item_01 {
    position: absolute;
    top: 80px;
    left: 16px;
}
#sec_reason .inner .reason.box .item_02 {
    position: absolute;
    top: 80px;
    right: 16px;
}
#sec_reason .inner .reason.box .item_03 {
    position: absolute;
    bottom: 80px;
    left: 16px;
}
#sec_reason .inner .reason.box .item_04 {
    position: absolute;
    bottom: 80px;
    right: 16px;
}
#sec_reason .inner .reason.box .btn_more {
    right: 120px;
}
@media screen and (min-width:540px) and (max-width:1180px) {
    #sec_reason .headline {
        height: calc(40vw + 6.779vw);
        padding: 6.779vw 0 0;
    }
    #sec_reason .headline p {
        font-size: 4vw;
    }
    #sec_reason .headline p span {
        font-size: 4.7vw;
    }
    #sec_reason .headline .title .bg {
        font-size: 3.39vw;
    }
	#sec_reason .inner .reason {
		margin: 1vw 2vw 3vw;
		padding: 0px 2vw 8vw;
	}
	#sec_reason .inner .reason .nom_headline {
		font-size: 2vw;
	}
}
@media screen and (min-width:540px) and (max-width:950px) {
    #sec_reason .inner .reason.box .lead {
        padding: 16px 24vw 5.8vw;
        font-size: 3vw;
    }
    #sec_reason .inner .reason.box .bgbox {
        display: block;
        margin: 0 10vw;
        padding: 8.4vw 12.6vw;
    }
    #sec_reason .inner .reason.box .bgbox .inbox {
        flex-direction: column;
    }
    #sec_reason .inner .reason.box .bgbox .inbox .text {
        padding: 0 0 16px 0;
    }
    #sec_reason .inner .reason.box .bgbox .inbox .img {
        width: 100%;
        text-align: center;
    }
    #sec_reason .inner .reason.box .item_01 {
        width: 25vw;
    }
    #sec_reason .inner .reason.box .item_02 {
        width: 24vw;
    }
    #sec_reason .inner .reason.box .item_03 {
        width: 17vw;
    }
    #sec_reason .inner .reason.box .item_04 {
        width: 25vw;
    }
}
@media screen and (max-width:540px) {
	
    #sec_reason .inner .reason {
        width: 100%;
        margin-bottom: 6.25vw;
        padding: 0vw 3vw 15vw;
    }
	#sec_reason .inner .reason:nth-of-type(3) {
		padding: 9vw 4vw 6vw;
	}
    #sec_reason .inner .reason.box {
        padding-bottom: 33vw;
    }
    #sec_reason .headline {
        height: calc(40vw + 6.779vw);
        padding: 4vw 0 0;
    }
    #sec_reason .headline p {
        padding-left: 5vw;
        font-size: 4vw;
    }
    #sec_reason .headline p span {
        margin-left: -5vw;
        padding-left: 5vw;
        font-size: 4.7vw;
    }
    #sec_reason .headline .title .bg {
        font-size: 4vw;
    }
    #sec_reason .inner .reason .nom_headline {
        padding: 1em 10vw;
        font-size: 6vw;
        text-align: center;
    }
    #sec_reason .inner .reason .nom_headline img {
        width: 30vw;
        top: -2vw;
        left: -6vw;
    }
    #sec_reason .inner .reason:nth-of-type(3) .nom_headline img {
        top: -11vw;
    }
    #sec_reason .inner .reason .bgbox {
        padding: 3vw;
    }
    #sec_reason .inner .reason .bgbox .tit {
        min-height: auto;
        margin: 0.5em 0 1em;
        font-size: 5vw;
    }
    #sec_reason .inner .reason .bgbox .tit span {
        font-size: 5.5vw;
    }
    #sec_reason .inner .reason .bgbox .text {
        padding: 0;
    }
    #sec_reason .inner .reason .bgbox .text .txt_01 {
        margin: 0;
        font-size: 4vw;
    }
    #sec_reason .inner .reason .bgbox .text .txt_02 {
        font-size: 4.2vw;
    }
    #sec_reason .inner .reason .bgbox .text ul {
        margin: 2vw 0 0 0;
    }
    #sec_reason .inner .reason .bgbox .text li {
        padding-left: 4.6vw;
        font-size: 4.2vw;
        background: url(../images/common/icon_check.png) no-repeat left top 0.1em / 1em auto;
    }
    #sec_reason .inner .reason .bgbox .img {
	    width: 27vw;
        margin: 0;
        text-align: center;
    }
    #sec_reason .inner .reason .parts {
        position: absolute;
        bottom: -2vw;
        right: -2vw;
        width: 22.9vw;
    }
    #sec_reason .inner .reason .btn_more {
        bottom: 3.125vw;
        right: 4vw;
        padding: 1vw 3vw;
        font-size: 4vw;
        border-radius: 5vw;
    }
    #sec_reason .inner .reason .btn_more:hover {
        color: #2B4993;
        background: #fff;
    }
    #sec_reason .inner .reason.box {
        width: 100%;
    }
    #sec_reason .inner .reason.box .nom_headline {
        padding: 1em 10vw;
        font-size: 6vw;
        text-align: center;
    }
    #sec_reason .inner .reason.box .nom_headline .txt_02 {
        margin-top: 1em;
        font-size: 7vw;
    }
    #sec_reason .inner .reason.box .lead {
        margin: 10vw -4vw 0;
        padding: 2vw 0vw;
        font-size: 4.2vw;
    }
    #sec_reason .inner .reason.box .bgbox {
        margin: 0;
        padding: 3vw;
    }
    #sec_reason .inner .reason.box .bgbox .inbox {
        margin-bottom: 2vw;
    }
    #sec_reason .inner .reason.box .bgbox .inbox .text {
        padding: 0 0 0 2vw;
    }
    #sec_reason .inner .reason.box .bgbox .inbox .text p {
        margin: 0;
		font-size: 3vw;
    }
    #sec_reason .inner .reason.box .bgbox .inbox .text .title {
        margin: 0 0 1vw 0;
        font-size: 3.5vw;
    }
    #sec_reason .inner .reason.box .item_01 {
        top: 26vw;
        left: 0;
        width: 21vw;
    }
    #sec_reason .inner .reason.box .item_02 {
        top: 26vw;
        right: 0;
        width: 20.8vw;
    }
    #sec_reason .inner .reason.box .item_03 {
        bottom: 16vw;
        left: 0;
        width: 15.7vw;
    }
    #sec_reason .inner .reason.box .item_04 {
        bottom: 16vw;
        right: 0;
        width: 22vw;
    }
    #sec_reason .inner .reason.box .btn_more {
        right: 4vw;
    }
	
}

#sec_reason .inner .reason .nom_headline,
#sec_reason .inner .reason:nth-of-type(2) .nom_headline, 
#sec_reason .inner .reason:nth-of-type(3) .nom_headline,
#sec_reason .inner .reason:nth-of-type(4) .nom_headline,
#sec_reason .inner .reason:nth-of-type(5) .nom_headline {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 90px;
	padding: 0 0 0 30px;
	line-height: 1.4!important;
	text-align: center;
}
@media screen and (min-width: 541px) and (max-width: 768px) {
	
	#sec_reason .inner .reason {
		margin-bottom: 3.5vw;
		padding: 1.5vw 2.75vw 6vw;
	}
	#sec_reason .inner .reason .nom_headline,
	#sec_reason .inner .reason:nth-of-type(2) .nom_headline, 
	#sec_reason .inner .reason:nth-of-type(3) .nom_headline,
	#sec_reason .inner .reason:nth-of-type(4) .nom_headline,
	#sec_reason .inner .reason:nth-of-type(5) .nom_headline {
    	padding: 0 0 0 2.75vw!important;
    	font-size: 2.75vw;
		height: 10vw;
	}
	#sec_reason .inner .reason .nom_headline img {
		width: 15vw;
		top: -3vw;
		left: -3vw;
	}
	
}
@media screen and (max-width: 540px) {
	
	#sec_reason .inner .reason .nom_headline,
	#sec_reason .inner .reason:nth-of-type(2) .nom_headline, 
	#sec_reason .inner .reason:nth-of-type(3) .nom_headline,
	#sec_reason .inner .reason:nth-of-type(4) .nom_headline,
	#sec_reason .inner .reason:nth-of-type(5) .nom_headline {
    	padding: 0 0 0 18vw!important;
    	font-size: 5vw;
		height: 20vw;
	}
	
}

/* --------------------
#sec_treatment
--------------------*/
#sec_treatment {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}
#sec_treatment .headline {
    margin: 0;
    padding: 100px 3vw;
    color: #86775F;
    font-size: 40px;
    text-align: center;
    line-height: 2;
    background: url("../images/top/treatment_tit_bg.jpg") no-repeat left top / cover;
}
#sec_treatment .headline em {
	position: relative;	
	font-style: normal;
}
#sec_treatment .headline span {
	position: relative;
    font-size: 56px;
}
#sec_treatment .headline em::after,
#sec_treatment .headline span::after {
	position: absolute;
	bottom: -5px; 
	right: 0;
	display: block;
	content: "";
	width: 750px;
	height: 1px;
	background: #86775F;
}
#sec_treatment .headline span::after {
	right: auto;
	left: 0;
	width: 600px;
}
#sec_treatment .bg {
    padding: 80px 0;
    background: url("../images/top/worries_bg.jpg") no-repeat top center / cover;
}
#sec_treatment .bg .title {
    margin: 0 0 1em 0;
    font-size: 40px;
    font-weight: 700;
    text-align: center;
}
#sec_treatment .bg .title span {
    display: inline-block;
    padding: 20px 50px;
    background: url("../images/top/Q.png") no-repeat left center;
}
#sec_treatment .inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    max-width: 1200px;
    padding: 0 20px;
}
#sec_treatment .accordion {
    width: 49%;
    margin-bottom: 45px;
    padding: 0 min(80px, 2vw);
}
#sec_treatment .accordion .toggle {
    display: none;
}
#sec_treatment .accordion .label {
    padding: 20px;
    display: block;
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    background: #fff;
    box-shadow: 0px 2px 17px 0px rgba(134, 119, 95, 0.3);
	cursor: pointer;
}
#sec_treatment .accordion .label.area span {
    display: inline-block;
}
#sec_treatment .accordion .label::before {
    content: "";
    width: 6px;
    height: 6px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    -webkit-transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 3px);
    right: 20px;
    transform: rotate(135deg);
}
#sec_treatment .accordion .label, #sec_treatment .accordion .content {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: all 0.3s;
}
#sec_treatment .accordion .content {
    height: 0;
    padding: 0;
    overflow: hidden;
    background: #fff;
}
#sec_treatment .accordion .content.area {
    padding: 0;
}
#sec_treatment .accordion .toggle:checked + .label + .content {
    height: auto;
    padding: 0;
    transition: all .5s;
}
#sec_treatment .accordion .toggle:checked + .label + .content.area {
    height: auto;
    padding: 0;
    transition: all .5s;
}
#sec_treatment .accordion .toggle:checked + .label::before {
    transform: rotate(-45deg) !important;
}
#sec_treatment .accordion ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
#sec_treatment .accordion li a {
    display: block;
    padding: 15px 20px;
    color: #fff;
    font-size: 20px;
    text-decoration: none;
    background: #2B4993;
    border-bottom: 1px solid #fff;
}
#sec_treatment .accordion li a:hover {
    color: #2B4993;
    background: #fff;
}
@media screen and (min-width:540px) and (max-width:1080px) {

	#sec_treatment .accordion .label {
        font-size: min(3vw,20px);
    }
	
	#sec_treatment .headline {
		padding: 7vw 3vw;
		font-size: 4vw;
	}
	#sec_treatment .headline span {
		font-size: 5.5vw;
	}
	#sec_treatment .headline em::after,
	#sec_treatment .headline span::after {
		bottom: -.5vw; 
		width: 70vw;
	}
	#sec_treatment .headline span::after {
		width: 55vw;
	}
	
}
@media screen and (max-width:540px) {
    #sec_treatment .headline {
        padding: 10vw 3vw;
        font-size: 6vw;
    }
    #sec_treatment .headline span {
        font-size: 7vw;
    }
	#sec_treatment .headline em::after,
	#sec_treatment .headline span::after {
		bottom: -1vw; 
		width: 92vw;
	}
	#sec_treatment .headline span::after {
		width: 50vw;
	}	
    #sec_treatment .bg {
        padding: 8vw 0;
    }
    #sec_treatment .bg .title {
        font-size: 6vw;
    }
    #sec_treatment .bg .title span {
        padding: 1em 6.5vw;
        background: url("../images/top/Q.png") no-repeat left center / 5vw auto;
    }
    #sec_treatment .inner {
        padding: 0 3vw;
		justify-content: space-between;
    }
    #sec_treatment .accordion {
        width: 48%;
        margin-bottom: 5vw;
        padding: 0;
    }
    #sec_treatment .accordion .label {
        padding: 3vw 3vw 3vw 0;
        font-size: 3.25vw;
    }
    #sec_treatment .accordion li a {
        padding: 3vw;
        font-size: 3.7vw;
    }
    #sec_treatment .accordion .label::before {
        right: 2vw;
    }
}
/* --------------------
#sec_subject
--------------------*/
#sec_subject {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 100px 5vw 200px;
    background: url("../images/top/icon_list_bg.png") no-repeat right bottom / 100% auto;
}
#sec_subject .lead {
    margin: 0;
    padding: 100px 0 40px;
    color: #333;
    font-size: 30px;
    font-weight: 700;
    text-align: center;
    line-height: 2;
    background: url("../images/common/parts_01.png") no-repeat top center;
}
#sec_subject .lead span {
    font-size: 40px;
}
#sec_subject .headline {
    margin: 0 0 70px 0;
    color: #333;
    font-size: 30px;
    font-weight: 700;
    text-align: center;
    line-height: 2;
    letter-spacing: 0.6;
}
#sec_subject .headline span {
    display: inline-block;
    padding: 0 190px;
    background: url("../images/common/parts_l.png") no-repeat left center, url("../images/common/parts_r.png") no-repeat right center;
}
#sec_subject .subject_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}
#sec_subject .subject_list li {
    width: 225px;
    aspect-ratio: 1 / 1;
    margin: 40px 10px 0;
    background: url("../images/top/icon_bg.png") no-repeat left top / 100% 100%;
}
#sec_subject .subject_list li a {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    text-align: center;
    text-decoration: none;
}
#sec_subject .subject_list li a:hover {
    opacity: 0.7;
}
#sec_subject .subject_list li a span {
    display: block;
    text-align: center;
}
@media screen and (max-width:540px) {
    #sec_subject {
        padding: 10vw 5vw;
        background: url("../images/top/icon_list_bg.png") no-repeat right bottom / 100% auto;
    }
    #sec_subject .lead {
        padding: 15vw 0 4vw;
        font-size: 4.5vw;
        background: url("../images/common/parts_01.png") no-repeat top center / auto 15vw;
    }
    #sec_subject .lead span {
        font-size: 5.5vw;
    }
    #sec_subject .headline {
        margin: 0 0 5vw 0;
        font-size: 5.2vw;
    }
    #sec_subject .headline span {
        display: inline-block;
        padding: 0 24.7vw;
        background: url("../images/common/parts_l.png") no-repeat left center / 20.8vw auto, url("../images/common/parts_r.png") no-repeat right center / 20.8vw auto;
    }
    #sec_subject .subject_list {
        justify-content: space-between;
    }
    #sec_subject .subject_list li {
        width: 48%;
        margin: 4vw 0 0;
        background: url("../images/top/icon_bg.png") no-repeat left top / 100% 100%;
    }
    #sec_subject .subject_list li a span {
        font-size: 3.8vw;
    }
    #sec_subject .subject_list li img {
        width: 80%;
    }
}
/* --------------------
#sec_features
--------------------*/
#sec_features {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}
#sec_features .bg {
    padding: 40px 0 80px;
	background: linear-gradient(to bottom, #e5e0d8 1%, #efefef 48%, #ccc1b1 100%)
}
#sec_features .bg .curve {
	background: url("../images/top/bg_curve.png") center no-repeat;	
	background-size: 66% auto;
}
#sec_features .item {
    width: 100%;
    max-width: 1200px;
    margin: auto;
    padding: 110px 50px 0;
}
#sec_features .item .inner {
    position: relative;
    padding: 40px 20px;
    background: #fff;
    box-shadow: 0px 2px 17px 0px rgba(0, 0, 0, 0.3);
}
#sec_features .item.implant .inner {
    background: url("../images/top/implant_bg.png") center / cover no-repeat;
}
#sec_features .item.adult .inner {
    background: url("../images/top/adult_bg.png") center / cover no-repeat;
}
#sec_features .item.periodontal-disease .inner {
    background: url("../images/top/periodontal-disease_bg.png") center / cover no-repeat;
}
#sec_features .item.stuffing .inner {
    background: url("../images/top/stuffing_bg.png") center / cover no-repeat;
}
#sec_features .item .inner .title {
    position: absolute;
    top: -110px;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0;
    width: 240px;
    height: 240px;
    font-size: 36px;
    font-weight: 400;
    text-align: center;
}
#sec_features .item.implant .inner .title {
    left: -50px;
    color: #BB9354;
    background: url("../images/top/implant_tit_bg.png") no-repeat left center / 100% 100%;
}
#sec_features .item.adult .inner .title {
    right: -50px;
    color: #fff;
    background: url("../images/top/adult_tit_bg.png") no-repeat left center / 100% 100%;
}
#sec_features .item.periodontal-disease .inner .title {
    left: -50px;
    color: #6B4F22;
    background: url("../images/top/periodontal-disease_tit_bg.png") no-repeat left center / 100% 100%;
}
#sec_features .item.stuffing .inner .title {
    right: -50px;
    color: #fff;
    background: url("../images/top/stuffing_tit_bg.png") no-repeat left center / 100% 100%;
}
#sec_features .item .inner .lead {
    position: absolute;
    top: -30px;
    margin: 0;
    font-size: 40px;
    font-weight: 700;
    transform: skewX(-10deg);
}
#sec_features .item.implant .inner .lead {
    left: 0;
    color: #fff;
    padding: 0 40px 0 200px;
    background: #C3A980;
}
#sec_features .item.adult .inner .lead {
    right: 0;
    color: #BF9653;
    padding: 0 200px 0 40px;
    background: #fff;
    border: 1px solid #C4AA80;
}
#sec_features .item.periodontal-disease .inner .lead {
    left: 0;
    color: #F9F9F9;
    padding: 0 40px 0 200px;
    background: #86775F;
}
#sec_features .item.stuffing .inner .lead {
    right: 0;
    color: #766E64;
    padding: 0 200px 0 40px;
    background: #fff;
    border: 1px solid #766E64;
}
#sec_features .item .inner .inbox {
    display: flex;
    flex-wrap: wrap;
}
#sec_features .item:nth-child(even) .inner .inbox {
    flex-direction: row-reverse;
}
#sec_features .item .inner .inbox .pic {
    margin: 0;
    padding: 80px 0 0 0;
}
#sec_features .item .inner .inbox .text {
    flex: 1;
    padding: 0 40px;
}
#sec_features .item .inner .inbox .text .txt_01 {
    font-size: 27px;
    line-height: 1.8;
}
#sec_features .item:nth-child(odd) .inner .txt_01 {
    margin: 0 -40px 40px 0;
    text-align: right;
}
#sec_features .item:nth-child(even) .inner .txt_01 {
    margin: 0 0 25px -40px;
}
#sec_features .item .inner .txt_01 .line {
    display: inline-block;
}
#sec_features .item:nth-child(odd) .inner .txt_01 .line {
    padding: 0 30px 0 0;
}
#sec_features .item:nth-child(even) .inner .txt_01 .line {
    padding: 0 0 0 30px;
}
#sec_features .item.implant .inner .txt_01 .line {
    border-bottom: 1px solid #794F0C;
}
#sec_features .item.adult .inner .txt_01 .line {
    border-bottom: 1px solid #fff;
}
#sec_features .item.periodontal-disease .inner .txt_01 .line {
    border-bottom: 1px solid #86775F;
}
#sec_features .item.stuffing .inner .inbox .line {
    border-bottom: 1px solid #766E64;
}
#sec_features .item .inner .tit {
    font-size: 20px;
    font-family: "Inter", sans-serif;
    font-weight: 500;
}
#sec_features .item.implant .inner .tit {
    color: #C3A980;
}
#sec_features .item.adult .inner .tit {
    color: #8F6E3A;
}
#sec_features .item.periodontal-disease .inner .tit {
    color: #86775F;
}
#sec_features .item.stuffing .inner .tit {
    color: #867362;
}
#sec_features .item .inner .inbox .text .txt_02 {
    padding: 20px 15px;
    font-family: "Inter", sans-serif;
    font-weight: 500;
}
#sec_features .item.implant .inner .inbox .text .txt_02 {
    background: rgba(195, 169, 128, 0.75);
}
#sec_features .item.adult .inner .inbox .text .txt_02 {
    background: rgba(255, 255, 255, 0.75);
}
#sec_features .item.periodontal-disease .inner .inbox .text .txt_02 {
    background: rgba(255, 255, 255, 0.75);
}
#sec_features .item.stuffing .inner .inbox .text .txt_02 {
    background: rgba(201, 183, 167, 0.75);
}
#sec_features .item:nth-child(odd) .inner .inbox .img {
    margin: 0 -70px 0 0;
}
#sec_features .item:nth-child(even) .inner .inbox .img {
    margin: 0 0 0 -70px;
}
#sec_features .item .inner .inbox .img img {
    box-shadow: 0px 6px 10px 0px #CBCBCB;
}
@media screen and (min-width:540px) {
    #sec_features .item .inner .inbox .img {
        width: min(30.8vw, 400px);
    }
}
@media screen and (max-width:540px) {
    #sec_features .bg {
        padding: 5vw 0 20vw;
        background: linear-gradient(to bottom, #e5e0d8 1%, #efefef 48%, #ccc1b1 100%);
    }
    #sec_features .item {
        width: 100%;
        max-width: 1200px;
        margin: auto;
        padding: 20vw 5vw 5vw;
    }
    #sec_features .item .inner {
        position: relative;
        padding: 8vw 3vw 5vw;
        background: #fff;
        box-shadow: 0px 2px 17px 0px rgba(0, 0, 0, 0.3);
    }
    #sec_features .item .inner .title {
        top: -13vw;
        width: 20vw;
        height: 20vw;
        font-size: 3vw;
    }
    #sec_features .item.implant .inner .title {
        left: -5vw;
    }
    #sec_features .item.adult .inner .title {
        right: -5vw;
    }
    #sec_features .item.periodontal-disease .inner .title {
        left: -5vw;
    }
    #sec_features .item.stuffing .inner .title {
        right: -5vw;
    }
    #sec_features .item .inner .lead {
        top: -4vw;
        font-size: 4vw;
    }
    #sec_features .item.implant .inner .lead {
        padding: 0 3vw 0 17vw;
    }
    #sec_features .item.adult .inner .lead {
        padding: 0 17vw 0 3vw;
    }
    #sec_features .item.periodontal-disease .inner .lead {
        padding: 0 3vw 0 17vw;
    }
    #sec_features .item.stuffing .inner .lead {
        padding: 0 17vw 0 3vw;
    }
    #sec_features .item .inner .inbox {
        position: relative;
    }
    #sec_features .item .inner .inbox .pic {
        width: 17vw;
        padding: 5vw 0 0 0;
    }
    #sec_features .item:nth-child(odd) .inner .inbox .pic {
        margin: 0 5vw 0 -3vw;
    }
    #sec_features .item:nth-child(even) .inner .inbox .pic {
        margin: 0 -3vw 0 3vw;
    }
    #sec_features .item .inner .inbox .text {
        flex: 1;
        padding: 0;
        position: relative;
        z-index: 1;
    }
    #sec_features .item .inner .headline {
        width: 100%;
        text-align: center;
    }
    #sec_features .item .inner .txt_01 {
        font-size: 4.2vw;
    }
    #sec_features .item:nth-child(odd) .inner .txt_01 {
        margin: 0;
        text-align: center;
    }
    #sec_features .item:nth-child(even) .inner .txt_01 {
        margin: 0;
    }
    #sec_features .item:nth-child(odd) .inner .txt_01 .line {
        padding: 0;
    }
    #sec_features .item:nth-child(even) .inner .txt_01 .line {
        padding: 0;
    }
    #sec_features .item .inner .tit {
        font-size: 3.8vw;
    }
    #sec_features .item .inner .inbox .text .txt_02 {
        padding: 3vw;
        font-size: 3.8vw;
    }
    #sec_features .item .inner .inbox .img {
        position: absolute;
        bottom: -15vw;
        width: 50%;
    }
	#sec_features .item .inner .inbox .img.add {
        bottom: -22vw;
    }
    #sec_features .item:nth-child(odd) .inner .inbox .img {
        left: -8vw;
        margin: 0;
    }
    #sec_features .item:nth-child(even) .inner .inbox .img {
        right: -8vw;
        margin: 0;
    }
}
/* --------------------
#sec_doctor
--------------------*/
#sec_doctor {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 80px 0 0 0;
    background: #F7F7F7;
}
#sec_doctor .lead {
    margin: 0;
    color: #4D3000;
    font-size: 40px;
    font-weight: 700;
    text-align: center;
}
#sec_doctor .lead span {
    display: inline-block;
}
#sec_doctor .inner {
    padding: 80px 100px 0 0;
}
#sec_doctor .inner .bg {
    position: relative;
    padding: 100px 50px 20px 0;
    background: rgba(178, 210, 233, 0.28);
}
#sec_doctor .inner .headline {
    margin: -130px 0 0 0;
    color: #333;
    font-size: 48px;
    font-weight: 700;
    text-align: center;
}
#sec_doctor .inner .title_h2 {
	margin-left: 120px;
}
#sec_doctor .inner .img {
    position: absolute;
    left: 90px;
    bottom: 0;
    z-index: 1;
	width: 387px;
}
#sec_doctor .inner .name {
    position: absolute;
    left: -70px;
    bottom: 250px;
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    writing-mode: vertical-rl;
    letter-spacing: 0.5em;
    line-height: 1.1;
}
#sec_doctor .inner .name span {
    font-size: 32px;
}
#sec_doctor .inner .text {
    padding: 40px 0 0 500px;
}
#sec_doctor .inner .text p {
    color: #333;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.8;
}
#sec_doctor .inner .text p .line {
    display: inline-block;
    border-bottom: 1px solid #333;
}
#sec_doctor .inner .text p .em {
    display: inline-block;
    font-size: 20px;
    font-weight: 700;
}
#sec_doctor .inner .text .txt_bg {
    margin: 25px 40px 0 -100px;
    padding: 20px 20px 20px 100px;
    background: #F3ECD9;
    transform: skewX(-30deg);
}
#sec_doctor .inner .text .txt_bg p {
    margin: 0;
    color: #4D3000;
    transform: skewX(30deg);
}
#sec_doctor .inner .text .txt_bg p.name {
	color: #333;
}
#sec_doctor .inner .data {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 -100px 0 0;
    background: linear-gradient(135deg, #86775f 0%, #86775f 50%, #fff4e2 100%);
}
#sec_doctor .inner .data .list .title {
    margin: 0 0 0 -15px;
    padding: 10px 90px;
    color: #86775F;
    font-size: 32px;
    background: #fff;
	transform: skewX(-10deg);	
}
#sec_doctor .inner .data .list ul {
    margin: 40px 0 40px 90px;
    color: #fff;
}
#sec_doctor .inner .data .list li {
    margin: 0.5em 0;
}
#sec_doctor .inner .data .pic {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    flex: 1;
    padding: 20px 100px 20px 20px;
}
#sec_doctor .inner .data .pic img {
    width: 100%;
    max-width: 587px;
}
@media screen and (min-width:541px) and (max-width:1230px) {
    #sec_doctor .inner {
        padding: 80px 0 0 0;
    }
    #sec_doctor .inner .headline {
        margin: -130px 0 0 0;
    }
    #sec_doctor .inner .data {
        margin: 0;
    }
    #sec_doctor .inner .data .pic {
        padding: 20px;
    }
	#sec_doctor .inner .img {
		width: 35vw;
	}
}
@media screen and (min-width:541px) and (max-width:900px) {
    #sec_doctor .inner .text .txt_bg {
        margin: 25px 0 0 -100px;
        padding: 20px 20px 20px 100px;
        background: #F3ECD9;
        transform: skewX(0deg);
    }
    #sec_doctor .inner .text .txt_bg p {
        margin: 0;
        color: #4D3000;
        transform: skewX(0deg);
    }
	#sec_doctor .inner .title_h2 {
		margin-left: 10vw;
	}
}
@media screen and (max-width:540px) {
    #sec_doctor {
        padding: 10vw 0 0 0;
    }
    #sec_doctor .lead {
        font-size: 6.4vw;
    }
    #sec_doctor .inner {
        padding: 15vw 0 0 0;
    }
	#sec_doctor .inner .title_h2 {
		margin-left: 0;
	}	
    #sec_doctor .inner .headline {
        margin: -14vw 0 0 0;
        font-size: 6.25vw;
    }
    #sec_doctor .inner .bg {
        padding: 10vw 3vw 0;
    }
    #sec_doctor .inner .text {
        padding: 5vw 0 0 0;
    }
    #sec_doctor .inner .text p {
        font-size: 3.7vw;
        line-height: 1.5;
    }
    #sec_doctor .inner .text p .em {
        font-size: 4.8vw;
    }
    #sec_doctor .inner .text .sp_txt {
        padding-left: 30vw;
        margin: 1em 0;
    }
    #sec_doctor .inner .text .txt_bg {
        margin: 0 -3vw;
        padding: 3vw 3vw 3vw 45vw;
        transform: skewX(0deg);
    }
    #sec_doctor .inner .text .txt_bg p {
        margin: 0;
        transform: skewX(0deg);
    }
    #sec_doctor .inner .name {
        position: static;
        margin: 1em 0 0 0 !important;
        font-size: 3.2vw;
        text-align: right;
        writing-mode: horizontal-tb;
        letter-spacing: 0;
    }
    #sec_doctor .inner .name span {
        font-size: 3.7vw;
    }
    #sec_doctor .inner .img {
        left: 0;
        width: 45vw;
    }
    #sec_doctor .inner .data {
        position: relative;
        flex-direction: column;
        margin: 0;
    }
    #sec_doctor .inner .data .list .title {
		margin: 0 0 0 -5px;
        width: 42%;
        padding: 10px 5vw;
        color: #86775F;
        font-size: 3.7vw;
    }
    #sec_doctor .inner .data .list ul {
        margin: 3vw;
        padding-left: 1em;
        font-size: 3.7vw;
    }
    #sec_doctor .inner .data .list li:nth-child(1), #sec_doctor .inner .data .list li:nth-child(2) {
        padding-right: 58%;
    }
    #sec_doctor .inner .data .pic {
        position: absolute;
        top: 0;
        right: 0;
        flex: none;
        width: 58%;
        padding: 2vw 2vw 0 3vw;
    }
}
/* --------------------
#sec_facility
--------------------*/
#sec_facility {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 0 0 0;
}
#sec_facility .headline {
    margin: 0;
    padding: 100px 0 40px;
    color: #333;
    font-size: 30px;
    font-weight: 700;
    text-align: center;
    line-height: 2;
    background: url("../images/common/parts_01.png") no-repeat top 20px center, #fff;
}
#sec_facility .headline span {
    display: inline-block;
    padding: 0 190px;
    background: url("../images/common/parts_l.png") no-repeat left center, url("../images/common/parts_r.png") no-repeat right center;
}
#sec_facility .bg {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 140px 20px;
    background: url("../images/top/facility_bg.png") no-repeat left center / cover;
}
#sec_facility .bg img {
    box-shadow: 0px 2px 17px 0px rgba(0, 0, 0, 0.3);
}
#sec_facility .bg .img_l img {
    border: 13px solid #fff;
}
#sec_facility .bg .img_r {
    margin-left: 40px;
    width: 260px;
}
#sec_facility .bg .img_r img {
    margin: 0 0 20px 0;
    border: 5px solid #fff;
}
@media screen and (min-width:540px) and (max-width:1200px) {
    #sec_facility .bg .img_l {
        width: 100%;
        margin: 0 0 20px 0;
        text-align: center;
    }
    #sec_facility .bg .img_r {
        margin-left: 0;
        width: 100%;
        text-align: center;
    }
}
@media screen and (max-width:540px) {
    #sec_facility {
        padding: 5vw 0 0 0;
    }
    #sec_facility .lead span {
        font-size: 5.5vw;
    }
    #sec_facility .headline {
        margin: 0;
        padding: 15vw 0 4vw;
        font-size: 5.2vw;
        background: url("../images/common/parts_01.png") no-repeat top center / auto 15vw;
    }
    #sec_facility .headline span {
        display: inline-block;
        padding: 0 24.7vw;
        background: url("../images/common/parts_l.png") no-repeat left center / 20.8vw auto, url("../images/common/parts_r.png") no-repeat right center / 20.8vw auto;
    }
    #sec_facility .bg {
        padding: 10vw 5vw;
    }
    #sec_facility .bg .img_l {
        width: 100%;
        margin: 0 0 3vw 0;
        text-align: center;
    }
    #sec_facility .bg .img_r {
        margin-left: 0;
        width: 100%;
        text-align: center;
    }
}

/* ----------------------------------------

下層ページ 共通

----------------------------------------*/
/* --------------------
.page_tit
--------------------*/
.page_tit {
	position: relative;
	margin-bottom: 40px;
}

.page_tit img {
	width: 100%;
}

.page_tit h1 {
	position: absolute;
	top: 24.3vw;
	width: 100%;
	margin: 0;
	color: #000;
	font-size: 4.86vw;
	font-weight: 400;
	font-feature-settings: "palt";
	text-align: center;
	text-shadow: 0px 0px 40px rgba(255, 255, 255, 1), 0px 0px 40px rgba(255, 255, 255, 1), 0px 0px 40px rgba(255, 255, 255, 1), 0px 0px 40px rgba(255, 255, 255, 1), 0px 0px 40px rgba(255, 255, 255, 1), 0px 0px 40px rgba(255, 255, 255, 1);
}

.page_tit .station {
	position: absolute;
	bottom: 0;
	left: 0;
	margin: 0;
	padding: 1.38vw;
	color: #888888;
	-webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
	text-orientation: upright;
	font-size: 1.52vw;
}

.page_tit .station span {
	color: #C79D6F;
	font-weight: 700;
	font-style: oblique;
}

.page_tit .catchphrase {
	position: absolute;
	top: 12.2vw;
	width: 100%;
	color: #333;
	font-size: 1.94vw;
	text-align: center;
	text-shadow: 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1);
}

.page_tit .catchphrase span {
	font-size: 2.63vw;
}

.page_tit ul {
	position: absolute;
	bottom: 1.38vw;
	left: 6.94vw;
	margin: 0;
	padding: 0;
	list-style: none;
	-webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}

.page_tit li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 4.16vw;
	margin: 0 0.5em;
	padding: 3em 0 1.38vw;
	color: #888888;
	font-size: 1.38vw;
	font-weight: 700;
	line-height: 1;
	background: url("../images/common/page_tit_parts.png") no-repeat center bottom / 100% 100%;
}

.page_tit li:nth-child(1) { color: #86775F;}
.page_tit li:nth-child(2) { color: #C5A05F;}
.page_tit li:nth-child(3) { color: #BFAB82;}


@media screen and (max-width:768px) {
.page_tit {
	margin-bottom: 3.6vw;
}
	
.page_tit h1 {
	top: 82.5vw;
	font-size: 8.5vw;
}

.page_tit .station {
	display: none;
}

.page_tit .catchphrase {
	top: 37.5vw;
	font-size: 3.5vw;
}

.page_tit .catchphrase span {
	font-size: 5vw;
}

.page_tit ul {
	bottom: 5vw;
	left: 5vw;
}

.page_tit li {
	width: 13.5vw;
	margin: 0 0.5em;
	padding: 3em 0 1em;
	font-size: 4vw;
}
}

/* --------------------
.lower
--------------------*/
.lower {
	width: 100%;
	max-width: calc(1040px + 8vw);
	margin: 40px auto 0;
	padding: 0 4vw;
  font-size: 16px;
	font-family: "Inter", sans-serif;
	line-height: 1.8;
}

@media screen and (max-width:768px) {
.lower {
	margin: 3.6vw auto 0;
	font-size: 3.3vw;
}
}

/* --------------------
レイアウト
--------------------*/
.lower section {
	max-width: 100%;
	margin: min(80px, 8vw) auto min(100px, 10vw);
}

.lower .contents {
	margin: 0 auto min(80px, 5.5vw);
}

.lower .inner {
	margin: 0 auto min(40px, 2.7vw);
	padding: 0 min(40px, 2.7vw);
}

.lower .inner_s {
	margin: 0 auto min(40px, 2.7vw);
	padding: 0 min(80px, 5.5vw);
}

.lower .column_1 {
	margin: min(40px, 2.7vw) auto min(80px, 5.5vw);	
}

.lower .column_2,
.lower .column_3,
.lower .column_img {
	display: flex;
	flex-wrap: wrap;
	margin: min(40px, 2.7vw) auto;	
}

.lower .column_3.center,
.lower .column_img.center {
	justify-content: center;
}

/* 2列 */
.lower .column_2 .text {
	flex: 1;
	padding-right: min(50px, 5vw);
}

.lower .column_2 .text .headline_04:first-of-type {
	margin-top: 0;
}

.lower .column_2 .item {
	width: 48%;
}

.lower .column_2.row_r {
	flex-direction: row-reverse;	
}

.lower .column_2.row_r .text {
	padding-right: 0;
	padding-left: min(50px, 5vw);
}

/* 3列 */
.lower .column_3 .text {
	width: calc(100% / 3);
	padding: 0 1%;
}

.lower .column_3 .item {
	width: calc(100% / 3);
	margin-bottom: 60px;
	padding: 0 2%;
}

.lower .column_3 .item img {
	margin-bottom: 0.5em;
}

/* 3列（画像） */
.lower .column_img .item {
	width: 33%;
	margin-bottom: 1em;
}

.lower .column_img::after{
  content:"";
  display: block;
  width: 33%;
}

@media screen and (max-width:768px) {
.lower .contents {
	margin: 0 auto 14vw;
}
	
.lower .inner_s {
	padding: 0;
}

.lower .column_1 .inner {
	padding: 0;	
}

.lower .column_2 .text {
	flex: initial;
	width: 100%;
	padding-right: 0;
	margin-bottom: 5vw;
}

.lower .column_2 .item {
	width: 100%;
	margin-bottom: 1em;
}

.lower .column_2 .img {
	width: 100%;
	text-align: center;
}

.lower .column_2.row_r {
	flex-direction: column-reverse;	
}

.lower .column_2.row_r .text {
	padding-right: 0;
	padding-left: 0;
}

.lower .column_2.row_r .img {
	margin-bottom: 1em;
}

.lower .column_3 .text {
	width: 100%;
}
	
.lower .column_3 .item {
	width: 100%;
	margin-bottom: 14vw;
}
	
.lower .column_3 .item:last-of-type {
	margin-bottom: 0;
}
	
.lower .column_img .item {
	width: 48%;
	margin-bottom: 1em;
}

.lower .column_img::after{
  content:none;
}

}

/* --------------------
背景
--------------------*/
.lower [class^="bg_"] {
	margin: 2em 0;
	padding: min(32px, 2.2vw)  min(80px, 5.5vw);
}

/* 薄い黄色 */
.lower .bg_01 {
	background: #ffffeb;
}

/* 水色 */
.lower .bg_02 {
	background: #e3ebf6;
}

/* ベージュ */
.lower .bg_03 {
	background: #f6f5f2;
}

/* 白 */
.lower .bg_04 {
	background: #fff;
}

.lower .bg_pic {
	padding: 60px;
	background: url("../images/common/bg_01.png") no-repeat left bottom / 100% auto, #F5F5F5;
	border: 1px solid #9C7200;
}

@media screen and (max-width:768px) {
.lower [class^="bg_"] {
	padding: 3vw;
}	
}

/* --------------------
ボーダー
--------------------*/
/* 青 */
.lower .bdr_01 { border: 1px solid #2c76d2;}
/* 緑 */
.lower .bdr_02 { border: 1px solid #8fc143;}
/* 茶 */
.lower .bdr_03 { border: 1px solid #9C7200;}
/* 赤 */
.lower .bdr_04 { border: 1px solid #e60012;}


/* --------------------
見出し
--------------------*/
/* .headline_01（30px） */
.lower .headline_01 {
	margin: 0 0 1.5em;
	color: #fff;
	font-size: 30px;
	font-weight: 500;
	font-family: "Shippori Mincho", serif;
	text-align: center;
	line-height: 2.5;
}

.lower .headline_01 .bg {
	display: inline-block;
	padding: 0 1em;
	background: #2583d6;
}

/* .headline_02（28px、一文字目丸マーク） */
.lower .headline_02 {
	position: relative;
	margin: 0 0 1em;
	padding: 0.5em;
	font-size: 28px;
	font-weight: 500;
	font-family: "Shippori Mincho", serif;
	line-height: 1.4;
}

.lower .headline_02::first-letter {
	color: #2c76d2;
	font-size: 35px;
}

.lower .headline_02::before {
	content: "";
	position: absolute;
	left: 8px;
	top: 16px;
	z-index: -1;
	width: 48px;
	height: 48px;
	background: #CDDDF1;
	border-radius: 50%;
}

/* .headline_03（24px, 下線） */
.lower .headline_03 {
	margin: 0 0 1em;
	padding: 0.5em 0 0.2em;
	color: #333333;
	font-size: 24px;
	font-weight: 500;
	border-bottom: 1px solid #888822;
}

/* .headline_04（20px,水色背景） */
.lower .headline_04 {
	margin: 0.5em 0;
	padding: 0.2em 0.5em;
	color: #fff;
	font-size: 20px;
	font-weight: 500;
	background: #90b3e0;
}

/* .headline_05（30px, 上下線） */
.lower .headline_05 {
	margin: 0 0 1.5em;
	padding: 0.5em 0;
	color: #333333;
	font-size: 30px;
	font-weight: 500;
	font-family: "Shippori Mincho", serif;
	text-align: center;
	line-height: 1.6;
	background: #ffffeb;
	border-top: 1px solid #888822;
	border-bottom: 1px solid #888822;
}

.lower .headline_05.feature {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: left;
	line-height: 1.2;
}

.lower .headline_05.feature .number {
	display: inline-block;
	font-size: 18px;
	padding: 0.3em 0.5em;
	line-height: 1;
}

.lower .headline_05.feature .number span {
	display: block;
	color: #888822;
	font-size: 35px;
}

.lower .headline_05.feature .title {
	display: inline-block;
	font-size: 30px;
}

/* .headline_06（20px） */
.lower .headline_06 {
	margin: 0.5em 0;
	color: #333333;
	font-size: 20px;
	font-weight: 500;
}

/* .headline_07（28px） */
.lower .headline_07 {
	margin: 0.5em 0;
	color: #333333;
	font-size: 28px;
	font-weight: 500;
}

/* .headline_faq */
.lower .headline_faq {
	margin: 5em 0 1.5em;
	padding: 0.5em;
	color: #333333;
	font-weight: 500;
	font-family: "Shippori Mincho", serif;
	text-align: center;
}

.lower .headline_faq .sub_tit {
	position: relative;
	display: inline-block;
	margin-bottom: 0.5em;
	font-size: 35px;
}

.lower .headline_faq .sub_tit::before {
	content: "";
	position: absolute;
	left: -3em;
	top: -1em;
	width: 139px;
	height: 139px;
	background: rgba(0,91,172,0.27);
}

.lower .headline_faq .sub_tit::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2.8em;
	width: 66px;
	height: 66px;
	background: rgba(0,91,172,0.27);
}

.lower .headline_faq .title {
	display: block;
	margin-bottom: 0.5em;
	font-size: 45px;
}

.lower .headline_faq .q {
	color: #2c69da;
}

.lower .headline_faq .a {
	color: #33d119;
}

/* .headline_flow */
.lower .headline_flow {
	margin: 0 0 1em;
	padding: 0.5em 0.8em;
	color: #fff;
	font-size: 28px;
	font-weight: 500;
	background: #90b3e0;
}



@media screen and (max-width:768px) {
.lower .headline_01 {
	font-size: 5.8vw;
	line-height: 1.4;
}
	
.lower .headline_01 .bg {
	display: block;
	padding: 0.3em 1em;
}
		
.lower .headline_02 {
	font-size: 5.1vw;
}
	
.lower .headline_02::before {
	left: 1.3vw;
	top: 2.6vw;
	width: 8.8vw;
	height: 8.8vw;
}

.lower .headline_02::first-letter {
	font-size: 6.4vw;
}

.lower .headline_03 {
	font-size: 3.8vw;
}
	
.lower .headline_04 {
	font-size: 3.6vw;
}
	
.lower .headline_05 {
	font-size: 5.4vw;
}
	
.lower .headline_05.feature .number {
	font-size: 4vw;
}

.lower .headline_05.feature .number span {
	display: block;
	font-size: 7.7vw;
}

.lower .headline_05.feature .title {
	font-size: 5.4vw;
}
	
.lower .headline_06 {
	font-size: 4.5vw;
}
	
.lower .headline_07 {
	font-size: 4.4vw;
}
	
/* .headline_faq */
.lower .headline_faq .sub_tit {
	font-size: 5vw;
}

.lower .headline_faq .sub_tit::before {
	content: "";
	position: absolute;
	left: -3em;
	top: -1em;
	width: 20.4vw;
	height: 20.4vw;
	background: rgba(0,91,172,0.27);
}

.lower .headline_faq .sub_tit::after {
	left: 0;
	bottom: -2.8em;
	width: 9.6vw;
	height: 9.6vw;
}

.lower .headline_faq .title {
	font-size: 6.5vw;
}
	
/* .headline_flow */
.lower .headline_flow {
	font-size: 4.1vw;
}

}

/* --------------------
ボタン
--------------------*/
/* .btn_bk */
.lower .btn_bk {
	display: inline-block;
	margin: 0.5em;
	padding: 0.5em 1em;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	background: #333333;
	border: 1px solid #333333;
	border-radius: 3em;
}

.lower .btn_bk:hover {
	color: #333333;
	background: #fff;	
}

@media screen and (max-width:768px) {
.lower .btn_bk {
	font-size: 4vw;
}
}

/* --------------------
リスト
--------------------*/
/* .list_disc */
.list_disc {
	margin: 0;
	padding: 0;
	list-style: none;
}

.list_disc li {
	margin-left: 1em;
	text-indent: -1em;
}

.list_disc li::before{
	content: "・";
	color: #EDA380;
}

/* .list_disc_b */
.list_disc_b {
	margin: 1em 0 0 0;
	padding: 0;
	list-style: none;
}

.list_disc_b li {
	margin-left: 1em;
	text-indent: -1em;
}

.list_disc_b li::before{
	content: "・";
}

/* .list_check */
.list_check,
.list_check_02 {
	margin: 0;
	padding: 0;
	list-style: none;
}

.list_check li {
	padding-left: 2em;
	background: url("../images/common/icon_check.png") no-repeat left top 0.3em / 1em auto;
}

.list_check_02 li {
	padding-left: 2em;
	background: url("../images/common/icon_check_02.png") no-repeat left top 0.3em / 1em auto;
}

/* .list_note */
.list_note {
	list-style: none;
}

.list_note li::before {
	content: "※";
	margin-left: -1em;
	
}

/* .marker_01 */
.marker_01 li::marker {
	color: #EDA380;
}

/* --------------------
表組み
--------------------*/
/* .table_01 */
.table_01 {
	width: 100%;
	margin: 0.5em auto;
	color: #333;
	border-collapse:  collapse;
}

.table_01 th, 
.table_01 td {
	padding: 1em 0.5em;
	border: 1px solid #e3e1dd;
	background: #fff;
}

.table_01 th {
	font-weight: 500;
}

.table_01 thead th {
	background: #b1ccee;
}

.table_01 tbody th {
	background: #f6f5f2;
	text-align: left;
}

.table_01 td {
	font-weight: 400;
	vertical-align: top;
}

/* .table_02 */
.table_02 {
	width: 100%;
	margin: 1em auto;
	border-collapse:  collapse;
}

.table_02 th, 
.table_02 td {
	padding: 0.5em 1em;
	border-bottom: 1px solid #333333;
}

.table_02 th {
	font-weight: 500;
	text-align:justify;
	text-align-last:justify;
	white-space: nowrap;
}

/* .table_03 */
.table_03 {
	width: 100%;
	margin: 1em auto;
	border-collapse:  collapse;
}

.table_03 th, 
.table_03 td {
	padding: 1em;
	border: 5px solid #fff;
}

.table_03 th {
	font-weight: 500;
	text-align: center;
	background: #e5eaf1;
}

.table_03 td {
	background: #fbf5df;
}

/* .table_04 */
.table_04 {
	width: 100%;
	border-collapse:  collapse;
}

.table_04 th, 
.table_04 td {
	padding: 0.5em 1em;
	background: #fff;
	border: 1px solid #bbc3cd;
}

.table_04 th {
	font-weight: 500;
	text-align:justify;
	text-align-last:justify;
	white-space: nowrap;
}


/* .table_price_01（料金表） */
.table_price_01 {
	width: 100%;
	margin: 1em auto;
	border-collapse:  collapse;
}

.table_price_01 caption {
	padding: 0.2em 1em;
	font-size: 20px;
	text-align: left;
	background: #b1ccee;
}

.table_price_01 th, 
.table_price_01 td {
	padding: 1em;
	font-size: 20px;
	background: #fff;
	border: 1px solid #e3e1dd;
}

.table_price_01 th {
	padding-left: 1.5em;
	font-weight: 500;
	text-align: left;
	background: #f6f5f2;
}

.table_price_01 td.price {
	padding-right: 1.5em;
	text-align: right;
	white-space: nowrap;
}

/* .timetable_01（診療時間） */
.timetable_01 {
	width: 100%;
	margin: 1em auto;
	border-collapse:  collapse;
}

.timetable_01 th, 
.timetable_01 td {
	padding: 1em;
	text-align: center;
	border: 5px solid #fff;
}

.timetable_01 th {
	font-weight: 500;
	background: #e5eaf1;
}

.timetable_01 td {
	background: #fbf5df;
}

@media screen and (max-width:768px) {
/* 縦積み */
.sp_table th, 
.sp_table td {
	display: block;
	width: 100%;
	max-width: 100%;
}	
	
/* スマホのみ横スクロール */
.sp_table_scroll {
	overflow-x: scroll;
}

.sp_table_scroll table {
	width: 900px;
}

.table_price_01 {
	width: 100%;
}
	
.table_price_01 caption {
	font-size: 4vw;
}	

.table_price_01 th, 
.table_price_01 td {
	padding: 0.5em !important;
	font-size: 4vw;
}

.table_price_01 th {
	padding-left: 0.5em !important;
	background: #f0f0f0;
}
	
.timetable_01 th, 
.timetable_01 td {
	padding: 0.25em;
	text-align: center;
	border: 3px solid #fff;
}

}

/* --------------------
パンくずリスト
--------------------*/
.breadcrumbs {
	width: 100%;
	max-width: calc(1040px + 8vw);
	margin: 0 auto;
	padding: 0 4vw;
	color: #1b68c8;
	font-size: 14px;
	font-family: "Inter", sans-serif;
	line-height: 1.2;
}

.breadcrumbs a {
	color: #818181;
	text-decoration: none;
}

@media screen and (max-width:768px) {
.breadcrumbs {
	font-size: 2.7vw;
}
}

/* --------------------
目次
--------------------*/
.lower .index-box {
	width: 100%;
	max-width: 880px;
	display: flex;
	flex-wrap: wrap;
	background: #e5eaf1;
	padding: min(6vw, 54px) 0;
	margin: 0 auto min(10vw, 68px);
}
.lower .index-box .content_L {
	flex-basis: 35%;
}
.lower .index-box .content_R {
	flex: 1;
	padding: 0 min(10vw, 110px);
}
.lower .index-box .content_R .index-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.lower .index-box .content_R .index-list ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.lower .index-box .content_R .index-list li {
	position: relative;
	padding: 0.3em 0 0.3em 2em;
}
.lower .index-box .content_R .index-list li::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0.6em;
	width:0;
	height:0;
	border-style:solid;
	border-width: 8px 0 8px 13.9px;
	border-color: transparent transparent transparent #FFFFFF;
}
.lower .index-box .content_R .index-list a {
	text-decoration: none;
}
.lower .index-box .ttl-head {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border-right: 1px solid #2c76d2;
}
.lower .index-box .ttl-head .en {
	font-size: min(4vw, 18px);
	letter-spacing: 0;
	color: #2c76d2;
}
.lower .index-box .ttl-head .ja {
	font-size: min(4vw, 18px);
	letter-spacing: 0.08em;
}

@media screen and (max-width:768px) {
.lower .index-box .content_L {
	flex-basis: 100%;
}
	
.lower .index-box .ttl-head {
	border-right: none;
}

}

/* --------------------
導入文
--------------------*/
.lower .intro_txt {
	margin: 1em 0;
	color: #333;
	font-size: 28px;
	font-family: "Shippori Mincho", serif;
  font-weight: 500;
	text-align: center;
}

.lower .intro_txt .em {
	font-size: 34px;	
}

@media screen and (max-width:768px) {
.lower .intro_txt {
	font-size: 4vw;
}

.lower .intro_txt .em {
	font-size: 5vw;	
}

}

/* --------------------
強調文
--------------------*/
.lower .em_txt {
	margin: 0 0 0.5em 0;
	font-size: 28px;
	font-weight: 500;
	text-align: center;
}

@media screen and (max-width:768px) {
.lower .em_txt {
	font-size: 4vw;	
}
}


/* --------------------
ビフォーアフター
--------------------*/
.lower .before_after {
	padding: 40px 60px;
	background: #fff;
	box-shadow: 0px 0px 20px 6px rgba(0, 0, 0, 0.14);
}
.lower .before_after .column_2 {
	justify-content: space-between;	
	background: url("../images/common/arrow_01.png") no-repeat center center / 4vw auto;
}

.lower .before_after .headline_ba {
	margin: 0;
	padding-bottom: 0.2em;
}


.lower .before_after .item {
	 width: calc(50% - 4vw);
}

@media screen and (max-width:768px) {
.lower .before_after {
	padding: 5vw;
}
.lower .before_after .headline_ba img {
	height: 7.5vw;
}
}

/* --------------------
Q＆A
--------------------*/
#faq .accordion {
	width: 100%;
	margin-bottom: 30px;
}

#faq .accordion .toggle {
	display: none;
}

#faq .accordion .label {
	position: relative;
	padding: 10px 40px 10px 50px;
	display: block;
	color: #2c3397;
	font-size: 20px;
	font-weight: 700;
	cursor: pointer;
	background: #f4f3f9;
}

#faq .accordion .label.area span {
	display: inline-block;
}

#faq .accordion .label::after {
	content: "Q";
	position: absolute;
	left: 10px;
	top: 6px;
	display: block;
	font-size: 25px;
	font-weight: 700;
	padding-right: 7px;
	border-right: 1px solid #2c3397;
}

#faq .accordion .label::before{
	content:"";
	width: 6px;
	height: 6px;
	border-top: 2px solid #2c3397;
	border-right: 2px solid #2c3397;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;
	transform: rotate(135deg);
}

#faq .accordion .label,
#faq .accordion .content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}

#faq .accordion .content {
	position: relative;
	height: 0;
	padding: 0 20px 0 50px;
	overflow: hidden;
	background: #fff;
}

#faq .accordion .content::before {
	content: "A";
	position: absolute;
	left: 10px;
	top: 20px;
	font-size: 25px;
	font-weight: 700;
}

#faq .accordion .content.area {
	padding: 0;
}

#faq .accordion .toggle:checked + .label + .content {
	height: auto;
	padding: 10px 20px 10px 50px;
	transition: all .5s;
}

#faq .accordion .toggle:checked + .label + .content.area {
	height: auto;
	padding: 0;
	transition: all .5s;
}

#faq .accordion .toggle:checked + .label::before {
	transform: rotate(-45deg) !important;
}

@media screen and (max-width:768px) {
#faq .accordion {
	margin-bottom: 5vw;
}

#faq .accordion .label {
	font-size: 3.6vw;
}

#faq .accordion .label::after {
	top: 0.3em;
	left: 0.8em;
	font-size: 5vw;
}

#faq .accordion .content::before {
	top: 0.3em;
	left: 0.8em;
	font-size: 5vw;
	padding-right: 0.3em;
}
	
}

/* --------------------
診察の流れ
--------------------*/
.lower .flow .column_2 {
	flex-direction: row-reverse;
}

.lower .flow .column_2 .img {
	width: 38%;
}

.lower .flow .column_2 .img img {
	border: 5px solid #e5eaf1;
	box-shadow: 8px 8px 7px 0px rgba(0, 0, 0, 0.14);
}

.lower .flow .column_2 .text {
	padding: 0 0 0 40px;
}

.lower .flow .column_2 {
	padding-bottom: 140px;
	background: url("../images/common/arrow_02.png") no-repeat center bottom 40px / auto 60px;
}

.lower .flow .column_2.flow_last,
.lower .flow .column_2:last-child {
	padding-bottom: 0;
	background: none;
}

@media screen and (max-width:768px) {
.lower .flow .column_2 {
	padding-bottom: 26vw;
	background: url("../images/common/arrow_02.png") no-repeat center bottom 8vw / auto 10vw;
}
	
.lower .flow .column_2 .img {
	width: 100%;
}

.lower .flow .column_2 .text {
	padding: 0;
}

}

/* --------------------
入れ歯の種類
--------------------*/
.lower .type_box {
	padding: 50px 30px 20px;
}

.lower .type_box .item {
	width: auto;
	flex: 1;
	padding-right: 50px;
}

.lower .type_box .img {
	width: 36%;
}

.lower .type_box .headline {
	margin: 1em 0;
	font-size: 24px;
	font-weight: 500;
	text-align: center;
}

@media screen and (max-width:768px) {
.lower .type_box {
	padding: 3vw;
}

.lower .type_box .column_2 {
	flex-direction: column-reverse;
}

.lower .type_box .item {
	width: 100%;
	flex: none;
	padding-right: 0;
}

.lower .type_box .img {
	width: 100%;
	margin-bottom: 4vw;
}

.lower .type_box .img img {
	width: 60%;
	margin: auto;
}

.lower .type_box .headline {
	margin: 0 0 1em 0;
	font-size: 4vw;
}
	
}

/* --------------------
メリット
--------------------*/
.lower .merit,
.lower .demerit {
	margin: 1em 0;
	background: #f6f5f2;
}

.lower .merit .headline,
.lower .demerit .headline {
	padding: 0.5em;
	color: #44372b;
	font-size: 20px;
	font-weight: 500;
	text-align: center;
}

.lower .merit .headline {
	background: #f6d691;
}

.lower .demerit .headline {
	color: #44372b;
	background: #b1ccee;
}

.lower .merit .inbox,
.lower .demerit .inbox {
	padding: 30px;
}

@media screen and (max-width:768px) {
.lower .merit .headline,
.lower .demerit .headline {
	font-size: 4vw;
}

.lower .merit .inbox,
.lower .demerit .inbox {
	padding: 4.5vw;
}
}


/* --------------------
電話番号
--------------------*/
.lower .tel {
	margin: 0.5em 0;
	padding-left: 1.2em;
	font-size: 40px;
	font-weight: 700;
	background: url("../images/common/icon_tel.svg") no-repeat left center / 1em auto;
}

.lower .tel a {
	text-decoration: none;
}

@media screen and (max-width:768px) {
.lower .tel {
	font-size: 8vw;
}
}
