@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Cormorant+SC:wght@300&family=Zen+Old+Mincho&display=swap');

body {
	font-family: "Hiragino Kaku Gothic ProN","Hiragino Sans","游ゴシック","Yu Gothic",Meiryo,sans-serif;
	font-style: normal;
	color: #242113;
	font-size: 15px;
	letter-spacing: 0.13em;
	line-height: 2.1;
	padding:0;
	margin:0;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
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;
  /**/
}

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

.flex_box {
	display: flex;
	justify-content: space-between;
}

.white,.white a{color:#ffffff;}
.blue,.blue a{color:#41b4b5;}
.brown,.brown a{color:#937d68;}

.com_attention{
	font-size:95%;
	line-height: 1.8em;
	margin-top: .5em;
}
.com_attention li{
	margin-bottom: .5em;
}
.com_attention li:last-child{
	margin-bottom: 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
body {
	letter-spacing: 0.1em;
	line-height: 2;
}
}

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

}



/*共通
---------------------------------------------------------*/
.max_1500 {
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
}
.max_width,
.w1500,
.w1400,
.w1360,
.w1340,
.w1280,
.w1275,
.w1250,
.w1240,
.w1235,
.w1220,
.w1185,
.w1120,
.w1100,
.w1020,
.w1000{
	width: 92%;
	padding: 0 4%;
	margin-left: auto;
	margin-right: auto;
}
.w1500 {max-width: 1500px;}
.w1400 {max-width: 1400px;}
.w1360 {max-width: 1360px;}
.w1340 {max-width: 1340px;}
.w1280 {max-width: 1280px;}
.w1275 {max-width: 1275px;}
.w1250 {max-width: 1250px;}
.w1240 {max-width: 1240px;}
.w1235 {max-width: 1235px;}
.w1220 {max-width: 1220px;}
.w1185 {max-width: 1185px;}
.w1120 {max-width: 1120px;}
.w1100 {max-width: 1100px;}
.w1020 {max-width: 1020px;}
.w1000 {max-width: 1000px;}

.ft_zen ,
.ft_zen strong{
  font-family: "Zen Old Mincho", serif;
  font-weight: 400!important;
  font-style: normal;
}
.ft_co{
  font-family: "Cormorant SC", serif;
  font-weight: 300!important;
  font-style: normal;
}
.com_txt_link {
	text-decoration: underline;
	text-underline-offset: .1em;
	text-decoration-color: #242113;
}
.com_txt_link:hover {
	text-decoration: none;
	color: #41b4b5;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.max_width,
.w1500,
.w1400,
.w1360,	
.w1340,	
.w1280,
.w1275,
.w1250,
.w1240,
.w1235,
.w1220,
.w1185,
.w1120,
.w1100,
.w1020,
.w1000{
	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);
}

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

/*fadeup_en*/
.fadeup_en {
	opacity: 0;
	transform: translateY(300px);
	transition: all 1.5s ease;
}
.anime_on .fadeup_en,
.anime_on.fadeup_en {
	opacity: 1;
	transform: translateY(0px);
}

/*fadeup_en_return*/
.fadeup_en_return {
	opacity: 0;
	transform: translateY(-300px);
	transition: all 1.5s ease;
}
.anime_on .fadeup_en_return,
.anime_on.fadeup_en_return {
	opacity: 1;
	transform: translateY(0px);
}





/*スライド共通設定
---------------------------------------------------------
.com_bx_wrap {
	position: relative;
}
.com_bx_wrap .slide_list li {
    display: none;
	margin-right: 30px;
}
.com_bx_wrap .bx-viewport .slide_list li {
    display: block;
}





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



/* 下層共通
---------------------------------------------------------*/
.contentpage .m_img_area{
	position: relative;
	background: url("../images/common/com_m_bg@2x.png")no-repeat top left;
	background-size: 100% auto;
}
.contentpage .m_img_area::after{
	position: absolute;
	display: block;
	content: "";
	background: linear-gradient(to bottom,  rgba(226,244,244,1) 0%,rgba(226,244,244,0) 40%,rgba(226,244,244,0) 100%);
	background-size: 100% 100%;
	width: 100%;
	height: 100%;
	top:0;
	left: 0;
	z-index: -1;	
}

/*m_title*/
.m_title{
	text-align: center;
	padding-top: min(120px,7vw);
	padding-bottom: min(55px,3.5vw);
}
.m_title .ft_zen{
	font-size: min(350%,4.8vw);
	letter-spacing: 0.1em;
	line-height: 1.5em;
}
.m_title .ft_co{
	font-size: min(130%,2.2vw);
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin-top: .5em;
}

/*メインイメージ*/
.contentpage .m_img{
	height: min(540px,35vw);
	background: url("../first-time/images/m_img@2x.jpg")no-repeat center center;
	background-size: cover;
}

/*パンくず*/
.pankuzu{
	text-align: right;
	margin-top: .5em;
}
.pankuzu li{
	position: relative;
	display: inline-block;
	font-size:90%;
	letter-spacing: 0.1em;
	line-height: 1em;
	color: #a7a6a1;
	padding-right:1em;
	box-sizing: border-box;
}
.pankuzu li:last-child{
	padding-right: 0;
}
.pankuzu li::before{
	position: absolute;
	display: block;
	content: "＞";
	top:0;
	right: -0.3em;
}
.pankuzu li:last-child::before{
	display: none;
}
.pankuzu li a{
	text-decoration: underline;
}
.pankuzu li a:hover{
	color: #41b4b5;
}

/*メインコピー*/
.m_copy{
	text-align: center;
}
.m_copy .ft_zen{
	font-size: min(240%,3.8vw);
	letter-spacing: 0.12em;
	line-height: 1.5em;
	margin-bottom: .6em;
}
.m_copy h4.ft_zen{
	font-size: min(165%,2.8vw);
	margin-bottom:1.2em;
}
.m_copy .ft_zen:has(+h4){
	margin-bottom: .5em;
}

/*com_index2*/
.com_index2{
	text-align: center;
}
.com_index2 .ft_co{
	font-size: min(540%,8vw);
	letter-spacing: 0.1em;
	line-height: 1em;
}
.com_index2 .ft_zen{
	font-size: min(175%,3vw);
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin-top: .7em;
}
.com_index2.type2 .ft_co{
	font-size: min(450%,7.5vw);
}
.com_index2.type2 .ft_zen{
	font-size: min(140%,2.8vw);
	margin-top: 1.1em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.m_copy h4.ft_zen{
	margin-bottom:1em;
}
.m_copy .ft_zen:has(+h4){
	margin-bottom: .3em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
/*m_title*/
.m_title{
	padding-top: 6%;
	padding-bottom: 5%;
}
.m_title .ft_zen{
	font-size: 190%;
}
.m_title .ft_co{
	font-size: 100%;
	margin-top: .15em;
}

/*メインイメージ*/
.contentpage .m_img{
	height: 40vw;
}

/*パンくず*/
.pankuzu{
	margin-top: .4em;
	margin-right: -0.5em;
}
.pankuzu li{
	font-size:80%;
	letter-spacing: normal;
}

/*メインコピー*/
.m_copy .ft_zen{
	font-size: 150%;
	letter-spacing: 0.01em;
	margin-bottom: .6em;
}
.m_copy h4.ft_zen{
	font-size: 115%;
	line-height: 1.7em;
	margin-bottom:.5em;
}
.m_copy .ft_zen:has(+h4){
	margin-bottom: .3em;
}
	
/*com_index2*/
.com_index2 .ft_co{
	font-size: 320%!important;
}
.com_index2 .ft_zen{
	font-size: 120%!important;
	margin-top: .4em!important;
}
}





/* 隙間
---------------------------------------------------------*/
.com_btm_20{margin-bottom: 20px;}
.com_btm_30{margin-bottom: 30px;}
.com_btm_40{margin-bottom: 40px;}
.com_btm_50{margin-bottom: 50px;}
.com_btm_60{margin-bottom: 60px;}
.com_btm_70{margin-bottom: 70px;}
.com_btm_80{margin-bottom: 80px;}
.com_btm_90{margin-bottom: 90px;}
.com_btm_120{margin-bottom: 120px;}
.com_btm_140{margin-bottom: 140px;}
.com_btm_150{margin-bottom: 150px;}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.com_btm_20{margin-bottom: 3%;}
.com_btm_30{margin-bottom: 3%;}
.com_btm_40{margin-bottom: 4%;}
.com_btm_50{margin-bottom: 4%;}
.com_btm_60{margin-bottom: 5%;}
.com_btm_70{margin-bottom: 5%;}
.com_btm_80{margin-bottom: 6%;}
.com_btm_90{margin-bottom: 7%;}
.com_btm_120{margin-bottom: 10%;}
.com_btm_140{margin-bottom: 12%;}
.com_btm_150{margin-bottom: 13%;}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_btm_20{margin-bottom: 3%;}
.com_btm_30{margin-bottom: 4%;}	
.com_btm_40{margin-bottom: 4%;}
.com_btm_50{margin-bottom: 5%;}
.com_btm_60{margin-bottom: 7%;}
.com_btm_70{margin-bottom: 7%;}
.com_btm_80{margin-bottom: 8%;}
.com_btm_90{margin-bottom: 9%;}
.com_btm_120{margin-bottom: 12%;}
.com_btm_140{margin-bottom: 15%;}
.com_btm_150{margin-bottom: 15%;}
}







/* header
---------------------------------------------------------*/
header{
	padding-bottom: min(32px,2.6vw);
}
.contentpage header{
	padding-bottom: 0;
}

header .h_content{
	display: flex;
    justify-content: space-between;
}
header .h_content_l {
	width: 64%;
	box-sizing: border-box;
}
.frontpage header .h_content_l {
	padding-left: 12.5%;
}
.contentpage header .h_content_l {
	padding-left: min(40px,2.5%);
}
header .h_content_l .h1_box{
	padding-top: min(40px,2.7vw);
	padding-bottom:min(45px,3vw);
}
.frontpage header .h_content_l .h1_box .sp_logo{
	display: none;
}
.contentpage header .h_content_l .h1_box .sp_logo{
	width:min(199px,18vw);
}
header .h_content_l .h1_box h1{
	font-size:min(91%,1.5vw);
	letter-spacing: 0.1em;
	line-height: 1.5em;
	color: #716f66;
}
.contentpage header .h_content_l .h1_box{
	display: flex;
    justify-content: start;
    align-items: center;
}
.contentpage header .h_content_l .h1_box h1{
	margin-left: 2em;
}
header .h_content_r {
	width: 34%;
	max-width: 490px;
}
header .h_content_r .com_tel{
	font-size: min(100%,1.15vw);
	margin-top:min(23px,2.3vw);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
header{
	letter-spacing: normal;
}
.frontpage header .h_content_l {
	padding-left: 10%;
}
.contentpage header .h_content_l .h1_box h1{
	margin-left: 1.5em;
	letter-spacing: normal;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
header{
	padding-bottom: 0;
}
header .h_content{
	display: block;
}
header .h_content_l {
	width: 100%;
	padding-left: 0!important;
}
header .h_content_l .h1_box{
	padding: 6.5% 4%;
	box-sizing: border-box;	
	display: flex;
    justify-content: space-between;
    align-items: center;	
}
.frontpage header .h_content_l .h1_box .sp_logo{
	display: block;
}
header .h_content_l .h1_box .sp_logo{
	width: 35%!important;
}
header .h_content_l .h1_box h1{
	width: 61%;
	font-size: 2.3vw;
	letter-spacing: normal;
	padding-left: 0!important;
}
header .h_content_r {
	display: none;
}
}




/*メニュー
---------------------------------------------------------*/
.h_content{
	position: relative;
}
.contentpage .m_nav_area{
	text-align: center;
}
.contentpage .m_nav_area .m_nav{
	margin: 0 auto;
}
.m_nav {
	width: 100%;
	max-width: 785px;
	display: flex;
	justify-content: space-between;
    align-items: center;
	font-size: min(125%,1.5vw);
}
.m_nav > li {
	position: relative;
}
.m_nav > li > a {
	position: relative;
	display: block;
	text-align: center;
	line-height: 1;
	letter-spacing: .1em;
	white-space: nowrap;
}
.m_nav > li > a.select,
.m_nav > li > a:hover{
	color: #41b4b5;
}
.m_nav .menu_hom{
	font-size:83%;
	color: #c8c7c4;
}

/* アコーディオンメニュー */
.in_menu {
	display: none;
	position: absolute;
	text-align: center;
	z-index: 999;
	right: 50%;
	top: calc(100% + 10px);
	transform: translateX(50%);
	background: #f5f0e3;
	box-sizing: border-box;
	width: 100%;
	padding: 60px 3% 50px;
}
.in_menu .com_btn_kaku_list{
	margin-top: 30px;
}



/*com_medmenu*/
.com_medmenu{
	display: flex;
    justify-content: start;
	flex-wrap: wrap;
	width: 100%!important;
	max-width:1164px!important;
	margin: 0 auto;
}
.com_medmenu li{
	width: 15%;
	background: #fff;
	border-radius: 5px;
	text-align: center;
	font-size: min(115%,1.6vw);
	line-height: 1.4em;
	letter-spacing: 0.05em;
	padding: 1em 0 1.1em;
	margin-right: 2%;
}
.com_medmenu li:nth-child(6n){
	margin-right: 0;
}
.com_medmenu li div{
	width: 50%;
	max-width: 92px;
	aspect-ratio: 1 / 1;
	display: inline-block;
	background: #ffd0ad;
	border-radius: 50%;
	margin: 0 auto;
	transition: 0.4s;
}
.com_medmenu li:hover div{
	background:#ffbe8c;
	transition: 0.4s;
}
.com_medmenu li a{
	display: block;
	margin-top: .7em;
	color: #242113;
}
.com_medmenu i{
	display: none;
}

/*com_btn_search*/
.com_btn_search a{
	display: inline-block;
	width: 27em;
	background: #67c3c4;
	font-size: min(140%,2vw);
	line-height: 1em;
	padding: 1.3em;
	box-sizing: border-box;
	color: #fff;
	border-radius: 100px;
}
.com_btn_search a:hover{
	background: #41b4b5;
}
.com_btn_search a span{
	position: relative;
	padding-left: 3em;
	box-sizing: border-box;
}
.com_btn_search a span i{
	font-size:160%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.m_nav > li > a {
	letter-spacing:normal;
}

/* アコーディオンメニュー */
.in_menu {
	top: calc(100% + 2vw);
	padding: 4.5vw 3%;
}
.in_menu .com_btn_kaku_list{
	margin-top: 2.5vw;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_nav_area {
	display: none;
}
	
/*com_medmenu*/
.com_medmenu li{
	width: 32%;
	font-size: 88%;
	letter-spacing: normal;
	padding: .8em 0 1em;
	margin-right: 2%;
	margin-top: 2%;
}
.com_medmenu li:nth-child(3n){
	margin-right: 0;
}
.com_medmenu li:nth-child(-n+3){
	margin-top: 0;
}
.com_medmenu li div{
	width: 55%;
}
.com_medmenu li a{
	margin-top: .2em;
}
	
/*com_btn_search*/
.com_btn_search a{
	width: 100%;
	font-size: 105%;
	padding: 1.1em 1.3em 1.3em;
}
.com_btn_search a span i{
	top: 52%;
}
}





/*スクロールメニュー
---------------------------------------------------------*/
#scl_header {
	position: fixed;
	z-index: 500;
	left: 0;
	top: 0;
	width: 100%;
	background-color: #fff;
	box-sizing: border-box;
	transform: translateY(-101%);
}
#scl_header.is-show {
	display: block;
	transform: translateY(0);
	opacity: 1;
    animation: sclAnimation 1.0s;
}
#scl_header .scl_flex {
	position: relative;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
#scl_header .scl_nav_area{
	width: 56%;
	padding-left: 2rem;
	box-sizing: border-box;
}
#scl_header .scl_contact{
	width: 42%;
	max-width: 620px;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
#scl_header .scl_contact .scl_tel{
	width: 50%;
	padding-right: 3%;
	box-sizing: border-box;
	text-align: right;
}
#scl_header .scl_contact .scl_tel div{
	display: inline-block;
	margin-left: 0;
	margin-right: auto;
}
#scl_header .scl_contact .com_yoyaku{
	width: 50%;
	max-width: 320px;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#scl_header .scl_nav_area{
	padding-left: .5rem;
}
}

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

/* スクロールメニューアニメーション */
@keyframes sclAnimation {
	0% {
		transform: translateY(-100%);
	}
	100% {
		transform: translateY(0);
	}
}







/* med_footer
---------------------------------------------------------*/
.med_footer{
background: linear-gradient(to bottom,  rgba(243,245,241,0) 0%,rgba(243,245,241,0) 50%,rgba(243,245,241,1) 100%); 
	padding: 75px 0 80px;
	border-top:1px solid #d3d3d0;
}
.med_footer .w1355{
	text-align: center;
}
.med_footer .med_f_tit{
	font-size:140%;
	letter-spacing: 0.1em;
	line-height: 1em;
	margin-bottom: 2em;
	color: #919089;
}

.med_footer .com_medmenu{
	max-width:1355px!important;
}
.med_footer .com_medmenu li{
	width: 16.666%;
	background: none;
	border-radius: 0;
	font-size: min(155%,1.8vw);
	letter-spacing: 0.15em;
	padding: 0;
	margin-right: 0;
	border-right: dashed #d3d3d0 1px;
	box-sizing: border-box;
}
.med_footer .com_medmenu li:last-child{
	border-right: none;
}
.med_footer .com_medmenu li span{
	margin: 0 -0.2em;
}
.med_footer .com_medmenu li a{
	margin-top: .6em;
	margin-bottom: .8em;
}
.med_footer .com_medmenu i{
	display: inline-block;
	color:#ffa25b;
}
.med_footer .com_btn_kaku_list{
	margin-top: 60px;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.med_footer{
	padding: 6% 0 5%;
}
.med_footer .med_f_tit{
	margin-bottom: 1.3em;
}

.med_footer .com_medmenu li{
	letter-spacing: 0.1em;
}
.med_footer .com_btn_kaku_list{
	margin-top: 4%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.med_footer{
	padding: 12% 0;
}
.med_footer .med_f_tit{
	font-size:130%;
	margin-bottom: 1.5em;
}
.med_footer .com_medmenu li{
	width: 33.333%;
	font-size: 95%;
	letter-spacing: 0.01em;
	margin-top: 5%;
}
.med_footer .com_medmenu li:nth-child(3n){
	border-right: none;
}
.med_footer .com_medmenu li:nth-child(-n+3){
	margin-top: 0;
}

.med_footer .com_medmenu li a{
	margin-top: .2em;
	margin-bottom: .4em;
}
.med_footer .com_btn_kaku_list{
	margin-top: 8%;
}
}






/* f_bnr
---------------------------------------------------------*/
.f_bnr{
	padding: 60px 0;
	border-top:1px solid #e9e9e7;
}
.f_bnr .f_bnr_list{
	display: flex;
    justify-content: space-between;
    align-items: center;	
}
.f_bnr .wp_bnr{
	width: 23%;
}
.f_bnr .wp_bnr li{
	display: flex;
    justify-content: space-between;
    align-items: center;
	padding-bottom:1.3em;
	margin-bottom: 1.6em;
	border-bottom: 1px solid #d3d3d0;
	transition: 0.4s;
}
.f_bnr .wp_bnr li .ft_co{
	font-size: min(260%,3vw);
	letter-spacing: 0.1em;
	line-height: 1em;
}
.f_bnr .wp_bnr li .ft_zen{
	font-size: min(130%,1.8vw);
	letter-spacing: 0.05em;
	line-height: 1em;
	width: 4.3em;
}
.f_bnr .wp_bnr li:hover{
	color: #41b4b5!important;
	transition: 0.4s;
}
.f_bnr .wp_bnr li i{
	transition: 0.4s;
}
.f_bnr .wp_bnr li:hover i{
	background: #41b4b5;
	color: #fff;
	transition: 0.4s;
}
.f_bnr .insta_bnr{
	width: 22.5%;
	background: linear-gradient(to right,  rgba(243,245,199,1) 0%,rgba(227,233,223,1) 100%); 
	text-align: center;
	border-radius: 10px;
	font-size: min(160%,2.2vw);
	letter-spacing: 0.1em;
	line-height: 1em;
	padding: 1.3em 0 1.5em;
	margin-top: -0.5em;
}
.f_bnr .insta_bnr .icon{
	width: 1.5em;
	margin: 0 auto .5em;
}
.f_bnr .rec_bnr{
	width: 48.5%;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.f_bnr{
	padding: 5% 0;
}
.f_bnr .wp_bnr li{
	padding-bottom: .7em;
	margin-bottom: 1.1em;
}
.f_bnr .insta_bnr{
	padding: 1.1em 0 1.2em;
	margin-top: -0.6em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.f_bnr{
	padding: 10% 0;
}
.f_bnr .f_bnr_list{
	flex-wrap: wrap;
}
.f_bnr .wp_bnr{
	width: 55%;
	padding-top: .2em;
}
.f_bnr .wp_bnr li{
	padding-bottom: .7em;
	margin-bottom: .9em;
}
.f_bnr .wp_bnr li .ft_co{
	font-size:160%;
}
.f_bnr .wp_bnr li .ft_zen{
	font-size: 95%;
}
.f_bnr .insta_bnr{
	width: 40%;
	font-size: 105%;
	padding: 1.3em 0 1.5em;
	margin-top: -0.6em;
}
.f_bnr .insta_bnr .icon{
	width: 1.5em;
	margin: 0 auto .5em;
}
.f_bnr .rec_bnr{
	width: 100%;
	margin-top: 3%;
}
}






/* footer
---------------------------------------------------------*/
footer .f_bg1{ 
	background-size: 100% auto;
	padding-top: 120px;
	padding-bottom: 80px;
}
.frontpage footer .f_bg1{
	background: url("../images/top/f_shadow@2x.png")no-repeat top left #f9f7ee;
}
.contentpage footer .f_bg1{
	background: #f9f7ee;
}
footer .f_bg1 .f_flex1{
	display: flex;
    justify-content: space-between;
	max-width: 1000px;
	margin: 0 auto 60px;
}
footer .f_bg1 .f_flex1 .flex_l{
	width:45%;
	text-align: center;
}
footer .f_bg1 .f_flex1 .flex_l .name{
	font-size:270%;
	letter-spacing: 0.13em;
	line-height: 1em;
}
footer .f_bg1 .f_flex1 .flex_l .name{
	font-size:275%;
	letter-spacing: 0.13em;
	line-height: 1em;
}
footer .f_bg1 .f_flex1 .flex_l address{
	line-height: 1.5em;
	margin: 2em 0 1em;
}
footer .f_bg1 .f_flex1 .flex_l .txt{
	line-height: 1.8em;
}
footer .f_bg1 .f_flex1 .flex_r{
	width: 53%;
}
footer .f_bg1 .f_flex1 .flex_r .com_tel{
	margin-bottom: 1.2em;
}

footer .f_bg1 .f_flex2{
	display: flex;
    justify-content: space-between;
	margin-bottom: 60px;
}
footer .f_bg1 .f_flex2 .flex_l{
	width: 46.5%;
}
footer .f_bg1 .f_flex2 .flex_l .com_timetable{
	margin-bottom: 2.5em;
}
footer .f_bg1 .f_flex2 .flex_l .dr{
	background: rgba(232,224,189,0.40);
	border-radius: 10px;
	padding: 35px 4%;
	box-sizing: border-box;
}
footer .f_bg1 .f_flex2 .flex_l .dr_inbox{
	max-width: 450px;
	margin: 0 auto;
}
footer .f_bg1 .f_flex2 .flex_l .dr .com_index1{
	margin-bottom: 1em;
}
footer .f_bg1 .f_flex2 .flex_l .dr .com_index1::before{
	background: #937d68;
}
footer .f_bg1 .f_flex2 .flex_l .dr .com_btn_s{
	margin-top: .5em;
}

footer .f_bg1 .f_flex2 .flex_r{
	width: 48.5%;
}
footer .f_bg1 .f_flex2 .flex_r iframe{
	display: block;
}
footer .f_bg1 .f_flex2 .flex_r .acc{
	display: flex;
    justify-content: space-between;
	align-items: center;	
	margin-top: 30px;
}
footer .f_bg1 .f_flex2 .flex_r .acc dt{
	width: 22%;
	font-size:150%;
	line-height: 1em;
	text-align: center;
	padding-right: 4%;
	box-sizing: border-box;
}
footer .f_bg1 .f_flex2 .flex_r .acc dd{
	width: 78%;
	border-left: dashed #d3d3d0 1px;
	padding-left: 4%;
	box-sizing: border-box;
	text-align: center;
}
footer .f_bg1 .f_flex2 .flex_r .acc dd .com_btn_s a{
	margin-top: 1em;
	background: rgba(36,33,19,0.05);
}

footer .f_bg1 .f_box1{
	border:1px solid #d3d3d0;
	border-radius: 10px;
	padding: 60px 2% 70px;
	box-sizing:border-box;
	/*margin-bottom: 65px;*/
}
footer .f_bg1 .f_box1 > .ft_zen{
	font-size:125%;
	line-height: 1.6em;
	margin-bottom: 2.5em;
}
footer .f_bg1 .f_box1 .flex_box{
	max-width: 1115px;
	margin: 0 auto;
}
footer .f_bg1 .f_box1 .flex_l{
	width: 55.5%;
	box-sizing: border-box;
}
footer .f_bg1 .f_box1 .flex_r{
	width: 39.5%;
	border-left: 1px dashed #bdbcb8;
	box-sizing: border-box;
	padding-left: 4.5%;
}
footer .f_bg1 .f_box1 .titlist{
	display: flex;
    justify-content: space-between;
	margin-bottom: 2.5em;
}
footer .f_bg1 .f_box1 .titlist:last-child{
	margin-bottom: 0;
}
footer .f_bg1 .f_box1 .titlist .tit{
	position: relative;
	width: 33%;
	border-right: 1px dashed #bdbcb8;
	line-height: 1.4em;
	padding-left: 2.5em;
	box-sizing: border-box;
}
footer .f_bg1 .f_box1 .titlist .tit::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/price_abs1@2x.png")no-repeat top left;
	background-size: 100% auto;
	width: 1.5em;
	height: 1.5em;
	top:0;
	left: 0;
}
footer .f_bg1 .f_box1 .titlist:nth-child(2) .tit::before{
	background-image: url("../images/top/price_abs2@2x.png");
}
footer .f_bg1 .f_box1 .titlist .tit dt{
	font-weight: bold;
	font-size:110%;
	margin-bottom: .3em;
}
footer .f_bg1 .f_box1 .titlist .tit dd{
	font-size: 95%;
}
footer .f_bg1 .f_box1 .titlist .list{
	width: 67%;
	padding-left: 3.5%;
	box-sizing: border-box;
}
footer .f_bg1 .f_box1 .list{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: -3%;
}
footer .f_bg1 .f_box1 .flex_r .list{
	margin-bottom: -6%;
}
footer .f_bg1 .f_box1 .list li{
	width: 18%;
	margin-right: 2.5%;
	margin-bottom: 3%;
}
footer .f_bg1 .f_box1 .list li:nth-child(5n){
	margin-right: 0;
}
footer .f_bg1 .f_box1 .flex_r .list li{
	margin-bottom: 6%;
}
footer .f_bg1 .f_box1 .flex_r .list li.long{
	width: 38.5%;
}

/*f_box2
footer .f_bg1 .f_box2{
	position: relative;
}
footer .f_bg1 .f_box2::before{
	position: absolute;
	display: block;
	content: "";
	background: #41b4b5;
	background-size: 100% auto;
	width: 300%;
	height: 50%;
	left: -150%;
	bottom: 0;
}
footer .f_bg1 .f_box2 .monshin{
	position: relative;
	z-index: 2;
	background: #9faddd;
	margin: 0 auto;
	max-width: 1160px;
	padding: 30px 4%;
	box-sizing: border-box;
}
footer .f_bg1 .f_box2 .monshin_inbox{
	max-width: 1000px;
	display: flex;
    justify-content: space-between;
    align-items: center;
	margin: 0 auto;
}
footer .f_bg1 .f_box2 .monshin .abs{
	width: 4.5rem;
}
footer .f_bg1 .f_box2 .monshin .tit{
	width: 15.5rem;
	font-size:160%;
	text-align: center;
}
footer .f_bg1 .f_box2 .monshin .txt{
	width: calc(100% - 42em);
	border-right: 1px solid #fff;
	box-sizing: border-box;
	padding-right: 2em;
	margin-right: 2.5em;
}
footer .f_bg1 .f_box2 .monshin .btn a{
	position: relative;
	width: 17.5em;
	display: inline-block;
	background: #fff;
	border-radius: 100px;
	padding: .7em 1.85em;
	box-sizing: border-box;
}
footer .f_bg1 .f_box2 .monshin .btn a:hover{
	background: #6276b8;
	color: #fff;
}
footer .f_bg1 .f_box2 .monshin .btn a:hover i{
	color: #fff;
}
footer .f_bg1 .f_box2 .monshin .btn a i{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 1.5em;
	color: #9faddd;
}*/

/*f_bg2*/
footer .f_bg2{
	background: #41b4b5;
	padding: 110px 0 120px;
}
footer .f_bg2 .flex_l{
	width: 72%;
	display: flex;
    justify-content: start;
}
footer .f_bg2 .flex_l .map1{
	width: 26em;
}
footer .f_bg2 .flex_l .map2{
	width: 26em;
}
footer .f_bg2 .flex_l .map1 dt{
	font-size:135%;
}
footer .f_bg2 .flex_l .map2 dt{
	font-size:108%;
}
footer .f_bg2 .flex_l dt{
	height: 3rem;
}
footer .f_bg2 .flex_l dd{
	display: flex;
    justify-content: space-between;
}
footer .f_bg2 .flex_l .map1 dd ul{
	width: 48%;
}
footer .f_bg2 .flex_l .map2 dd ul:nth-child(1){
	width: 35%;
}
footer .f_bg2 .flex_l .map2 dd ul:nth-child(2){
	width: 65%;
}
footer .f_bg2 .flex_r{
	width: 24.7%;
	display: flex;
    justify-content: space-between;
	align-items: flex-end;
}
footer .f_bg2 .flex_r .inbox{
	width: 76%;
	padding-bottom: 1.5em;
}
footer .f_bg2 .flex_r .copyright{
	line-height: 1.5em;
	letter-spacing: 0.1em;
	margin-top: .5em;
}
footer .f_bg2 .flex_r .bnr{
	display: inline-block;
	margin-left: 0;
	margin-right: auto;
}
footer .f_bg2 .flex_r .pagetop{
	width: 24%;
	text-align: right;
}
footer .f_bg2 .flex_r .pagetop a{
	display: inline-block;
	margin-left: auto;
	margin-right: 0;
}

/*monshin2*/
.com_monshin{
	border:3px solid #8dd2d3;
	background: #fff;
	margin-left: auto;
	margin-right: auto;
	max-width: 1220px;
	padding: 20px 4%;
	box-sizing: border-box;
}
.com_monshin .flex_box{
	max-width: 1050px;
	margin: 0 auto;
	align-items: center;	
}
.com_monshin .monshin_l{
	width: 61.5%;
	border-right:1px solid #d3d3d0;
	display: flex;
    justify-content: space-between;
	align-items: center;	
	padding-right: 4%;
	box-sizing: border-box;
}
.com_monshin .monshin_l .abs{
	width: 18%;
}
.com_monshin .monshin_l dl{
	width: 76%;
	padding: .8em 0;
}
.com_monshin .monshin_l dt{
	font-size: min(170%,2.8vw);
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin-bottom: .4em;
}
.com_monshin .monshin_l dd{
	line-height: 1.8em;
}
.com_monshin .monshin_l .abs img{
	transform: scale(-1, 1);
}
.com_monshin .monshin_r{
	width: 38.5%;
	padding-left: 4.2%;
	box-sizing: border-box;
}
.com_monshin .monshin_r .btn a{
	position: relative;
	display: inline-block;
background: linear-gradient(to right,  rgba(220,151,148,1) 0%,rgba(210,157,88,1) 100%);
	color: #fff;
	font-size: min(130%,1.5vw);
	letter-spacing: 0.15em;
	line-height: 1.5em;
	font-weight: bold;
	padding: 1.1em 2.5em;
	box-sizing: border-box;
	border-radius: 10px;
}
.com_monshin .monshin_r .btn a i{
	padding-left: .2em;
	box-sizing: border-box;
}
.com_monshin .monshin_r .btn a::before{
	position: absolute;
	display: block;
	content: "";
	background: url(../images/common/monshin_check@2x.png) no-repeat top right;
	background-size: 100% auto;
	width: 4.1em;
	height: 4.1em;
	top:-1.2em;
	right: -1.55em;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
footer .f_bg1 .f_flex2 .flex_r .acc{
	display: block;
	margin-top: 5%;
}
footer .f_bg1 .f_flex2 .flex_r .acc dt{
	width: 100%;
	padding-right: 0;
	padding-bottom: .5em;
	margin-bottom:.5em;
	border-bottom: dashed #d3d3d0 1px;
}
footer .f_bg1 .f_flex2 .flex_r .acc dd{
	width: 100%;
	padding-left: 0;
	border-left: none;
}
footer .f_bg1 .f_box1 .titlist .tit{
	letter-spacing: normal;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
footer .f_bg1{ 
	padding-top: 10%;
	padding-bottom: 8%;
}
footer .f_bg1 .f_flex1{
	margin: 0 auto 4%;
}
footer .f_bg1 .f_flex1 .flex_r .com_tel{
	margin-bottom: 1.5em;
}

footer .f_bg1 .f_flex2{
	margin-bottom: 5%;
}
footer .f_bg1 .f_flex2 .flex_l{
	width: 48%;
}
footer .f_bg1 .f_flex2 .flex_l .com_timetable{
	margin-bottom: 2em;
}
footer .f_bg1 .f_flex2 .flex_l .dr{
	padding: 4% 5% 6%;
}

footer .f_bg1 .f_flex2 .flex_r iframe{
	height: 35vw;
}
footer .f_bg1 .f_flex2 .flex_r .acc{
	display: block;
	margin-top: 5%;
}
footer .f_bg1 .f_flex2 .flex_r .acc dt{
	width: 100%;
	padding-right: 0;
	padding-bottom: .5em;
	margin-bottom:.5em;
	border-bottom: dashed #d3d3d0 1px;
}
footer .f_bg1 .f_flex2 .flex_r .acc dd{
	width: 100%;
	padding-left: 0;
	border-left: none;
}

footer .f_bg1 .f_box1{
	padding: 5% 1% 6%;
	/*margin-bottom: 5%;*/
}
footer .f_bg1 .f_box1 > .ft_zen{
	margin-bottom: 1.5em;
}
footer .f_bg1 .f_box1 .flex_r{
	padding-left: 3%;
}
footer .f_bg1 .f_box1 .titlist{
	margin-bottom: 2em;
}
footer .f_bg1 .f_box1 .titlist .tit{
	padding-left: 1.8em;
	letter-spacing: normal;
	font-size: 80%;
}
footer .f_bg1 .f_box1 .titlist .tit::before{
	width: 1.2em;
	height: 1.2em;
}
footer .f_bg1 .f_box1 .titlist .list{
	padding-left: 3%;
}

/*f_box2
footer .f_bg1 .f_box2 .monshin{
	padding: 3% 4%;
}
footer .f_bg1 .f_box2 .monshin_inbox{
	flex-wrap: wrap;
}
footer .f_bg1 .f_box2 .monshin .tit{
	width: 13rem;
	font-size:160%;
	text-align: center;
}
footer .f_bg1 .f_box2 .monshin .txt{
	width: calc(100% - 22em);
	border-right:none;
	box-sizing: border-box;
	padding-right: 0;
	margin-right: 0;
}
footer .f_bg1 .f_box2 .monshin .btn{
	width: 100%;
	border-top:1px solid #fff;
	text-align: center;
	margin-top: 1.5em;
	padding-top: 1.6em;
}
footer .f_bg1 .f_box2 .monshin .btn a{
	text-align: left;
}*/

/*f_bg2*/
footer .f_bg2{
	padding: 8% 0 12%;
	font-size: min(100%,1.8vw);
	letter-spacing: normal;
}
footer .f_bg2 .flex_r .inbox{
	width: 9em;
	padding-bottom: 1em;
}
footer .f_bg2 .flex_r .inbox .bnr{
	width: 13em;
}
footer .f_bg2 .flex_r .inbox .copyright{
	line-height: 1.4em;
	letter-spacing: 0.1em;
}
footer .f_bg2 .flex_r .pagetop{
	width: calc(100% - 9em);
}
	
/*.com_monshin*/
.com_monshin{
	padding: 3% 2%;
}
.com_monshin .monshin_l{
	padding-right: 3%;
}
.com_monshin .monshin_l dl{
	padding: 0;
}
.com_monshin .monshin_l dt{
	font-size: min(170%,2.8vw);
	letter-spacing: 0.1em;
}
.com_monshin .monshin_l dd{
	font-size:90%;
}
.com_monshin .monshin_r{
	padding-left: 3%;
}
.com_monshin .monshin_r .btn a{
	font-size: 1.8vw;
	letter-spacing: normal;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
footer .f_bg1{ 
	padding-top: 12%;
	padding-bottom: 10%;
}
footer .f_bg1 .f_flex1{
	display: block;
	margin: 0 auto 8%;
}
footer .f_bg1 .f_flex1 .flex_l{
	width:100%;
}
footer .f_bg1 .f_flex1 .flex_l .name{
	font-size:240%;
}
footer .f_bg1 .f_flex1 .flex_l address{
	font-size:88%;
	margin: 1.5em 0 .8em;
}
footer .f_bg1 .f_flex1 .flex_l .txt{
	margin-bottom: 8%;
}
footer .f_bg1 .f_flex1 .flex_r{
	width: 100%;
}

footer .f_bg1 .f_flex2{
	display: block;
	margin-bottom: 8%;
}
footer .f_bg1 .f_flex2 .flex_l{
	width: 100%;
}
footer .f_bg1 .f_flex2 .flex_l .com_timetable{
	margin-bottom: 8%;
}
footer .f_bg1 .f_flex2 .flex_l .dr{
	padding: 4% 5% 5%;
}
footer .f_bg1 .f_flex2 .flex_l .dr_inbox{
	max-width: 100%;
}

footer .f_bg1 .f_flex2 .flex_r{
	width: 100%;
	margin-top: 8%;
}
footer .f_bg1 .f_flex2 .flex_r iframe{
	height: 55vw;
}
footer .f_bg1 .f_flex2 .flex_r .acc{
	display: block;
	margin-top: 8%;
}
footer .f_bg1 .f_flex2 .flex_r .acc dt{
	width: 100%;
	font-size:140%;
	padding-right:0;
	border-bottom: dashed #d3d3d0 1px;
	padding-bottom: 3%;
	margin-bottom: 4%;
}
footer .f_bg1 .f_flex2 .flex_r .acc dd{
	width: 100%;
	border-left: none;
	padding-left: 0;
}

footer .f_bg1 .f_box1{
	padding: 8% 5%;
	/*margin-bottom: 8%;*/
}
footer .f_bg1 .f_box1 > .ft_zen{
	font-size:115%;
	line-height: 1.6em;
	margin-bottom: 8%;
}
footer .f_bg1 .f_box1 .flex_box{
	display: block;
}
footer .f_bg1 .f_box1 .flex_l{
	width:100%;
}
footer .f_bg1 .f_box1 .flex_r{
	width: 100%;
	border-top: 1px dashed #bdbcb8;
	border-left: none;
	padding-left: 0;
	padding-top: 8%;
}
footer .f_bg1 .f_box1 .titlist{
	display: block;
	border-top: 1px dashed #bdbcb8;
	padding-top: 10%;
	padding-bottom: 8%;
	margin-bottom: 0;
}
footer .f_bg1 .f_box1 .titlist:last-child{
	border-bottom: none;
}
footer .f_bg1 .f_box1 .titlist .tit{
	width: 100%;
	border-right: none;
	margin-bottom: 1em;
}
footer .f_bg1 .f_box1 .titlist .tit::before{
	width: 1.5em;
	height: 1.5em;
}
footer .f_bg1 .f_box1 .titlist .tit dt{
	display: inline;
	font-size:110%;
	margin-bottom: 0;
}
footer .f_bg1 .f_box1 .titlist .tit dd{
	display: inline;
	font-size: 88%;
}
footer .f_bg1 .f_box1 .titlist .list{
	width:100%;
	padding-left: 0;
}
footer .f_bg1 .f_box1 .list{
	margin-bottom: -3%;
}
footer .f_bg1 .f_box1 .flex_r .list{
	margin-bottom: -3%;
}
footer .f_bg1 .f_box1 .list li{
	margin-bottom: 3%;
}
footer .f_bg1 .f_box1 .flex_r .list li{
	margin-bottom: 3%;
}

/*f_box2*/
footer .com_monshin{
	margin: 10% 0;
}/*
footer .f_bg1 .f_box2 .monshin{
	padding: 6% 5% 8%;
}
footer .f_bg1 .f_box2 .monshin_inbox{
	display: block;
}
footer .f_bg1 .f_box2 .monshin .abs{
	width: 7rem;
	margin: 0 auto 3%;
}
footer .f_bg1 .f_box2 .monshin .tit{
	width:100%;
	font-size:150%;
	margin-bottom: .3em;
}
footer .f_bg1 .f_box2 .monshin .txt{
	width: 100%;
	border-right: none;
	padding-right: 0;
	margin-right: 0;
}
footer .f_bg1 .f_box2 .monshin .btn{
	text-align: center;
	margin-top: 5%;
}
footer .f_bg1 .f_box2 .monshin .btn a{
	padding: .6em 1.85em;
	text-align: left;
}*/

/*f_bg2*/
footer .f_bg2{
	position: relative;
	padding: 8% 0 20vw;
}
footer .f_bg2 .flex_box{
	display: block;
}
footer .f_bg2 .flex_l{
	width: 100%;
	display: block;
	margin-bottom: 8%;
}
footer .f_bg2 .flex_l .map1{
	margin-bottom: 7%;
}
footer .f_bg2 .flex_l .map2 dd ul:nth-child(1){
	width:29%;
}
footer .f_bg2 .flex_l .map2 dd ul:nth-child(2){
	width:71%;
}
footer .f_bg2 .flex_r{
	width: 100%;
	display: block;
}
footer .f_bg2 .flex_r .inbox{
	width: 100%;
	padding-bottom: 0;
}
footer .f_bg2 .flex_r .bnr{
	margin: 0 auto;
	text-align: center;
}
footer .f_bg2 .flex_r .pagetop{
	position: absolute;
	bottom: 16vw;
	right: 4%;
	width: 20vw;
}
	
/*.com_monshin*/
.com_monshin{
	padding: 6% 5% 10%;
}
.com_monshin .flex_box{
	display: block;
}
.com_monshin .monshin_l{
	width: 100%;
	border-right:none;
	display: block;
	padding-right: 0;
}
.com_monshin .monshin_l .abs{
	width: 20%;
	margin: 0 auto 4%;
}
.com_monshin .monshin_l dl{
	width: 100%;
	padding: 0;
}
.com_monshin .monshin_l dt{
	font-size:150%;
	margin-bottom: .2em;
	text-align: center;
}
.com_monshin .monshin_l dd{
	line-height: 1.8em;
}
.com_monshin .monshin_r{
	width: 100%;
	padding-left:0;
	margin-top: 6%;
	text-align: center;
}
.com_monshin .monshin_r .btn a{
	font-size:100%;
	letter-spacing: 0.1em;
	padding: 1em 2.5em;
}
}



/* drawer
---------------------------------------------------------*/
.dr_box1{
	padding: 5% 4% 12%;
	box-sizing: border-box;
    background: #41b4b5;
}
.dr_box1 .txt1{
	font-size:120%;
	line-height: 1.6em;
	margin-bottom: 2em;
}
.dr_box1 .com_menu_arrow3{
	margin-bottom: 0;
}
.dr_box1 .com_btn_kaku_list{
	margin-top: 6%;
}
/*
.dr_box1 .com_btn_search a{
	background:rgba(36,33,19,0.12);
	text-align: center;
	margin-top: 6%;
}
.dr_box1 .com_btn_search a span{
	margin-right: 1em;
}*/

/*com_menu_arrow3*/
.com_menu_arrow3{
	display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: -2em;
	font-size:95%;
}
.com_menu_arrow3 > li{
	width: 47.5%;
}
.com_menu_arrow3 > li > a{
	position: relative;
	display: block;
	border-bottom: 1px solid #83cecf;
	padding-bottom: 1em;
	margin-bottom: 2em;
	padding-left: 1em;
	box-sizing: border-box;
	line-height: 1.5em;
	letter-spacing: normal;
	color: #fff;
}
.com_menu_arrow3 > li > a.open_btn{
	padding-left: 0;
}
.com_menu_arrow3 > li > a > i{
	font-size:50%;
	position: absolute;
	top:0;
	left: 0;
}
.com_menu_arrow3 .open_box{
	width: 210%!important;
	padding-bottom: 15%;
}






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





/* 共通パーツ
---------------------------------------------------------*/
.hover_anime{
	transition: 0.4s;
}
.hover_anime:hover{
	transition: 0.4s;
}

/*com_yoyaku*/
.com_yoyaku{
	display: flex;
    justify-content: space-between;
	max-width: 490px;
	margin-left: auto;
	margin-right: auto;
}
.com_yoyaku li{
	width: 50%;
}
.com_yoyaku .type_short{
	display: none;
}
.com_yoyaku .type_big{
	display: none;
}

/*type_big*/
.com_yoyakubox .com_yoyaku .type_big{
	display: block;
}
.com_yoyakubox .com_yoyaku .type_normal{
	display: none;
}

/*com_yoyakubox*/
.com_yoyakubox{
	display: flex;
    justify-content: center;
    align-items: center;	
}
.com_yoyakubox .com_tel{
	text-align: center;
	width: 20.5em;
	margin-right: 2.5em;
}
.com_yoyakubox .com_tel dt{
	font-size: min(125%,2vw);
	margin-bottom: 1.5em;
}
.com_yoyakubox .com_tel dd{
	width: 100%;
}
.com_yoyakubox .com_yoyaku{
	max-width: 556px;
}

/*type_short*/
#scl_header .com_yoyaku .type_normal,
.sp_footer_inbox .com_yoyaku .type_normal{
	display: none;
}
#scl_header .com_yoyaku .type_short,
.sp_footer_inbox .com_yoyaku .type_short{
	display: block;
}

/*com_web line*/
.com_web{	background: #41b4b5;}
.com_line{	background: #6fca6d;}
.com_web:hover{	background: #32a5a6;}
.com_line:hover{	background: #1bbf44;}

/*com_tel*/
.com_tel{
	line-height: 1em;
}
.com_tel dd{
	width: 15.8em;
}
.com_tel.type_flex{
	display: flex;
    justify-content: center;
    align-items: center;
}
.com_tel.type_flex dd{
	margin-left: 1em;
}
.com_tel.type_flex.type_big{
    font-size: min(125%,1.7vw);
}
.com_tel.type_flex.type_big dd{
	margin-left: .5em;
}

.com_tel.type_normal dt{
	margin-bottom: 1em;
}

/*com_acc*/
.com_acc{margin-bottom: -1em;}
.com_acc li{
	position: relative;
	display: inline-block;
	padding-left: 3.6em;
	box-sizing: border-box;
	color: #9e8410;
	line-height: 1.6em;
	margin-right: 1em;
	text-align: left;
	margin-bottom: 1em;
}
.com_acc li:nth-child(2){
	padding-left: 4.2em;
	margin-right: 0;
}
.com_acc li::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/acc_bas.svg")no-repeat top left;
	background-size: 100% auto;
	width: 3.3em;
	height: 3.3em;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}
.com_acc li:nth-child(2)::before{
	background-image: url("../images/common/acc_car.svg");}

/*com_timetable*/
.com_timetable ul{
	text-align: center;
	font-size:92%;
	line-height: 1.5em;
	margin-top: .7em;
}
.com_timetable.type_big ul{
	font-size:118%;
}

/*com_dr*/
.com_dr .bdr{
	border-bottom: dashed 1px #d3d3d0;
	padding-bottom: 1.1rem;
	margin-bottom: 1rem;
}
.com_dr .type_flex{
	display: flex;
    justify-content: space-between;
}
.com_dr .type_flex .img{
	width: 80px;
	text-align: right;
}
.com_dr .type_flex .img img{
	margin-left: auto;
	margin-right: 0;
}
.com_dr .type_flex .txt{
	width: calc(85% - 80px);
}
.com_dr .type_col2{
	display: flex;
    justify-content: space-between;
}
.com_dr .type_col2 > div{
	width: 50%;
}
.com_dr .txt p{
	line-height: 1.5em;
}
.com_dr .txt p.ft_zen{
	margin-bottom: .5em;
}
.com_dr .type_txt p{
	display: inline-block;
}
.com_dr .type_txt p:nth-child(1){
	margin-right: .5em;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
.com_dr .txt p{
	letter-spacing: normal;
}
.com_dr .type_flex .img{
	width: 60px;
}
.com_dr .type_flex .txt{
	width: calc(100% - 70px);
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*com_yoyakubox*/
.com_yoyakubox .com_tel{;
	width: 20.5em;
	margin-right: 1.5em;
}
.com_yoyakubox .com_tel dt{
	margin-bottom: 1em;
}
	
/*com_acc*/
.com_acc li{
	width: 100%;
}
	
/*com_dr*/
.com_dr .bdr{
	padding-bottom: 1rem;
	margin-bottom: .9rem;
}
.com_dr .type_flex .img{
	width: 8vw;
}
.com_dr .type_flex .txt{
	width: calc(95% - 8vw);
}
	
.com_dr .type_col2{
	display: block;
}
.com_dr .type_col2 > div{
	width: 100%;
}
.com_dr .tbsp_bdr{
	border-bottom: dashed 1px #d3d3d0;
	padding-bottom: 1.1rem;
	margin-bottom: 1rem;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
/*com_yoyakubox*/
.com_yoyakubox{
	display: block;	
}
.com_yoyakubox .com_tel{
	width:100%;
	margin-right: 0;
	margin-bottom: 5%;
}
.com_yoyakubox .com_tel dt{
	font-size: 100%;
	margin-bottom:0;
	margin-right: .5em;
}
	
/*com_tel*/
.com_tel{
	display: block!important;
	font-size: 100%!important;
	letter-spacing: 0.15em!important;
	letter-spacing: normal!important;
}
.com_tel dt{
	width: 100%!important;
	margin: 0 auto .9em!important;
	text-align: center!important;
}
.com_tel dd{
	width: 100%!important;
	margin: 0!important;
}
.com_tel dd img{
	width: 70%!important;
	height: auto!important;
}

/*com_acc*/
.com_acc li{
	font-size:88%;
	letter-spacing: normal;
	padding-left: 3.2em;
	margin-right: .5em;
	margin-bottom: 1em;
}
.com_acc li:nth-child(2){
	padding-left: 4em;
	margin-right: 0;
}

/*com_timetable*/
.com_timetable ul{
	font-size: 88%!important;
	letter-spacing: normal;
}

/*com_dr*/
.com_dr .type_col2{
	display: block!important;
}
.com_dr .type_col2 > div{
	width: 100%!important;
}
.com_dr .bdr{
	border-bottom: dashed 1px #d3d3d0!important;
	padding-bottom: 1.1rem!important;
	margin-bottom: 1rem!important;
}
.com_dr .tbsp_bdr{
	border-bottom: dashed 1px #d3d3d0;
	padding-bottom: 1.1rem;
	margin-bottom: 1rem;
}
.com_dr .img{
	width: 16vw!important;
	text-align: right!important;
}
.com_dr .img img{
	margin-left: auto!important;
	margin-right: 0!important;
}
.com_dr .txt{
	width: calc(95% - 16vw)!important;
}
.com_dr .txt p.ft_zen{
	margin-bottom: .3em;
}
.com_dr .type_txt{
	text-align: left!important;
}
}




/* icon
---------------------------------------------------------*/
i.maru{
	position: relative;
	color: #41b4b5;
	background: #ededec;
	background-size: 100% auto;
	border-radius: 50%;
	font-size: 8px!important;
	line-height: 1em!important;
	padding: 1.1em 1.1em 1.1em .9em;
	box-sizing: border-box;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
i.maru{
	font-size: 6px!important;
}
}







/* ボタン
---------------------------------------------------------*/
.com_btn_s a{
	position: relative;
	display: inline-block;
	background: #fff;
	text-align: center;
	width: 100%;
	max-width: 380px;
	border-radius: 50px;
	font-size:110%;
	line-height: 1.5em;
	padding: .4em 0;
	transition: 0.4s;
}
.com_btn_s a:hover{
	background: #41b4b5!important;
	color: #fff;
	transition: 0.4s;
}
.com_btn_s a:hover i{
	color: #fff!important;
}
.com_btn_s a .icon-arrow1{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 4.5em;
	font-size:50%;
	color: #41b4b5;
}
.com_btn_s a span{
	position: relative;
	padding-left: 2em;
	box-sizing: border-box;
}
.com_btn_s a span .icon-access,
.com_btn_s a span .icon-calendar{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	color: #af931a;
	font-size:110%;
}
.com_btn_s a span .icon-calendar{
	top:45%;
	color: #937d68;
}

/*com_btn_kaku*/
.com_btn_kaku{
	display: inline-block;
}
.com_btn_kaku a{
	position: relative;
	display: block;
	background:#ffa25b;
	border-radius: 10px;
	font-size: min(140%,2.2vw);
	letter-spacing: 0.1em;
	line-height: 1.4em;
	color: #fff;
	text-align: left;
	height: 4.8em;
	width: 19.2em;
}
.com_btn_kaku.type2 a{
	background:#ffa58f;
}
.com_btn_kaku a:hover{
	background:#ff8121;
}
.com_btn_kaku.type2 a:hover{
	background:#ff704d;
}

.com_btn_kaku a span{
	position: absolute;
	display: inline-block;
	text-align: left;
	padding-left: 3em;
	box-sizing: border-box;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 16em;
}
.com_btn_kaku a span::before{
	position: absolute;
	display: block;
	content: "";
	background: url(../images/common/icon_sagasu.svg) no-repeat top left;
	background-size: 100% auto;
	width: 2em;
	height: 2.7em;
	top: 55%;
	transform: translateY(-50%);
	left: 0;
}
.com_btn_kaku.type2 a span::before{
	background-image: url(../images/common/icon_memo.svg);
	width: 1.8em;
	top: 65%;
}
.com_btn_kaku a .icon-arrow1{
	position: absolute;
	top:55%;
	transform: translateY(-50%);
	right: 0;
	color: #ffa25b;
}
.com_btn_kaku_list{
	margin: 0 auto;
	text-align: center;
}
.com_btn_kaku_list .com_btn_kaku{
	display: inline-block;
	margin-right: 1.2em;
}
.com_btn_kaku_list .com_btn_kaku:last-child{
	margin-right: 0;
}

/*com_btn1*/
.com_btn1.type_list{
	display: inline-block;
	margin-right: .5em;
	margin-bottom: .8em;
}
.com_btn1 a{
	position: relative;
	display: inline-block;
	width: 18.5em;
	font-size:105%;
	letter-spacing: 0.15em;
	line-height: 1.5em;
	background: #fff;
	border:1px solid #d3d3d0;
	padding: 1.2em 2.6em 1.4em;
	box-sizing: border-box;
	border-radius: 50px;
	text-align: left;
	transition: 0.4s;
}
.com_btn1.type_s a{
	width: 15em;
	padding-left: 2em;
}
.com_btn1 a:hover{
	border-color: #41b4b5;
	background: #41b4b5;
	color: #fff;
}
.com_btn1 a .icon-arrow1.maru{
	position: absolute;
	top:50%;
	transform: translateY(-50%); 
	right: 3.7em;
	font-size:90%;
}
.com_btn1.type_ank a .icon-arrow1.maru{
	transform: translateY(-50%) rotate(90deg);
}

/*com_btn2*/
.com_btn2 a{
	display: block;
	background: rgba(0,0,0,0.15);
	color: #fff;
	font-size: min(150%,2.5vw);
	letter-spacing: 0.1em;
	line-height: 1.6em;
	padding: 1em 2.6em;
	box-sizing: border-box;
	border-radius: 10px;
	width: 100%;
	max-width: 332px;
	text-align: left;
}
.com_btn2 a:hover{
	background: rgba(0,0,0,0.5);
}
.com_btn2 a span{
	position: relative;
	display: inline-block;
	width:9.7em;
}
.com_btn2 a span i{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
/*com_btn1*/
.com_btn1 a{
	letter-spacing: 0.1em;
	padding: 1em 2.6em 1.2em;
}
.com_btn1.type_s a{
	padding-left: 1.5em;
}
	
/*com_btn2*/
.com_btn2 a{
	padding: 1em 1.5em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
/*com_btn_kaku*/
.com_btn_kaku a{
	font-size: 100%;
	width: 18.2em;
}
.com_btn_kaku a span{
	width: 16em;
	padding-left: 2.7em;
}
.com_btn_kaku_list .com_btn_kaku{
	margin-right: auto;
}
	
/*com_btn1*/
.com_btn1{
	display: block!important;
	text-align: center!important;
}
.com_btn1 a{
	width: 18.5em;
	font-size:100%;
	letter-spacing: 0.1em;
	padding: 1em 2.6em 1.2em;
	margin: 0 auto!important;
}
.com_btn1.type_s{
	display: inline-block!important;
}
.com_btn1.type_s a{
	width: 10.7em;
	padding-left: 1em;
	letter-spacing: normal;
}
.com_btn1.type_s a .icon-arrow1.maru{
	right: 1.5em;
}
.com_btn1.sp_b a{
	text-align: center;
	padding-left: 0;
	padding-right: 0;
}
.com_btn1.sp_b a .icon-arrow1.maru{
	width: 3.2em;
	right: 0;
	left: 0;
	margin: 0 auto;
	top: calc(100% - 2em);
	transform: translateY(0) rotate(90deg);	
}
.com_btn1.type_list{
	margin-right: auto;
	margin-bottom: 1em;
}
.com_btn1.type_list:last-child{
	margin-bottom: 0;
}

/*com_btn2*/
.com_btn2{
	text-align: center;
}
.com_btn2 a{
	font-size: 100%;
	padding: 1em 1.5em;
	margin: 0 auto;
}
}







/* 見出し
---------------------------------------------------------*/
.com_index1{
	position: relative;
	padding-left: .8em;
	box-sizing: border-box;
	font-size:110%;
	line-height: 1.5em;
}
.com_index1::before{
	position: absolute;
	display: block;
	content: "";
	background: #a0d9da;
	background-size: 100% auto;
	width: 3px;
	height: 70%;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}

.com_index3,
.free_area h3{
  font-family: "Zen Old Mincho", serif;
  font-weight: 400!important;
  font-style: normal;
	background: #41b4b5;
	position: relative;
	font-size: min(220%,3.5vw);
	letter-spacing: 0.1em;
	line-height: 1.6em;
	padding: .8em 1em .85em;
	box-sizing: border-box;
	text-align: center;
	color: #fff;
	margin-bottom: 60px;
}
.com_index3::before,
.free_area h3::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/com_index3_abs@2x.png")no-repeat top left;
	background-size: 100% auto;
	width: 150px;
	height: 56px;
	top:0;
	left: 0;
}
.com_index3_box{
	max-width: 1220px;
	margin-left: auto;
	margin-right: auto;
}

.com_index4,
.free_area h4{
  font-family: "Zen Old Mincho", serif;
  font-weight: 400!important;
  font-style: normal;
	border-top: 1px solid #41b4b5;
	border-bottom: 1px solid #41b4b5;
	text-align: center!important;
	font-size: min(170%,3vw);
	letter-spacing: 0.1em;
	line-height: 1.5em;
	padding: .8em 0;
	color: #41b4b5;
	margin-bottom: 45px;
}
.com_index4_box {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.com_index3,
.free_area h3{
	padding: .6em 1em .65em;
	margin-bottom: 5%;
}
	
.com_index4,
.free_area h4{
	padding: .6em 0;
	margin-bottom: 4%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_index3,
.free_area h3{
	font-size: 150%;
	letter-spacing: 0.05em;
	line-height: 1.4em;
	padding: .6em 1em .65em;
	margin-bottom: 6%;
}
.com_index3::before,
.free_area h3::before{
	width: 20vw;
}
	
.com_index4,
.free_area h4{
	font-size:140%;
	letter-spacing: 0.05em;
	line-height: 1.4em;
	padding: .6em 0;
	margin-bottom: 5%;
}
}





















/*スマホフッター
---------------------------------------------------------*/
@media only screen and (min-width: 768px) {
#sp_footer {display: none !important;}}
#sp_footer {
	position: fixed;
	width: 100%;
	left: 0;
	bottom: 0;
	z-index: 10;
	box-sizing: border-box;
}
.sp_footer_inbox{
	display: flex;
    justify-content: space-between;
    align-items: center;
	background-color: #fff;	
}
.sp_footer_inbox .sp_tel{
	width: 57.5%;
	padding: 0 8%;
	box-sizing: border-box;
}
.sp_footer_inbox .com_yoyaku{
	width: 42.5%;
	display: flex;
    justify-content: space-between;
}







/* カレンダー（未作成）
---------------------------------------------------------*/
.cal_box{
	position: relative;
	z-index: 10;
	margin-top: -0.3em;
}
.xo-event-calendar table,
.xo-event-calendar table.xo-month > caption {
	background-color: transparent !important;
	font-size: 75%;
}
.xo-event-calendar{
	max-width: 380px;
	margin: 0 auto;
}
.cal_box.type_big{
	font-size: min(150%,2vw)!important;
}
.cal_box.type_big .xo-event-calendar{
	max-width: 620px;
}
.xo-event-calendar caption{
	text-align: right!important;
	padding-left: 55%!important;
	box-sizing: border-box!important;
}
.xo-event-calendar table.xo-month .calendar-caption{
	position: relative;
  font-family: "Zen Old Mincho", serif!important;
  font-weight: 400!important;
  font-style: normal!important;
	font-size: 180%!important;
	letter-spacing: 0.1em;
	text-align: left;
}
/* 曜日 */
.xo-event-calendar table.xo-month {
	margin: 0;	/* 下のキャプションとの隙間 */
	  font-family: "Zen Old Mincho", serif!important;
  font-weight: 400!important;
  font-style: normal!important;
}
.xo-event-calendar table.xo-month,
.xo-event-calendar table.xo-month th,
.xo-event-calendar table.xo-month td {
	border: none!important;
	
}
.xo-event-calendar table.xo-month {
	border-bottom: none!important;
	margin-bottom: 0;
	padding-bottom: 5px!important;
}
.xo-event-calendar table.xo-month thead tr th{
	position: relative;
	border-top: none!important;
	border-bottom:none!important;
	line-height: 1em;
	padding:.6em 0!important;
	color: #fff!important;
	font-weight: normal;
	background: #ae9d8d;
	font-size:140%;
}
.type_big .xo-event-calendar table.xo-month thead tr th{
	padding:.8em 0!important;
}
.xo-event-calendar table.xo-month thead tr th::before{
	position: absolute;
	display: block;
	content: "";
	background: #ae9d8d;
	background-size:100% auto;
	width: 1px;
	height: 0.75em;
	top:50%;
	transform: translateY(-50%); 
	right: 0;
}
.xo-event-calendar table.xo-month thead tr th:last-child::before{
	display: none;
}
/*
.xo-event-calendar thead .saturday {
	color: #d4eee5 !important;
}
.xo-event-calendar thead .sunday {
	color: #ffe2c4 !important;
}*/

/* 今日 */
.xo-event-calendar table.xo-month .month-dayname td{
	position:relative;
}
.xo-event-calendar .today {
	font-weight: normal!important;
	color: #fff!important;
    border-left:none!important;
    border-right:none!important;
	background: #41b4b5!important;
}
.xo-event-calendar .today::before{
	position: absolute!important;
	display: block!important;
	content: ""!important;
	background: #41b4b5!important;
	background-size:100% auto!important;
	width: 1.5em!important;
	height: 1.5em!important;
	top: 50%!important;
	transform: translateY(-50%)!important;
	left: 0!important;
	right: 0!important;
	margin: 0 auto!important;
	border-radius: 50%!important;
	z-index: -1;
}
.xo-event-calendar .today div{
	background: #ccc!important;
}

/* 日付 
.xo-event-calendar table.xo-month tbody > tr:first-child .month-dayname td div,
.xo-event-calendar table.xo-month tbody > tr:first-child .month-week{
	padding-top: 0!important;
}
.xo-event-calendar table.xo-month tbody > tr:first-child .month-dayname td div::before,
.xo-event-calendar table.xo-month tbody > tr:first-child .month-week::before{
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	background-size:100% auto;
	width: 100%;
	height: 0;
	top:0;
	left: 0;
}*/
.xo-event-calendar table.xo-month .month-dayname-space {
    /*position: relative;
    top: 0;
	height: 2.5em!important;
	display: flex;
    justify-content: center;
    align-items: center;	*/
	display: none!important;
}
.xo-event-calendar table.xo-month .month-dayname{
	position: static!important;
}
.xo-event-calendar table.xo-month .month-dayname td{
	position: relative;
	padding: 0!important;
	height: 3em!important;
}
.xo-event-calendar table.xo-month .month-dayname td div,
.xo-event-calendar table.xo-month .month-week {
	line-height: 1em;
	color: #242113;
  font-family: "Zen Old Mincho", serif;
  font-weight: 400!important;
  font-style: normal;
	font-size: 140%;
	letter-spacing: 0.1em;
}
.xo-event-calendar table.xo-month .month-dayname td div {
	text-align: center;
	font-size: 1em;
	top:0;
	left: 0;
	right: 0;
	margin: 0 auto;
	padding: 1em 0 1.1em!important;
	height: 1em!important;
}
.xo-event-calendar table.xo-month .month-week table .dayname {
	font-size: 110%;
}
.xo-event-calendar table.xo-month div[class^="holiday-"] { 
	background: #ffe2c4;
}
.xo-event-calendar table.xo-month div[class^="holiday2-"] { 
	background: #d4eee5;
}
.xo-event-calendar table.xo-month div[class^="other-"] {
	display: none!important;
}

/* イベント日：表示しない */
.xo-event-calendar .month-event,
.xo-event-calendar .month-event-space {
	display: none;
}

/* キャプション */
.cal_box .holiday-titles {
	padding-top: .5em;
	text-align: left;
	font-size: 110%;
	line-height: 1.6em;
}
.cal_box.type_big .holiday-titles {
	font-size: 90%;
}
.cal_box .holiday-titles p {
	position: relative;
	display: inline-block;
	margin-right: 1.5em !important;
}
.cal_box .holiday-titles p span {
	border: none !important;
}

/*矢印*/
.xo-event-calendar table.xo-month button{
	width: 1em!important;
}
.xo-event-calendar table.xo-month button span.nav-prev,
.xo-event-calendar table.xo-month button span.nav-next{
	display: none!important;
}
.dashicons-arrow-left-alt2:before,
.dashicons-arrow-right-alt2:before{
	content:none;
}
.cal_box button{
	background: none;
	border: none;
	position: relative;
	padding:10px 15px;
	vertical-align: middle;
	display: inline-block;
	letter-spacing: 0.1em;
}
.cal_box button::before{
	display: inline-block;
	position: absolute;
	content: "";
	background: url(../images/common/cal_l.svg) no-repeat left top;
	background-size: 100% auto;
	width: 8px;
	height: 15px;
}
.cal_box button.month-prev::before{
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.cal_box button.month-next::before{
	right: 0;
	background: url(../images/common/cal_r.svg) no-repeat right top;
	top: 50%;
	transform: translateY(-50%);
}

/* リンクテキスト 
.cal_box .calendar_wrapp {
	position: relative;
}
.cal_box .sub_link {
	position: absolute;
	right: 0;
	bottom: 0;
	text-align: right;
	font-weight: bold;
	line-height: 1.6em;
}
.cal_box .sub_link a {
	text-decoration: underline;
	font-size: 90%;
}
.cal_box .sub_link a:hover {
	text-decoration: none;
}
.cal_box .txt_sat {
	padding-top: .5em;
	color: #41b4b5;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.2em;
	text-align: center;
}*/

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
/* キャプション */
.cal_box .holiday-titles {
	padding-top: .2em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) {
.cal_box{
	margin-top: 0;
}
.cal_box,
.cal_box.type_big{
	font-size:90%!important;
}
/* キャプション */
.cal_box .holiday-titles,
.cal_box.type_big .holiday-titles{
	padding-top: .2em;
	font-size:110%!important;
}
}



/* dep_fuda_list
---------------------------------------------------------*/
.dep_fuda_list{
	display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}
.dep_fuda_list li{
	position: relative;
	width: 49%;
	margin-top: 2%;
}
.dep_fuda_list li:nth-child(-n+2){
	margin-top: 0;
}
.dep_fuda_list li a,
.dep_fuda_list li p{
	display: block;
	background: #fff;
	border:1px solid #41b4b5;
	border-radius: 5px;
	font-size: min(120%,2vw);
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.6em;
	padding: 1em 4em 1em 2em;
	box-sizing: border-box;
}
.dep_fuda_list.type_beta li a,
.dep_fuda_list.type_beta li p{
	border:none;
	background: #e3f8f6;
}
.dep_fuda_list li a{
	transition: 0.4s;
}
.dep_fuda_list li a:hover{
	opacity: .7;
	transition: 0.4s;
}
.dep_fuda_list li p{
	padding-right: 2.2em;
}
.dep_fuda_list li i{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 4.5em;
}
.dep_fuda_list.type_beta li a i,
.dep_fuda_list.type_beta li p i{
	background: #ffffff;
}

.dep_fuda_list_jyunbi{
	text-align: center;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.dep_fuda_list li a,
.dep_fuda_list li p{
	letter-spacing: 0.1em;
	padding: 1em 3em 1em 1.5em;
	box-sizing: border-box;
}
.dep_fuda_list li p{
	padding-right: 1.5em;
}
.dep_fuda_list li i{
	right: 3em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.dep_fuda_list{
	display: block;
}
.dep_fuda_list li{
	width: 100%;
	margin-top: 3%!important;
}
.dep_fuda_list li:nth-child(1){
	margin-top: 0!important;
}
.dep_fuda_list li a,
.dep_fuda_list li p{
	font-size: 100%;
	letter-spacing: 0.05em;
	line-height: 1.5em;
	padding: 1em 3em 1em 1em;
}
.dep_fuda_list li p{
	padding-right: 1em;
}
.dep_fuda_list li i{
	right: 2em;
}
}




/* com_jyuyou
---------------------------------------------------------*/
.com_jyuyou{
	margin: 50px auto 0;
	border:rgba(186,107,66,0.70) 3px solid;
	padding: 30px 4% 35px;
	box-sizing: border-box;
	background: #fff;
	text-align: center;
	max-width: 1220px;
}
footer .com_jyuyou{
	margin-top: 50px;
	margin-bottom: 50px;
}
.com_jyuyou dt{
	color: #ba6b42;
	font-size: min(160%,3vw);
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin-bottom: .5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.com_jyuyou{
	margin: 5% auto 0;
	padding: 3vw 4% 3.5vw;
}
footer .com_jyuyou{
	margin-top: 5%;
	margin-bottom: 5%;
}
.com_jyuyou dt{
	margin-bottom: .3em;
}
}
/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_jyuyou{
	margin: 5% auto 0;
	padding: 7% 5% 8%;
}
footer .com_jyuyou{
	margin-top: 5%;
	margin-bottom: 5%;
}
.com_jyuyou dt{
	font-size: 140%;
	letter-spacing: 0.1em;
	margin-bottom: .3em;
}
.com_jyuyou dd{
	text-align: left;
}
}



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