@charset "Utf-8";
@import url("reset.css");


/* ------------------------------
 Color
------------------------------ */

:root {	
	--color-main: #B8DF31;/* メインカラー */
	--color-main-rgb: 184,223,49;
	--color-main-shade: #399428;

	--color-point1: #ffa200;/* ポイントカラー1　オレンジ */
	--color-point1-rgb: 255, 162, 0;

	--color-point2: #FF560B;/* ポイントカラー2　オレンジ濃 */
	--color-point2-rgb: 255,162 0;
	
	--color-line: #00B900;/* LINE */
	--color-line-shade: #00a300;
	
	--color-gr: #F7F7F7;/* 背景薄グレー */
	
    --main-padding-bottom: 0 0 clamp(40px, 5vw, 80px); 	/* padding: var(--main-padding-bottom); */
    
    --bg-color-sub: #f9f8f1; /* background-color: var(--bg-color-sub); */
    
}



img{
	max-width: 100%;
	height: auto;
	vertical-align:top;
}


.fade {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.5s, transform 1s;
}.fade.active {
	opacity: 1;
	transform: translateY(0px);
}


main{
}


/* ------------------------------
 Layout
------------------------------ */

/* main背景グレー */
.grbg{
	background: var(--color-gr);
}

.wrap,.wrappc{}

.wrap{
	width: 90%;
	max-width: 1100px;
	margin: 0 auto}


.sbox{box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);}



h2.tsech2{
	border-left: solid 2px var(--color-main);
	padding: 0 0 0 1em;
	position: relative;
	font-size: clamp(1rem, 0.841rem + 0.8vw, 1.438rem);
	margin: 0 0 3em 0;
	width: 100%
}

h2.tsech2::after{
	position: absolute;
	left: -2px;
	bottom: -.8em;
	display: block;
	width: calc(100% + 2px);
	content: "";
	height: 1px;
	background: #ccc;
}





@media screen and (max-width: 667px) {
		
	br.brpc{display: none}
}	


@media print, screen and (min-width: 668px)and (min-width: 1359px){
		
}

@media print, screen and (min-width: 668px){
	.wrappc{
		max-width: 1100px;
		width: 90%;margin: 0 auto}
	
	br.brsp{display: none}
}





/* ------------------------------
 #header
------------------------------ */

#header {
	z-index: 500;
	background: #fff;
	transition: .3s;
	position: relative;
}

.header_wrap{
	margin: 0 auto;
	display: flex;
	align-items: flex-end;
	justify-content: space-between
	}
	
	
.header_wrap .header_logo{}
	
.header_wrap .header_logo p{
	line-height: 1.2em;
	margin-bottom: 10px;
	font-size: 12px
}

.header_wrap .header_logo img{
	width: 100%;
	height: auto
}


@media screen and (max-width: 767px) {
	#header{
		height: 60px;
		top: 0;
		left: 0;
		width: 100%;
 		position: fixed;
		z-index:1000;
		box-shadow: 1px 1px 6px #ccc;
	}
	
	.header_wrap{
		height: 60px;
		margin-right: 60px;
		background: #fff;
		
	}
	
	.header_wrap .header_logo{
		padding:5px 20px 5px 10px;
		position: relative;
		z-index: 1000;
		background: #fff
	}
	.header_wrap .header_logo img{
	max-height: 30px;
	width: auto
	}	
	.header_wrap .header_logo p{margin: 0 0 3px;
		font-size: 9px
	}
}	


@media print, screen and (min-width: 768px) {
	#header {}
	.header_wrap {
		padding: 2% 0;
		width: 96%;
	}
	
	.header_wrap .header_logo{
	}	
	
	.header_nav{
	}
}


@media print, screen and (min-width: 1025px) {
	.header_wrap{width: 94%;max-width: 1200px;}
	.header_wrap .header_logo img{
	max-height: 70px;
	width: auto
	}	
	
	.header_nav{
		
	}

}




/* ------------------------------
 #header__nav
------------------------------ */

ul.nav_cta{
	position: relative;
	z-index: 500
}

ul.nav_cta li a{
	display: block;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: clamp(0.875rem, 0.852rem + 0.11vw, 0.938rem)
}



ul.nav_cta li.cta_form a{
	background: var(--color-main-shade);
	color: #fff;
	border-radius: 50px;
	position: relative;
	
}



ul.nav_cta li.cta_form a:hover{
	background: var(--color-main);
}

ul.nav_cta li.cta_form a::after{
	position: absolute;
	right: 12px;
	font-family: icomoon;
	content: "\e977";
	-webkit-transition: all .3s;
	transition: all .3s;
}

ul.nav_cta li.cta_form a:hover::after{
	right: 10px;
}


@media screen and (max-width: 767px) {
	ul.nav_cta li a::before{
		margin: 5px 0 2px 0
	}
	
	
}	



@media print, screen and (min-width: 768px) {
	
	ul.nav_cta{
		display: flex;
		justify-content: flex-end;
	}
	
	ul.nav_cta{
		display: flex;
	}
	
	ul.nav_cta li{}
	
	ul.nav_cta li a{
		padding: .4em 1.2em;
		position: relative;
		-webkit-transition: all .3s;
		transition: all .3s;
		color: var(--color-main-shade);
	}
	
	ul.nav_cta li a::after{
		transition: all .3s;
		font-family: icomoon;
		content: "\e977";
		color: #fff;
		position: absolute;
		right: 0;	
	}
	
	ul.nav_cta li a:hover::after{
		color: var(--color-main);
	}
	
	
	ul.nav_cta li.cta_form{margin: 0 0 0 20px}
	ul.nav_cta li.cta_form a{
		padding: .4em 30px .5em 20px;
	}
	
	ul.nav_cta li.cta_form a:hover{
		color: #fff
	}
	
	
	ul.nav_gnav {
	display: flex;
	justify-content: flex-end;
	margin: 20px 0 0;
	}
	
	ul.nav_gnav > li {
	  transition: background-color .3s;
	  font-weight: bold;
	}
	
	ul.nav_gnav > li:not(:first-child){
		margin-left: 1.5em
	}
		
	ul.nav_gnav > li a {
	position: relative;
	display: block;
	line-height: 1.2em;
	padding: 5px 0 10px
	}
	
	ul.nav_gnav > li a::after{
	content: "";
	position: absolute;
	left: 0;
	bottom: 0px;
	width: 100%;
	height: 2px;
	background: var(--color-main);;
	transition: 0.3s;
	}
	
	ul.nav_gnav > li a:hover::after{
		width: 0;
	}
	
	ul.nav_gnav > li a:hover {
	  color: var(--color-point2);
	}
	



}


/* カレントページの文字色（例：赤色） */
.nav_gnav li a.current {
    color: var(--color-point2);
    font-weight: bold; /* 必要に応じて太字などに */
}




@keyframes anime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}



/* Facebookカラーとサイズの調整 */
.fa-facebook {
  color: #1877f2;    /* Facebookのブランドカラー */
  font-size: 24px;   /* サイズ調整 */
  transition: 0.3s;  /* ホバー時のアニメーション用 */
}

/* マウスを乗せた時に少し薄くする */
.fa-facebook:hover {
  opacity: 0.7;
}





/* ------------------------------
 #opengnav 格納メニュー
------------------------------ */

@media screen and (max-width: 767px) {


	/*========= ボタンCSS ===============*/
	
	.openbtn,
	.openbtn span {
	display: inline-block;
	transition: all 0.3s;
	}
	
	.openbtn{
	width: 30px;
	height: 22px;
	position: absolute;
	z-index: 500;
	right: 16px;
	top:21px;
	}
	
		
	/*×に変化*/	
	.openbtn span{
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: var(--color-main);
	}
	
	
	.openbtn span:nth-of-type(1) {top: 0;}
	.openbtn span:nth-of-type(2) {top: 9px;}
	.openbtn span:nth-of-type(3) {top: 18px;}
	
	
	.openbtn.active span:nth-of-type(1) {
	transform: translateY(10px) rotate(-45deg);
	top:0px;
	background-color: var(--color-main);
	}
	
	.openbtn.active span:nth-of-type(2) {
		transform: translateY(0px) rotate(45deg);
		background-color: var(--color-main);
	}
	
	.openbtn.active span:nth-of-type(3){
		opacity: 0
	}
	
	
	@media screen and (max-width: 767px) {
		.openbtn{}
		.openbtn:after{letter-spacing: 0}
	}	
	

	/*========= ナビゲーションCSS ===============*/
	
	
	#opengnav nav{
	position:fixed;
	top: -250%;
	left: 0;
	width:100%;
	height: 100vh;
	background:#fff;
	transition: all 0.6s;
	opacity: 0;
	z-index: 50
	}


	/*アクティブクラスがついたら位置を0に*/
	#opengnav nav.panelactive{
	    top: 0;
	    opacity: 1
	}
	
	/*ナビの数が増えた場合縦スクロール*/
	#opengnav nav.panelactive .nav_sclollwrap{
	    position: fixed;
	    z-index: 50; 
	    height: 100vh;
	    width: 100%;
	    overflow: auto;
	    -webkit-overflow-scrolling: touch;
	}
	
	
	/*ナビゲーション*/
	.nav_scloll{
		position: relative;
		z-index: 50;
	}
	
	
	.nav_wrap{
		padding: 120px 0 0;
		display: flex;
		flex-direction: column-reverse
	}
	
	.nav_wrap ul{
		width: 90%;
		margin: 0 auto
	}
	
	.nav_wrap ul li a{
		display: block;
		font-size: 1.1em;
		padding: .8em 1em;
		line-height: 1.2em;
		border-bottom: solid 1px rgba(var(--color-main-rgb), 0.3);
		position: relative
	}
	
	.nav_wrap ul.nav_gnav li a:after,
	.nav_wrap ul.nav_cta li:not(:last-child) a:after{
		font-family: icomoon;
		content: "\e977";
		color: var(--color-main);
		position: absolute;
		right: .8em
	}

	
	
	ul.nav_gnav > li.gnav_co > a{
		background: rgba(var(--color-main-rgb), 0.3);
	} 
	
	ul.nav_gnav li ul li.gnav_co a:after{
		color: var(--color-main);
		
	}
	
	ul.nav_gnav li span{
		padding-left: 1em;
		font-size: .8em
	}
	
	ul.nav_cta li.cta_form{margin-top: 20px}

}



@media print, screen and (min-width: 768px) {
	.openbtn{display: none}
}	


/* ------------------------------
 制度の違い
------------------------------ */
#comparison{}



#comparison > div{
	background: #fff;
	border-radius: .8em;
	position: relative;
	padding: 1em;
	text-align: center;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}

#comparison h2{
	text-align: center;
	margin-bottom: 1em;
	line-height: 1.8em
}

#comparison h2 em{
	font-size: 1.2em;
	font-style: normal;
	font-weight: 700;
	padding: 0 3px;
	border-bottom: solid 1px #00a923
}


#comparison table{
	margin: 1.5em auto;
	background: #f6f6f6;
	border-top: solid 1px #999
}

#comparison table th,
#comparison table td{
	padding: .5em .5em;
	border-bottom: solid 1px #999
}

#comparison table thead th{
	border-bottom: solid 2px #999;
	vertical-align: middle
}



.com_tb th.h_gino{background: #ffdee9}

.com_tb th.h_tgino{background: #c4e9e9}


.com_tb tbody tr td:nth-child(2){
	background: rgba(255, 222, 233, 0.49)
}

.com_tb tbody tr td:nth-child(3){
	background: rgba(195, 232, 232, 0.51)
}


#comparison ul{
	display: flex;
	justify-content:space-between;
	flex-wrap:wrap;
}

#comparison ul li{
	width: 48%
}

#comparison ul li a{
	display: block;
	
}


#comparison ul li a{
	display: block;
	position: relative;
	background: var(--color-point2);
	color: #fff;
	text-align: center;
	border-radius: 50px;
	padding: .8em 1em
}



#comparison ul li a::before{
	font-family: icomoon;
	content: "\e977";
	position: absolute;
	right: 15px;
	-webkit-transition: all .3s;
	transition: all .3s;
}

#comparison ul li a:hover{
	background: #000;
	color: #fff;
}

#comparison ul li a:hover::before{
	right: 10px
}






@media screen and (max-width: 767px) {
	#comparison p{
		text-align: left
	}
	
	#comparison table th,
	#comparison table td{
		font-size: 0.813em;
		line-height: 1.4em;
	}

}	

@media print, screen and (min-width: 768px) {
	#comparison > div{
		padding: 2em
	}
	#comparison ul{
		width: 50%;
		margin: 0 auto
	}
	#comparison h2 br{display: none}
	
	#comparison table thead th{
	font-size: 1.2em;}
	#comparison table th,
	#comparison table td{
		padding: .8em 1em;
	}

}	

@media print, screen and (min-width: 1024px) {}	



/* ------------------------------
 ボタンStyle
------------------------------ */

a.bgleft {
  color: #222;
  font-size: 16px;
  font-weight: bold;
  padding: .7em 4em;
  border: 1px solid #000;
  position: relative;
  z-index: 1;
  transition: .3s;
  display: block;
  text-align: center;
}

a.bgleft:hover {
  color: #fff;
  background: #000;
}

a.bgleft:after{
	font-family: icomoon;
	content: "\e977";
	padding-left: 6px
}

a.bgleft:hover:after{
	padding-left: 10px
}

.more a.bgleft{
	margin: 0 auto;
}


@media screen and (max-width: 666px) {
	a.bgleft{width: 100%}
}	

@media print, screen and (min-width: 667px) {
	a.bgleft{
		width: min(50%, 400px);
	}
}	

@media print, screen and (min-width: 1024px) {}	





a.underline{
	display: block;
	position: relative
}


a.underline:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 1px;
  border-radius: 4px;
  background-color: #000;
  bottom: -2px;
  left: 0;
  transform-origin: right;
  transform: scaleX(0);
  transition: transform .3s ease-in-out;
}
a.underline:hover::before {
  transform-origin: left;
  transform: scaleX(1);
}
a.underline:hover:before {
  width: 100%;
}




/* ------------------------------
 sns
------------------------------ */

@media print, screen and (min-width: 1000px) {}	

#snslink ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	font-family: serif
}

#snslink li{margin: 0 1em}

#snslink a{color: #fff;text-decoration: none;font-size: 1.2em}

.icon_ig:before{
	font-family: sns;
	content: "\e903";
}

.icon_fb:before{
	font-family: sns;
	content: "\e90d";
	padding-right: .3em
}


a.tw:before{
	font-family: sns;
	content: "\e611";
	padding-right: .3em
}

.icon_line:before{
	font-family: sns;
	content: "\e009";
}

a.pinta:before{
	font-family: sns;
	content: "\e63a";
	padding-right: .3em
}

a.plane:before{
	font-family: sns;
	content: "\e900";
	padding-right: .3em
}

a.yt:before{
	font-family: icomoon;
	content: "\e912";
	padding-right: .3em
}

a.ns:before{
	font-family: sns;
	content: "\e902";
	padding-right: .3em
}

a.map:before{
	font-family: icomoon;
	content: "\e9ed";
	margin-right: .5em
}


a.hp:before{
	font-family: icomoon;
	content: "\ea73";
	margin-right: .3em
}

a.call:before{
	font-family: icomoon;
	content: "\e905";
	margin-right: .3em
}

a.home:before{
	font-family: icomoon;
	content: "\e908";
}




/* ------------------------------
 ページコンテンツ共通スタイル
------------------------------ */

.pageheader{
	text-align: center;
	padding: 8% 5%;
	margin:0 auto 5%;
	font-size: clamp(1.25rem, 0.886rem + 1.82vw, 2rem);
	font-weight: 700;
	position: relative
}

.pageheader_txt{
	text-align: center;
	padding: 3% 5%;
	margin:0 auto 5%;
	font-size: clamp(1.25rem, 0.886rem + 1.82vw, 2rem);
	font-weight: 700;
	position: relative
}

#page_privacy .pageheader,
#page_contact .pageheader{
	padding: 8% 5% 3%;
	margin:0 auto 0%;
}

.pageheader{
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center
}

.pageheader::after{
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	background-color: #fff;
	opacity: .7;
	
}

.pageheader h1,
.pageheader_txt h1{
	position: relative;
	z-index: 100;
	font-size: clamp(1.5rem, 4vw, 2rem);
	letter-spacing: 0.08em
}

.pageheader span,
.pageheader_txt span{
	font-size: .8em;
	color: var(--color-point2);
	position: relative;
	display: block;
	z-index: 100;
	margin-bottom: 1em
}

.back_archive{
	margin: 5%
}


.back_archive a{
	display: block;
	padding: 1em;
	margin: 0 auto;
	max-width: 300px;
	text-align: center;
	background: #223b7a;
	color: #fff
}

.back_archive a:before{
	font-family: icomoon;
	content: "\e976";
}


@media print, screen and (min-width: 668px) {
	.pageheader{
		text-align: center
	}
	.pageheader h1{
	}
}	

@media print, screen and (min-width: 1024px) {

}	



/* ------------------------------
 archive
------------------------------ */

h2.cat_title{
	text-align: center;
	position: relative;
	margin: 0 auto;
	padding: 1em;
	display: inline-block;
}


h2.cat_title:before, h2.cat_title:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 44px;
  height: 2px;
  background-color: black;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
}
h2.cat_title:before {
  left:-2em;
}
h2.cat_title:after {
  right: -2em;
}




/* ------------------------------
 #headline
------------------------------ */

#headline{
	padding: 10% 0 5% 8%;
	background: #f0f0f6
}

#headline h2{
	margin-bottom: 3%
}



.columnhl{
	background: #fff;
	border-radius: 10px;
	height: 350px;
	box-shadow: 1px 1px 6px #ccc;
	position: relative;
}

.columnhl img{
	height: 200px;
	width: 100%;
	object-fit: cover;
	border-radius: 10px 10px 0px 0px;
	position: relative;
		
}

.columnhl dl{
	padding: 1em 1.3em;
	text-align: left}
.columnhl dt{
	font-size: 1.1em;
	margin-bottom: .3em
}

#headline .more{
	text-align: right;
	font-weight: bold;
	margin: 1em 5% 0 0;
	position: relative;
	z-index: 500
}

#headline .more a::after{
	font-family: icomoon;
	content: "\e977";
}


@media screen and (max-width: 667px) {}	

@media print, screen and (min-width: 668px) {
	#headline{
	padding: 8% 0 8% 3%;
	text-align: center
	}

}	

@media print, screen and (min-width: 1240px) {
	.columnhl img{height: 240px;}
}	


/* ------------------------------
 swiper
 ------------------------------ */

.jobswiper,
.ivswiper{
	overflow: hidden;
	position: relative;
}

.swiper .swiper-slide img{
	width: 100%
}

.ivswiper{height: 430px;}


.ivswiper .swiper-slide{padding: 1em .5em}

 
.swiper-button-next:before, .swiper-button-prev:before {
    position: absolute;
    width: 30px;
    content: "";
    top: 15%;
    height: 30px;
    border-radius: 50%;
    background: var(--color-main);
    z-index: -1;
 }
 
.swiper-button-next:after,
.swiper-button-prev:after {
    font-size: 12px !important;
    color: #ffffff;
}

    
@media screen and (max-width: 667px) {
	.swiper-button-next:after,
	.swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: 13px !important;
    }
}	

@media print, screen and (min-width: 668px) {
	.ivswiper .swiper-slide{}
	.swiper-button-next{right: 5px !important}
	.swiper-button-prev{left: 5px !important}
}	

@media print, screen and (min-width: 1000px) {
	
}	






/* ************************************************ 
*	.bread_crumb
* ************************************************ */

.bread{
	margin: 0 auto;
	padding: 2% 0;
	font-size: .8em
}

.bread a{text-decoration: none;color: var(--color-main);}


.aioseo-breadcrumb-separator{
	padding: 0 .6em
}

@media screen and (max-width: 667px) {}	

@media print, screen and (min-width: 668px) {}	

@media print, screen and (min-width: 1240px) {}	



/* ************************************************ 
*	prevnext
* ************************************************ */

ul.pagenav{
	max-width: 1240px;
	margin: 5% auto;
}

ul.pagenav li {
	font-size: .9em
}

ul.pagenav li a{
	display: block;
	text-decoration: none;
	padding: .8em .5em;
	position: relative;
	color: #444;
	-webkit-transition: all .3s;
	transition: all .3s;
	}

	
ul.pagenav li a:hover{color: #510000}	
ul.pagenav li.prev{text-align: left;}
ul.pagenav li.postindex{text-align: center;}

ul.pagenav li.prev a:before{
		font-family: icomoon;
		content: "\e973";
		padding-right: .5em}
	
ul.pagenav li.next{text-align: right;}

ul.pagenav li.next a:after{
	font-family: icomoon;
	content: "\e974";
	padding-left: .5em}

@media screen and (max-width: 667px) {	
	ul.pagenav li:nth-child(2) a{
		border-top: solid 1px #ccc;
		border-bottom: solid 1px #ccc;
		text-align: center
	}
	
}	

@media print, screen and (min-width: 668px) {
	ul.pagenav{
		display: flex;
		justify-content: space-around;
		flex-wrap:wrap;
	}
	ul.pagenav li{width: 30%}
}	
	


.pageback {display: block;
	margin: 0 auto;
	background: #007fa8;
	color: #fff;
	padding: .6em 1em;
	text-align: center;
	max-width: 400px;
}

.pageback:before{
	font-family: icomoon;
	content: "\e973";
	padding-right: 5px
}



/* ************************************************ 
*	Pager
* ************************************************ */

#pager{overflow: hidden;
    position: relative;}
    
    
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 2em 0 3em;
    position: relative;
}

.pagination span, .pagination a {
    display: block;
    width: auto;
    margin: 4px 6px;
    padding: 8px;
    color: #000;
    background-color: #fff;
    text-decoration: none;
    text-align: center;
    line-height: 16px;
    position: relative;
    border-bottom: solid 3px #FFF
}



/* ページ番号 */
.pagination .pager{
    width: 32px;
}

/* ホバー時 & 現在のページ */
.pagination a:hover,
.pagination .current  {
    border-bottom: solid 3px #000
}

/* 前へ */
.pagination a.before {
    margin-right: 16px;
}
/* 次へ */
.pagination a.next {
    margin-left: 16px;
}
/* 最初へ */
.pagination a.first {}
/* 最後へ */
.pagination a.last {}

/* Page x / y */
.pagination span.page_num {
    display: none;
}



/* ------------------------------
 sitemap
------------------------------ */

.sitemap{}

.sitemap ul{
	display: flex;
	flex-wrap:wrap;
	padding: 1em;
}
.sitemap ul li{margin-bottom: 5px}
.sitemap ul li:not(:last-child){
	padding: 0 5px 0 0;
}



.sitemap ul li a{
	background: #eee;
	border-radius: 50px;
	display: block;
	padding: 2px 1em;
	letter-spacing: 0;
	text-align: center
}

@media screen and (max-width: 666px) {
	.sitemap ul li{
		width: 50%
	}
}	

@media print, screen and (min-width: 667px) {
}	

@media print, screen and (min-width: 1024px) {
	.sitemap ul{
		justify-content: center;
	}
}	


/* ------------------------------
 footer
------------------------------ */

iframe{
  border: 0;
  display: block
}


#footer{
	text-align: center;
	position: relative;
	background: var(--color-gr);
}

.footer_wrap{
	padding: 8% 0
}

.footer_wrap dl{
	text-align: left
}

.footer_wrap dt{
	margin-bottom: 1em
}

.footer_wrap dd{
	font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
	padding: 0 0 0 1em
}

.footer_wrap_sitemap{
		display: flex;
	}
	
.footer_wrap_sitemap ul{
	text-align: left
}

.footer_wrap_sitemap ul li a{
	display: block;
	padding: 5px .5em;
	color: #222
}

.footer_wrap_sitemap ul li a:hover{
	color: var(--color-main);
}

.footer_wrap_sitemap ul li a::before{
	font-family: icomoon;
	content: "\e977";
	padding: 0 5px 0 0
}

.footer_wrap p.sb{
	width:100%;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-top: 2em;
	font-size: 0.875em 
}

.cr{
	background: var(--color-main);
	padding: 1.5em;
	font-size: .8em;
	letter-spacing: .1em;
	color: #fff;
	text-align: left
}



@media screen and (max-width: 767px) {
	.footer_wrap_sitemap{
		margin-bottom: 30px
	}
	.footer_wrap_sitemap{
		justify-content: space-around
	}
	.footer_wrap_sitemap ul{
		width: 47%
	}
	
	.footer_wrap_sitemap ul li{
		border-bottom: solid 1px #ccc
	}
}	

@media print, screen and (min-width: 768px) {
	
	.footer_wrap{
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
		flex-wrap:wrap;
	}
	
	
	
	.footer_wrap_sitemap ul{
		margin: 0 3em 0 0
	}
	
	.footer_wrap dl{width: 45%;}
	
	.footer_wrap_sitemap{width: 50%;}
	
	
}

@media print, screen and (min-width: 769px) {
	
}	


@media print{
	#footer{display: none}
}




body {
	padding-bottom: 120px;
}

.fixed_contact_cta {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 900;
	padding: 14px 5%;
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 -4px 18px rgba(0, 0, 0, .12);
	opacity: 0;
	visibility: hidden;
	transform: translateY(100%);
	transition: opacity .45s ease, visibility .45s ease, transform .45s ease;
}

.fixed_contact_cta.is-show {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.fixed_contact_cta__inner {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 18px;
	max-width: 1100px;
	margin: 0 auto;
}

.fixed_contact_cta__button {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 54px;
	padding: 0 2.2em;
	background: var(--color-main-shade);
	border-radius: 50px;
	color: #fff;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	box-shadow: 0 4px 0 rgba(0, 0, 0, .12);
	transition: .3s;
}

.fixed_contact_cta__button:hover {
	background: var(--color-main);
	color: #222;
	transform: translateY(2px);
	box-shadow: 0 2px 0 rgba(0, 0, 0, .12);
}

.fixed_contact_cta__tel {
	margin: 0;
	font-size: clamp(.75rem, .705rem + .23vw, .875rem);
	line-height: 1.6;
	color: #333;
	font-weight: 700;
}

.fixed_contact_cta__tel a {
	color: var(--color-point2);
	font-size: 1.3em;
	text-decoration: none;
}

.fixed_contact_cta__tel span {
	display: inline-block;
}

@media screen and (max-width: 767px) {
	body {
		padding-bottom: 150px;
	}

	.fixed_contact_cta {
		padding: 10px 4%;
	}

	.fixed_contact_cta__inner {
		display: block;
	}

	.fixed_contact_cta__button {
		min-height: 50px;
		padding: .7em 1em;
		font-size: .95rem;
	}

	.fixed_contact_cta__tel {
		margin-top: 7px;
		text-align: center;
		font-size: .75rem;
	}
}






/* ------------------------------
 banner
------------------------------ */

ul.banners{
	padding: 5%
}

ul.banners li{
	margin: 0 auto 10px
}


@media screen and (max-width: 767px) {}	

@media print, screen and (min-width: 768px) {
	ul.banners{
		display: flex;
		justify-content: space-around;
		max-width: 1000px;
		margin: 0 auto
	}
	
	ul.banners li{
	padding: 0 10px
	}
}	

@media print, screen and (min-width: 1024px) {}	

/* ------------------------------
 Youtube
------------------------------ */	

.video-container {
   position: relative;
     padding-bottom: 56.25%;
     height: 0;}
.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

