@charset "UTF-8";

body {
	text-align: center;
	font-family: var(--ff-got);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: .1em;
	line-height: 2.0em;
	padding: 0;
	margin: 0;
	background: #fff;
	color: var(--color-base);
	-webkit-text-size-adjust: 100%;
}


div,
dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,form,fildset,p,blockquote{
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	font-style:normal;
}

img{
    max-width:100%;
    height:auto;
    width:auto\9; /* ie8 */
	border-top-style:none;
	border-right-style:none;
	border-bottom-style:none;
	border-left-style:none;
	vertical-align:top;
	display:block;
	margin:auto;
}
table {
    font-size:inherit;
    font:100%;
	border-collapse: collapse;
}

address{
	font-style:normal;
}

ul,ol{
	list-style:none;
}

a{
	color: inherit;
	text-decoration:none;
	outline:0;
	-webkit-transition: color 0.7s, background-color 1.0s;
	-moz-transition: color 0.7s, background-color 1.0s;
	transition: color 0.7s, background-color 1.0s;
}
a:hover{
	-webkit-transition: color 0.7s, background-color 0.4s;
	-moz-transition: color 0.7s, background-color 0.4s;
	transition: color 0.7s, background-color 0.4s;
}

.flex {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}

.clearfix:after {
  content: ".";  /* 新しい要素を作る */
  display: block;  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}

.blocklink,
.blocklink_out {
	cursor:pointer;
}

/* スマホで電話をかけるボタン：画像対応 */
.sp_tel_btn {
	position: relative;
}
.sp_tel_btn img {
	position: relative;
	z-index: 0;
}
.sp_tel_btn span,
.sp_tel_btn a {
	display: block;
}
.sp_tel_btn a {
	content: "";
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}


/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/* スマホのときはビューポートを基準にサイズ調節する */
/* スマホ時：emまたは%で指定する */
/* スマホ以外でビューポート基準にするときは、その都度「vw」で指定する */
body {
	font-size: 4.1vw;
	letter-spacing: .05em;
	line-height: 1.8em;
}
}



/*共通
---------------------------------------------------------*/
/*.section {
	width: 94%;
	padding: 0 3%;
	max-width: 1030px;
	margin: 0 auto;
	text-align: left;
}*/
.w1500 {
	width: 94%;
	padding: 0 3%;
	max-width: 1500px;
	margin: 0 auto;
	text-align: left;
}
.w1410 {
	width: 94%;
	padding: 0 3%;
	max-width: 1410px;
	margin: 0 auto;
	text-align: left;
}
.w1400 {
	width: 94%;
	padding: 0 3%;
	max-width: 1400px;
	margin: 0 auto;
	text-align: left;
}
.w1340 {
	width: 94%;
	padding: 0 3%;
	max-width: 1340px;
	margin: 0 auto;
	text-align: left;
}
.w1300 {
	width: 94%;
	padding: 0 3%;
	max-width: 1300px;
	margin: 0 auto;
	text-align: left;
}
.w1200 {
	width: 94%;
	padding: 0 3%;
	max-width: 1200px;
	margin: 0 auto;
	text-align: left;
}
.w1100 {
	width: 94%;
	padding: 0 3%;
	max-width: 1100px;
	margin: 0 auto;
	text-align: left;
}
.w1000 {
	width: 94%;
	padding: 0 3%;
	max-width: 1000px;
	margin: 0 auto;
	text-align: left;
}
.w990 {
	width: 94%;
	padding: 0 3%;
	max-width: 990px;
	margin: 0 auto;
	text-align: left;
}
.w960 {
	width: 94%;
	padding: 0 3%;
	max-width: 960px;
	margin: 0 auto;
	text-align: left;
}

/*.ft_didact {
	font-family: 'Didact Gothic', sans-serif;
	font-weight: normal;
}*/
.ft_en {
	font: var(--font-en);
	letter-spacing: .12em;
}

.bg_hover_li li {
	-webkit-transition: background-color 1.0s;
	-moz-transition: background-color 1.0s;
	transition: background-color 1.0s;
}
.bg_hover_li li:hover {
	-webkit-transition: background-color 0.4s;
	-moz-transition: background-color 0.4s;
	transition: background-color 0.4s;
}

/*電話番号*/
.com_tel {
	width: max-content;
	margin-left: auto;
	margin-right: auto;
	font: var(--font-en);
	letter-spacing: .03em;
	white-space: nowrap;
	position: relative;
}
.com_tel::before {
	font-family: 'fontello';
	content: '\e802';
	color: #c7a787;
	font-size: 75%;
	margin-right: .2em;
}
/*準備中*/
/*.com_tel::after {
	content: "準備中";
	position: absolute;
	margin: auto;
	display: block;
	width: 100%;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(0,0,0,0.6);
	font-family: var(--ff-got);
	text-align: center;
	color: #fff;
	font-size: 12px;
	padding: .7em 0;
}*/

/* 共通ボタン */
.com_btn_link {
	width: 100%;
	max-width: 250px;	/* 適宜変更 */
}
.com_btn_link a {
	display: block;
	text-align: center;
	font-size: 120%;
	font-weight: bold;
	letter-spacing: .12em;
	line-height: 1.2em;
	padding: .8em 0;
	padding-left: .5em;
	border-radius: .3em;
	transition: opacity 0.8s;
	color: #fff;			/* 適宜変更 */
	background: #dabe74;	/* 適宜変更 */
}
.com_btn_link span {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	padding-right: 1.5em;
}
.com_btn_link span::before,
.com_btn_link span::after {
	content: '';
	letter-spacing: normal;
	width: 1.0em;
	height: 1.0em;
	line-height: 1.0em;
	font-weight: normal;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-45%);
}
.com_btn_link span::before {
	font-family: 'fontello';
	content: '\e800';
	color: #c89458;
	z-index: 1;
}
.com_btn_link span::after {
	background: #fff;
	border-radius: 50%;
	z-index: 0;
	transform: translateY(-45%) scale(0.7);
}
.com_btn_link a:hover {
	opacity: 0.6;
}

/*com_btn_list*/
.com_btn_list{
    text-align: center;
}
.com_btn_list li{
    display: inline-block;
    margin-right: 1%;
}
.com_btn_list li:last-child{
    margin-right: 0;
}

/*com_btn_link_memo*/
.com_btn_link_memo{
    position: relative;
    display: inline-block;
    font-size: 95%;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-bottom: .1em;
    color: #a08f82;
    padding: 0 .8em;
    box-sizing: border-box;
}
.com_btn_link_memo::before,
.com_btn_link_memo::after{
    position: absolute;
    display: block;
    content: "";
    background: #a08f82;
    background-size: 100% auto;
    width: 1px;
    height: 1.2em;
    bottom: .3em;
}
.com_btn_link_memo::before{
    left: 0;
    transform: rotate(-30deg);
}
.com_btn_link_memo::after{
    right: 0;
    transform: rotate(30deg);
}

/* moreリンク */
.link_more a {
	font-size: 84%;
	letter-spacing: .15em;
	line-height: 1.2em;
	background: url(../images/arrow_beige.svg) no-repeat right center;
	background-size: 1.2em 1.2em;
	padding-right: 1.8em;
}
/* 動画のサイズ */
.popup_movie video {
	width: 90vw;
	margin: 0 auto;
}

.com_bnr_mrc {
	width: 70%;
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/* 共通ボタン */
.com_btn_link {
	max-width: 220px;	/* 適宜変更 */
}
.com_btn_link a {
	font-size: 110%;
	letter-spacing: .06em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_btn_link {
	max-width: 70vw;	/* 適宜変更 */
}
.com_btn_link a {
	font-size: 110%;
	letter-spacing: .06em;
	padding-top: .6em;
	padding-bottom: .6em;
}
	
.com_bnr_mrc {
	width: 94%;
}
/*com_btn_list*/
.com_btn_list li{
    margin-right: 0;
    margin-bottom: 3%;
}
.com_btn_list li:last-child{
    margin-bottom: 0;
}
    
.link_more a {
	font-size: 100%;
}
}



/*wrapper
---------------------------------------------------------*/
#wrapper {
}



/*ヘッダー（下層ページ）
---------------------------------------------------------*/
#header .h_area {
	width: 100%;
	box-sizing: border-box;
	padding: var(--gap-50) 3%;
	text-align: left;
}

#header .h_area .h1_box {
	position: absolute;
	z-index: 0;
	width: min(94%,1200px);
	margin: auto;
	left: 0;
	right: 0;
}
#header .h_area .h1_box .in_box {
	width: 42%;
}
#header .h_area .col_r {
	width: 55%;
	margin-left: auto;
	margin-right: 0;
	position: relative;
	z-index: 10;
}

#header .h_logo {
	width: min(100%,518px);
}
#header .h_logo a {
	display: block;
}
#header .h_logo p:first-child {
	color: #49412e;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.0em;
	margin-bottom: 1.0em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#header .h_area .h1_box .in_box {
	width: 47%;
}
#header .h_area .col_r {
	width: 50%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#header .h_area {
	padding: 5vw 4%;
}
#header .h_area .h1_box {
	position: relative;
	left: auto;
	right: auto;
}
#header .h_area .h1_box .in_box {
	width: 100%;
}
#header .h_area .col_r {
	display: none;
}
#header .h_logo {
	width: 80%;
}
}



/*メインナビ
---------------------------------------------------------*/
#header .m_img .m_nav {
	width: 100%;
	max-width: 1120px;
	background: #fff;
	position: absolute;
	z-index: 15;
	left: 0;
	right: 0;
	margin: 0 auto;
}

.m_nav_list {
	width: 100%;
	display: flex;
    justify-content: space-between;
}
.m_nav_list > li {
	width: 12.5%;
	position: relative;
}
.m_nav_list > li > a {
    display: flex;
    flex-direction: column;
    justify-content: center;
	text-align: center;
	font-size: 100%;
	font-weight: bold;
	letter-spacing: .09em;
	line-height: 1.4em;
	padding-top: 4em;
	padding-bottom: 2.0em;
	height: 2.8em;
	background-repeat: no-repeat;
	background-position: center 1.8em;
	background-size: 2.2em auto;
}
.m_nav_list .txt_s {
	font-size: 90%;
}
.m_nav_list > li.menu_home > a {background-image: url(../images/nav1.svg);}
.m_nav_list > li.menu_flow > a {background-image: url(../images/nav2.svg);}
.m_nav_list > li.menu_med > a {background-image: url(../images/nav3.svg);}
.m_nav_list > li.menu_clinic > a {background-image: url(../images/nav4.svg);}
.m_nav_list > li.menu_equipment > a {background-image: url(../images/nav5.svg);}
.m_nav_list > li.menu_staff > a {background-image: url(../images/nav6.svg);}
.m_nav_list > li.menu_price > a {background-image: url(../images/nav7.svg);}
.m_nav_list > li.menu_access > a {background-image: url(../images/nav8.svg);}
.m_nav_list > li.menu_home.select > a,
.m_nav_list > li.menu_home > a:hover {background-image: url(../images/nav1-o.svg);}
.m_nav_list > li.menu_flow.select > a,
.m_nav_list > li.menu_flow > a:hover {background-image: url(../images/nav2-o.svg);}
.m_nav_list > li.menu_med.select > a
.m_nav_list > li.menu_med > a:hover {background-image: url(../images/nav3-o.svg);}
.m_nav_list > li.menu_clinic.select > a,
.m_nav_list > li.menu_clinic > a:hover {background-image: url(../images/nav4-o.svg);}
.m_nav_list > li.menu_equipment.select > a,
.m_nav_list > li.menu_equipment > a:hover {background-image: url(../images/nav5-o.svg);}
.m_nav_list > li.menu_staff.select > a,
.m_nav_list > li.menu_staff > a:hover {background-image: url(../images/nav6-o.svg);}
.m_nav_list > li.menu_price.select > a,
.m_nav_list > li.menu_price > a:hover {background-image: url(../images/nav7-o.svg);}
.m_nav_list > li.menu_access.select > a,
.m_nav_list > li.menu_access > a:hover {background-image: url(../images/nav8-o.svg);}
.m_nav_list > li.select > a,
.m_nav_list > li:hover > a {
	color: #c89458;
}
.m_nav_list > li::before {
	content: "";	/*現在地*/
	position: absolute;
	width: 0;
	height: 5px;
	left: 0;
	right: 0;
	top: 0;
	margin: 0 auto;
	background: #c89458;
	opacity: 0;
	transition: width 0.6s, opacity 1s;
}
.m_nav_list > li.select::before,
.m_nav_list > li:hover::before {
	width: 100%;
	opacity: 1;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#header .m_img .m_nav {
	font-size: 90%;
	bottom: 4%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#header .m_img .m_nav {
	display: none !important;
}
}



/*スクロールメニュー
---------------------------------------------------------*/
.scl_menu {
	display: none;
	position: fixed;
	z-index: 100;
	left: 0;
	top: 0;
	width: 100%;
	background: rgba(255,255,255,0.9);
	text-align: center;
    animation: sclAnimation 1s;
}
.scl_menu.is-fixed {
	display: block;
}

.scl_menu .m_nav_list {
	width: 70%;
}
.scl_menu .col_r {
	width: min(30%,380px);
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
}

.scl_menu .m_nav_list {
    justify-content: center;
}
.scl_menu .m_nav_list > li {
	max-width: 120px;
}
.scl_menu .m_nav_list > li > a {
	font-size: min(100%,1.4vw);
	letter-spacing: normal;
	padding-top: 3em;
	padding-bottom: 1.0em;
	height: 2.8em;
	background-position: center 1.0em;
}
.scl_menu .m_nav_list > li::before {
	top: auto;	/*現在地*/
	bottom: 0;
}

.scl_menu .col_r {
	display: flex;
    justify-content: space-between;
}
.scl_menu .scl_contact {
	width: 60.5%;
	background: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
	text-align: center;
}
.scl_menu .scl_reserve {
	width: 39.5%;
	background: var(--color-web);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.scl_menu .scl_contact dt {
	font-size: min(87%,1.4vw);
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.3em;
	margin-bottom: .5em;
}
.scl_menu .scl_contact dd {
	font-size: min(200%,2.4vw);
}
.scl_menu .scl_reserve a {
	display: block;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.scl_menu {
	display: none !important;
}
}

@keyframes sclAnimation {
	0% {opacity: 0.2;}
	100% {opacity: 1;}
}



/*pagebody
---------------------------------------------------------*/
#pagebody {
	max-height: 100%;
}



/*下層共通
---------------------------------------------------------*/

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
}



/*f_bnr
---------------------------------------------------------*/
.f_bnr {
	background: #fff;
	border-top: solid 1px rgba(188,229,247,0.5);
	border-bottom: solid 1px rgba(188,229,247,0.5);
	padding: 60px 0;
}
.f_bnr .flex {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
}
.f_bnr .flex li {
	width: 16%;
	max-width: 190px;
}
.f_bnr .flex li:last-child {
	width: 30%;
	max-width: 360px;
}
.f_bnr .flex li {
	width: 16%;
	max-width: 190px;
}
.f_bnr2 .flex li:last-child{
	padding-right: 8%;
}
.f_bnr2 .flex li:first-child{
	padding-left: 8%;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.f_bnr {
	padding: 4% 0;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.f_bnr {
	padding: 4% 0;
}
.f_bnr .flex {
	width: 80%;
	margin: 0 auto;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
.f_bnr .flex li {
	width: 48%;
	max-width: 100%;
	margin: .4em 0;
	text-align: center;
}
.f_bnr .flex li:last-child {
	width: 100%;
	max-width: 100%;
	padding-right: 0%;
}
.f_bnr2 .flex li:nth-child(3){
	width: 48%;
	margin: .4em auto;
	max-width: 100%;
}
.f_bnr2 .flex li:first-child{
	padding-left: 0%;
}	
}



/*footer
---------------------------------------------------------*/
#footer {
	background: #fcf3da;
}

#footer .f_info {
	padding-top: var(--gap-80);
	padding-bottom: var(--gap-90);
}
#footer .f_info .in_box {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto var(--gap-80);
	color: #6d6758;
}
#footer .f_info .in_box .flt_l {
	width: 45%;
}
#footer .f_info .in_box .flt_r {
	width: 52%;
	max-width: 570px;
	font-size: 90%;
	letter-spacing: .05em;
	line-height: 1.8em;
}

#footer .in_box .f_clinic {
	color: var(--color-base);
	font-weight: bold;
	letter-spacing: normal;
	line-height: 1.4em;
}
#footer .in_box .f_clinic span {
	display: block;
	font-size: min(200%,2.6vw);
	letter-spacing: .1em;
	line-height: 1.4em;
	margin-top: .2em;
	margin-bottom: .8em;
}
#footer .in_box .f_add,
#footer .in_box .f_kamoku {
	font-size: var(--fs-14);
	letter-spacing: .1em;
	line-height: 1.8em;
}
#footer .in_box .f_add {
	margin-bottom: 30px;
}
#footer .in_box .f_kamoku {
	width: min(100%,450px);
}
#footer .in_box .f_kamoku dt {
	float: left;
}

#footer .in_box .flt_r p {
	margin-bottom: 10px;
}

#footer .f_contact {
	width: 100%;
	display: table;
	table-layout: fixed;
	text-align: center;
	position: relative;
}
#footer .f_contact::before {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
	z-index: 0;
	content: '';
	width: 90%;
	height: 50px;
	box-shadow: 0 15px 20px rgba(0,0,0,.15);
	border-radius: 100px / 30px;
}
#footer .f_contact .f_tel_box,
#footer .f_contact .f_mail {
	display: table-cell;
	vertical-align: middle;
	width: 50%;
	background: #fff;
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	text-align: center;
}

#footer .f_contact .f_tel_box {
	padding-left: 3%;
	padding-right: 8%;
	position: relative;
	z-index: 1;
}
#footer .f_contact .f_tel_box p {
	color: #f58929;
	font-size: 94%;
	font-weight: bold;
	letter-spacing: .05em;
	line-height: 1.4em;
	margin-bottom: 1.0em;
}
#footer .f_contact .f_tel_box dl {
	padding-right: 6%;
}
#footer .f_contact .f_tel_box dt {
	font-size: min(133%,1.8vw);
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.3em;
	margin-bottom: .5em;
}
#footer .f_contact .f_tel_box dd {
	font-size: min(333%,4.1vw);
}
#footer .f_contact .f_tel_box p,
#footer .f_contact .f_tel_box dl {
	position: relative;
	z-index: 1;
}
#footer .f_contact .f_tel_box div {
	position: absolute;
	z-index: 0;
	width: min(17%,101px);
	right: 6%;
	bottom: 0;
}

#footer .f_contact .f_mail {
	background: var(--color-web);
}
#footer .f_contact .f_mail a {
	display: block;
}

#footer .quacareer_bnr{
	margin-top: var(--gap-80);
	width: min(80%,730px);
	margin-inline: auto;
	display: flex;
	justify-content: space-between;
}
#footer .quacareer_bnr li{
	width: 48.5%;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#footer .in_box .f_clinic {
	margin-bottom: 1.5em;
}
#footer .in_box .f_add,
#footer .in_box .f_kamoku {
	letter-spacing: .05em;
}
#footer .in_box .f_add {
	margin-bottom: 1.5em;
}
#footer .f_contact {
	display: block;
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
}

#footer .f_contact .f_tel_box,
#footer .f_contact .f_mail {
	display: block;
	width: 100%;
}

#footer .f_contact .f_tel_box {
	padding: 3% 3%;
}
#footer .f_contact .f_tel_box dd {
	font-size: 320%;
}
#footer .f_contact .f_tel_box div {
	width: min(14%,101px);
	right: 3%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#footer .f_info .in_box .flt_l {
	float: none;
	width: 100%;
	margin-bottom: var(--gap-60);
}
#footer .f_info .in_box .flt_r {
	float: none;
	width: 100%;
	letter-spacing: normal;
}

#footer .in_box .f_clinic span {
	font-size: 145%;
	letter-spacing: .05em;
	margin-bottom: .5em;
}
#footer .in_box .f_add,
#footer .in_box .f_kamoku {
	letter-spacing: normal;
}
#footer .in_box .f_add {
	margin-bottom: var(--gap-40);
}
#footer .in_box .f_kamoku {
	width: 100%;
}
#footer .in_box .f_kamoku dt {
	float: none;
}

#footer .in_box .flt_r p {
	margin-bottom: .5em;
}
	
#footer .f_contact .f_tel_box,
#footer .f_contact .f_mail {
	display: block;
	width: 100%;
}

#footer .f_contact .f_tel_box {
	padding: 4vw 3%;
}
#footer .f_contact .f_tel_box dt {
	font-size: 100%;
}
#footer .f_contact .f_tel_box dd {
	font-size: 210%;
}
#footer .f_contact .f_tel_box div {
	width: 14%;
	right: 3%;
}

#footer .f_contact li::before {
	right: 10px;
	top: 10px;
	border-width: 0 6px 6px 0;
}
#footer .quacareer_bnr{
	display: block;
}
#footer .quacareer_bnr li{
	width: 100%;
}
#footer .quacareer_bnr li:last-child{
	margin-top: 8%;
}
}



/*サイトマップ
---------------------------------------------------------*/
#f_sitemap {
	background: #fff url(../images/f_sitemap_bg.jpg) no-repeat right top;
	background-size: contain;
	position: relative;
	font-size: var(--fs-13);
	letter-spacing: .1em;
	line-height: 1.6em;
	padding: var(--gap-90) 0;
}
#f_sitemap .f_smile {
	width: min(30vw,410px);
	position: absolute;
	z-index: 0;
	right: 3%;
	top: 30px;
}
#f_sitemap .w1100 {
	position: relative;
	z-index: 1;
}

#f_sitemap .in_box {
	width: 100%;
	max-width: 820px;
}
#f_sitemap .in_box > div {
	float: left;
	width: 30%;
}
#f_sitemap .in_box .f_med_list {
	width: 40%;
}

#f_sitemap .f_med_list ul {
	float: left;
	width: 50%;
}

#f_sitemap h6 {
	color: #6d6758;
	font-weight: normal;
	margin-bottom: .6em;
}
#f_sitemap ul li {
	margin-bottom: .6em;
}
#f_sitemap ul a {
	display: inline-block;
	padding-left: 1.5em;
	position: relative;
}
#f_sitemap ul a::before {
	font-family: 'fontello';
	content: '\e801';
	font-size: 40%;
	position: absolute;
	left: 0;
	top: .2em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#f_sitemap {
	padding: 5% 0;
}
#f_sitemap .f_smile {
	top: auto;
	bottom: 6%;
}

#f_sitemap .in_box > div {
	width: 28%;
}
#f_sitemap .in_box .f_med_list {
	width: 44%;
}
}

/* スマホ以上
------------------------------------------*/
@media only screen and (min-width: 767px) {
#f_sitemap .smap_btn {
	display: none;
}
#f_sitemap .open_area {
	display: block;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#f_sitemap {
	background-size: 100% auto;
}
#f_sitemap .f_smile {
	width: 50%;
	right: 0;
	top: auto;
	bottom: 3%;
}

#f_sitemap .in_box {
	max-width: 100%;
}
#f_sitemap .in_box > div {
	float: none;
	width: 100%;
}
#f_sitemap .in_box .f_med_list {
	width: 100%;
}

#f_sitemap .f_med_list ul {
	float: left;
	width: 50%;
}

#f_sitemap .f_page_list li {
	float: left;
	width: 50%;
	box-sizing: border-box;
}

#f_sitemap h6 {
	display: none;
}
#f_sitemap .smap_btn {
	display: block;
	font: var(--font-en);
	font-size: 120%;
	font-weight: normal;
	letter-spacing: .1em;
	line-height: 1.2em;
}
#f_sitemap .open_area {
	display: none;	/* メニュー初期状態 */
	padding-top: 1.0em;
}
#f_sitemap .f_page_list,
#f_sitemap .f_med_list {
	margin-bottom: 6%;
}
}



/*コピーライト
---------------------------------------------------------*/
#f_copyright {
	background: #a77d5d;
	color: #fff;
    justify-content: space-between;
    align-items: center;
}
#f_copyright .ft_en {
	padding-left: 3%;
	text-align: left;
	letter-spacing: .1em;
	line-height: 1.4em;
}
#f_copyright .bnr_grand {
	width: min(30%,380px);
	text-align: left;
	background: linear-gradient(135deg,  rgba(255,255,255,0.1) 0%,rgba(255,255,255,0) 100%);
}
#f_copyright .bnr_grand a {
	display: block;
	padding: 50px 0 40px;
	padding-left: 40%;	/*揃える*/
	position: relative;
	overflow: hidden;
}
#f_copyright .bnr_grand a::before {
	content: "";
	position: absolute;
	width: 16px;
	height: 16px;
	right: 20px;
	top: 20px;
	background: url(../images/grand_icon.svg) no-repeat center center;
	background-size: 16px 16px;
}
#f_copyright .bnr_grand a::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 40%;	/*揃える*/
	height: 100%;
	background: url(../images/grand_logo.png) no-repeat center center;
	background-size: 50% auto;
}
#f_copyright .bnr_grand img {
	margin-left: 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#f_copyright {
    align-items: flex-start;
}
#f_copyright .ft_en {
	width: 50%;
	box-sizing: border-box;
	padding: 8vw 3% 0;
	font-size: 70%;
}
#f_copyright .bnr_grand {
	width: 50%;
}
#f_copyright .bnr_grand a {
	padding: 1.5em 6%;
	padding-left: 30%;
}
#f_copyright .bnr_grand a::after {
	width: 30%;
}
#f_copyright .bnr_grand a::after {
	background-size: 70% auto;
}
#f_copyright .ft_didact,
#f_copyright .bnr_grand {
	padding-bottom: 20vw;
}
}



/*pagetop
---------------------------------------------------------*/
#page_top {
	width: 8%;
	max-width: 80px;
	position: fixed;
	bottom: 10px;
	right: 10px;
	z-index: 9999;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#page_top {
	display: none !important;
}
}



/*スマホフッター
---------------------------------------------------------*/
#sp_footer {
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 999;
	width: 100%;
	box-shadow: 0px -10px 30px -8px rgba(0,0,0,0.2);
}
#sp_footer ul {
	width: 100%;
	display: table;
	table-layout: fixed;
	text-align: center;
}
#sp_footer li {
	display: table-cell;
	vertical-align: middle;
	width: 43%;
	box-sizing: border-box;
	padding: 5px 3px 8px;
	position: relative;
}
#sp_footer li:last-child {
	width: 14%;
}
#sp_footer li.sp_f_tel {background: #fff;}
#sp_footer li.sp_f_web {background: #f5a737;}
#sp_footer li.sp_f_top {background: rgba(73,65,46,0.5);}
#sp_footer li.sp_f_tel dt {
	font-size: 60%;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.2em;
	margin-bottom: .1em;
}
#sp_footer li.sp_f_tel dd {
	font-size: 130%;
}
#sp_footer li.sp_f_tel p {
	font-size: 55%;
	line-height: 1.0em;
	margin-top: .2em;
}
#sp_footer li.sp_f_tel p .icon-arrow2 {
	font-size: 60%;
	display: inline-block;
	vertical-align: middle;
	transform: translateY(-.2em);
	margin: 0 .2em;
	opacity: 0.6;
}
#sp_footer li.sp_f_web a {
	display: block;
	padding: .2em 0;
}
#sp_footer li.sp_f_top a {
	display: block;
	font: var(--font-en);
	color: #fff;
	font-size: 90%;
	letter-spacing: .1em;
	line-height: 1.1em;
	padding-bottom: .5em;
}
#sp_footer li.sp_f_top span {
	display: block;
	padding-top: 1.2em;
	position: relative;
}
#sp_footer li.sp_f_top span::before {
	font-family: 'fontello';
	content: '\e801';
	font-size: 50%;
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	top: 0;
	transform: rotate(-90deg);
}


/* PC
------------------------------------------*/
@media only screen and (min-width: 768px)  {
.tb_only{display:none !important;}
.sp_only{display:none !important;}
.sp_tb{display:none !important;}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.pc_only{display:none !important;}
.tb_only{display:inherit !important;}
.sp_only{display:none !important;}
.tb_pc{display:inherit !important;}
.sp_tb{display:inherit !important;}

/*body{background:#ccc;}*/
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.pc_only{display:none;}
.tb_only{display:none;}
.sp_only{display:inherit;}
.tb_pc{display:none;}
.sp_tb{display:inherit;}
}

/* Mobile (Landscape)
------------------------------------------*/
@media only screen and (min-width: 480px) and (max-width: 767px) {}