@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@700&family=Shippori+Mincho&display=swap');
body {
	font-family: "Hiragino Kaku Gothic ProN","Hiragino Sans","游ゴシック","Yu Gothic",Meiryo,sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #524936;
	font-size: 15px;
	letter-spacing: 0.11em;
	line-height: 2.4;
	padding:0;
	margin:0;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background: #fefdfa;
}
.fs17{
	font-size: 17px;
	line-height: 2.7;
}
.fs17_2{
	font-size: 17px;
	line-height: 1.8;
}

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-weight: 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: separate;
	border-spacing: 0;
}

address{
	font-style:normal;
}

ul,ol{
	list-style:none;
}

a{
	color: inherit;
	text-decoration: none;
	outline: 0;
	transition: color 0.4s, background-color 0.4s;
}

i {font-weight: normal !important;}	/*アイコンフォント*/

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

.clearfix {
  min-height: 1px;
}

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

strong{
	font-weight: normal;
}

/*<group=style>*/
.fw_bold{font-weight: bold;}
.fw_mid {font-weight: 500;}
.fw_reg {font-weight: 400;}
/*</group>*/

/*<group=text_align>*/
.txt_al_l{text-align:left;}
.txt_al_r{text-align:right;}
.txt_al_c{text-align:center;}
.sp_txt_l{text-align:center;}
/*</group>*/

/*<group=float>*/
.flt_l{float:left;}
.flt_r{float:right;}	
/*</group>*/

.blocklink,
.blocklink_out {
	cursor:pointer;
}

.img_max {
	width: 100% !important;
	max-width: initial !important;
}
.change_img img {margin-left: auto; margin-right: auto;}

/* スマホで電話をかけるボタン：画像対応 */
.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;
}

.com_txt_link{
	text-decoration: underline;
}
.com_txt_link:hover{
	text-decoration: none;
}

.radi_10{
	border-radius: 10px;
}
.radi_20{
	border-radius: 20px;
}
.ft_min{
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}
.ft_lato{
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.col_normal, .col_normal a{color: #524936!important;}
.green,.green a{color: #69c79d!important;}
.green2,.green2 a{color: #7cd1c2!important;}
.pink,.pink a{color: #ff9998!important;}
.pink2,.pink2 a{color: #e49dc1!important;}
.red,.red a{color: #d66436!important;}
.white,.white a{color: #fff!important;}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
body {
	letter-spacing:normal;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
body {
	font-size:14px;
	letter-spacing:normal;
	line-height: 2;
}
.fs17{
	font-size: 15px;
	line-height: 2.2;
}
.fs17_2{
	font-size: 15px;
	line-height: 1.6;
}
	
.radi_10{
	border-radius: 5px;
}
.radi_20{
	border-radius: 10px;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/* スマホのときはビューポートを基準にサイズ調節する */
/* スマホ時：emまたは%で指定する */
/* スマホ以外でビューポート基準にするときは、その都度「vw」で指定する */
body {
	font-size: 4vw;
	letter-spacing: normal;
	line-height: 2;
}
.fs17{
	font-size: 105%;
	line-height: 2;
}
.fs17_2{
	font-size: 105%;
	line-height: 1.8;
}
	
.radi_10{
	border-radius: 5px;
}
.radi_20{
	border-radius: 10px;
}
	
/*<group=text_align>*/
.sp_txt_l{text-align:left;}	
.sp_txt_c{text-align:center;}
/*</group>*/
}



/*共通
---------------------------------------------------------*/
.flex_box{
	display: flex;
    justify-content: space-between;
}
.max_1500 {
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
}
.max_width,
.w1500,
.w1400,
.w1360,
.w1300,
.w1230,
.w1200{
	width: 92%;
	padding: 0 4%;
	margin-left: auto;
	margin-right: auto;
}
.w1500 {max-width: 1500px;}
.w1400 {max-width: 1400px;}
.w1360 {max-width: 1360px;}
.w1300 {max-width: 1300px;}
.w1230 {max-width: 1230px;}
.w1200 {max-width: 1200px;}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) { 
.max_width,
.w1500,
.w1400,
.w1360,
.w1300,
.w1230,
.w1200{
	width: 90%;
	padding: 0 5%;
}
}




/*アニメーション
---------------------------------------------------------*/
/*その場でフェードしながら出てくる*/
.fadein {
	opacity: 0;
	transition: opacity 1s ease;
}
.anime_on .fadein,
.anime_on.fadein {
	opacity: 1;
}

/*下からフェードしながら出てくる*/
.fadeup {
	opacity: 0;
	transform: translateY(20px);
	transition: all 1s ease;
}
.anime_on .fadeup,
.anime_on.fadeup {
	opacity: 1;
	transform: translateY(0px);
}

/*上からフェードしながら出てくる*/
.fadedown {
	opacity: 0;
	transform: translateY(20px);
	transition: all 1s ease;
}
.anime_on .fadedown,
.anime_on.fadedown {
	opacity: 1;
	transform: translateY(0px);
}

/*その場でズームしながら出てくる*/
.fadezoom {
	opacity: 0;
	transform: scale(0.9);
	transition: all .5s ease;
}
.anime_on .fadezoom,
.anime_on.fadezoom {
	opacity: 1;
	transform: scale(1.0);
}

/*遅れて */
.anime_dilay_2 {transition-delay: .2s;}
.anime_dilay_4 {transition-delay: .4s;}
.anime_dilay_6 {transition-delay: .6s;}
.anime_dilay_8 {transition-delay: .8s;}
.anime_dilay_10 {transition-delay: 1.0s;}




/*swiper共通設定
---------------------------------------------------------*/
.swiper { display: none;}
.swiper.swiper-initialized { display: block;}
.swiper-fade .swiper-slide {
    transition-property: opacity !important;	/* フェードモード時 共通調整 */
}
.swip_ticker .swiper-wrapper {
	transition-timing-function: linear !important;	/*滑らかに流れ続ける*/
}

/*ドット
.swip-pagination {
	display: flex;
	margin-top: 1.2em;
	z-index: 1;
}
.swip-pagination .swiper-pagination-bullet {
	position: relative;
	cursor: pointer;
	display: block;
	width: 1em;
	height: 1em;
	border-radius: 50%;
	background: transparent;
	box-sizing: border-box;
	border: 1px solid #45858c;
	margin: 0 1.6em 0 0 !important;
	opacity: 1 !important;
	transition: all 0.4s;
}
.swip-pagination .swiper-pagination-bullet-active,
.swip-pagination .swiper-pagination-bullet:hover {
	background: #99e0dc;
}



/*wrapper
---------------------------------------------------------*/
#wrapper{
	overflow: hidden;
}




/*アコーディオン
---------------------------------------------------------*/
.open_btn {
	cursor: pointer;
}
.open_box {
	display: none;
}
.icon_open {
	letter-spacing: normal;
	line-height: 1em;
	display: inline-block;
	vertical-align: middle;
	width: 1.5em;
	height: 1.5em;
	margin-left: .5em;
	transform: translateY(-.1em);
	position: relative;
	transition: transform .4s;
	background: #fff;
	border-radius: 50%;
}
.icon_open::before,
.icon_open::after {
	display: inline-block;
	content: "";
	position: absolute;
	width: .7em;
	height: 2px;
	background: #524936;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	border-radius:5px;
}
.icon_open::after{
  transform: rotate(90deg);
  transition: transform 0.4s;
}
.open_btn.active .icon_open::after{
  transform: rotate(0deg);
}















/*スマホフッター
---------------------------------------------------------
@media only screen and (min-width: 768px) {
#sp_footer {display: none !important;}}

#sp_footer{
	position: fixed;
	left: 0;
	bottom:0;
	z-index: 99999;
	width: 100%;
}*/





/* com_slide
---------------------------------------------------------*/
.com_slide .swiper-slide{
	width: min(590px,40vw);
	aspect-ratio: 590 / 390;
}
.com_slide .swiper-slide img{
	width: 100%!important;
	height: 100%!important;
}

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

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_slide .swiper-slide{
	width: 60vw;
}
}




/* drawer
---------------------------------------------------------*/
.drawer_inbox{
	padding: 20px;
}
.drawer_inbox li{
	margin-bottom: .5em;
}
.drawer_inbox li:last-child{
	margin-bottom: 0;
}
.drawer_inbox li a{
	display: flex;
    justify-content: space-between;
    align-items: center;	
	font-size:95%;
	line-height: 1em;
	background: #fff;
	padding: .9em 1em;
	box-sizing: border-box;
	border-radius: 10px;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.1));
}
.drawer_inbox li a .img{
	width: 3em;
}
.drawer_inbox li a .txt{
	width: 8em;
}
.drawer_inbox li a:hover{
	background: rgba(227,223,199,1);
}
.drawer_inbox li.nav_dr a:hover{background: rgba(61,175,182,1);}
.drawer_inbox li.nav_dh a:hover{background: rgba(255,155,179,1);}
.drawer_inbox li.nav_ho a:hover{background: rgba(254,190,105,1);}
.drawer_inbox li.nav_ji a:hover{background: rgba(172,215,105,1);}

.drawer_inbox li a i{
	font-size: 75%;
	color: #fff;
}
.drawer_inbox li a:hover i{
	background: #fff;
}
.drawer_inbox li.nav_home a i{
	opacity: 0;
}
.drawer_inbox li.nav_dr a:hover i{color: #3dafb6;}
.drawer_inbox li.nav_dh a:hover i{color: #ff9bb3;}
.drawer_inbox li.nav_ho a:hover i{color: #febe69;}
.drawer_inbox li.nav_ji a:hover i{color: #acd769;}

/* 高さ：1050px以下
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-height: 500px) {
.drawer_inbox li a{	
	font-size: 2.8vh;
}
}

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

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.drawer_inbox{
	padding: 3vw;
}
.drawer_inbox li a{
	font-size:105%;
}
.drawer_inbox li a .txt{
	margin-left: .5em;
	margin-right: .8em;
}
.drawer_inbox li a .txt img{
	width: 100%;
	height: auto;
}
.drawer_inbox li a i{
	font-size: 70%;
	padding: 1em .95em 1em .75em!important;
}
}





/* header
---------------------------------------------------------*/
header{
	position: absolute;
	top:0;
	left: 0;
	padding-top: min(35px,3vw);
	padding-left: min(60px,4vw);
	padding-right: min(60px,4vw);
	width: 100%;
}
header::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/grd_green@2x.png")no-repeat top left;
	background-size: 100% auto;
	width: 38%;
	height: 611px;
	top:-170%;
	left:15%;
	transform: translate(-50% -50%); 
	aspect-ratio: 611 / 611;
}
header .h_inbox{
	position: relative;
	z-index: 2;
}
header .h_logo{
    font-size: min(100%,1.1vw);
	display: flex;
    justify-content: start;
    align-items: center;	
}
header .h_logo .span1{
	font-size:115%;
	letter-spacing: 0.2em;
	line-height: 1em;
	padding-right: .7em;
	box-sizing: border-box;
}
header .h_logo .span2{
	font-size:255%;
	letter-spacing: 0.1em;
	line-height: 1em;
}
header .h_logo .span3{
	font-size: 135%;
	letter-spacing: 0.15em;
	line-height: 1em;
	margin-left: 1em;
}
header h1{
    font-size: min(100%,1.45vw);
	line-height: 1em;
	letter-spacing: 0.17em;
	margin-top: 1.3em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
header{
	padding-top: 2.5vw;
	padding-left: 3vw;
	padding-right:3vw;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
header,
header .h_inbox{
	position:static;
}
header::before{
	width: 65%;
	top: -5em;
	left: 15%;
}
header h1{
	position: absolute;
	top:calc(100% + .9em);
	left: 0;
	right: 0;
	margin: 0 auto;
	text-align: center;
    font-size: 90%;
	line-height: 1.5em;
	margin-top: 0;
}
	
header .h_logo{
	position: relative;
	z-index: 2;
    font-size:2.5vw;
	display: block;
	margin-bottom: .9vw;
}
header .h_logo span{
	display: block;
}
header .h_logo .span1{
	padding-right: 0;
}
header .h_logo .span2{
	margin: .2em 0 .35em;
}
header .h_logo .span3{
	margin-left: 0;
}
}




/* h_right
---------------------------------------------------------*/
.h_right{
	position:fixed;
	top:min(25px,2.6vw);
	right: 0;
	padding-right:min(8.5rem,9vw);
	box-sizing: border-box;
	
	display: flex;
    justify-content: start;
    align-items: center;	
	z-index: 999;
}
.h_right .com_btn1 a{
    font-size: min(100%,1.1vw);
}

.com_btn1_list{
	text-align: center;
}
.com_btn1_list .com_btn1{
	margin-right: 1.5em;
}
.com_btn1_list .com_btn1:last-child{
	margin-right: 0;
}
.com_btn1{
	display: inline-block;
	text-align: center;
}
.com_btn1 a{
	background: linear-gradient(to right,  #755543 0%,#93705b 100%); 
	color: #fff;
	font-weight: bold;
	padding: .9em 1em .9em 2em;
	box-sizing: border-box;
	line-height: 1.5em;
	border-radius: 10px;
	display: flex;
    justify-content: start;
    align-items: center;
	text-align: left;
    font-size: min(100%,1.4vw);
}
.com_btn1 a span{
	margin-right: .5rem;
}
.com_btn1 a span:last-child{
	margin-right: 0;
}
.com_btn1 a .ft_lato{
	font-size:150%;
	letter-spacing: 0.2em;
	line-height: 1em;
}
.com_btn1 a .fs16{
	letter-spacing: 0.2em;
}
.com_btn1 a .fs17{
	letter-spacing: 0.2em;
}
.com_btn1 a i{
	margin-left: 1em;
}
.com_btn1.type_white a{
	background: #fff; 
	color: #524936;
}
.com_btn1.type_white a .icon-arrow1{
	background: #efefe0; 
}
.com_btn1.type_white a:hover .icon-arrow1{
	background: #524936; 
	color: #efefe0;
}

.com_btn1 .waku{
	background: #fff;
	border-radius: 50px;
	color: #524936;
	padding: .25em 1.5em .15em;
	box-sizing: border-box;
	letter-spacing: 0.2em;
	font-size:110%;
	margin-right: 1em
}

.com_tel{
	background: #fff;
	border-radius: 50%;
	padding: .6em .4em;
	box-sizing:border-box;
	font-size:min(180%,2vw);
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.15));
	margin-right: .8em;
	line-height: 1em!important;
	letter-spacing: normal!important;
}

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

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.h_right{
	position:fixed;
	top:auto;
	bottom: 2vw;
	right: 0;
	left: 0;
	margin: 0 auto;
	padding-right:0;
	justify-content: center;
	width: 92%;
}
.h_right .com_btn1{
	width: calc(100% - 18vw)!important;
	margin-left: auto;
	margin-right: 0;
}
.h_right .com_btn1 a{
    font-size: 3.2vw;
}

.com_btn1_list .com_btn1{
	margin-right: auto!important;
	margin-bottom: 1em;
}
.com_btn1_list .com_btn1:last-child{
	margin-bottom: 0;
}
	
.com_btn1{
	width: 90%!important;
	display: block!important;
	margin: 0 auto;
}
.com_btn1 a{
	position: relative;
	width: 100%!important;
	display: block!important;
	padding: 1.5em 1em 1.3em 2em;
    font-size: 3.5vw;
}
.com_btn1 a span{
	margin-right: .5rem;
}
.com_btn1 a span:last-child{
	margin-right: 0;
}
.com_btn1 a .ft_lato{
	display: inline-block;
	font-size:140%;
	letter-spacing: 0.2em;
}
.com_btn1 a .fs16,
.com_btn1 a .fs17{
	letter-spacing: 0.1em;
}
.com_btn1 a i{
	position: absolute;
	font-size: 2.5vw;
	top: 50%!important;
	transform: translateY(-50%);
	right: 1.2em;
	margin-left: 0;
}
.com_btn1 a i.type_ank{
	transform: translateY(-50%) rotate(90deg)!important;
}
	
.com_btn1 .waku{
	padding: .25em .5em .2em;
	letter-spacing: 0.05em;
	font-size:100%;
	margin-right: .3em
}

.com_tel{
	font-size: 6vw;
	margin-right: 0;
}
}




/* icon
---------------------------------------------------------*/
.icon-arrow1{
	position: relative;
	display: inline-block;
	background: #fff;
	border-radius: 50%;
	padding: 1em .9em 1em .7em!important;
	box-sizing: border-box;
	line-height: 1em!important;
	letter-spacing: normal!important;
	color: #524936;
	transition: 0.4s;
}
.h_right .icon-arrow1{
	padding: 1.05em .9em .95em .7em!important;
}
.drawer_inbox .icon-arrow1{
	padding: 1em .9em .85em .7em!important;
}

.icon-arrow1.type_ank{
	transform: rotate(90deg);
}
.blocklink_ank:hover a .icon-arrow1,
.blocklink:hover a .icon-arrow1,
a:hover .icon-arrow1{
	background: #524936;
	color: #fff;
	transition: 0.4s;
}

.icon-arrow_out{
	position: relative;
	display: inline-block;
	background: #fff;
	border-radius: 50%;
	padding: 1em .9em 1em .7em!important;
	box-sizing: border-box;
	line-height: 1em!important;
	letter-spacing: normal!important;
	color: #524936;
	font-size:80%;
	transition: 0.4s;
}
.icon-arrow_out.no_bg{
	background: none!important;
	color: #524936!important;
	padding: 0;
}
a:hover .icon-arrow_out{
	background: #524936;
	color: #fff;
	transition: 0.4s;
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.icon-arrow1.type_ank_sp{
	transform: translateY(-50%) rotate(90deg)!important;
}
.h_right .icon-arrow1{
	padding: 1.1em .9em .9em .7em!important;
}
}







/* m_nav
---------------------------------------------------------*/
.m_nav{
	max-width: 1248px;
	width: 92%;
	margin: min(-80px,-5vw) auto 0;
	position: relative;
	z-index: 3;
}
.contentpage .m_nav{
	margin: -116px auto 0;
}

.m_nav ul{
	display: flex;
    justify-content: space-between;
}
.m_nav ul li{
	width: 18.5%;
	background: #fff;
	/*filter: drop-shadow(0 0 15px rgba(0,0,0,0.15));*/
	box-shadow: 0 0 30px -15px rgba(0, 0, 0, .5); 
	transition: 0.4s;
}
.m_nav ul li:hover{
	background:rgba(227,223,199,1);
	transition: 0.4s;
}
.m_nav ul li.nav_dr:hover{background:rgba(61,175,182,1);}
.m_nav ul li.nav_dh:hover{background:rgba(255,155,179,1);}
.m_nav ul li.nav_ho:hover{background:rgba(254,190,105,1);}
.m_nav ul li.nav_ji:hover{background:rgba(172,215,105,1);}

.m_nav ul li a{
	position: relative;
	display: block;
	padding: min(35px,2.5vw) 0 min(70px,6.5vw);
	text-align: center;
}
.m_nav ul li a .img{
	display: block;
	width: 40%;
	margin: 0 auto min(20px,2vw);
}
.m_nav ul li a .txt{
	display: block;
	width: 57%;
	margin: 0 auto;
}
.m_nav ul li a .icon-arrow1{
	position: absolute;
	bottom: 1em;
	right: 1em;
	color: #fff;
    font-size: min(100%,1.3vw);
}
.nav_dr a .icon-arrow1{background: #3dafb6;}
.nav_dh a .icon-arrow1{background: #ff9bb3;}
.nav_ho a .icon-arrow1{background: #febe69;}
.nav_ji a .icon-arrow1{background: #acd769;}

.m_nav a:hover .icon-arrow1{background: #fff;}

.nav_dr a:hover .icon-arrow1{color: #3dafb6;}
.nav_dh a:hover .icon-arrow1{color: #ff9bb3;}
.nav_ho a:hover .icon-arrow1{color: #febe69;}
.nav_ji a:hover .icon-arrow1{color: #acd769;}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.contentpage .m_nav{
	margin: -10vw auto 0;
}
}

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




/* present
---------------------------------------------------------*/
.com_present_index{
	width: 75%;
	max-width: 712px;
	margin: 0 auto;
}
.com_present_open{
	width: 80%;
	max-width: 580px;
	margin:20px auto 0;
	text-align: center;
	background: #ff9bb3;
	padding:15px 1.5rem;
	box-sizing: border-box;
	transition: 0.4s;
}
.com_present_open:hover{
	background: #eb708e;
	transition: 0.4s;
}
.com_present_open .open_btn{
	position: relative;
	text-align: center;
	color: #fff;
	font-weight: bold;
	line-height: 1em;
    font-size: min(100%,2vw);
}
.com_present_open .open_btn .icon_open{
	position: absolute;
	top:50%;
	transform: translateY(-50%); 
	right: 1em;
}
.com_present_open .open_btn.active .normal_txt{
	display: none;
}
.com_present_open .open_btn .close_txt{
	display: none;
}
.com_present_open .open_btn.active .close_txt{
	display: block;
}

.com_present_open .open_box{
	background: #fff;
	margin: 15px 0 10px;
	padding: 1.5rem;
	box-sizing: border-box;
	text-align: left;
}
.com_present_open .open_box li{
	font-size:95%;
	line-height: 1.5em;
	position: relative;
	padding-left: 1em;
	margin-bottom: .8em;
	box-sizing: border-box;
}
.com_present_open .open_box li::before{
	position:absolute;
	display: block;
	content: "";
	background: #ff9bb3;
	background-size: 100% auto;
	width: .4em;
	height: .4em;
	border-radius: 50%;
	top:.45em;
	left: 0;
}
.com_present_open .open_box li:last-child{
	margin-bottom: 0;
}

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

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_present_index{
	width: 90%;
}
.com_present_open{
	width: 100%;
	max-width: 100%;
	margin:4% auto 0;
	padding: .8em 1.5rem;
}
.com_present_open .open_btn{
    font-size: 100%;
}
}





/* com_tel2
---------------------------------------------------------*/
.com_tel2{
	font-size:min(110%,1.6vw);
	letter-spacing: 0.1em;
	line-height: 1.6em;
	display: flex;
    justify-content: center;	
    align-items: center;	
}
.com_tel2 dt{
	font-weight: bold;
	margin-right: 2em;
}
.com_tel2 dd{
	width: 25em;
}
.com_tel2_memo{
	font-size:95%;
	line-height: 1.6em;
	margin-top: 1.5em;
}
.com_tel2_memo li{
	display: inline-block;
	margin-right: .5em;
}
.com_tel2_memo li:last-child{
	margin-right: 0;
}


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

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_tel2{
	font-size: 100%;
	display: block;	
	text-align: center;
}
.com_tel2 dt{
	margin-right: 0;
	margin-bottom: .8em;
}
.com_tel2 dd{
	width: 100%;
}
.com_tel2_memo{
	font-size:90%;
	text-align: left;
	margin-top: 1.3em;
}
}




/* com_insta
---------------------------------------------------------*/
.com_insta a{
	background: #efefe0;
	line-height: 1em;
	font-weight: bold;
	display: flex;
    align-items: center;
	font-size:min(95%,1.2vw);
	letter-spacing: 0.15em;
	padding: .7em 1em;
	box-sizing: border-box;
	border-radius: 8px;
}
.com_insta a span:nth-child(2){
	margin: 0 .5em;
}

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

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_insta a{
	font-size: 80%;
	letter-spacing: 0.1em;
}
}




/* footer
---------------------------------------------------------*/
footer .f_bg{
	padding: min(80px,6vw) 0 min(65px,4.5vw);
}
footer .f_box1{
	position: relative;
	border-bottom: 1px solid #efefe0;
	padding-bottom: min(70px,5vw);
	margin-bottom: min(50px,3vw);
}
footer .f_box1::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/grd_yellow@2x.png")no-repeat top left;
	background-size: 100% auto;
	width:80%;
	height:982px;
	top: -280%;
	left:-50%;
	transform: translate(-50% -50%); 
	aspect-ratio: 982 / 982;
	z-index: -1;
}

footer .f_box1 .f_box1_l{
	width: 70%;
	padding-top: min(30px,2vw);
}
footer .f_box1 .f_box1_l .f_logo{
	position: relative;
    font-size: min(100%,1.3vw);
	padding-left: 9.5em;
	box-sizing: border-box;
	margin-bottom: min(100px,8vw);
	display: flex;
    align-items: center;
	flex-wrap: wrap;	
}
footer .f_box1 .f_box1_l .f_logo::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/f_logo@2x.png")no-repeat top left;
	background-size: 100% auto;
	width: 8em;
	height: 8em;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}
footer .f_box1 .f_box1_l .f_logo .span1{
	display: block;
	width: 100%;
	line-height: 1em;
	letter-spacing: 0.15em;
	margin-bottom: .7em;
}
footer .f_box1 .f_box1_l .f_logo .span2{
	line-height: 1em;
	font-size:200%;
	letter-spacing: 0.1em;
}
footer .f_box1 .f_box1_l .f_logo .span3{
	line-height: 1em;
	font-size:130%;
	letter-spacing: 0.15em;
}
.com_insta_list .com_insta{
	display: inline-block;
}
.com_insta.no_bg a{
	background: none;
	border-right: 1px solid #524936;
	border-radius: 0;
	padding: 0 1.8em 0 1.3em;
}
.com_insta_list .com_insta.no_bg:last-child a{
	border-right: none;
	padding-right: 0;
}

footer .f_box1 .f_box1_r{
	width: 26%;
}
footer .f_box1 .f_box1_r li{
	font-size:95%;
	line-height: 1.6em;
	font-weight: bold;
	margin-bottom: min(1.8em,1.6vw);
}
footer .f_box1 .f_box1_r li:last-child{
	margin-bottom: 0;
}
footer .f_box1 .f_box1_r li a:hover{
	text-decoration: underline;
}

footer .com_contact{
	margin-bottom: min(80px,6vw);
}
.com_contact{
	display: flex;
    justify-content: center;
    align-items: center;	
}
.com_contact .com_tel2{
	margin-right: 2em;
}
.com_contact .com_tel2 .sp_tel_btn{
	width: 20em;
}

footer .f_box2{
	position: relative;
	display: flex;
    justify-content: space-between;
	align-items: flex-end;	
}
footer .f_box2::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/grd_green@2x.png")no-repeat bottom right;
	background-size: 100% auto;
	width:80%;
	height:982px;
	bottom: -400%;
	right:-40%;
	transform: translate(-50% -50%); 
	aspect-ratio: 982 / 982;
	z-index: -1;
}

footer .f_box2_inbox{
	width: calc(100% - 10rem);
	display: flex;
    justify-content: space-between;
	align-items: flex-end;	
}
footer .f_box2_inbox .bnr{
	display: flex;
    justify-content: space-between;
	width: 58%;
	max-width: 577px;
}
footer .f_box2_inbox .bnr li{
	width: 48%;
}
footer .f_box2_inbox .copyright{
	width: 38%;
	font-size:90%;
	line-height: 1.6em;
	letter-spacing: 0.15em;
}
footer .f_box2 .pagetop{
	width: 8rem;
	text-align: right;
	font-size:95%;
	line-height: 1em;
	letter-spacing: 0.25em;
}
footer .f_box2 .pagetop:hover{
	color: #fe937b;
}
footer .f_box2 .pagetop i{
	margin-right: .5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
footer .f_box2_inbox .copyright{
	letter-spacing: normal;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
footer .f_bg{
	padding: 12% 0 22vw;
}
footer .f_box1{
	display: block;
	padding-bottom: 8%;
	margin-bottom:8%;
}
footer .f_box1 .f_box1_l{
	width: 100%;
	padding-top: 0;
}
footer .f_box1 .f_box1_l .f_logo{
    font-size: 80%;
	padding-left: 7em;
	margin-bottom: 8%;
	display: flex;
    align-items: center;
	flex-wrap: wrap;	
}
footer .f_box1 .f_box1_l .f_logo::before{
	width: 6.2em;
	height: 6.2em;
}
footer .f_box1 .f_box1_l .f_logo .span1{
	display: block;
	width: 100%;
	line-height: 1em;
	letter-spacing: 0.15em;
	margin-bottom: .7em;
}
footer .f_box1 .f_box1_l .f_logo .span2{
	letter-spacing: 0em;
	margin-bottom: .5em;
}

.com_insta_list{
	display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.com_insta_list .com_insta{
	display: inline-block;
}
.com_insta_list .com_insta a{
	letter-spacing: normal;
	padding:.5em .8em!important;
}
.com_insta.no_bg a{
	background: none;
	border-right: none;
	border-radius: 0;
	padding: 0;
}
.com_insta_list .com_insta.no_bg:last-child a{
	border-right: none;
	padding-right: 0;
}
.com_insta_list li{
	letter-spacing: normal;
	width: 50%;
	margin-top:.3em;
}
.com_insta_list li:last-child{
	width: 100%;
}
.com_insta_list li:nth-child(-n+2){
	margin-top: 0;
}
.com_insta_list li .icon-arrow_out{
	padding:0!important;
	margin-left: .5em;
}
	
footer .f_box1 .f_box1_r{
	width:100%;
	margin-top: 5%;
}
footer .f_box1 .f_box1_r ul{
	display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
}
footer .f_box1 .f_box1_r li{
	width: 50%;
	letter-spacing: 0.1em;
}

footer .com_contact{
	margin-bottom: 5%;
}
.com_contact{
	display: block;
}
.com_contact .com_tel2{
	margin-right: auto;
	margin-bottom: 5%;
}
.com_contact .com_tel2 .sp_tel_btn{
	width: 100%;
}

footer .f_box2{
	display: block;
}
footer .f_box2_inbox{
	width: 100%;
	display: block;
	margin-top: 8%;
}
footer .f_box2_inbox .bnr{
	display: block;
	width: 100%;
	max-width: 100%;
}
footer .f_box2_inbox .bnr li{
	width: 90%;
	margin: 0 auto 4%;
}
footer .f_box2_inbox .bnr li:last-child{
	margin: 0 auto 0;
}
footer .f_box2_inbox .copyright{
	width: 100%;
	font-size: 80%;
	line-height: 1.6em;
	letter-spacing: 0.1em;
	text-align: center;
	margin: 2em 0;
}
footer .f_box2 .pagetop{
	width: 100%;
}
	
footer .f_box1::before{
	top: -200%;
	left:-45%;
}
footer .f_box2::before{
	bottom: -80%;
	right:-10%;
}
}






/* com_clinic
---------------------------------------------------------*/
#com_clinic .bg{
	position: relative;
	z-index: 2;
	background: #efefe0;
	padding: min(90px,7vw) 0 min(120px,10vw);
}
#com_clinic .col2{
	display: flex;
    justify-content: space-between;
}
#com_clinic .col2 > li{
	width: 49.5%;
	background: #fff;
	padding: 50px 4%;
	box-sizing: border-box;
	text-align: center;
}
#com_clinic .col2 > li{
	width: 49.5%;
	background: #fff;
	padding: 50px 4%;
	box-sizing: border-box;
	text-align: center;
}
#com_clinic .col2 .inbox{
	max-width: 522px;
	margin: 0 auto;
	position: relative;
}
#com_clinic .col2 .index1{
	text-align: left;
    font-size: min(100%,1.15vw);
}
#com_clinic .col2 .index1 span{
	display: block;
}
#com_clinic .col2 .index1 .span1{
	display: inline-block;
	background: #fe937b;
	font-size:130%;
	letter-spacing: 0.25em;
	line-height: 1em;
	padding: .5em 1.5em;
	box-sizing: border-box;
	font-weight: bold;
	color: #fff;
	border-radius: 50px;
	margin-bottom: .9em;
}
#com_clinic .col2 .clinic2 .index1 .span1{
	background: #89e2b7;
}
#com_clinic .col2 .index1 .span2{
	font-weight: bold;
	letter-spacing: 0.15em;
	line-height: 1.2em;
}
#com_clinic .col2 .index1 .span3{
	font-weight: bold;
	font-size: 230%;
	letter-spacing: 0.08em;
	line-height: 1.6em;
	margin-bottom: .4em;
}

#com_clinic .col2 .com_insta{
	position: absolute;
	top:0;
	right: 0;
}

#com_clinic .col2 .txt{
	font-size: min(100%,1.6vw);
	line-height: 1.6em;
	margin: 20px 0 0;
	text-align: left;
	height: 7em;
}
#com_clinic .col2 .txt address{
	margin-bottom: .5em;
}
#com_clinic .col2 .txt .map{
	display: inline-block;
}
#com_clinic .col2 .txt .map span{
	text-decoration: underline;
}
#com_clinic .col2 .txt .map:hover span{
	text-decoration: none;
}
#com_clinic .col2 .txt .sp_tel_btn{
	display: inline-block;
	margin-left: 1em;
}
#com_clinic .col2 .timetable{
	background: #fef0f1;
	padding: min(30px,2vw) 5%;
	box-sizing: border-box;
	margin-bottom: min(20px,1vw);
}
#com_clinic .col2 .clinic2 .timetable{	background: #e9fdf4;}

#com_clinic .acc{
	margin-bottom: min(10px,.7vw);
}
#com_clinic .acc li{
	text-align: center;
	font-weight: bold;
	display: flex;
    justify-content: center;
    align-items: center;	
}
#com_clinic .acc li i{
	font-size:240%;
	margin-right: .5rem;
}
#com_clinic .clinic1 .acc li i{	color: #fe937b;}
#com_clinic .clinic2 .acc li i{	color: #89e2b7;}

#com_clinic .clinic1 .com_btn1 a{background: #fe937b;}
#com_clinic .clinic2 .com_btn1 a{background: #89e2b7;}

#com_clinic .clinic1 .com_btn1 a .waku{	color: #fe937b;}
#com_clinic .clinic2 .com_btn1 a .waku{	color: #89e2b7;}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#com_clinic .col2 > li{
	padding: 4vw 3%;
}
#com_clinic .col2 .txt{
	letter-spacing: normal;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#com_clinic .bg{
	padding: 8% 0 10%;
}
#com_clinic .col2{
	display: block;
}
#com_clinic .col2 > li{
	width: 100%;
	padding: 6% 4% 8%;
	margin-bottom: 5%;
}
#com_clinic .col2 > li:last-child{
	margin-bottom: 0;
}
#com_clinic .col2 .inbox{
	max-width: 100%;
}
#com_clinic .col2 .index1{
    font-size: 100%;
}
#com_clinic .col2 .index1 .span1{
	font-size:105%;
	letter-spacing: 0.2em;
	padding: .4em 1.5em .3em;
	margin-bottom: .8em;
}
#com_clinic .col2 .index1 .span2{
	letter-spacing: 0.1em;
	margin-bottom: .2em;
}
#com_clinic .col2 .index1 .span3{
	font-size:150%;
	letter-spacing:normal;
	margin-bottom: .4em;
}
	
#com_clinic .col2 .txt{
	font-size: 95%;
	margin: 5% 0 5%;
	height: auto;
}
#com_clinic .col2 .txt .sp_tel_btn{
	text-decoration: underline;
}
#com_clinic .col2 .timetable{
	padding: 6%;
	margin-bottom:0;
}

#com_clinic .acc{
	margin-bottom: 2%;
}
#com_clinic .acc li i{
	font-size:200%;
}
}




/* com_insta2
---------------------------------------------------------*/
.com_insta2 .list{
	position: relative !important;
}
.com_insta2 .list #sb_instagram #sbi_images img{
	border-radius: 10px!important;
}
/*
.com_insta2 .list #sb_instagram{
	display: flex !important;
    justify-content: space-between !important;
	width: 100%!important;
	max-width: 1350px !important;
	margin: 0 auto !important;
}
.com_insta2 .list #sb_instagram #sbi_images{
	width:15% !important;
	position: relative !important;
	overflow: hidden !important;
	aspect-ratio: 200 / 250 !important;
}
.com_insta2 .list #sb_instagram #sbi_images img{
	border-radius: 20px !important;
	position: absolute !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	left: 0 !important;
	right: 0 !important;
	margin: 0 auto !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important; 
	display: block !important;
}*/
#sb_instagram #sbi_load{
	display: none!important;
}
.com_insta2 .com_btn1{
	margin-top:min(50px,4vw);
}
.com_insta2 .com_btn1 a{
	background: linear-gradient(to right,  #d978bb 1%,#ffe38e 100%);
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/
@media only screen and (max-width: 767px) {
/*.com_insta2 .com_slide #sb_instagram #sbi_images{
	width: 30vw !important;
	margin-right: 2vw !important;
	aspect-ratio: 200 / 250 !important;
}
.com_insta2 .com_slide #sb_instagram #sbi_images img{
	border-radius: 10px !important;
	position: absolute !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	left: 0 !important;
	right: 0 !important;
	margin: 0 auto !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important; 
	display: block !important;
}*/
}
/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.bxslider_2{
	width: 111%;
	margin-left: -5.5%;
}
.bxslider_2 .bx-viewport,
.bxslider_2 .inst_llist .bx-viewport,
.bxslider_2 .sbi_photo{
	height: 250px !important;
	padding-bottom: 15px!important;
 }
.bxslider_2 .sbi_item{
	width: 200px !important;
}
.bxslider_2 #sb_instagram{
	max-width: 100%!important;
	width:100%!important;
}
.bxslider_2 #sb_instagram #sbi_images {
	display: block !important;
}
.bxslider_2 .sbi_photo{        
	margin: 0 10px!important;
}
.bxslider_2 #sb_instagram #sbi_images img{
	border-radius: 10px!important;
}
.com_insta2 .com_btn1{
	margin-top: 5%;
}
}


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

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

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