@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

html { 
	font-size: 62.5%;
}

body {
	inline-size: 100%;
	-webkit-text-size-adjust: 100%;
	margin: 0;
	color: #000000;
	font-size: min(18px, 0.9375vw);
	font-optical-sizing: auto;
	font-family: "Noto Sans JP", sans-serif;
	font-style: normal;
	font-weight: 500;
	line-height: 1.5;
	background: #fff;
}

a {	transition: all 0.5s;}

a:hover {	color: #EDA380;}

img {
  display: inline-block;
  max-width: 100%;
  vertical-align: top;
}

h1, h2, h3, h4 {
    text-wrap: auto;
}

address { font-style: normal;}

figure {margin: 0;}

* {box-sizing: border-box;}

.pc { display: block !important;}
.sp { display: none !important;}
.sp_menu { display: none !important }

.dsp_li { display: inline-block !important;}

@media screen and (max-width:768px) {
.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.5vw; }
div, p, dd, dl, dt, th, td, span, li { box-sizing: border-box; }
}


/* --------------------
レイアウト
--------------------*/
.inner {
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
}

/* --------------------
文字色
--------------------*/
.fc_01 { color: #FEBE78 !important;}
.fc_02 { color: #EDA380 !important;}

/* --------------------
文字サイズ
--------------------*/
.fs_28 { font-size: 28px !important;}

.fs85 { font-size: 85% !important;}

@media screen and (max-width:768px) {
.fs_28 { font-size: 4.7vw !important;}
}

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

.w_fc {width: fit-content !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;}
}

/* --------------------
余白
--------------------*/
.m_0 {margin: 0 !important;}
.mt_1 {margin-top: 1em !important;}
.mb_1 {margin-bottom: 1em !important;}
.m_auto {margin: auto !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 3em 1em 2em;
	color: #393939;
	font-size: min(24px, 1.25vw);
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	background: url("../images/common/arrow_01.png") no-repeat right 1em center / 1.2em 1.2em, #FEBE78;
	border: 2px solid #FEBE78;
	border-radius: min(40px, 2.083vw);
}

.btn_01:hover {
	background: url("../images/common/arrow_01.png") no-repeat right 1em center / 1.2em 1.2em, #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:768px) {
.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: min(18px, 0.9375vw);
	border: 1px solid #EDA380;
	border-radius: min(30px, 1.5625vw);
}

.timetable th,
.timetable td {
	padding: 1em;
}

.timetable thead th {
	color: #fff;
	font-weight: 500;
	text-align: center;
	background: #EDA380;
}

.timetable thead th:first-child {
	border-top-left-radius: min(30px, 1.5625vw);
}

.timetable thead th:last-child {
	border-top-right-radius: min(30px, 1.5625vw);
}

.timetable tbody th {
	background: #fff;
}

.timetable tbody td {
	text-align: center;
	background: #fff;
}

.timetable tbody th:first-of-type {
	border-bottom-left-radius: min(30px, 1.5625vw);
}

.timetable tbody td:last-of-type {
	border-bottom-right-radius: min(30px, 1.5625vw);
}

@media screen and (max-width:768px) {
.timetable {
	font-size: 2.8vw;
	border: 1px solid #EDA380;
	border-radius: min(30px, 1.5625vw);
}
}

/* --------------------
グーグルマップ
--------------------*/
.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%;
}


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

header

----------------------------------------*/
header {
	background: url("../images/common/header_bg.png") no-repeat left top / cover;
}

header .inner {
	position: relative;
	margin: 0 auto;
	padding: min(80px, 4.16vw) min(20px, 1.0416vw) min(40px, 2.083vw);
	max-width: 1920px;
}

header .site_title {
	margin: 0 0 min(80px, 4.16vw) 0;
	font-size: min(50px, 2.6vw);
	font-weight: 700;
	text-align: center;
}

header .site_title a {
	color: #000;
	text-decoration: none;
}

header .contact {
	position: absolute;
	top: min(30px, 1.5625vw);
	right: min(20px, 1.0416vw);
	display: flex;
}

header .contact .tel {
	padding: 0 min(100px, 5.2vw) 0 min(70px, 3.64583vw);
	font-size: min(16px, 0.83vw);
	background: url("../images/common/header_icon_tel.png") no-repeat left top / min(55px, 2.864583vw) min(54px, 2.8125vw);
}

header .contact .tel .number {
	color: #000;
	font-size: min(36px, 1.875vw);
	text-decoration: none;
}

header .contact .tel .note {
	font-size: min(14px, 0.72916vw);
}

header .web {
	width: min(150px, 7.8125vw);
	height: min(144px, 7.5vw);
	background: url("../images/common/header_web_bg.png") no-repeat left top / 100% 100%;
}

header .web a {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 100%;
	color: #fff;
	font-size: min(20px, 1.0416vw);
	text-decoration: none;
}

header .web a span {
	display: inline-block;
}

header .web a span:nth-child(1) {
	padding: 1.8em 0.8em 0;
	background: url("../images/common/header_web_01.png") no-repeat center top / min(26px, 1.35416vw) min(34px, 1.77vw), url("../images/common/header_web_02.png") no-repeat left bottom 0.5em / min(10px, 0.52vw) min(12px, 0.625vw);
}

header .web a span:nth-child(2) {
	padding: 0 0 1em 0;
	background: url("../images/common/header_web_03.png") no-repeat center bottom / min(16px, 0.83vw) min(16px, 0.83vw);
}

header nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	margin: 0 auto;
	padding: 0;
}

header nav li a {
	display: block;
	padding: 0 1.5em 0;
	color: #4D4D4D;
	font-size: min(20px, 1.0416vw);
	text-align: center;
	text-decoration: none;
	line-height: 2;
}

header nav li a:hover {
	color: #EDA380;
}

/* トップページのみ */
.home header nav li:nth-child(1) a { padding-top: 2.4em; }
.home header nav li:nth-child(2) a { padding-top: 1.6em; }
.home header nav li:nth-child(3) a { padding-top: 0.8em; }
.home header nav li:nth-child(4) a { padding-top: 0em; }
.home header nav li:nth-child(5) a { padding-top: 0em; }
.home header nav li:nth-child(6) a { padding-top: 0.8em; }
.home header nav li:nth-child(7) a { padding-top: 1.6em; }
.home header nav li:nth-child(8) a { padding-top: 2.4em; }

header nav li a span {
	display: block;
	color: #EDA380;
	font-size: min(14px, 0.729vw);
}

@media screen and (max-width:1350px) {
header nav li a {
	font-size: 1.481vw;
}
	
header nav li a span {
	font-size: 1.037vw;
}

}

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

header .contact {
	display: none;
}	
	
.sp_menu {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 1vw;
  right: 1vw;
  z-index: 1000;
  width: 10vw;
  height: 10vw;
	padding: 2vw;
  text-align: center;
  cursor: pointer;
  background: #EDA380;
	border-radius: 50%;
}

.sp_menu span {
  display: block;
  width: 8vw;
  height: 1vw;
  background: #fff;
	border-radius: 1vw;
}

header nav {
  z-index: 99999;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: none;
  overflow: scroll;
  padding: 0;
	background: #EDA380;
  box-sizing: border-box;
}
	
header nav ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0;
	padding: 10vw 0;
	list-style: none;
	background: #EDA380;
}

header nav li {
	width: 100%;
	margin: 0;
	padding: 0;
}

header nav li a {
	padding: 0;
	font-size: 4.5vw;
	text-decoration: none;
	border-radius: 1em;
}
	
header nav li:nth-child(1) a { padding: 0.5em; }
header nav li:nth-child(2) a { padding: 0.5em; }
header nav li:nth-child(3) a { padding: 0.51em; }
header nav li:nth-child(4) a { padding: 0.5em; }
header nav li:nth-child(5) a { padding: 0.5em; }
header nav li:nth-child(6) a { padding: 0.5em; }
header nav li:nth-child(7) a { padding: 0.5em; }
header nav li:nth-child(8) a { padding: 0.5em; }
	
.home header nav li:nth-child(1) a { padding-top: 0.5em; }
.home header nav li:nth-child(2) a { padding-top: 0.5em; }
.home header nav li:nth-child(3) a { padding-top: 0.5em; }
.home header nav li:nth-child(4) a { padding-top: 0.5em; }
.home header nav li:nth-child(5) a { padding-top: 0.5em; }
.home header nav li:nth-child(6) a { padding-top: 0.5em; }
.home header nav li:nth-child(7) a { padding-top: 0.5em; }
.home header nav li:nth-child(8) a { padding-top: 0.5em; }

header nav li a span {
	display: none;
}

header nav .sp {
  display: block !important;
}

header nav .closebtn {
  display: block;
  position: fixed;
  top: 1vw;
  right: 1vw;
  z-index: 1000;
  width: 10vw;
  height: 10vw;
	margin: 0;
	padding: 2vw;
  text-align: center;
  cursor: pointer;
  background: #fff;
	border-radius: 50%;
}

header nav .closebtn span {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
  display: block;
  width: 8vw;
  height: 1vw;
  background: #EDA380;
	border-radius: 1vw;
}

header nav .closebtn span:first-child {
	transform:rotate(30deg); 
}

header nav .closebtn span:last-child {
	transform:rotate(-30deg); 
}
	
header nav .contact {
	position: static;
	display: flex;
	justify-content: space-between;
	padding: 1em;
	background: #fff;
}
	
header .contact .tel {
	padding: 0 0 0 7vw;
	font-size: 3vw;
	line-height: 1.4;
	background: url("../images/common/header_icon_tel.png") no-repeat left top / 6vw auto;
}
	
header nav .contact .tel .number {
	font-size: 6vw;
}

header nav .contact .tel .note {
	font-size: 3vw;
}

header nav .web {
	width: 19vw;
	height: 18.32vw;
	background: url("../images/common/header_web_bg.png") no-repeat left top / 100% 100%;
}

header nav .web a {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 100%;
	color: #fff;
	font-size: 3vw;
	text-decoration: none;
}

header nav .web a span {
	display: inline-block;
}

header nav .web a span:nth-child(1) {
	padding: 1em 0.8em 0;
	background: url("../images/common/header_web_01.png") no-repeat center top / auto 1em, url("../images/common/header_web_02.png") no-repeat left bottom 0.5em / auto 0.5em;
}

header nav .web a span:nth-child(2) {
	padding: 0 0 1em 0;
	background: url("../images/common/header_web_03.png") no-repeat center bottom / auto 0.8em;
}
	
}


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

footer

----------------------------------------*/
footer {
	max-width: 1920px;
	margin: 0 auto;
	background: url("../images/common/footer_bg.png") no-repeat left top / cover;
}

footer .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: min(100px, 5.2vw) 0;
}

footer .information {
	width: 48%;
	max-width: 770px;
	padding: 0 min(100px, 5.2vw);
}

footer .information .name {
	margin: 0 0.5em 1em;
	padding: 0.5em 1em;
	font-size: min(45px, 2.34375vw);
	font-weight: 700;
	text-align: center;
	background: #fff;
}

footer .information .btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

footer .information .btn a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 48%;
	margin-bottom: 1em;
	padding: 1em 0.5em;
	font-size: min(20px, 1.0416vw);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	background: #F7B377;
	border: 2px solid #F7B377;
}

footer .information .btn a:hover {
	background: #fff;
}

footer .information .timetable {
	width: 100%;
	border-spacing: 0;
	font-size: min(16px, 0.83vw);
	border: 1px solid #555555;
	border-radius: min(10px, 0.52vw);
}

footer .information .timetable th,
footer .information .timetable td {
	padding: 0.5em 1em;
}

footer .information .timetable thead th {
	color: #fff;
	font-weight: 500;
	text-align: center;
	background: #555555;
}

footer .information .timetable thead th:first-child {
	border-top-left-radius: min(10px, 0.52vw);
}

footer .information .timetable thead th:last-child {
	border-top-right-radius: min(10px, 0.52vw);
}

footer .information .timetable tbody th {
	background: #fff;
}

footer .information .timetable tbody td {
	text-align: center;
	background: #fff;
}

footer .information .timetable tbody th:first-of-type {
	border-bottom-left-radius: min(10px, 0.52vw);
}

footer .information .timetable tbody td:last-of-type {
	border-bottom-right-radius: min(10px, 0.52vw);
}

footer .information dl {
	display: flex;
	flex-wrap: wrap;
	margin: 2em;
	font-size: min(16px, 0.83vw);
}

footer .information dt {
	margin-bottom: 1em;
	width: 8em;
}

footer .information dd {
	margin: 0 0 1em 0;
	width: calc(100% - 8em);
}

footer .information dd a {
	color: #000;
	text-decoration: none;
}

footer .menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	width: 48%;
	max-width: 770px;
	padding: 0 min(100px, 5.2vw);
}

footer .menu ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

footer .menu li {
	margin-bottom: 1em;
}

footer .menu a {
	font-size: min(16px, 0.83vw);
	text-decoration: none;
}

footer .menu a:hover {
	color: #EDA380;
}

footer small {
	display: block;
	padding: min(25px, 1.3vw);
	color: #3C3C3C;
	font-size: min(14px, 0.729vw);
	text-align: center;
	background: #F7B377;
}

@media screen and (max-width:768px) {
footer .information {
	width: 100%;
	max-width: 100%;
	padding: 5vw 5vw 0;
}

footer .information .name {
	font-size: 0 5vw;
}

footer .information .btn a {
	font-size: 4vw;
}

footer .information .timetable {
	font-size: 2.5vw;
}

footer .information dl {
	font-size: 3vw;
}

footer .information dt {
	width: 6em;
}

footer .information dd {
	width: calc(100% - 6em);
}

footer .menu {
	justify-content: space-between;
	width: 100%;
	max-width: 100%;
	padding: 0 5vw;
}

footer .menu ul {
	width: 48%;
}

footer .menu li {
	margin-bottom: 1em;
}

footer .menu a {
	font-size: 3vw;
	text-decoration: none;
}

footer small {
	padding: 2vw 2vw 18vw;
	font-size: 3vw;
}

}

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

#fixed

----------------------------------------*/
#fixed {
	display: none;
}

@media screen and (max-width:768px) {
#fixed {
	display: flex;
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 999;
	width: 100%;
	background: #EDA380;
	border-top: 1px solid #fff;
}
	
#fixed a {
	display: block;
	width: 100%;
	padding: 1em 0.3em;
  font-size: 4vw;
	color: #fff;
	text-decoration: none;
	text-align: center;
}
	
#fixed .web {
	border: 1px solid #fff;
}
	
#fixed .tel {
	border: 1px solid #fff;
}
	
#fixed .web span {
	padding: 0 0 0 1.5em;
	background: url("../images/common/header_web_01.png") no-repeat left center / auto 100%;
}
	
#fixed .tel span {
	padding: 0 0 0 2em;
	background: url("../images/common/fixed_icon_tel.png") no-repeat left center / auto 100%;
}

}

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

main

----------------------------------------*/
main {
	display: block;
}

main .inner {
	max-width: 1920px;
	margin: 0 auto;
}

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

#top（トップページ）

--------------------*/
#top {
	position: relative;
	z-index: 1;
	margin-top: -34px;
}

@media screen and (max-width:1920px) {
#top {
	margin-top: -1.77vw;
}
}

/* --------------------
見出し
--------------------*/
/* headline_01 */
#top .headline_01 {
	margin-bottom: 1.5em;
	padding-top: 1px;
	font-size: min(45px, 2.34375vw);
	text-align: center;
	line-height: 1.5;
}

/* headline_02 */
#top .headline_02 {
	margin: 0.5em 0 1em;
	padding-top: 1px;
	color: #FEBE78;
	font-size: min(45px, 2.34375vw);
	line-height: 1.5;
	border-bottom: 3px solid #FEBE78;
}

/* headline_03 */
#top .headline_03 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 1em;
	padding: 0 0.5em 0.5em;
	font-size: min(45px, 2.34375vw);
	line-height: 1.5;
	border-bottom: 1px solid #000;
}

#top .headline_03 a {
	padding: 0.5em 3em 0.5em 2em;
}

@media screen and (max-width:768px) {
#top .headline_01 {
	
	font-size: 5vw;
}

#top .headline_02 {
	font-size: 5vw;
}

#top .headline_03 {
	font-size: 5vw;
}

}



/* --------------------
#sec_mv
--------------------*/
#top #sec_mv {
	position: relative;
	max-width: 1920px;
	margin: auto;
	padding: 0 0 min(200px, 10.4166vw) 0;
	background: url("../images/top/mv_bg.png") no-repeat left bottom / 100% auto;
}

#top #sec_mv .bg img {
	width: 100%;
}

#top #sec_mv .img {
	position: absolute;
	left: 0;
	bottom: min(50px, 2.6vw);
}

#top #sec_mv .text {
	position: absolute;
	right: 0;
	bottom: min(50px, 2.6vw);
}

#top #sec_mv .pic_01 {
	position: absolute;
	left: min(126px, 6.5625vw);
	bottom: min(90px, 4.6875vw);
	width: min(1020px, 53.125vw);
}

#top #sec_mv .pic_02 {
	position: absolute;
	right: min(126px, 6.5625vw);
	bottom: min(90px, 4.6875vw);
	width: min(600px, 31.25vw);
}

@media screen and (max-width:768px) {
#top #sec_mv {
	padding-bottom: 80vw;
	background: url("../images/top/mv_bg.png") no-repeat left bottom / auto 90%;
}
	
#top #sec_mv .pic_01 {
	left: 0;
	right: 0;
	bottom: 18vw;
	width: 80vw;
	margin: auto;
}

#top #sec_mv .pic_02 {
	left: 0;
	right: 0;
	bottom: 42vw;
	width: 50vw;
	margin: auto;
}

}

/* --------------------
#sec_bookslist
--------------------*/
#top #sec_bookslist {
	position: relative;
	z-index: 1;
	max-width: 1920px;
	margin: min(-50px, -2.6vw) auto min(50px, 2.6vw);
}

#top #sec_bookslist ul {
	max-width: 1688px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

#top #sec_bookslist li {
	width: 25%;
	padding: 0 min(30px, 1.5625vw) min(25px, 1.3vw);
}

#top #sec_bookslist li a {
	display: block;
	text-decoration: none;
}

#top #sec_bookslist li a:hover {
	color: #EDA380;
	opacity: 0.7;
}

#top #sec_bookslist li .thumbnail {
	margin-bottom: 1em;
	text-align: center;
}

.book_list li .thumbnail img {
	width: 100%;
	height: auto;
	margin-bottom: 0.5em;
}

#top #sec_bookslist li time {
	display: block;
	font-size: min(20px, 1.0416vw);
	font-weight: 700;
}

#top #sec_bookslist li .title {
	display: block;
	font-size: min(20px, 1.0416vw);
	font-weight: 700;
}

@media screen and (max-width:768px) {
#top #sec_bookslist ul {
	justify-content: space-between;
	padding: 0 5vw;
}

#top #sec_bookslist li {
	width: 48%;
	margin-bottom: 3vw;
}

#top #sec_bookslist li time {
	font-size: 3vw;
}

#top #sec_bookslist li .title {
	font-size: 3vw;
}
}

/* --------------------
#informaiton_contents
--------------------*/
#top #informaiton_contents {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 1920px;
	margin: auto;
	padding: 1px 0 min(60px, 3.125vw);
}

/* --------------------
#sec_time
--------------------*/
#top #sec_time {
	width: 48%;
	max-width: min(600px, 31.25vw);
}

#top #sec_time h2 {
	margin: 0 0 1em;
	padding: min(12px, 0.625vw) 0 min(12px, 0.625vw) min(60px, 3.125vw);
	color: #615F5F;
	font-size: min(18px, 0.9375vw);
	font-weight: 500;
	background: url("../images/top/icon_time.png") no-repeat left center / min(42px, 2.1875vw) auto;
}

#top #sec_time h2 span {
	margin-right: 1em;
	color: #EDA380;
	font-size: min(25px, 1.3vw);
}


#top #sec_time p {
	font-size: min(16px, 26.04vw);
}

@media screen and (max-width:768px) {
#top #sec_time {
	width: 100%;
	max-width: 100%;
	padding: 5vw;
}
	
#top #sec_time h2 {
	padding-left: 1.5em;
	font-size: 4vw;
	background: url("../images/top/icon_time.png") no-repeat left center / 1em auto;
}

#top #sec_time h2 span {
	font-size: 5vw;
}

#top #sec_time p {
	font-size: 4vw;
}

}

/* --------------------
#sec_access
--------------------*/
#top #sec_access {
	width: 48%;
	max-width: min(600px, 31.25vw);
}

#top #sec_access h2 {
	margin: 0 0 1em;
	padding: min(12px, 0.625vw) 0 min(12px, 0.625vw) min(60px, 3.125vw);
	color: #615F5F;
	font-size: min(18px, 0.9375vw);
	font-weight: 500;
	background: url("../images/top/icon_map.png") no-repeat left center / auto min(42px, 2.1875vw);
}

#top #sec_access h2 span {
	margin-right: 1em;
	color: #EDA380;
	font-size: min(25px, 1.3vw);
}

#top #sec_access p {
	font-size: min(16px, 0.83vw);
}

@media screen and (max-width:768px) {
#top #sec_access {
	width: 100%;
	max-width: 100%;
	padding: 5vw;
}

#top #sec_access h2 {
	padding-left: 1.5em;
	font-size: 4vw;
	background: url("../images/top/icon_map.png") no-repeat left center / auto 1.2em;
}

#top #sec_access h2 span {
	font-size: 5vw;
}

#top #sec_access p {
	font-size: 4vw;
}

}


/* --------------------
#sec_concept
--------------------*/
#top #sec_concept {
	display: flex;
	flex-wrap: wrap;
	max-width: 1920px;
	margin: 0 auto;
	background: url("../images/top/concept_bg.png") no-repeat center top / cover;
	border-radius: min(114px, 5.9375vw);
}

#top #sec_concept .text {
	width: 55%;
	padding-left: 300px;
}

#top #sec_concept .text .headline_01 {
	line-height: 2;
}

#top #sec_concept .text p {
	font-size: min(20px, 1.0416vw);
	font-weight: 700;
	line-height: 3;
}

#top #sec_concept .text .lead {
	font-size: min(32px, 1.66vw);
	line-height: 1.4;
}

#top #sec_concept .img {
	width: 45%;
	margin-top: min(-10px, 0.52vw);
	padding-right: min(50px, 2.6vw);
}

#top #sec_concept .img img {
	width: min(650px, 33.85vw);
	border-radius: min(50px, 2.6vw);
}

#top #sec_concept .img .img_01 {
	margin-bottom: min(30px, 1.5625vw);
	transform:rotate(-3.15deg);
}


#top #sec_concept .img .img_02 {
	margin-bottom: min(30px, 1.5625vw);
	text-align: right;
	transform:rotate(3.15deg);
}


#top #sec_concept .img .img_03 {
	transform:rotate(-3.15deg);
}

@media screen and (max-width:1920px) {
#top #sec_concept .text {
	padding-left: 15.625vw;
}
}

@media screen and (max-width:768px) {
#top #sec_concept .text {
	width: 100%;
	padding: 0 5vw;
}
	
#top #sec_concept .text p {
	font-size: 3.5vw;
	font-weight: 500;
	line-height: 2;
}

#top #sec_concept .text .lead {
	font-size: 4vw;
	font-weight: 700;
	line-height: 1.4;
}
	
#top #sec_concept .img {
	display: flex;
	width: 100%;
	margin-top: 0;
	padding: 3vw 2vw;
}

}

/* --------------------
#sec_specialist
--------------------*/
#top #sec_specialist {
	position: relative;
	z-index: -1;
	max-width: 1920px;
	margin: -100px auto 0;
	padding: min(150px, 7.8125vw) 0 min(50px, 2.6vw);
	background: url("../images/top/specialist_bg.png") no-repeat left center / cover;
}

#top #sec_specialist .inner {
	max-width: 1688px;
}

#top #sec_specialist .subtit {
	margin: 1em 0;
	font-size: min(35px, 1.8229vw);
	font-weight: 700;
	line-height: 1.5;
	text-align: center;	
}

#top #sec_specialist ul {
	position: relative;
	z-index: 1;
	display: flex;
	max-width: min(1320px, 68.75vw);
	margin: -150px auto min(50px, 2.6vw);
	padding: min(36px, 1.875vw) 0;
	list-style: none;
	background: #fff;
}

#top #sec_specialist li {
	width: 25%;
	font-size: min(20px, 1.0416vw);
	text-align: center;
	background: #fff;
	border-right: 1px solid #FEBE78;
}

#top #sec_specialist li:last-child {
	border-right: none;	
}

#top #sec_specialist li:nth-child(1) img {
	width: min(122px, 6.35416vw);	
}

#top #sec_specialist li:nth-child(2) img {
	width: min(147px, 7.65625vw);	
}

#top #sec_specialist li:nth-child(3) img {
	width: min(146px, 7.60416vw);	
}

#top #sec_specialist li:nth-child(4) img {
	width: min(147px, 7.65625vw);	
}

#top #sec_specialist li span {
	display: block;
	color: #FEBE78;
	font-size: min(30px, 1.5625vw);
}

#top #sec_specialist .text {
	margin: 0 auto;
	padding: 0 3em;
	max-width: 1070px;
	font-size: min(20px, 1.0416vw);
	line-height: 1.8;
}

@media screen and (max-width:768px) {
#top #sec_specialist {
	margin-top: -5.2vw;
}

#top #sec_specialist ul {
	max-width: 80vw;
	margin-top: -7.8125vw;
}
	
#top #sec_specialist .subtit {
	font-size: 4vw;
}
	
#top #sec_specialist li {
	font-size: 2.5vw;
}
	
#top #sec_specialist li span {
	font-size: 3vw;
}

#top #sec_specialist .text {
	padding: 0 5vw;
	font-size: 3.5vw;
}
}


/* --------------------
#sec_reason
--------------------*/
#top #sec_reason {
	max-width: 1920px;
	margin: 0 auto;
	padding: 1em 0 min(100px, 5.2083vw);
	background: url("../images/top/reason_bg_top.png") no-repeat left top / 100% auto, url("../images/top/reason_bg_bottom.png") no-repeat left bottom / 100% auto;
}

#top #sec_reason .text {
	margin: 5em auto;
	padding: 0 5vw;
	max-width: 1300px;
	font-size: min(20px, 1.0416vw);
	line-height: 1.8;
}

#top #sec_reason ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0;
	padding: 0 90px;
	list-style: none;
	max-width: 1920px;
	font-size: min(20px, 1.0416vw);
	line-height: 1.8;
}

#top #sec_reason li {
	width: 30%;
	margin-bottom: min(80px, 4.166vw);
	padding: min(30px, 1.5625vw);
	background: url("../images/top/reason_item_bg.png") no-repeat left top / cover;
	border-radius: min(30px, 1.5625vw);
	box-shadow: min(4px, 0.2vw) min(4px, 0.2vw) min(4px, 0.2vw) 0px rgba(0, 0, 0, 0.25);
}

#top #sec_reason li .number {
	display: block;
	color: #EDA380;
	font-size: min(80px, 4.166vw);
	font-weight: 700;
	text-align: center;
}

#top #sec_reason li .title {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	min-height: 2em;
	color: #EDA380;
	font-size: min(32px, 1.66vw);
	font-weight: 700;
	text-align: center;
}

#top #sec_reason li p {
	font-size: min(20px, 1.0416vw);
}

@media screen and (max-width:768px) {
#top #sec_reason .text {
	margin: 5vw 0;
	font-size: 3.5vw;
}
	
#top #sec_reason ul {
	padding: 0 5vw;
	font-size: 3.5vw;
}

#top #sec_reason li {
	width: 48%;
	margin-bottom: 5vw;
}

#top #sec_reason li .title {
	font-size: 3vw;
}

#top #sec_reason li p {
	font-size: 2.8vw;
}
}

/* --------------------
#sec_support
--------------------*/
#top #sec_support {
	max-width: 1920px;
	margin: 0 auto;
	padding: 1em min(100px, 5.2vw) min(100px, 5.2vw);
	background: url("../images/top/support_bg.png") no-repeat left top / cover;
}

#top #sec_support .txt {
	max-width: 1200px;
	margin: 0 auto 5em;
	padding: 0.5em;
	font-size: min(20px, 1.0416vw);
	font-weight: 700;
	background: #fff;
}

#top #sec_support .inner {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	margin-top: min(150px, 7.8125vw);
}

#top #sec_support .list {
	width: min(510px, 26.5625vw);
	background: #FFF5D3;
	border-radius: min(50px, 2.6vw);
	box-shadow: min(4px, 0.2vw) min(4px, 0.2vw) min(4px, 0.2vw) 0px rgba(0, 0, 0, 0.25);
}

#top #sec_support .list .icon {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: -94px auto 0;
	width: min(188px, 9.79vw);
	height: min(188px, 9.79vw);
	background: #fff;
	border-radius: 50%;
}

#top #sec_support .list .icon img {
	width: min(144px, 7.5vw);
}

#top #sec_support .list ul {
	margin: 0 auto;
	padding: min(50px, 2.6vw) 0 min(50px, 2.6vw) min(100px, 5.2083vw);
	list-style: none;
}

#top #sec_support .list li {
	margin-bottom: 1em;
}

#top #sec_support .list li a {
	padding-left: min(40px, 2.083vw);
	font-size: min(25px, 1.3vw);
	font-weight: 700;
	text-decoration: none;
	background: url("../images/common/arrow_01.png") no-repeat left center / 1.2em 1.2em;
}

#top #sec_support .list li a:hover {
	color: #EDA380;
}

#top #sec_support .text {
	position: relative;
	flex: 1;
	padding-left: min(60px, 3.125vw);
}

#top #sec_support .text .headline_01 {
	position: relative;
	z-index: 1;
	margin-top: min(110px, 5.729vw);
	line-height: 2;
}

#top #sec_support .text p {
	position: relative;
	z-index: 1;
	font-size: min(20px, 1.0416vw);
	font-weight: 700;
	line-height: 3;
}

#top #sec_support .text [class^="img_"] {
	position: absolute;
	z-index: 0;
	display: inline-block;
}

#top #sec_support .text .img_01 {
	top: -94px;
	right: min(150px, 7.8125vw);
}

#top #sec_support .text .img_01 img {
	width: min(310px, 16.14583vw);
}

#top #sec_support .text .img_02 {
	top: min(260px, 13.54vw);
	right: 0;
}

#top #sec_support .text .img_02 img {
	width: min(466px, 24.27vw);
}

#top #sec_support .text .img_03 {
	top: min(800px, 41.66vw);
	right: min(100px, 5.2083vw);
}

#top #sec_support .text .img_03 img {
	width: min(310px, 16.14583vw);
}

#top #sec_support .text [class^="img_"] img {
	border-radius: 50%;
}

@media screen and (max-width:1920px) {
#top #sec_support .list .icon {
	margin: -4.89583vw auto 0;
}
}

@media screen and (max-width:768px) {
#top #sec_support .txt {
	font-size: 3vw;
}
	
#top #sec_support .list {
	width: 100%;
}
	
#top #sec_support .list ul {
	margin: 0 auto;
	padding: min(50px, 2.6vw) 5vw;
	list-style: none;
}

#top #sec_support .list li {
	display: inline-block;
	margin: 0;
	padding: 0.2em 0.5em 0.2em 0;
}

#top #sec_support .list li a {
	padding-left: 1.5em;
	font-size: 3.5vw;
	background: url("../images/common/arrow_01.png") no-repeat left center / 1.2em 1.2em;
}
	
#top #sec_support .text {
	padding: 0 0 30vw 0;
}
	
#top #sec_support .text p {
	font-size: 3.5vw;
	line-height: 1.8;
}

#top #sec_support .text .img_01 {
	top: inherit;
	right: inherit;
	bottom: 0;
}

#top #sec_support .text .img_01 img {
	width: 25vw;
}

#top #sec_support .text .img_02 {
	top: inherit;
	right: 35%;
	bottom: 0;
}

#top #sec_support .text .img_02 img {
	width: 25vw;
}

#top #sec_support .text .img_03 {
	top: inherit;
	right: 0;
	bottom: 0;
}

#top #sec_support .text .img_03 img {
	width: 25vw;
}
}

/* --------------------
#sec_treatment
--------------------*/
#top #sec_treatment {
	max-width: 1920px;
	margin: 0 auto;
	padding: min(150px, 7.8125vw) min(226px, 11.77vw) min(100px, 5.2vw);
	background: url("../images/top/treatment_bg_01.jpg") no-repeat left top / 100% auto, url("../images/top/treatment_bg_02.png") no-repeat left top / cover; 
}

#top #sec_treatment .inner {
	position: relative;
	background: #F8F6FA;
}

#top #sec_treatment .inner [class^="img_"] {
	position: absolute;
	z-index: 0;
	display: inline-block;
}

#top #sec_treatment .inner .img_01 {
	top: 28%;
	right: 35%;
}

#top #sec_treatment .inner .img_01 img {
	width: min(398px, 20vw);
}

#top #sec_treatment .inner .img_02 {
	bottom: 5%;
	right: 45%;
}

#top #sec_treatment .inner .img_02 img {
	width: min(288px, 15vw);
}

#top #sec_treatment .inner .img_03 {
	bottom: 0;
	right: 35%;
}

#top #sec_treatment .inner .img_03 img {
	width: min(217px, 11.3vw);
}

#top #sec_treatment .item {
	display: flex;
	flex-wrap: wrap;
}

#top #sec_treatment .item:nth-of-type(odd) {
	flex-direction: row-reverse;
}

#top #sec_treatment .item:nth-of-type(odd) .btn_l {
	text-align: right;
}

#top #sec_treatment .item .img {
	width: 50%;
}

#top #sec_treatment .item .text {
	width: 50%;
	padding: min(30px, 1.5625vw);
}

#top #sec_treatment .item .text .copy_01 {
	font-size: min(40px, 2.083vw);
}

#top #sec_treatment .item .text .copy_01 span {
	display: block;
}

#top #sec_treatment .item .text .copy_01 span:last-child {
	text-align: right;
}

#top #sec_treatment .item .text .copy_02 {
	margin: 2em 0;
	font-size: min(20px, 1.0416vw);
}

#top #sec_treatment .item:nth-of-type(odd) .text .copy_02 {
	text-align: right;
}

#top #sec_treatment .item .text .copy_02 span {
	display: block;
	margin-top: 1em;
	font-size: min(30px, 1.5625vw);
	font-weight: 700;
}

@media screen and (max-width:768px) {
#top #sec_treatment .headline_01 {
	padding-left: 5vw;
}
	
#top #sec_treatment {
	padding: 10vw 0 0;
}
	
#top #sec_treatment .inner .img_01 {
	right: 55%;
}

#top #sec_treatment .inner .img_01 img {
	width: 25vw;
}

#top #sec_treatment .inner .img_02 {
	bottom: 5%;
	right: 30%;
}

#top #sec_treatment .inner .img_02 img {
	width: 25vw;
}

#top #sec_treatment .inner .img_03 {
	bottom: 0;
	right: 5%;
}

#top #sec_treatment .inner .img_03 img {
	width: 20vw;
}
	
#top #sec_treatment .item .img {
	width: 30%;
}

#top #sec_treatment .item .text {
	width: 70%;
	padding: 1.5vw 5vw;
}

#top #sec_treatment .item .text .copy_01 {
	font-size: 3.5vw;
}

#top #sec_treatment .item .text .copy_02 {
	margin: 2em 0;
	font-size: 2.5vw;
}

#top #sec_treatment .item .text .copy_02 span {
	font-size: 3vw;
}
	
}

/* --------------------
#sec_implant
--------------------*/
#top #sec_implant {
	max-width: 1920px;
	margin: 0 auto;
}

#top #sec_implant .inner {
	padding: min(100px, 5.2083vw) 40% min(100px, 5.2083vw) min(136px, 7.083vw);
	background:url("../images/top/implant_img.png") no-repeat right bottom / 50% auto, url("../images/top/implant_bg.png") no-repeat left top / 100% auto;
}

#top #sec_implant .inner p {
	font-size: min(30px, 1.5625vw);
	font-weight: 700;
	line-height: 1.8;
}

#top #sec_implant .inner .lead {
	font-size: min(32px, 1.66vw);
	font-weight: 700;
}

#top #sec_implant ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 1px solid #000;
}

#top #sec_implant li {
	width: calc(100% / 3);
	padding: min(30px, 1.5625vw);
	border: 1px solid #000;
}

#top #sec_implant li h3 {
	width: min(240px, 12.5vw);
	margin: auto;
	padding: 0.5em;
	font-size: min(30px, 1.5625vw);
	text-align: center;
	background: #FEBF7A;
}

#top #sec_implant li figure {
	position: relative;
	margin: 0.5em 0;
	text-align: center;
}

#top #sec_implant li figure figcaption {
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	padding: 0.3em 2em;
	font-size: min(20px, 1.0416vw);
	font-weight: 700;
	background: #D9D9D9;
}

#top #sec_implant li p {
	font-size: min(20px, 1.0416vw);
}


@media screen and (max-width:768px) {
#top #sec_implant .inner {
	padding: 5vw 5vw 10vw;
	background:url("../images/top/implant_img.png") no-repeat right bottom / 45% auto, url("../images/top/implant_bg.png") no-repeat left top / 100% auto;
}

#top #sec_implant .inner p {
	padding-right: 30%;
	font-size: 3vw;
}

#top #sec_implant .inner .lead {
	padding-right: 0;
	font-size:3.5vw;
}
	
#top #sec_implant li {
	width: 100%;
	padding: 5vw;
}

#top #sec_implant li h3 {
	width: 5em;
	font-size: 4vw;
}

#top #sec_implant li figure {
	position: relative;
	width: 80%;
	margin: 0.5em auto;
}

#top #sec_implant li figure figcaption {
	font-size:3vw;
}

#top #sec_implant li p {
	font-size:3.5vw;
}

}

/* --------------------
#sec_greeting
--------------------*/
#top #sec_greeting {
	max-width: 1920px;
	margin: 0 auto;
	padding: 0 0 min(80px, 4.166vw);
	background: url("../images/top/greeting_bg.png") no-repeat left top / cover;
}

#top #sec_greeting .text {
	padding: 1px 0;
	background: url("../images/top/greeting_mv.png") no-repeat right bottom / 40% auto;
}

#top #sec_greeting .text .txt {
	padding: 0 40% 0 min(296px, 15.416vw);
}

#top #sec_greeting .text .txt p {
	padding-right: 20%;
	font-size: min(20px, 1.0416vw);
	line-height: 2;
}

#top #sec_greeting .text .txt .neme {
	font-size: min(30px, 1.5625vw);
	font-weight: 700;
}

#top #sec_greeting .text .txt .btn_r {
	padding-right: 20%;
}

#top #sec_greeting .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: min(65px, 3.3854vw) min(130px, 6.77vw) min(30px, 1.5625vw);
}

#top #sec_greeting .inner .item {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	width: 32%;
	margin-bottom: min(35px, 1.8229vw);
	padding: min(50px, 2.6vw);
	background: #FFFFF7;
	border-radius: min(30px, 1.5625vw);
}

#top #sec_greeting .inner .item figure {
	margin: 0 0 min(25px, 1.3vw);
	text-align: center;
}

#top #sec_greeting .inner .item figcaption {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	min-height: 4em;
	margin-top: -10px;
	font-size: min(24px, 1.25vw);
	font-weight: 700;
	text-align: center;
	line-height: 1.2;
	border-radius: 2em;
	background: url("../images/top/greeting_parts_bg.png") no-repeat left center / cover;
}

#top #sec_greeting .inner .item:nth-child(3) figure img {
	margin-top: min(85px, 4.427vw);
}

#top #sec_greeting .inner .item p {
	margin-top: auto;
	font-size: min(20px, 1.0416vw);
	line-height: 2;
}

@media screen and (max-width:768px) {
#top #sec_greeting .text .txt {
	padding: 0 5vw 10vw;
}
	
#top #sec_greeting .text .txt p {
	padding-right: 0;
	font-size: 3.5vw;
}

#top #sec_greeting .text .txt .neme {
	font-size: 4vw;
}

#top #sec_greeting .text .txt .btn_r {
	padding-right: 0;
	text-align: left;
}
	
#top #sec_greeting .inner {
	justify-content: space-around;
	padding: 5vw 5vw 0;
}

#top #sec_greeting .inner .item {
	width: 48%;
}

#top #sec_greeting .inner .item figcaption {
	padding: 2vw 1vw;
	font-size: 2.5vw;
	border-radius: 2vw;
}

#top #sec_greeting .inner .item:nth-child(3) figure img {
	margin-top: min(85px, 4.427vw);
}

#top #sec_greeting .inner .item p {
	font-size: 2.5vw;
	line-height: 1.8;
}

}

/* --------------------
#sec_comics
--------------------*/
#top #sec_comics {
	max-width: 1920px;
	margin: 0 auto;
	padding: 1px min(117px, 6.09375vw) min(80px, 4.166vw);
	background: url("../images/top/specialist_bg.png") no-repeat left top / cover;
}

#top #sec_comics ul {
	max-width: 1688px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

#top #sec_comics li {
	width: 25%;
	padding: 0 min(30px, 1.5625vw) min(25px, 1.3vw);
}

#top #sec_comics li a {
	display: block;
	text-decoration: none;
}

#top #sec_comics li a:hover {
	color: #EDA380;
	opacity: 0.7;
}

#top #sec_comics li a .day {
	display: block;
	margin-top: 1em;
	font-size: min(20px, 1.0416vw);
	font-weight: 700;
}

#top #sec_comics li a .title {
	display: block;
	font-size: min(20px, 1.0416vw);
	font-weight: 700;
}

@media screen and (max-width:768px) {
#top #sec_comics {
	padding: 1px 5vw 5vw;
}

#top #sec_comics ul {
	justify-content: space-between;
}

#top #sec_comics li {
	width: 48%;
	margin-bottom: 3vw;
}
	
#top #sec_comics li a .day {
	font-size: 3vw;
}

#top #sec_comics li a .title {
	font-size: 3vw;
}
}

/* --------------------
#sec_information
--------------------*/
#top #sec_information {
	max-width: 1920px;
	margin: 0 auto;
	padding: 1px 0 min(60px, 3.125vw);	
}

#top #sec_information .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin-bottom: min(100px, 5.2083vw);
}

#top #sec_information .info {
	width: 50%;
	padding: 0 2vw 0 5vw;
}

#top #sec_information .info .headline_01 {
	margin: 0;
}

#top #sec_information .info .tel {
	margin: 0.5em auto;
	font-size: min(60px, 3.125vw);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
}

#top #sec_information .info .tel a {
	text-decoration: none;
}

#top #sec_information .info .tel span {
	display: inline-block;
	padding-left: min(80px, 4.166vw);
	background: url("../images/top/icon_tel.png") no-repeat left top 0.2em / min(64px, 3.33vw) auto;
}

#top #sec_information .info .btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#top #sec_information .info .btn a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 48%;
	padding: 0.3em;
	font-size: min(32px, 1.66vw);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	background: #EDA380;
	border: 2px solid #EDA380;
}

#top #sec_information .info .btn a:hover {
	background: #fff;
}

#top #sec_information .time {
	width: 50%;
	padding: 0 5vw 0 2vw;
}

#top #sec_information .time .timetable {
	width: 100%;
	font-size: min(26px, 1.35416vw);
}

#top #sec_information .time p {
	font-size: min(20px, 1.0416vw);
}

#top #sec_information .time address {
	font-size: min(20px, 1.0416vw);
}

@media screen and (max-width:768px) {
#top #sec_information .info {
	width: 100%;
	padding: 5vw;
}

#top #sec_information .info .tel {
	font-size: 6vw;
}

#top #sec_information .info .tel span {
	padding-left: 1.2em;
	background: url("../images/top/icon_tel.png") no-repeat left top 0.2em / 1em auto;
}

#top #sec_information .info .btn a {
	padding: 0.3em;
	font-size: 3.5vw;
}

#top #sec_information .time {
	width: 100%;
	padding: 5vw;
}

#top #sec_information .time .timetable {
	width: 100%;
	font-size: 2.8vw;
}

#top #sec_information .time p {
	font-size: 3vw;
}

#top #sec_information .time address {
	font-size: 3vw;
}

}

/* --------------------
#sec_equipment
--------------------*/
#top #sec_equipment {
	max-width: 1920px;
	margin: 0 auto;
	padding: 1px 0 min(80px, 4.166vw);
}


.slick-item img {
	width: 100%;
	transform: scale(0.5);
	transition: transform .3s;
}
.slick-item.slick-center img {
	transform: scale(1);
}

@media screen and (max-width:768px) {
#top #sec_equipment {
	max-width: 1920px;
	margin: 0 auto;
	padding: 1px 5vw 8vw;
}	

.slick-item img {
	transform: scale(1);
}
}

/* --------------------
#top #post_contents
--------------------*/
#top #post_contents {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1920px;
	margin: auto;
	padding: min(100px, 5.2vw) min(76px, 3.9583vw);
	background: url("../images/top/specialist_bg.png") no-repeat left top / cover;
}

@media screen and (max-width:768px) {
#top #post_contents {
	padding: 5vw;
}
}

/* --------------------
#top #sec_news
#top #sec_blog
--------------------*/
#top #sec_news,
#top #sec_blog {
	width: 48%;
	padding: min(60px, 3.125vw);
	background: #fff;
	box-shadow: min(30px, 1.5625vw) min(30px, 1.5625vw) 0px 0px #9A9A9A;
}

#top #sec_news ul,
#top #sec_blog ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

#top #sec_news li,
#top #sec_blog li {
	margin: 1em 0;
}

#top #sec_news li a,
#top #sec_blog li a {
	display: flex;
	flex-wrap: wrap;
	font-size: min(20px, 1.0416vw);
	text-decoration: none;
}

#top #sec_news li a:hover,
#top #sec_blog li a:hover {
	color: #EDA380;
}

#top #sec_news li a .day,
#top #sec_blog li a .day {
	width: 10em;
}

#top #sec_news li a .title,
#top #sec_blog li a .title {
	flex: 1;
}

@media screen and (max-width:768px) {
#top #sec_news,
#top #sec_blog {
	width: 100%;
	margin-bottom: 10vw;
	padding: 5vw;
}
	
#top #sec_news li a,
#top #sec_blog li a {
	font-size: 3.5vw;
}

#top #sec_news li a .day,
#top #sec_blog li a .day {
	width: 100%;
}

}

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

下層ページ 共通

----------------------------------------*/
/* --------------------
.page_tit
--------------------*/
.page_tit {
	position: relative;
	margin-bottom: 2.5em;
}

.page_tit img {
	width: 100%;
}

.page_tit h1 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 40px;
	background: rgba(114,114,114,0.67);
}

@media screen and (max-width:768px) {
.page_tit h1 {
	font-size: 5.2vw;
}
}

/* --------------------
.lower
--------------------*/
.lower {
  font-size: 24px;
	padding: 0 5vw;
}

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


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

.lower .contents {
	margin: 0 auto  min(50px, 5vw);
	padding: 0 min(50px, 5vw);
}

.lower .inner {
	margin: 0 auto min(80px, 8vw);
	padding: 0 min(30px, 3vw);
}

.lower .column_1 {
	margin: min(50px, 5vw) auto min(80px, 8vw);	
}

.lower .column_2,
.lower .column_3,
.lower .column_img {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: min(50px, 5vw) auto min(80px, 8vw);	
}

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

.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: 30%;
}

.lower .column_3 .text::after{
  content:"";
  display: block;
  width: 30%;
}

/* 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 .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: row;	
}

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

.lower .column_3 .text {
	width: 100%;
}
	
.lower .column_img .item {
	width: 48%;
	margin-bottom: 1em;
}

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


}

/* --------------------
背景
--------------------*/
.lower .bg_01 {
	margin: 2em 0;
	padding: min(30px, 3vw);
	background: #FAE4D9;
}


/* --------------------
見出し
--------------------*/
/* .headline_01（28px、文字色：白、中央寄せ、背景：オレンジ） */
.lower .headline_01 {
	margin: 0 0 1.5em;
	padding: 0.5em;
	color: #fff;
	font-size: 28px;
	font-weight: 500;
	text-align: center;
	background: #EDA380;
}

/* .headline_02（28px、下線：オレンジ、丸マーク） */
.lower .headline_02 {
	position: relative;
	margin: 0 0 1em;
	padding: 0.5em 0 0.5em 2.2em;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.4;
	border-bottom: 1px solid #EDA380;
}

.lower .headline_02::before {
	content: "";
	position: absolute;
	left: 0.5em;
	top: 0.7em;
	width: 1em;
	height: 1em;
	border: 1px solid #EDA380;
	border-radius: 50%;
}

.lower .headline_02.number {
	padding-left: 3.2em;
	text-indent: -1em;
}

/* .headline_03（26px、中央寄せ、文字色：オレンジ） */
.lower .headline_03 {
	margin: 0.5em 0 1em;
	color: #EDA380;
	font-size: 26px;
	font-weight: 500;
	text-align: center;
}

/* .headline_04（32px、中央寄せ） */
.lower .headline_04 {
	margin: 0 0 1em;
	font-size: 32px;
	font-weight: 500;
	text-align: center;
}

/* .headline_05（24px、中央寄せ、背景：オレンジ） */
.lower .headline_05 {
	margin: 0 0 1em;
	padding: 0.5em;
	font-size: 24px;
	font-weight: 600;
	text-align: center;
	background: #EDA380;
}

/* .headline_06（32px、中央寄せ、文字色：オレンジ） */
.lower .headline_06 {
	margin: 0 0 0.5em;
	color: #EDA380;
	font-size: 32px;
	font-weight: 600;
	text-align: center;
}

/* .headline_07（28px、下線：オレンジ、文字色：オレンジ） */
.lower .headline_07 {
	margin: 0 0 0.5em;
	padding: 0 1em 0.5em;
	color: #EDA380;
	font-size: 28px;
	font-weight: 700;
	border-bottom: 1px solid #EDA380;
}

/* .headline_08（28px、文字色：オレンジ） */
.lower .headline_08 {
	margin: 0;
	padding: 0;
	color: #EDA380;
	font-size: 28px;
	font-weight: 700;
}

.lower .headline_08.disc {
	margin-left: -1em;
	text-indent: 1em;
}

.lower .headline_08.disc::before {
	content: "・";
}

/* .headline_09（50px、中央寄せ） */
.lower .headline_09 {
	margin: 0 0 1em;
	font-size: 50px;
	font-weight: 500;
	text-align: center;
}

/* .headline_10（24px、文字色：オレンジ） */
.lower .headline_10 {
	margin: 0 0 1em 0;
	padding: 0;
	color: #EDA380;
	font-size: 24px;
	font-weight: 500;
}



@media screen and (max-width:768px) {
.lower .headline_01 {
	font-size: 4.7vw;
}
	
.lower .headline_02 {
	font-size: 4.7vw;
}
	
.lower .headline_03 {
	font-size: 4.6vw;
}
	
.lower .headline_04 {
	font-size: 5vw;
}
	
.lower .headline_05 {
	font-size: 4.5vw;
}
	
.lower .headline_06 {
	font-size: 5vw;
}
	
.lower .headline_07 {
	font-size: 4.7vw;
}
	
.lower .headline_08 {
	font-size: 4.7vw;
}
	
.lower .headline_09 {
	font-size: 6vw;
}
	
.lower .headline_10 {
	font-size: 4.5vw;
}
	
}


/* --------------------
リスト
--------------------*/
/* .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 {
	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;
}

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

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

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

.table_01 th {
	font-weight: 500;
}

.table_01 thead th {
	color: #EDA380;
}

.table_01 td {
	font-size: 20px;
	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: 1em 0.5em;
	font-size: 16px;
	text-align: center;
	border: 1px solid #EDA380;
}

.table_02 th {
	font-weight: 600;
}

.table_02 thead th {
	color: #EDA380;
}

.table_02 td {
	font-weight: 400;
}

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

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

.table_03 th {
	font-weight: 500;
}

.table_03 thead th {
	color: #fff;
	text-align: center;
	background: #EDA380;
}

.table_03 tbody th {
	text-align: left;
}

.table_03 td {
	font-size: 20px;
	font-weight: 400;
}

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

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

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

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

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

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

.table_price_02 th, 
.table_price_02 td {
	padding: 0.3em 0.5em;
	border: 1px solid #000;
}

.table_price_02 thead th {
	color: #fff;
	font-size: 28px;
	text-align: left;
	background: #EDA380;
}

.table_price_02 tbody th {
	font-weight: 500;
	text-align: left;
}

.table_price_02 tbody th.tbody_head {
	font-size: 28px;
	font-weight: 600;
	text-align: center;
	background: #FFB974;
}

.table_price_02 tbody td {
	font-weight: 400;
}

.table_price_02 tbody td.price {
	text-align: right;
}

@media screen and (max-width:768px) {
/* スマホのみ横スクロール */
.sp_table_scroll {
	overflow-x: scroll;
}

.sp_table_scroll table {
	width: 900px;
}

.table_02 th, 
.table_02 td {
	font-size: 4vw;
}
	
.table_price_01 {
	width: 100%;
}

.table_price_01 th, 
.table_price_01 td {
	display: block;
	width: 100%;
	max-width: 100%;
	padding: 0.5em;
	border: none;
}

.table_price_01 th {
	background: #f0f0f0;
}

.table_price_02 {
	width: 100%;
	border: 1px solid #000;
}

.table_price_02 th, 
.table_price_02 td {
	display: block;
	width: 100%;
	max-width: 100%;
	padding: 0.5em;
	border: none;
}

.table_price_02 thead th {
	font-size: 4.7vw;
}

.table_price_02 tbody th {
	background: #f0f0f0;
}

.table_price_02 tbody th.tbody_head {
	font-size: 4.7vw;
}
	
.table_03 td {
	font-size: 4.2vw;
}
	
}


/* --------------------
Q&A
--------------------*/
.qa dt {
	text-indent: -1em;
	margin: 0 0 0.5em 1em;
	color: #EDA380;
}

.qa dd {
	text-indent: -1em;
	margin: 0 0 2em 1em;
}

/* --------------------
電話番号
--------------------*/
.tel_number {
	display: inline-block;
	margin: 0.5em 0;
	padding-left: 70px;
	color: #000;
	font-size: 50px;
	text-decoration: none;
	background: url("../images/common/icon_tel.png") no-repeat left center;
}

@media screen and (max-width:768px) {
.tel_number {
	padding-left: 1.2em;
	font-size: 8vw;
	background: url("../images/common/icon_tel.png") no-repeat left center / 1em auto;
}
}

/* --------------------
書籍・漫画一覧
--------------------*/
.book_list {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}

.book_list li {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	width: 25%;
	padding: 1em;
}

.book_list li a {
	text-decoration: none;
}

.book_list li a:hover {
	color: #EDA380;
	opacity: 0.7;
}

.book_list li .thumbnail {
	text-align: center;
}

.book_list li .thumbnail img {
	width: 100%;
	height: auto;
	margin-bottom: 0.5em;
}

.book_list li .data {
	font-size: 18px;
}

.book_list li time {
	display: block;
}

.book_list li .title {
	display: block;
	line-height: 1.2;
}

@media screen and (max-width:768px) {
.book_list li {
	width: 50%;
}
	
.book_list li .data {
	font-size: 4vw;
}
}

/* --------------------
書籍・漫画 詳細
--------------------*/
.book_detail {
	margin-bottom: min(80px, 4.166vw);
}

.book_detail .inner {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
}

.book_detail .title {
	padding: 0 0 0.5em 0;
	margin: 0 0 1em 0;
	font-size: 40px;
	font-weight: 500;
	border-bottom: 1px solid #000;
}

.book_detail .thumbnail {
	margin: 0 1.5em 0 0;
	text-align: center;
}

.book_detail .thumbnail img {
	width: 100%;
	max-width: 300px;
	margin-bottom: 0.5em;
}

.book_detail .thumbnail .btn {
	margin-bottom: 0.5em;
}

.book_detail .text {
	flex: 1;
}

.book_detail .text time {
	display: block;
	margin: 0.5em 0 0 0;
}

@media screen and (max-width:768px) {
.book_detail {
	margin-bottom: 10vw;
}

.book_detail .title {
	font-size: 6vw;
}

.book_detail .thumbnail {
	width: 100%;
	margin: 0 0 0.5em 0;
	text-align: center;
}
}



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

下層ページ　個別

----------------------------------------*/
/* --------------------
#staff（院長紹介）
--------------------*/
#staff figcaption {
	display: block;
	margin-top: 0.5em;
	padding: 0.2em 0.2em 0.5em;
	font-size: 28px;
	text-align: center;
	line-height: 1.2;
	background: #FAE4D9;
}

#staff figcaption span {
	font-size: 16px;
}

@media screen and (max-width:768px) {
#staff figcaption {
	font-size: 7vw;
}

#staff figcaption span {
	font-size: 4vw;
}
}

/* --------------------
#access（アクセス・診療時間）
--------------------*/
#access .data {
	display: flex;
	flex-wrap: wrap;
}
#access .data dt {
	display: inline-block;
	width: 4em;
	padding: 0.2em;
	color: #EDA380;
	text-align: center;
	border-bottom: 1px solid #000;
}

#access .data dd {
	display: inline-block;
	width: calc(100% - 4em);
	margin: 0;
	padding: 0.2em 0.2em 0.2em 1em;
	border-bottom: 1px solid #000;
}

#access .timetable {
	width: 100%;
	font-size: 20px;
}

@media screen and (max-width:768px) {
#access .timetable {
	font-size: 3vw;
}
	
#access .timetable th, 
#access .timetable td {
    padding: 0.5em;
}
}

/* --------------------
#price（治療費について）
--------------------*/
#price .koujo {
	margin: 2em 0;
	text-align: center;
}

#price .koujo span {
	display: inline-block;
	font-size: 32px;
}

#price .koujo .text_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

#price .koujo .text_01 {
	padding: 0.2em 1em;
	color: #EDA380;
	border: 3px solid #EDA380;
}

#price .koujo .text_02 {
	padding: 0.2em 0.8em;
	border: 1px solid #000;
}

#price .koujo .equal {
	padding: 0.5em;
	transform:rotate(90deg);
}

#price .koujo .minus {
	padding: 0.3em;
}

#price .koujo .note {
	margin-left: 1em;
	text-indent: -1em;
	text-align: left;
	font-size: 20px;
}

@media screen and (min-width:768px) and (max-width:1080px) {
#price .koujo span {
	font-size: 2.9vw;
}
}

@media screen and (max-width:768px) {
#price .koujo span {
	font-size: 5vw;
}
	
#price .koujo .text_01 {
	display: block;
}
	
#price .koujo .text_02 {
	display: block;
	padding: 0.2em;
	font-size: 3.3vw;
}

#price .koujo .note {
	font-size: 4vw;
}
}

/* --------------------
#contact（お問い合わせ）
--------------------*/
#contact table {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}

#contact table th,
#contact table td {
	padding: 0.3em;
	text-align: left;
	vertical-align: top;
	font-weight: 500;
}

#contact table th {
	white-space: nowrap;
}

#contact table th .req {
	margin-left: 0.8em;
	padding: 0.1em 1em;
	color: #fff;
	font-size: 16px;
	background: #EDA380;
	border-radius: 1em;
}

#contact input[type="text"],
#contact input[type="email"],
#contact input[type="tel"],
textarea {
	width: 100%;
	padding: 0.3em;
}

@media screen and (max-width:768px) {
#contact table th,
#contact table td {
	display: block;
	width: 100%;
	max-width: 100%;
}
	
#contact table td {
	padding-bottom: 1em;
}
}

/* --------------------
#blog（ブログ）
--------------------*/
#blog article {
	margin-bottom: min(80px, 4.166vw);
}

#blog article .inner {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
}

#blog article .title {
	padding: 0 0 0.5em 0;
	margin: 0 0 1em 0;
	font-size: 40px;
	font-weight: 500;
	border-bottom: 1px solid #000;
}

#blog article .thumbnail {
	width: 455px;
	margin: 0 1.5em 0 0;
}

#blog article.detail .thumbnail {
	width: 100%;
	margin: 0;
	text-align: center;
}

#blog article.detail .thumbnail img {
	margin: 0 0 1.5em 0;
}

#blog article .text {
	flex: 1;
}

#blog article .text time {
	display: block;
	margin: 0.5em 0 0 0;
}

#blog article .text .detail{
	margin-top: 1em;
}

@media screen and (min-width:768px) and (max-width:1100px) {
#blog article .thumbnail {
	width: 40vw;
}
}

@media screen and (max-width:768px) {
#blog article {
	margin-bottom: 10vw;
}

#blog article .title {
	font-size: 6vw;
}

#blog article .thumbnail {
	width: 100%;
	margin: 0 0 0.5em 0;
	text-align: center;
}
}


