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

body {
	font-family: "Zen Old Mincho", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #000000;
	font-size: 16px;
	letter-spacing: 0.1em;
	line-height: 2.2;
	padding:0;
	margin:0;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background: #f6f6f6;
}
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;}
.black,.black a{color:#000000;}
.green,.green a{color:#62ad8b;}
.green2,.green2 a{color:#4f8551;}
.green3,.green3 a{color:#7ba95f;}
.yellow,.yellow a{color:#ffffa9;}

.bg_white{background: #fff;}

.ft_zen,
.ft_zen a{
font-family: "Zen Old Mincho", serif;
font-weight: 600;
font-style: normal;
}
.ft_co{
font-family: "Cormorant Garamond", serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
}

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

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

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



/*共通
---------------------------------------------------------*/
.max_1500 {
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
}
.max_width,
.w1500,
.w1360,
.w1340,
.w1300,
.w1280,
.w1240,
.w1220,
.w1120,
.w1100,
.w900{
	width: 92%;
	padding: 0 4%;
	margin-left: auto;
	margin-right: auto;
}
.w1500 {max-width: 1500px;}
.w1360 {max-width: 1360px;}
.w1340 {max-width: 1340px;}
.w1300 {max-width: 1300px;}
.w1280 {max-width: 1280px;}
.w1240 {max-width: 1240px;}
.w1220 {max-width: 1220px;}
.w1120 {max-width: 1120px;}
.w1100 {max-width: 1100px;}
.w900 {max-width: 900px;}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) { 
.max_width,
.w1500,
.w1360,
.w1340,
.w1300,
.w1280,
.w1240,
.w1220,
.w1120,
.w1100,
.w900{
	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);
}

/*com_step_fade*/
.com_step_fade span{
	display: inline-block;
	opacity: 0;
	transform: translateY(30px);
	transition: all .7s ease;
}
.anime_on .com_step_fade span{
	opacity: 1;
	transform: translateY(0px);
}
.anime_on .com_step_fade span:nth-child(2){transition-delay: .05s;}
.anime_on .com_step_fade span:nth-child(3){transition-delay: .1s;}
.anime_on .com_step_fade span:nth-child(4){transition-delay: .15s;}
.anime_on .com_step_fade span:nth-child(5){transition-delay: .2s;}
.anime_on .com_step_fade span:nth-child(6){transition-delay: .25s;}
.anime_on .com_step_fade span:nth-child(7){transition-delay: .3s;}
.anime_on .com_step_fade span:nth-child(8){transition-delay: .35s;}
.anime_on .com_step_fade span:nth-child(9){transition-delay: .4s;}
.anime_on .com_step_fade span:nth-child(10){transition-delay: .45s;}
.anime_on .com_step_fade span:nth-child(11){transition-delay: .5s;}
.anime_on .com_step_fade span:nth-child(12){transition-delay: .55s;}
.anime_on .com_step_fade span:nth-child(13){transition-delay: .6s;}
.anime_on .com_step_fade span:nth-child(14){transition-delay: .65s;}
.anime_on .com_step_fade span:nth-child(15){transition-delay: .7s;}
.anime_on .com_step_fade span:nth-child(16){transition-delay: .75s;}
.anime_on .com_step_fade span:nth-child(17){transition-delay: .8s;}
.anime_on .com_step_fade span:nth-child(18){transition-delay: .85s;}
.anime_on .com_step_fade span:nth-child(19){transition-delay: .9s;}
.anime_on .com_step_fade span:nth-child(20){transition-delay: .95s;}
.anime_on .com_step_fade span:nth-child(21){transition-delay: 1s;}
.anime_on .com_step_fade span:nth-child(22){transition-delay: 1.05s;}
.anime_on .com_step_fade span:nth-child(23){transition-delay: 1.1s;}
.anime_on .com_step_fade span:nth-child(24){transition-delay: 1.15s;}
.anime_on .com_step_fade span:nth-child(25){transition-delay: 1.2s;}
.anime_on .com_step_fade span:nth-child(26){transition-delay: 1.25s;}
.anime_on .com_step_fade span:nth-child(27){transition-delay: 1.3s;}
.anime_on .com_step_fade span:nth-child(28){transition-delay: 1.35s;}
.anime_on .com_step_fade span:nth-child(29){transition-delay: 1.4s;}
.anime_on .com_step_fade span:nth-child(30){transition-delay: 1.45s;}


/*遅れて */
.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: .7em;
	height: .7em;
	margin-left: .5em;
	transform: translateY(-.1em);
	position: relative;
	transition: transform .4s;
}
.m_nav .icon_open {
	margin-left: .2em;
}
.icon_open::before,
.icon_open::after {
	display: inline-block;
	content: "";
	position: absolute;
	width: .7em;
	height: 1px;
	background: #000;
	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;
}
.open_btn.active .icon_open::after{
  transform: rotate(0deg);
}










/* 文字サイズ
---------------------------------------------------------*/
.zen13{
	font-size:85%;
	letter-spacing: 0.1em;
	line-height: 1.8em;
}
.zen14{
	font-size:90%;
	letter-spacing: 0.1em;
	line-height: 1.8em;
}
.zen15{
	font-size:95%;
	letter-spacing: 0.15em;
	line-height: 1.8em;
}
.zen17{
	font-size:min(110%,2.1vw);
	letter-spacing: 0.15em;
	line-height: 1.7em;
}
.zen18{
	font-size:min(115%,2.2vw);
	letter-spacing: 0.15em;
	line-height: 1.7em;
}
.zen19{
	font-size:min(120%,2.3vw);
	letter-spacing: 0.15em;
	line-height: 1.7em;
}
.zen20{
	font-size:min(130%,2.4vw);
	letter-spacing: 0.15em;
	line-height: 1.7em;
}
.zen21{
	font-size:min(135%,2.3vw);
	letter-spacing: 0.15em;
	line-height: 1.7em;
}
.zen22{
	font-size:min(145%,2.3vw);
	letter-spacing: 0.13em;
	line-height: 1.7em;
}
.zen23{
	font-size:min(150%,2.4vw);
	letter-spacing: 0.13em;
	line-height: 1.7em;
}
.zen24{
	font-size:min(155%,2.5vw);
	letter-spacing: 0.13em;
	line-height: 1.7em;
}
.zen25{
	font-size:min(160%,2.55vw);
	letter-spacing: 0.15em;
	line-height: 1.7em;
}
.zen26{
	font-size:min(165%,2.6vw);
	letter-spacing: 0.15em;
	line-height: 1.7em;
}
.zen27{
	font-size:min(170%,2.7vw);
	letter-spacing: 0.15em;
	line-height: 1.7em;
}
.zen28{
	font-size:min(175%,2.8vw);
	letter-spacing: 0.15em;
	line-height: 1.7em;
}
.zen30{
	font-size:min(192%,3.1vw);
	letter-spacing: 0.15em;
	line-height: 1.7em;
}
.zen35{
	font-size:min(225%,3.8vw);
	letter-spacing: 0.15em;
	line-height: 1.7em;
}
.zen36{
	font-size:min(230%,3.8vw);
	letter-spacing: 0.15em;
	line-height: 1.7em;
}
.zen40{
	font-size:min(225%,3.8vw);
	letter-spacing: 0.15em;
	line-height: 1.7em;
}
.zen45{
	font-size:min(280%,4vw);
	letter-spacing: 0.15em;
	line-height: 1.7em;
}

.co18{
	font-size:min(120%,2.2vw);
	letter-spacing: 0.1em;
	line-height: 1em;
}
.co19{
	font-size:min(125%,2.3vw);
	letter-spacing: 0.1em;
	line-height: 1em;
}
.co20{
	font-size:min(130%,2.4vw);
	letter-spacing: 0.1em;
	line-height: 1em;
}
.co21{
	font-size:135%;
	letter-spacing: 0.1em;
	line-height: 1em;
}
.co25{
	font-size:min(160%,2.5vw);
	letter-spacing: 0.1em;
	line-height: 1em;
}
.co40{
	font-size:min(260%,4.2vw);
	letter-spacing: 0.06em;
	line-height: 1em;
}
.co45{
	font-size:min(290%,4.5vw);
	letter-spacing: 0.06em;
	line-height: 1em;
}
.co50{
	font-size:min(320%,5vw);
	letter-spacing: 0.06em;
	line-height: 1em;
}
.co65{
	font-size:min(400%,6vw);
	letter-spacing: 0.1em;
	line-height: 1.1em;
}
.co75{
	font-size:min(490%,7.5vw);
	letter-spacing: 0.06em;
	line-height: 1em;
}
.co80{
	font-size:min(510%,7.7vw);
	letter-spacing: 0.06em;
	line-height: 1em;
}
.co100{
	font-size:min(650%,8vw);
	letter-spacing: 0.06em;
	line-height: 1em;
}
.co150{
	font-size:min(950%,10.5vw);
	letter-spacing: 0.06em;
	line-height: 1em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.zen13,
.zen14,
.zen15{
	letter-spacing: normal;
}
	
.zen17,
.zen18,
.zen19,
.zen20,
.zen21,
.zen22,
.zen23,
.zen24,
.zen25,
.zen26,
.zen27,
.zen28,
.zen30,
.zen35,
.zen36,
.zen40,
.zen45{
	letter-spacing:0.05em;
	line-height: 1.6em;
}

.co18,
.co19,
.co20,
.co21,
.co25,
.co40,
.co45,
.co50,
.co65,
.co75,
.co80,
.co100,
.co150{
	letter-spacing: 0.05em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.zen13,
.zen14,
.zen15{
	letter-spacing: normal;
	line-height: 2em;
}

.zen17,
.zen18,
.zen19,
.zen20,
.zen21,
.zen22,
.zen23,
.zen24,
.zen25,
.zen26,
.zen27,
.zen28,
.zen30,
.zen35,
.zen36,
.zen40,
.zen45{
	letter-spacing:0.1em;
	line-height: 1.6em;
}
	
.co18,
.co19,
.co20,
.co21,
.co25,
.co40,
.co45,
.co50,
.co65,
.co75,
.co80,
.co100,
.co150{
	letter-spacing: 0.05em;
}
	
.zen13{	font-size:80%;}
.zen14{	font-size:85%;}
.zen15{	font-size:90%;}
.zen17{	font-size:105%;}
.zen18{	font-size:105%;}
.zen19{	font-size:105%;}
.zen20{	font-size:105%;}
.zen21{	font-size:105%;}
.zen22{	font-size:105%;}
.zen23{	font-size:105%;}
.zen24{	font-size:115%;}
.zen25{	font-size:120%;}
.zen26{	font-size:125%;}
.zen27{	font-size:130%;}
.zen28{	font-size:140%;}
.zen30{	font-size:150%;}
.zen35{	font-size:160%;}
.zen36{	font-size:165%;}
.zen40{	font-size:170%;}
.zen45{	font-size:170%;}
	
.co18{	font-size:120%;}
.co19{	font-size:125%;}
.co20{	font-size:130%;}
.co21{	font-size:135%;}
.co25{	font-size:135%;}
.co40{	font-size:180%;}
.co45{	font-size:200%;}
.co50{	font-size:260%;}
.co65{	font-size:275%;}
.co75{	font-size:300%;}
.co80{	font-size:300%;}
.co100{	font-size:400%;}
.co150{	font-size:500%;}
}







/* 下層共通
---------------------------------------------------------*/
/*メインイメージ*/
.contentpage .m_img_area{
	position: relative;
	height: min(680px,45vw);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../recruit/images/m_img@2x.jpg);
}

.contentpage .m_img_area .m_title{
	position: absolute;
	bottom: min(110px,7vw);
	left: min(135px,7.5vw);
	color: #fff;
}
.contentpage .m_img_area .m_title .ft_co{
	font-size: min(800%,8.5vw);
	line-height: 1em;
}
.contentpage .m_img_area .m_title h2{
	font-size:min(190%,3vw);
	letter-spacing: 0.2em;
	line-height: 1.4em;
	padding-left: .2em;
	margin-top: .2em;
}
.contentpage .m_img_area .m_title.type_med .ft_co{
	font-size: min(230%,3.2vw);
	line-height: 1em;
	margin-top: .6em;
}
.contentpage .m_img_area .m_title.type_med h2{
	font-size:min(430%,6.5vw);
	letter-spacing: 0.13em;
	line-height: 1.4em;
	padding-left: 0;
}


/*pankuzu*/
.pankuzu{
	margin-top: -0.8em;
	line-height: 1.5em;
}
.pankuzu li{
	position: relative;
	padding-right: 1.5em;
	box-sizing: border-box;
	display: inline-block;
	font-size:85%;
	line-height: 1.5em;
	color: #999;
}
.pankuzu li::before{
	position: absolute;
	display: block;
	content: "";
	background: #666666;
	background-size: 100% auto;
	width: 1px;
	height: 1em;
	right: 0.4em;
	top: 50%;
	transform: translateY(-50%) rotate(25deg);
}
.pankuzu li:last-child::before{
	display:none;
}

.pankuzu li a{
	color: #62ad8b;
	transition: 0.4s;
}
.pankuzu li a:hover{
	text-decoration: underline;
	transition: 0.4s;
}

/*com_lead*/
.com_lead{
	text-align: center;
}
.com_lead .zen35{
	margin-bottom: .7em;
}

/*com_index1*/
.com_index1{
	position: relative;
	text-align: center;
	padding-bottom: min(40px,4vw);
	margin-bottom:min(80px,6vw);
}
.com_index1::before{
	position: absolute;
	display: block;
	content: "";
	background:#999;
	background-size: 100% auto;
	width: 50%;
	max-width: 500px;
	height: 1px;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.com_index1 .co80{
	color: #b1b1b5;
}
.com_index1 .zen28,
.com_index1 .zen22{
	margin-top: min(.7em,1.2vw);
}

.com_index1.nobdr{
	padding-bottom:0;
	margin-bottom:min(50px,4vw);
}
.com_index1.nobdr::before{
	display: none;
}

.free_area h2,
.com_index2{
	background: #b1b1b5;
	text-align: center;
	color: #fff;
	padding: 1em;
	box-sizing: border-box;
	margin-bottom: 60px;
	font-size:min(180%,3.9vw);
	letter-spacing: 0.15em;
	line-height: 1.5em;
}
.com_index2_inbox{
	max-width: 1220px;
	margin-left: auto;
	margin-right: auto;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.contentpage .m_img_area .m_title.type_med .ft_co{
	margin-top: .3em;
}
	
.com_lead .zen35{
	margin-bottom: .5em;
}
	
.free_area h2,
.com_index2{
	padding: .7em .5em;
	margin-bottom: 4%;
	letter-spacing: 0.1em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
/*メインイメージ*/
.contentpage .m_img_area{
	height: 63vw;
}
.contentpage .m_img_area .m_title{
	bottom: 7vw;
	left: 7%;
}
.contentpage .m_img_area .m_title .ft_co{
	font-size: 12vw;
}
.contentpage .m_img_area .m_title h2{
	font-size: 4.5vw;
}
.contentpage .m_img_area .m_title.type_med .ft_co{
	font-size: 5vw;
	letter-spacing: 0.1em;
	margin-top: .3em;
}
.contentpage .m_img_area .m_title.type_med h2{
	font-size: 10vw;
	letter-spacing: 0.1em;
}
	
/*pankuzu*/
.pankuzu{
	margin-top: -1.3em;
}
.pankuzu li{
	font-size:80%;
}

/*com_lead*/
.com_lead .zen35{
	margin-bottom: .4em;
}
.com_lead p{
	text-align: left;
}
	
/*com_index1*/
.com_index1{
	padding-bottom: 7%;
	margin-bottom: 10%;
}
.com_index1 .zen28,
.com_index1 .zen22{
	margin-top: .4em;
}
.com_index1.nobdr{
	margin-bottom: 5%;
}
.free_area h2,
.com_index2{
	padding: .65em .5em;
	margin-bottom: 6%;
	font-size: 150%;
	letter-spacing: 0.05em;
}
}





/* 下層隙間
---------------------------------------------------------*/
.com_p_top_120{padding-top: 120px;}

.com_p_btm_80{padding-bottom: 80px;}
.com_p_btm_120{padding-bottom: 120px;}
.com_p_btm_150{padding-bottom: 150px;}

.com_btm_20{margin-bottom: 20px;}
.com_btm_30{margin-bottom: 30px;}
.com_btm_40{margin-bottom: 40px;}
.com_btm_60{margin-bottom: 60px;}
.com_btm_70{margin-bottom: 70px;}
.com_btm_80{margin-bottom: 80px;}
.com_btm_110{margin-bottom: 110px;}
.com_btm_120{margin-bottom: 120px;}
.com_btm_150{margin-bottom: 150px;}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.com_p_top_120{padding-top: 9%;}
	
.com_p_btm_80{padding-bottom: 6%;}	
.com_p_btm_120{padding-bottom: 9%;}
.com_p_btm_150{padding-bottom: 13%;}
	
.com_btm_20{margin-bottom: 3%;}
.com_btm_30{margin-bottom: 3%;}
.com_btm_40{margin-bottom: 4%;}
.com_btm_60{margin-bottom: 5%;}
.com_btm_70{margin-bottom: 5%;}
.com_btm_80{margin-bottom: 6%;}
.com_btm_110{margin-bottom: 9%;}
.com_btm_120{margin-bottom: 10%;}
.com_btm_150{margin-bottom: 13%;}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_p_top_120{padding-top: 12%;}
	
.com_p_btm_80{padding-bottom: 8%;}	
.com_p_btm_120{padding-bottom: 12%;}
.com_p_btm_150{padding-bottom: 15%;}
	
.com_btm_20{margin-bottom: 4%;}
.com_btm_30{margin-bottom: 4%;}
.com_btm_40{margin-bottom: 5%;}
.com_btm_60{margin-bottom: 6%;}
.com_btm_70{margin-bottom: 7%;}
.com_btm_80{margin-bottom: 8%;}
.com_btm_110{margin-bottom: 11%;}
.com_btm_120{margin-bottom: 12%;}
.com_btm_150{margin-bottom: 15%;}
}







/*header
---------------------------------------------------------*/
header{
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	z-index: 888;
	background: linear-gradient(to bottom,  rgba(0,0,0,0.2) 0%,rgba(0,0,0,0) 100%); 
	padding-bottom: 70px;
}
header .flex_box{
	padding-top: 40px;
	padding-right: min(50px,2.5vw);
	padding-left:min(35px,1.5vw);
	box-sizing: border-box;
}
header .h_left{
	width: 47%;
	color: #fff;
}
header .h_left h1{
	font-size: min(100%,1.3vw);
	padding-left: 9em;
	position: relative;
	box-sizing: border-box;
	text-align: left;
}
header .h_left h1::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/logo_w.svg")no-repeat top left;
	background-size: 100% 100%;
	width: 7.5em;
	height: 7.5em;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}
header .h_left h1 span.h1txt{
	margin-bottom: .9em;
	line-height: 1.7em;
}
header .h_left h1 span.name{
	max-width: 384px;
}
header .h_left h1 span{
	display: block;
}
header .h_right{
	width: 50%;
}
header .h_right .com_contact{
	max-width: 467px;
	margin-left: auto;
	margin-right: 0;
}

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

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
header .flex_box{
	padding-top: 3vw;
}
header .h_left h1{
	padding-left: 8em;
}
header .h_left h1::before{
	width: 6.8em;
	height: 6.8em;
	top:57%;
}
header .h_left h1 span.name{
	width: 90%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
header{
	padding-bottom: 20vw;
}
header .flex_box{
	padding-top: 3%;
	padding-right:2%;
	padding-left:2%;
}
header .h_left{
	width: 80%;
}
header .h_left h1{
	font-size:73%;
	line-height: 1em;
	padding-left: 6.3em;
}
header .h_left h1::before{
	width: 5.5em;
	height: 5.5em;
	top: 55%;
}
header .h_left h1 span.h1txt{
	margin-bottom: .7em;
	line-height: 1.6em;
}
header .h_left h1 span.name{
	width: 93%;
}
header .h_left h1 span{
	display: inline-block;
}
header .h_right{
	display: none;
}
}






/*メニュー
---------------------------------------------------------*/
.m_nav {
	width: 100%;
	display: flex;
    justify-content: space-between;
    align-items: center;
	letter-spacing: 0.1em;
	line-height: 1em;
	font-size: min(100%,1.8vw);
}
#scl_header .m_nav {
	font-size: min(100%,1.5vw);
}

.m_nav > li {
	position: relative;
	margin-left: 2em;
}
.m_nav > li:first-of-type {
	margin-left: 0 !important;
}
.m_nav > li > a {
	position: relative;
	display: block;
	text-align: center;
	line-height: 1;
	color: #FFF;
}
.m_nav > li > a::before{
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	background-size: 100% auto;
	width:.4em;
	height: .4em;
	top:calc(100% + .7em);
	left: 0;
	right: 0;
	margin: 0 auto;
	border-radius: 50px;
	opacity: 0;
	transition: 0.4s;
}
.m_nav > li.active > a::before,
.m_nav > li > a.active::before,
.m_nav > li.select > a::before,
.m_nav > li > a.select::before,
.m_nav > li > a:hover::before{
	opacity: 1;
	transition: 0.4s;
}
.m_nav_area{
	width: 75%;
	max-width: 687px;
	margin-left: auto;
	margin-right: min(50px,4vw);
	margin-top: 2vw;
}

/* アコーディオンメニュー */
.in_menu {
	display: none;
	position: absolute;
	text-align: center;
	width: 14em;
	color: #FFF;
	z-index: 999;
	right: 50%;
	top: calc(100% + 1rem);
	transform: translateX(50%);
	background:rgba(99,99,106,0.90);
	box-sizing: border-box;
	border-radius: 10px;
	padding-top: min(1em,1vw);
	padding-bottom: min(1em,1vw);
	padding-left:min(1.5em,3vw);
	padding-right:min(1.5em,3vw);
}
#scl_header .in_menu {
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.2));
}
.in_menu li{
	border-bottom: #9d9da2 1px solid;
}
.in_menu li.nobdr{
	border-bottom: none;
}
.in_menu li a{
	display: block;
	padding: 1.5em 0;
}
.in_menu li a:hover{
	color: #ffffa9;
}
.in_menu.med_inmenu{
	width: 40em;
}
header .in_menu.med_inmenu{
	right: 150%;
}
.in_menu.med_inmenu .com_medmenu{
	display: flex;
	justify-content: start;
	flex-wrap: wrap;
}
.in_menu.med_inmenu .com_medmenu li{
	width: 30%;
	margin-right: 5%;
}
.in_menu.med_inmenu .com_medmenu li:nth-child(3n){
	margin-right: 0;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
.m_nav_area {
	margin-top: 2vw;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.m_nav_area {
	margin-top: 2.5vw;
}
.m_nav > li > a::before{
	top:calc(100% + .6em);
}
}

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





/*スクロールメニュー
---------------------------------------------------------*/
#scl_header {
	position: fixed;
	z-index: 500;
	left: 0;
	top: 0;
	width: 100%;
	background-color: #63636a;
	box-sizing: border-box;
	transform: translateY(-100%);
}
#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;
	padding-top: min(25px,2vw);
	padding-bottom: min(25px,2vw);
	padding-left: min(4%,2vw);
	padding-right: min(4%,2vw);
	box-sizing: border-box;
}
#scl_header .scl_flex .scl_nav_area{
	width: 63%;
	max-width: 720px;
}
#scl_header .scl_flex .scl_nav_area .m_nav{
	max-width: 700px;
	margin-left: auto;
	margin-right: 0;
}
#scl_header .scl_flex .scl_contact{
	width: 33%;
	max-width: 470px;
}
#scl_header .scl_flex .com_web{
	max-width: 223px;
}

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

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

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






/* drawer-content
---------------------------------------------------------*/
#drawer-content .dr_inbox{
	position: relative;
	padding: 20vw 5% 60vw;
	box-sizing: border-box;
}
#drawer-content .dr_inbox::before{
	position: absolute;
	display: block;
	content: "";
	background: url(../images/common/dr_abs.svg)no-repeat top left;
	background-size: 100% auto;
	width: 40%;
	height: 400px;
	top: -14vw;
	left: -10%;
}
#drawer-content .w1220{
	position: relative;
	z-index: 2;
}
/*
#drawer-content .sp_f_content{
	position: fixed;
	bottom: 0;
	left: 0;
}*/
#drawer-content .dr_home{
	text-align: right;
	font-size:120%;
	line-height: 1em;
	letter-spacing: 0.1em;
	margin-bottom: 1em;
}
#drawer-content .dr_home a{
	vertical-align:bottom;
}
#drawer-content .dr_home i{
	margin-right: .5em;
	font-size:80%;
}

#drawer-content .dr_list1 > li{
	margin-bottom: 1.3em;
	font-size:125%;
	line-height: 1.5em;
	letter-spacing: 0.18em;
}
#drawer-content .dr_list1 li:last-child{
	margin-bottom: 0;
}
#drawer-content .dr_list1 li a{
	display: block;
}
#drawer-content .dr_list1 .dr_list1_med{
	display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
	padding-top: .5em;
}
#drawer-content .dr_list1 .dr_list1_med ul{
	width: 50%;
	font-size: 80%;
	letter-spacing: 0.05em;
}
#drawer-content .dr_list1 .dr_list1_med ul li{
	position: relative;
	padding-left: 1em;
	box-sizing: border-box;
	margin-top: .7em;
}
#drawer-content .dr_list1 .dr_list1_med ul li::before{
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	background-size: 100% auto;
	width: .4em;
	height: 2px;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}
#drawer-content .dr_list1 .icon_open::before,
#drawer-content .dr_list1 .icon_open::after{
	background: #a6a6a6;
}

#drawer-content .dr_list2{
	width: 112%;
	margin-left: -6%;
	margin-top: 3em;
	display: flex;
    justify-content: space-between;
}
#drawer-content .dr_list2 li{
	width: 31.5%;
	background: #919196;
	text-align: center;
}
#drawer-content .dr_list2 li a{
	position: relative;
	display: block;
	padding: 1.2em 0 1.4em;
}
#drawer-content .dr_list2 li span{
	display: block;
	line-height: 1em;
}
#drawer-content .dr_list2 li span:nth-child(1){
	letter-spacing: 0.05em;
	font-size:130%;
}
#drawer-content .dr_list2 li span:nth-child(2){
	font-size: 80%;
	letter-spacing:.15em;
	margin-top: .4em;
}
#drawer-content .dr_list2 li i{
	position: absolute;
	bottom: -0.5em;
	left: 42%;
	font-size:70%;
	line-height: 1em;
}




/* footer
---------------------------------------------------------*/
footer {
	overflow: hidden;
}
footer .f_box1{
	display: flex;
    justify-content: space-between;
}
footer .f_box1_l,
footer .f_box1_r{
	padding-top: min(80px,5vw);
	padding-bottom:min(80px,5vw);
	box-sizing: border-box;
}
footer .f_box1_l{
	width: 42.5%;
	padding-right: 7%;
	text-align: center;
}
footer .f_box1_l > .zen15{
	margin-bottom:min(.5em,0.5vw);
}
footer .f_box1_l > .zen14{
	margin-top: min(1em,1vw);
	margin-bottom: min(2em,2.5vw);
}
footer .f_box1_l > .zen14 li{
	display: inline-block;
	margin-right: .1em;
	background: #edeae7;
	text-align: center;
	border-radius: 50px;
	padding: .3em 1.7em .35em;
	box-sizing: border-box;
}
footer .com_contact{
	margin-bottom: min(2.5em,2vw);
}

/*com_timetable*/
.com_timetable{
	text-align: left;
}
.com_timetable ul{
	font-size:min(100%,1.5vw);
	max-width: 440px;
	letter-spacing: 0.01em;
	margin: .5em auto 0;
}
.com_timetable li{
	display: inline-block;
	text-align: left;
	margin-right: .5em;
}
.com_timetable li span{color: #cca947;}
.com_timetable li:nth-child(2) span{color: #9a6b47;}


footer #f_map{
	position: relative;
	width: 57.5%;
}
footer .f_box1_r{
	padding-left: 7%;
}
footer #f_map::before{
	position: absolute;
	display: block;
	content: "";
	background: #63636a;
	background-size: 100% auto;
	width: 200%;
	height: 100%;
	top:0;
	left: 0;
}
footer .f_box1_r_inbox{
	position: relative;
	z-index: 2;
}
footer .f_box1_r iframe{
	display: block;
	height: min(390px,30vw);
	margin-bottom: .8em;
}
footer .f_box1_r .txt address,
footer .f_box1_r .txt a{
	display: inline-block;
}
footer .com_acc{
	margin-top: 1em;
}

/*com_acc*/
.com_acc li{
	line-height: 1.4em;
	position: relative;
	padding-left: min(5em,7.8vw);
	box-sizing: border-box;
	height: 3.8em;
	display: flex;
    align-items: center;
	margin-bottom: min(1em,1vw);
}
.com_acc li:last-child{
	margin-bottom: 0;
}
.com_acc.col2{
	display: flex;
    justify-content: start;
}
.com_acc.col2 li{
	margin-right: min(2em,2vw);
	margin-bottom: 0;
}
.com_acc.col2 li:last-child{
	margin-right:0;
}
.com_acc li::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/acc_train.svg")no-repeat top left;
	background-size: 100% 100%;
	width: 3.8em;
	top:50%;
	transform: translateY(-50%); 
	left: 0;
	aspect-ratio: 55 / 55;
}
.com_acc li:nth-child(2)::before{
	background-image: url("../images/common/acc_car.svg");
}
.com_acc li dl{	
	display: flex;
    align-items: center;
}
.com_acc li dt{
	margin-right: 1em;
}
.com_acc li .ft_co{
	font-size: 300%;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
footer .f_box1_l{
	margin-left: -1%;
	padding-right: 0%;
}
footer .f_box1_l .zen15{
	letter-spacing: 0.01em;
}
footer .f_box1_r{
	margin-right: -2%;
	padding-left: 4%;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
footer .f_box1_l{
	padding-right: 3.5%;
}
footer .f_box1_r{
	padding-left:3.5%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
footer .f_box1{
	display: block;
}
footer .f_box1_l,
footer .f_box1_r{
	padding-top:12%;
	padding-bottom:12%;
}
footer .f_box1_l{
	width: 100%;
	padding-right: 0;
}
footer .f_box1_l > .zen15{
	margin-bottom: .2em;
}
footer .f_box1_l > .zen14{
	margin-top: 5%;
	margin-bottom:5%;
}
footer .com_contact{
	margin-bottom: 5%;
}

/*com_timetable*/
.com_timetable ul{
	font-size: 85%;
	max-width: 100%;
	letter-spacing: normal;
	line-height: 1.7em;
}
footer #f_map{
	width: 100%;
}
footer .f_box1_r{
	padding-left: 0;
}
footer #f_map::before{
	left: -5.5%;
}
footer .f_box1_r iframe{
	height: 60vw;
	margin-bottom: .6em;
}

/*com_acc*/
.com_acc{
	display: flex;
    justify-content: start;
}
.com_acc li{
	padding-left: 4.2em;
	height: 3.5em;
	margin-bottom: 2%;
}
.com_acc li{
	margin-right: 4%;
}
.com_acc li::before{
	width: 3.5em;
}
.com_acc li dt{
	margin-right:.5em;
}
.com_acc li .ft_co{
	font-size: 200%;
}
}












/* footer
---------------------------------------------------------*/
footer .f_box2{
	padding-top: min(80px,6vw);
	padding-bottom:min(50px,3vw);
	background: url("../images/common/f_shadow@2x.png")no-repeat top center;
	background-size: 100% auto;
}
footer .f_box2_flex > div{
	display: inline-block;
}
footer .f_box2_flex .zen13 li{
	width: 12em;
	margin-bottom: .8em;
}
footer .f_box2_flex .zen13 li:last-child{
	margin-bottom: 0;
}
footer .f_box2_flex .zen13 li a:hover{color: #4f8551;}

footer .f_box2 .zen14{
	margin-bottom: min(1.5em,1.5vw);
}
footer .f_box3{
	padding-bottom: min(90px,5vw);
}
footer .f_box3_inbox{
	display: flex;
    justify-content: space-between;
	align-items: flex-end;	
}
footer .f_box3_l{
	width: 70%;
	max-width: 770px;
	display: flex;
    justify-content: space-between;
} 
footer .f_box3_l li{
	width: 32.5%;
}
footer .f_box3_r{
	width: 27%;
	text-align: right;
} 
footer .f_box3_r .pagetop{
	display: inline-block;
	margin-left: auto;
	margin-right: 0;
	margin-bottom: .5em;
}
footer .f_box3_r .ft_co{
	color: #999999;
	font-size:min(85%,1.1vw);
	letter-spacing: 0.1em;
	line-height: 1.7em;
} 

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

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
footer .f_box3_r .ft_co{
	letter-spacing: normal;
} 
	
footer .f_box2_flex .zen13 li{
	width: 10.5em;
	margin-bottom: .5em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
footer .f_box2{
	padding-top: 12%;
	padding-bottom: 12%;
}
footer .f_box2 .f_box2_inbox1{
	display: block;
	width: 100%;
	text-align: center;
	margin-bottom: 3%;
}
footer .f_box2 .f_box2_inbox1:last-child{
	margin-bottom: 0;
}
footer .f_box2 .open_btn{
	color: #999;
	font-size:110%;
	letter-spacing: 0.15em;
}
footer .f_box2 .icon_open::before,
footer .f_box2 .icon_open::after{
	background: #999;
}
footer .f_box2 .open_box{
	text-align: left;
	padding-top: 0.3em;
	padding-bottom: 1.5em;
}
footer .f_box2 .flex_box{
	width: 80%;
	margin: 0 auto;
}
footer .f_box2 .open_box ul{
	width: 48%;
}
footer .f_box2 .open_box ul li{
	margin-top:.7em;
}
footer .f_box2 .open_box ul li a{
	display: block;
}	
	
footer .f_box3{
	padding-bottom: 30vw;
}
footer .f_box3_inbox{
	display: block;
}
footer .f_box3_l{
	width:100%;
	max-width:100%;
	margin: 0 auto 8%;
	flex-wrap: wrap;
} 
footer .f_box3_l li{
	width: 49%;
	margin-top: 2%;
}
footer .f_box3_l li:nth-child(-n+2){
	margin-top: 0;
}
footer .f_box3_r{
	position: relative;
	width: 100%;
	text-align: left;
} 
footer .f_box3_r .pagetop{
	position: absolute;
	top:0;
	right: 0;
	width: 8vw;
}
footer .f_box3_r .ft_co{
	font-size:65%;
	letter-spacing: 0.1em;
} 
}




/*スマホフッター
---------------------------------------------------------*/
@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%;
}
.sp_f_content{
	background: #fff;
	padding: 6% 3.5%;
	box-sizing: border-box;
}
.sp_f_content ul{
	display: flex;
    justify-content: space-between;
}
.sp_f_content li{
	width: 49.7%;
	display: flex;
	justify-content: center;
    align-items: center;
	text-align: center;
}
.sp_f_content li.com_tel{
	padding:0 4.5vw;
	box-sizing: border-box;
	background: #b0a87f;
}
.sp_f_content li.com_web{
	position: relative;
	background: #7ba95f;
}
.sp_f_content li.com_web .com_btn2_icon{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: .9em;
    color:rgba(0,0,0,0.30);
	width: 1.4em!important;
}



/* f_bnr
---------------------------------------------------------*/
.f_bnr{
	padding-top: min(60px,5vw);
	padding-bottom: min(60px,5vw);
}
.f_bnr ul{
	max-width: 1040px;
	margin: 0 auto;
	display: flex;
    justify-content: space-between;
}
.f_bnr ul li{
	border-left: 1px solid #b2b2b2;
	box-sizing: border-box;
}
.f_bnr ul li.f_bnr_wp,
.f_bnr ul li.f_bnr_insta{
	width: 20.333%;
	text-align: center;
	display: flex;
    justify-content: center;
    align-items: center;	
	flex-wrap: wrap;
}
.f_bnr ul li.f_bnr_wp p,
.f_bnr ul li.f_bnr_insta p{
	width: 100%;
	display: block;
}
.f_bnr ul li.f_bnr_wp p.ft_co{
	color: #89898f;
}
.f_bnr ul li.f_bnr_wp p:nth-child(2){
	margin-top: .5em;
}
.f_bnr ul li.f_bnr_insta p:nth-child(1){
	width: 2em;
	margin: 0 auto;
}
.f_bnr ul li.f_bnr_insta p:nth-child(2){
	margin-top: .7em;
}

.f_bnr ul li.f_bnr_rec{
	width: 39%;
	padding-left:2.5%;
	box-sizing: border-box;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.f_bnr ul li.f_bnr_wp p:nth-child(2){
	margin-top: .3em;
}
.f_bnr ul li.f_bnr_insta p:nth-child(1){
	width: 1.5em;
}
.f_bnr ul li.f_bnr_insta p:nth-child(2){
	margin-top: .4em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.f_bnr{
	padding-top: 12%;
	padding-bottom:12%;
}
.f_bnr ul{
	flex-wrap: wrap;
}
.f_bnr ul li{
	border-left: 1px solid #b2b2b2;
	box-sizing: border-box;
	padding: 1em 0;
}
.f_bnr ul li.f_bnr_wp,
.f_bnr ul li.f_bnr_insta{
	width: 33.333%;
}
.f_bnr ul li.f_bnr_insta{
	border-right: 1px solid #b2b2b2;
}
.f_bnr ul li.f_bnr_wp p:nth-child(2){
	margin-top: 0;
}
.f_bnr ul li.f_bnr_insta p:nth-child(1){
	width: 1.5em;
}
.f_bnr ul li.f_bnr_insta p:nth-child(2){
	margin-top: .4em;
	font-size:110%;
}

.f_bnr ul li.f_bnr_rec{
	width: 100%;
	padding-left:0;
	border-left: none;
	margin-top: 4%;
}
}




/* com_contact
---------------------------------------------------------*/
.com_contact_box{
	max-width: 900px;
	margin: 0 auto;
	background: #f6f6f6;
	padding-top: min(20px,2.5vw);
	padding-bottom: min(20px,2.5vw);
	padding-left: 5%;
	padding-right: 5%;
	box-sizing: border-box;	
}
.com_contact_box .com_contact_inbox{
	max-width:750px;
	margin: 0 auto;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.com_contact_box .com_contact_box_title{
	width: 30%;
	font-size:min(105%,1.7vw);
	line-height: 1em;
	letter-spacing: 0.15em;
}
.com_contact_box .com_contact{
	width: 70%;
}
.com_contact{
	display: flex;
    justify-content: space-between;
    align-items: center;	
}
.com_contact .com_tel,
.com_contact .com_web{
	width: 48%;
}
.com_contact .com_web a{
	position: relative;
	display: block;
	background: #7ba95f;
	border-radius: 5px;
}
.com_contact .com_web a:hover{
	background: #6a8f53;
}
.com_contact .com_web a .com_btn2_icon{
	position: absolute;
	top:50%;
	transform: translateY(-50%);
	right: 10.5%;
	color: #587645;
	width: 11%!important;
}
.com_contact .com_web a .com_btn2_arrow{fill:#fff;}

.type_b .img_w,
.type_w .img_b{
	display: none;
}

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

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_contact_box{
	max-width: 100%;
	padding-top: 9%;
	padding-bottom: 9%;
	padding-left: 5%;
	padding-right: 5%;
}
.com_contact_box .com_contact_inbox{
	max-width:100%;
	display: block;
}
.com_contact_box .com_contact_box_title{
	width: 100%;
	font-size: 100%;
	text-align: center;
	margin-bottom: 1.2em;
}
.com_contact_box .com_contact{
	width: 100%;
}
.com_contact{
	display: block;
}
.com_contact .com_tel{
	width: 17em!important;
	margin: 0 auto 6%;
}
.com_contact .com_tel img{
	width: 100%;
	height: auto;
}
.com_contact .com_web{
	width: 100%;
	max-width: 17em;
	margin: 0 auto;
}
}





/* com_btn1
---------------------------------------------------------
.com_btn1 a{
	position: relative;
	font-size:95%;
	line-height: 1.6em;
	padding-right: 2.1em;
	padding-bottom: 1.2em;
	padding-left: 1.3em;
	box-sizing: border-box;
	border-bottom: 1px solid #000;
	width: 100%;
	max-width: 15em;
	display: flex;
    justify-content: space-between;
    align-items: center;		
}
.com_btn1.mgn a{
	margin-top: 2em!important;
}
.com_btn1 a:hover span{
	transition: transform .5s cubic-bezier(.25,1,.5,1), opacity .5s linear;
}

.com_btn1 a i{
	color: #7ba95f;
	font-size:90%;
}

.com_btn1.no_bdr a{
	border:none;
	padding-bottom: 0;
	max-width: 100%;
}
.com_btn1.no_bdr a i{
	margin-left: 1em;
}
.com_btn1.white a{
	border-color: #fff;
}
.com_btn1.white a i{
	color: #fff;
}

.com_btn1_list{
	display: flex;
    justify-content: center;
}
.com_btn1_list .com_btn1{
	width: 100%;
	max-width: 15em;
	display: block;
	margin-right: 1em;
}
.com_btn1_list .com_btn1:last-child{
	margin-right: 0;
}

/* Tablet (Portrait)
------------------------------------------
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_btn1 a{
	padding-bottom: 1em;
}
.com_btn1.mgn a{
	margin-top: 1.3em!important;
}
}

/* Mobile (Portrait) 
------------------------------------------
@media only screen and (max-width: 767px) { 
.com_btn1 a{
	padding-left: .5em;
	padding-right: 1em;
	padding-bottom: 1em;
}
.com_btn1.mgn a{
	margin-top: 1.5em!important;
}
	
.com_btn1_list{
	flex-wrap: wrap;
}
.com_btn1_list .com_btn1{
	width: 100%;
	max-width: 48%;
	display: block;
	margin-right: 4%;
}
.com_btn1_list .com_btn1:nth-child(2n),
.com_btn1_list .com_btn1:last-child{
	margin-right: 0;
}
.com_btn1_list .com_btn1 a{
	margin-top: 1.3em;
}
.com_btn1_list .com_btn1:nth-child(-n+2) a{
	margin-top: 0;
}
}




/* com_btn2（メモ：矯正ページでロングver　未作成）
---------------------------------------------------------*/
/*com_btn2*/
.com_btn2{
	display: block;
}
.com_btn2,
.com_btn2 a{
	max-width: 15em;
}
.com_btn2.type_long,
.com_btn2.type_long a{
	max-width: 18em;
}
.com_btn2 a{
    align-items: center;
    border-bottom: 1px solid #808080;
    color: #000;
    display: flex;
    justify-content: space-between;
	padding: 0 1.9em .5em 1.2em;
	box-sizing: border-box;
}
.com_btn2:hover a{
	color: #4f8551;
    border-color:#4f8551;
}

/*com_btn2_text*/
.com_btn2_text {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    height: 1.7em;
    line-height:1.7em;
}
.com_btn2_text strong {
    display: block;
    opacity: 1;
	font-weight: normal;
}

.com_btn2:hover .com_btn2_text strong {
	opacity: 0
}
.com_btn2_text:after {
    content: attr(data-text);
    display: block;
    opacity: 0
}
.com_btn2_text strong,
.com_btn2_text:after {
    transition: translate .5s cubic-bezier(.25,1,.5,1),opacity .5s linear
}
.com_btn2:hover .com_btn2_text strong,
.com_btn2:hover .com_btn2_text:after {
	transition:translate .5s cubic-bezier(.25,1,.5,1),opacity .5s linear;
	translate: 0 -100%
}
.com_btn2:hover .com_btn2_text:after {
	opacity: 1
}

/*com_btn2_icon*/
.com_btn2_icon {
    align-items: center;
    color: #7ba95f;
    display: flex;
	width: 1.8em!important;
}

/*com_btn2_arrow*/
.com_btn2_arrow {
    opacity: 1;
    translate: 0 0
}
.com_btn2:hover .com_btn2_arrow,
.com_btn2_icon_btn:hover .com_btn2_arrow {
	opacity: 0;
	transition: .4s cubic-bezier(.76,0,.24,1);
	translate: 100% 0
}
.com_btn2_arrow:last-child {
    opacity: 0;
    translate: -100% 0
}
.com_btn2:hover .com_btn2_arrow:last-child,
.com_btn2_icon_btn:hover .com_btn2_arrow:last-child {
	opacity: 1;
	translate: 0 0
}

/*別タイプ*/
.com_btn2.no_bdr a{
	border:none;
	padding: 0;
	max-width: 100%;
}
.com_btn2.no_bdr a .com_btn2_icon{
	margin-left: 1em;
}
.com_btn2.white a{
	color: #fff;
	border-color: #fff;
}
.com_btn2.white a .com_btn2_icon{
	color: #fff;
}
.com_btn2.white a .com_btn2_icon .com_btn2_arrow{
    fill: #7ba95f;
}

/*com_btn2_list*/
.com_btn2_list{
	display: flex;
    justify-content: center;
}
.com_btn2_list.txt_al_l{
	justify-content: start;
}
.com_btn2_list .com_btn2{
	width: 100%;
	max-width: 15em;
	display: block;
	margin-right: 1.5em;
}
.com_btn2_list .com_btn2:last-child{
	margin-right: 0;
}

.com_btn2.txt_al_c{
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
.com_btn2.txt_al_c a{
	margin: 0 auto;
}

.com_btn2.type_bg,
.com_btn2.type_bg a{
	max-width: 25em;
}
.com_btn2.type_bg a{
	background: #fff;
	border-bottom: none;
	border-radius: 5px;
	padding: .5em 2.5em;
}
.com_btn2_list .com_btn2.type_bg{
	margin-right: .9em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.com_btn2 a{
	padding-bottom: .2em;
}

.com_btn2.type_bg,
.com_btn2.type_bg a{
	max-width: 22em;
}
.com_btn2.type_bg a{
	padding: .4em 1.5em;
}
.com_btn2_list .com_btn2.type_bg{
	margin-right: .8em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_btn2 a{
	padding-left: .5em;
	padding-right: 1em;
	padding-bottom: .4em;
}
	
/*com_btn2_list*/
.com_btn2_list{
	flex-wrap: wrap;
}
.com_btn2_list .com_btn2{
	width: 100%;
	max-width: 48%;
	display: block;
	margin-right: 4%;
}
.com_btn2_list .com_btn2:nth-child(2n),
.com_btn2_list .com_btn2:last-child{
	margin-right: 0;
}
.com_btn2_list .com_btn2 a{
	margin-top: 1.3em;
}
.com_btn2_list .com_btn2:nth-child(-n+2) a{
	margin-top: 0;
}
	
.com_btn2.sp_txt_c{
	max-width: 100%;
	text-align: center;
}
.com_btn2.sp_txt_c a{
	margin: 0 auto;
}

.com_btn2.type_bg,
.com_btn2.type_bg a{
	max-width: 100%;
}
.com_btn2.type_bg a{
	padding: .4em 2em;
}
.com_btn2_list .com_btn2.type_bg{
	margin-right: 0;
	margin-bottom: .5em;
}
.com_btn2_list .com_btn2.type_bg:last-child{
	margin-bottom: 0;
}
}




/* med_footer
---------------------------------------------------------*/
.med_footer{
	background: #b1b1b5;
	padding: 80px 0;
	box-sizing: border-box;
}
.med_footer .co40{
	color: #efefef;
	text-align: center;
	margin-bottom: 1em;
}
.med_footer ul{
	max-width: 1220px;
	margin: 0 auto;
	display: flex;
    justify-content: start;
	flex-wrap: wrap;
}
.med_footer ul li{
	width: 23.875%;
	margin-right: 1.5%;
	margin-top: 1.5%;
}
.med_footer ul li:nth-child(4n){
	margin-right: 0;
}
.med_footer ul li:nth-child(-n+4){
	margin-top: 0;
}

.med_footer .com_btn2,
.med_footer .com_btn2 a{
	max-width: 100%;
}
.med_footer .com_btn2 a{
    border-bottom: none;
    color: #000;
	background: #fff;
	padding: .7em 1.9em .7em 1.6em;
}
.med_footer .com_btn2.price a{
	background: #838389;
}
.med_footer .com_btn2.price .com_btn2_text,
.med_footer .com_btn2.price .com_btn2_icon {
    color: #fff;
}
.med_footer .com_btn2.price .com_btn2_icon .com_btn2_arrow{
    fill: #838389;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.med_footer{
	padding: 7% 0 9%;
}
.med_footer .co40{
	margin-bottom:.6em;
}
.med_footer ul li{
	width: 24.25%;
	margin-right: 1%;
	margin-top: 1%;
}
.med_footer .com_btn2 a{
	padding: .3em .7em .3em .7em;
}
.med_footer .com_btn2_icon{
	width: 1.4em!important;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.med_footer{
	padding: 10% 0 15%;
}
.med_footer .co40{
	margin-bottom: .7em;
}
.med_footer ul li{
	width: 49%;
	margin-right: 2%!important;
	margin-top: 2%!important;
}
.med_footer ul li:nth-child(2n){
	margin-right: 0!important;
}
.med_footer ul li:nth-child(-n+2){
	margin-top: 0!important;
}

.med_footer .com_btn2 a{
	padding: .5em .4em .5em .7em;
}
.med_footer .com_btn2_icon{
	width: 1.4em!important;
}
}




/* チャットボット
---------------------------------------------------------*/

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

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
/*iframe[src*="nomoca-ai.com"] {
bottom:25vw !important;
right: 0!important;
}*/
}




/* com_slide
---------------------------------------------------------*/
.com_slide .swiper-slide{
	width: min(450px,40vw);
	aspect-ratio: 450 / 310;
}
.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;
}
}





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