@import url("reset.css");




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



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

/* main背景グレー */
.grbg{
	background: #edefe9;
	background: linear-gradient(180deg,rgba(249, 250, 247, 1) 0%, rgba(255, 255, 255, 0.88) 90%);
}

.wrap,.wrappc{}

.wrap{
	width: 92%;
	max-width: 1000px;
	margin: auto}




.sbox{box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.3);}

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

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: 1000px;
		width: 92%;
		margin: auto}
	
	br.brsp{display: none}
}





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





.header_wrap{
	display: flex;
	align-items: center;
	justify-content: space-between;
	align-items: center
	}
	
	
.header_wrap .header_logo{
	text-align: center
}
	
.header_wrap .header_logo p{
	font-weight: bold;
	line-height: 1.2em;
}

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





@media screen and (max-width: 767px) {
	#header{
		position: fixed;
		height: 65px;
		top: 0;
		left: 0;
		width: 100%;
		z-index:1000;
		background: var(--color-main);
	}
	
	.header_wrap{
		margin-right: 60px;
		height: 65px
	}
	
	.header_wrap .header_logo{
		padding:6px 15px 6px;
		position: relative;
		z-index: 1000;
	}
	.header_wrap .header_logo img{
		height: 40px;
		width: auto;
		filter: invert(100%);
	}
	.header_wrap .header_logo p{margin: 3px 0 0}
	
}	


@media print, screen and (min-width: 768px) {
	
	#header {
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 80px;
	  background-color: #fff;
	  display: flex;
	  align-items: center;
	  z-index: 1000;
	  transition: none; /* 最初はアニメーションさせない */
	}
	
	/* --- 400pxスクロール後に付与するクラス --- */
	#header.is-fixed {
	  position: fixed;
	  top: 0;
	  background-color: var(--color-main-shade);
	  color: #fff;
	  
	  transform: translateY(-100%); 
	  animation: slideIn 0.5s forwards; 
	}
	
	
	@keyframes slideIn {
	  to {
	    transform: translateY(0);
	  }
	}

	
	.header_wrap {
		width: 100%;
		margin: 0 auto;
		height: 80px
	}
	
	.header_wrap .header_logo{
	padding: 0 0 0 20px;
	text-align: center
	}	
	
	#header.is-fixed .header_logo img{
	filter: invert(100%);
	}
	
	.header_nav{
		width: calc(100% - 200px);
	}
}


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

	.header_wrap .header_logo{
		height: 70px;
		height: auto;
		text-align: center
	}	
	
	.header_nav{
		width: calc(100% - 300px);
	}

}



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

ul.header_list{
	font-family: var(--font-serif);
}




@media print, screen and (min-width: 768px) {
	
	
	.header_list {
	display: flex;
	justify-content: flex-end;
	}
	
	.header_list > li {
	  transition: background-color .3s;
	  height: 80px;
	  display: flex;
	  align-items: center;
	}
	
	
	.header_list > li:not(:last-child){}
	
	.header_list > li a {
	  display: block;
	  padding: 0 1em;
	  line-height: 1.2em;
	  font-weight: 700;
	}
	.header_list > li a:hover {
	  color: var(--color-main);
	}
	
	.header_list > li.entry{
		background: var(--color-main-shade);
		color: #fff;
		margin-left: 1em
	}
	
	.header_list > li.entry:hover{
		background: var(--color-point);
	}
	
	.header_list > li.entry a{
		color: #fff
	}
	
	#header.is-fixed .header_list > li a{color: #fff}
	#header.is-fixed .header_list > li:hover{
		background: rgba(255, 255, 255, 0.3)
	}
	#header.is-fixed .header_list > li a:hover{color:#27252E}
	
	.megaMenu {
	  transition: opacity .3s, visibility .3s;
	}
	
	.megaMenu {
	  background: #fff;
	  left: 0;
	  opacity: 0;
	  position: absolute;
	  text-align: center;
	  visibility: hidden;
	  width: 100%;
	  border-radius: 0px 0px 1em 1em;	  
	}
	.megaMenu > ul {
	  padding-bottom: 30px;
	  padding-top: 30px;
	}
	.megaMenu > ul > li {
	  display: inline-block;
	}
	/* メニューをhoverした時のスタイル */
	.header_list > li:hover .megaMenu {
	  opacity: 1;
	  visibility: visible;
	}



}
	
@media print, screen and (min-width: 1025px){
	
	.nav_cta ul li a{}
	
	.nav_cta ul li a::before{
	width: 30px;
	height: 30px;}
	
	.nav_cta dl{
		padding: 0 0 0 40px;
		height: 46px;}
	.nav_cta dl dt{
		font-size: 2rem;}
	
	
	}


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



/* ------------------------------
 #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: 20px;
	top:22px;
	}
	
		
	/*×に変化*/	
	.openbtn span{
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	border-radius: 50px;
	background-color: #fff;
	}
		
	
	.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: #fff;
	}
	
	.openbtn.active span:nth-of-type(2) {
		transform: translateY(0px) rotate(45deg);
		background-color: #fff;
	}
	
	.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: var(--color-main-shade);
	transition: all 0.6s;
	opacity: 0;
	z-index: 50
	}


	/*アクティブクラスがついたら位置を0に*/
	#opengnav nav.panelactive{
	    top: 0;
	    opacity: 1
	}
	
	
	/*ナビの数が増えた場合縦スクロール*/
	#opengnav nav.panelactive .nav_scloll{
	    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: 65px 0 0;
	}
	
	.nav_wrap ul li a{
		display: block;
		font-size: 1.2em;
		padding: 1em;
		border-bottom: solid 1px rgba(255, 255, 255, 0.4);
		position: relative;
		color: #fff;
		font-weight: 700
	}
	
	
	.gnav_top{
		display: none
	}
	ul.header_list > li a:after{
		font-family: icomoon;
		content: "\e977";
		color: var(--color-main);
		position: absolute;
		right: .8em;
		color: #fff;
	}

	ul.header_list > li.gnav_job{
		padding: 10px;
	}

	
	ul.header_list > li.gnav_job a{
		background: var(--color-secondary);
		color: #fff;
		border-radius: 50px;
		line-height: 1em;
		text-align: center
	}
	
	ul.header_list > li.gnav_job a:after{
		color: #fff;
		
	}
	
	

	ul.header_list > li.gnav_co > a{
		background: rgba(var(--color-main-rgb), 0.3);
	} 

	.megaMenu li:not(:last-child) a{
		border-bottom: solid 1px #ccc
	}
	
	
	ul.header_list li ul li.gnav_co a:after{
		color: var(--color-main);
		
	}
	
	ul.header_list li span{
		padding-left: 1em;
		font-size: .8em
	}


}



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

/* ------------------------------
 #contents
------------------------------ */

#contents{
	padding: 65px 0 0;
}

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

@media print, screen and (min-width: 768px) {
	
	#contents{
		padding: 80px 0 0;
	}
}	



/* ------------------------------
 お知らせのリスト
------------------------------ */

ul.newslist{
	margin-bottom: 5em;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 20px;
}

ul.newslist li {
    /* --- 既存のスタイル --- */
    background: #fff;
    padding: 1em;
    border-radius: 1em;
    box-shadow: 0px 4px 8px rgba(126, 126, 126, 0.4); /* 影を少し下にずらしておくと変化が出やすいです */
    position: relative;
    
    /* --- アニメーションを滑らかにする設定 --- */
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    cursor: pointer; /* クリックできることを示す */
}

/* ホバー時の挙動 */
ul.newslist li:hover {
    transform: translateY(3px); /* 3px下に沈ませる */
    box-shadow: 0px 1px 4px #ccc; /* 影を小さく・薄くして密着感を出す */
}

/* さらに「クリックした瞬間」に少しだけもっと沈ませたい場合（任意） */
ul.newslist li:active {
    transform: translateY(5px);
    transition: transform 0.05s; /* 戻る時は一瞬にする */
}


ul.newslist li > figure img{
	border-radius: 10px;
	position: relative;
	
}

ul.newslist li > div{
	padding: 1em .5em;
}

ul.newslist li .new{
	color: red
}

ul.newslist li h3{
	font-size: 1.1rem;
	margin: .5em 0 0;
	font-weight: 400
}

.post-cats{
	background: #000;
	color: #fff;
	font-size: 12px;
	padding: 2px 5px;
	display: inline-block;
	line-height: 1em;
	border-radius: 4px;
	position: relative;
	
}


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

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

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





/* ------------------------------
 Aside
------------------------------ */

.entrylist{
	overflow: hidden;
	position: relative
}

.entrylist_box{
	background: var(--color-grbg);
	padding: 1em;
	margin-bottom: 15px
}

.entrylist_box a{
	text-decoration: underline;
	padding: 0 1em 0 0
}

.entrylist_box > div{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 0 0 10px
	}

.entrylist_box > div p{
	font-size: .9em;
	padding: 0 5px 0 0
}

.entrylist_box > div img{
	width: 100px;
	height: auto
}

.entrylist_box > ul{
	font-size: .9em
}

.entrylist_box > li:hover{
	opacity: .7
}



@media screen and (max-width: 768px) {
	.entrylist{
		width: 100%;
		margin: 0 auto
	}
	
	.pconly{display: none}
}


@media (min-width: 769px) {  
  	.sponly{display: none}
}

	

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

@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";
}




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

.page_contents{
	padding: 0 0 6%;
}

.page_header{
	text-align: center;
	padding: 7% 5%;
	margin:0 auto;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column
}

.page_header h1 span.en{
	display: block;
	font-size: .6em;
}

@media print, screen and (min-width: 1024px) {
	.page_header{min-height: 250px;
		margin:0 auto;
	}
}	

.page_header > *{
  position: relative;
  z-index: 1;
}

.page_header h1{
	letter-spacing: .2em;
	color: var(--color-point-shade);
	
}



.back_archive{
	margin: 5%
}


.back_archive a{
	display: block;
	padding: 1em;
	margin: 0 auto;
	max-width: 300px;
	text-align: center;
	background: var(--color-main-shade);
	color: #fff
}

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


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

@media print, screen and (min-width: 1024px) {
	.pageheader h1{
		font-size: 30px
	}
}	



/* ------------------------------
 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: 1em 2em;
	font-size: .8em;
/* 	background: rgba(227, 227, 227, 0.7) */
}

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


ul.bread_crumb{
	display: flex;
	flex-wrap: wrap
}

ul.bread_crumb li:not(:last-child)::after{
	font-family: icomoon;
	content: "\e977";
	padding: 0 .3em
}


@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;
}

/* ------------------------------
 ig
------------------------------ */

.ig_feed{
	padding: 5% 0;
	text-align: center
}

.ig_feed h2{
	border-bottom: solid 5px #A55FCC;
	width:-moz-fit-content;
	width:fit-content;
	padding: 0 0 .3em;
	margin: 0 auto 1em
}


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

ul.count{
	margin: 1em 0 2em;
}

ul.count li:not(:last-child){
	margin: 0 1em 0 0;
}

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

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

@media print, screen and (min-width: 1024px) {
	ul.count{
	display: flex;
	}

}	



#footer{
	text-align: center;
	position: relative;
	background: var(--color-main);
	background: linear-gradient(0deg,rgba(39, 37, 46, 1) 0%, rgba(39, 37, 46, 0.88) 100%);
	padding: 15% 0;
	margin: 5em 0 0;
}
    
    

#footer .footer_wrap{
	margin: 0 auto;
	width: 86%;
	max-width: 1100px;
}

.footer_wrap dl{
	color: #fff;
	text-align: left;
	border-left: solid 1px rgba(255, 255, 255, 0.3);
	padding: 0 0 0 1.5em
}

.footer_wrap dl dt{
	font-weight: bold;
	font-size: 1.3em;
	margin-bottom: .4em
}
.footer_wrap dl dd.telnum{
}

.footer_wrap dl dd.open{
	font-size: .9em
}

.cr{
	padding: 4% 0 0;
	font-size: .8em;
	letter-spacing: .1em;
	color: rgba(255, 255, 255, 0.4)
}

.footer_wrap ul li a::before{
	font-family: icomoon;
	content: "\e977";
}


@media screen and (max-width: 667px) {
	.footer_wrap ul {
	  display: grid;
	  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	  gap: 10px;
	  list-style: none;
	  margin: 0 0 10px
	}
	.footer_wrap > div{margin-bottom: 50px}
	.footer_wrap ul li {
	  text-align: center;
	}
	.footer_wrap ul li a{
		display: block;
		padding: .5em 1em;
		background: #fff;
		border-radius: 5px;
		position: relative;
		color: #222
	}
}	

@media print, screen and (min-width: 668px) {
	#footer{padding: 5% 0;}
	.footer_wrap{
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
		align-items: flex-start
	}
	
	.footer_wrap > *{width: 48%}
	.footer_wrap > div{
		display: flex;
		justify-content: flex-end;
		gap:20px;
	}
	.footer_wrap ul li{text-align: left}
	.footer_wrap ul li a{color: #fff;}
}

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


}	


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




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

