@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=BioRhyme:wght@200;300;400;700;800&family=Bree+Serif&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&family=Pacifico&family=Roboto+Condensed:wght@300;700&family=Roboto:wght@100;300;500;700;900&family=Sawarabi+Mincho&family=Shippori+Mincho:wght@500&display=swap');

/*--------------------
COMMON
--------------------*/
* {
	margin: 0;
	padding: 0;
	font-style: normal;
	border: 0;
	zoom: 1;
	box-sizing: border-box;}

html {
	height: 100%;
	font-size: 15px;}

html>/**/body {
	overflow: -moz-scrollbars-vertical;}

html:first-child body {
	min-height: 100%;}

body {
	-webkit-text-size-adjust: 100%;
	margin: 0;
	padding: 0 0 0;
	border: 0;
	background:#f6f3e8;
	color:#555;
	font-size: 0.9em;
	font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN", Meiryo, "メイリオ", sans-serif;
	font-weight:300;
	line-height: 1.6;
	position: relative;}


strong{
font-weight:bold;
}

em{
font-weight:bold;
font-style: italic;
}

a{
color:#0f4669;
transition: .5s;}

p a{text-decoration: underline;}


.txt-serif{font-family:"Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;}
.txt-xlarge{font-size:180%;}
.txt-large{font-size:150%;}
.txt-medium{font-size:120%;}
.txt-small{font-size:80%;}
.txt-xsmall{font-size:60%;}
.txt-center{text-align:center;}
.txt-right{text-align:right}



/*--------------------
GRID
--------------------*/


.flex2,
.flex3,
.flex3-2{
width:100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: stretch;/*   Safari etc. */
	-ms-align-items: stretch;/*  IE10        */
	align-items: stretch;
	-webkit-flex-wrap: wrap;/* Safari6.1以降 */
	-ms-flex-wrap: wrap;/*IE10*/
	flex-wrap: wrap;}

/* 最終行の間隔調整 */

.flex2:after,
.flex3:after,
.flex3-2:after{
	content: "";
	display: block;}

.flex2>*,
.flex2:after{
	width: 47.5%;
	margin-bottom: 1.5em;}

.flex3>*,
.flex3:after,
.flex3-2>*,
.flex3-2:after{
	width: 30%;
	margin-bottom: 1.5em;}


.flex2>*>*:first-child,
.flex3>*>*:first-child,
.flex3-2>*>*:first-child{
	margin-top:0;}

.flex2>*>*:last-child,
.flex3>*>*:last-child,
.flex3-2>*>*:last-child{
	margin-bottom:0;}

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

.flex2>*,
.flex3>*{
		width: 100%;}

.flex3-2>*{
		width: 47.5%;}
}

.flex2 div img,
.flex3 div img,
.flex3-2 div img{width:100%;}

/*-----------------------------------
HEAD
-----------------------------------*/
header{
width:100%;
height:50px;
line-height:50px;
display: flex;
justify-content: space-between;
position:fixed;
z-index: 99999;
background:rgba(0,0,0,0.5);
}

header h1{
width:250px;
height:50px;
position: relative;
left:50px;
margin:0;}

@media screen and (max-width:768px) {
header h1{
left:10px;
margin:0;}

}

    header h1 a{
display:block;
width:250px;
height:50px;
    border:0;}

    header h1 a img{
    width:100%;
    height:100%;	
transition: all .4s ease-in-out;
    }

 header h1 a:hover img{opacity:0.5;}

header nav{
	display: flex;
    justify-content: flex-end;
    position: relative;
    right:50px;}

header nav a{
display: block;
padding:0 1.5em;
color:#fff;
text-decoration: none;
font-weight: 300;
letter-spacing: 0.1em;
font-size:80%;
border:0;
transition: .5s;
}
header nav a:first-child{
}


header nav a:hover{
background:#f5cd1e;
}


#navic1{
background:#f4cd1e;
color:#05263e;
}

#navic1:hover{opacity:0.5;}

#navic1:before{
content: "";
vertical-align: middle;
display: inline-block;
width:50px;
height:50px;
background: url('../img/recruit.png') no-repeat;
background-size: contain;}

#navic2{
width:50px;
}

#navic2:before{
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		vertical-align: baseline;
font-size:200%;
		content: "\f0e0";}


/*--------------------
BREADCRUMBS
--------------------*/

#breadcrumbs{
	display: block;
	width: 80%;
max-width:800px;
margin:50px auto 2em;
	padding: 0.7em 0.5em;
	font-size: 0.8em;
	background-color:#fff;
	border-radius:3px;
	color:#888;}

#breadcrumbs span{
padding:0.5em;	
}

	#breadcrumbs a{
		font-weight:normal;
		color:#bbb;}

		#breadcrumbs a:hover{
			color:#7e9bb4;}

	#breadcrumbs .page-name span,
	#breadcrumbs .current-item span{
		display:none;}

@media(max-width: 768px){
	
#breadcrumbs{
	width: 95%;
margin:0 auto 2em;
margin-top:50px;
}
}
/*--------------------
CONTENTS
--------------------*/
main{
	display:block;
	width:100%;
	margin:0 auto 50px;
	padding-top:50px;}

aside{
	display:block;
	width:80%;
	max-width:800px;
	margin:0 auto;}

@media screen and (max-width:768px) {
	main{
	width:90%;
	padding-top:30px;}

aside{
	display:block;
	width:90%;}
}


/*-----------------------------------
INDEX
-----------------------------------*/

section{
width:80%;
max-width:800px;
margin:0 auto;
padding-bottom:40px;
}

@media(max-width: 768px){
	section{
width:95%;}
}

section > div{
width:100%;
margin:0 auto;
}

#index section > div img{
width:100%;
}

    #index section > h2{
padding:20px 0 20px;
    font-size:30px;
    color:#05263e;
    }


#newsset{
margin-bottom:50px;
border-top:1px solid #ccc;}

.newsitem{
	width:100%;
border-bottom:1px solid #ccc;
padding:1em;}

.newsitem span.news_title{}

.newsitem span.news_title a{
		color:#05263e;
	text-decoration:none;
}

.newsitem span.news_date{
	display:inline-block;
	width:100px;
	color:#aaa;
}

#newslist .btn{
	margin-top:40px;
}

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


	 #index section > h2{
    font-size:30px;}

        section#index_desc div p{
		font-size:140%;}

.newsitem span.news_date{
	display:block;}	
	
}

#imgset{
width:100%;
margin:0;
padding:0;
}

#imgset img{
width:25%;
margin:0;
padding:0;
}

#indexbox{
background-color:#fff;
padding:40px 40px 0;
margin-bottom:40px;
background-image:url("../img/logo_desc.png");
background-repeat:no-repeat;
background-size:10%;
background-position:50% 5%;}


#indexbox h2{
text-align:center;
}

#indexbox p{
margin:20px auto;
text-align:left;}

/*--------------------
BUTTON
--------------------*/
.btn{border-bottom:0px;
	text-align: center;
	margin: 0 auto;}

	.btn a{
		min-width:180px;
		margin-bottom:1.8em;
		display: inline-block;
		padding: 0.6em 2em;
		font-weight:normal;
		color:#fff;
background:#05263e;
text-decoration:none;
		transition: .3s;
border-radius:9999px;}

	.btn a:hover {
		transition: 1.5s;
		color:#fff;
background:#005bac;}

/*--------------------
PAGES
--------------------*/


#pages section > h1{
padding:40px 0 40px;
    font-weight:700;
    font-size:36px;
    color:#05263e;
    text-align:center;
    }

#pages section h2{
		color:#05263e;
		font-size:180%;
		font-weight:700;
		margin-top:1em;
		margin-bottom:1em;
border-bottom:1px solid #7e9bb4;
padding:0.5em 0;}

#pages section h3{
		font-size:150%;
		font-weight:700;
		margin-bottom:1em;}

#pages section h4{
		font-size:120%;
		font-weight:700;
		margin-bottom:1em;}

#pages section h5{
		font-size:100%;
		font-weight:bold;
		margin-bottom:1em;}

#pages section p{
		margin-bottom:2em;}

#pages section ul{
	margin-left:2em;
		margin-bottom:2em;}

#pages section ol{
	margin-left:2em;
		margin-bottom:2em;}

#pages section ol li{
		margin-bottom:1em;}


#pages section div img{
	width:100%;
}

#pages section table{
	width:100%;
	border-collapse:collapse;
		margin-bottom:2em;}

#pages section table th,#pages section table td{
	padding:1em;
	border-bottom:1px solid #ccc;
text-align:left;
}

#pages section table tr{
	background:#f6f6f6;
}

#pages section table tr:nth-child(odd){
	background:#fff;
}

#pages section table th{}

#pages section table td{}

#pages section table tr.tablehead{
	background:#dddddd;}

@media screen and (max-width:768px) {
#pages section table th,#pages section table td{
display:block;
width:100%;
	}


}


.borderbox{
border:1px solid #ddd;
padding:20px;
}

.borderboxw{
border:1px solid #ddd;
padding:20px;
background:#fff;
}

.notice{
	font-size:90%;
	color:#777;
	padding:1em 0;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
}


/*-- MAP --*/
	.ggmap {
	height: 0;
	overflow: hidden;
    margin-bottom:50px;
	padding-bottom: 56.25%;
	position: relative;
	}
	 
	.ggmap iframe,
	.ggmap object,
	.ggmap embed{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
    -webkit-transition: all 0.7s ease;
    -moz-transition: all 0.7s ease;
    -o-transition: all 0.7s ease;
    transition: all  0.7s ease;
	}

	.ggmap iframe:hover,
	.ggmap object:hover,
	.ggmap embed:hover {
  -webkit-filter: grayscale(0%);
  -moz-filter: grayscale(0%);
  -ms-filter: grayscale(0%);
  -o-filter: grayscale(0%);
  filter: grayscale(0%);
}

@media screen and (max-width:768px) {
	.ggmap {
	padding-bottom: 100%;
	}
}

/*--------------------
WP
--------------------*/
.navigation {
  width: 100%;
  margin: 0 0 5em;
  padding: 3em 0 0;
  font-size: 80%;
  clear: both;
  text-align: left; }

	.navigation h2{
		display:none;}

  .navigation a span {
    display: inline;
    margin-right: 1em;
		padding-right: 1em; }

    .navigation a span.navitext {
	    border-right: 1px solid #fff; }

	.nav-previous a,
	.nav-next a,
	.nav-back a {
		padding: .8em 1.5em; }
	
	.nav-previous a,
	.nav-next a {
		display: block;
		margin-bottom: 0.6rem;
		line-height: 1.5em;
		font-weight:normal;
		border-radius: 5px;
		color:#ffffff;
		background: #05263e; }
		
		.nav-previous a:hover,
		.nav-next a:hover {
			display: block;
			background: #7e9bb4;
			opacity: 1; }

/* pagenavi */
.wp-pagenavi {
	width: 100%;
	font-size: 90%;
	text-align: center;
	margin:0 0 4em;}

	.wp-pagenavi a,
	.wp-pagenavi span {
		padding: 3px .8em;
		margin: 2px;
		display: inline-block;
		color:#7e9bb4;
		border:solid 1px #05263e;
		vertical-align: top;
		border-radius:30px;}

	.wp-pagenavi a:hover {
		color: #fff;
		background: #7e9bb4;
		opacity:1;}

	.wp-pagenavi span.current {
		font-weight: bold;
		border:solid 1px #05263e;
		background: #05263e;
		color: #fff;}

	.wp-pagenavi .pages {
		display: block;
		padding: 5px 10px;
		margin: 0 0 10px;
		color:#05263e;}

.single section p{
	font-size:120%;
	line-height:1.6em;
}

.single h1 + p {
	margin-bottom: 2em;
	text-align: right;
	color:#05263e;
	font-size:75%; }

.size-full{width:100%;}

/*--------------------
FOOTER
--------------------*/

footer{
	width:100%;
	padding:3em 0;
	background:#05263e;
	color:#fff;
	text-align:center;}


#pagetop {
	position: fixed;
	z-index: 30;
	bottom: 10px;
	right: 3%;
	color: rgb(244,200,31,.8);
	font-size: 30px;
	transition: .3s;}

	#pagetop:before {
		display: inline-block;
		width: 100%;
		text-align: center;
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		vertical-align: baseline;
		content: "\f139";}

	#pagetop:hover {
	color: rgb(244,200,31,1);}

#linkinstagram{
display:block;
width:50px;
height:50px;
position: fixed;
top: 100px;
right: 0px;
z-index:9999;
}

#linkinstagram img{
width:50px;
height:50px;
}

@media(max-width: 768px){
#linkinstagram{
bottom: 80px;
right: 0px;
}
}

#linkinstagram img{
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
transition: 0.5s;
	text-align: center;
	display: block;
	opacity:0.9;
}
#linkinstagram img:hover {
	opacity:0.7;}


/*--------------------
FORM
--------------------*/

input[type="text"],input[type="email"],input[type="tel"],select,textarea{
	font-size:110%;
	width:100%;
	padding:0.5em;
	border:1px solid #ddd;
}

section form{
	margin-bottom:40px;
}

form p{
	margin-bottom:0;
}

.transmit{
	width:100%;
	margin:0 auto;
	text-align:center;}

input[type="submit"]{
	font-size:120%;
	width:50%;
	padding:0.5em;
	margin:0 auto;
border:1px solid #ccc;}

input[type="submit"]:hover{
	background:#f60;
}

table#form{}

table#form th{
	text-align:left;
}

table#form th p,table#form td p{
margin-bottom:0;
padding-bottom:0;
}

@media screen and (max-width: 640px) {
table#form td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }

	table#form th{
		background:#999;
	}
	
table#form th,
table#form td{
　　border-bottom: none;
    display: block;
    width: 100%;
  }
}



.img50{
	width:50%;
	height:auto;
	margin:0 auto;
	text-align:center;
}

/* 階層リンク */
#levellink{
width:80%;
max-width:800px;
margin:0 auto;
}

#levellink div{}

#levellink div a{
display:block;
width:100%;
height:4em;
line-height:4em;
background:#04273d;
color:#fff;
text-decoration:none;
text-align:center;
border-radius:5px;
transition: all .4s ease-in-out; 
}

#levellink div a:hover{
background:#0e4466;}

@media(max-width: 768px){
#levellink{
width:95%;
}}
/*--------------------
SLIDE
--------------------*/

#eyecatch{
width:100%;
margin:0 auto;
overflow:hidden;
margin-bottom:30px;
position:relative;
}


#viewer{
width:100%;
margin:0 auto;
overflow:hidden;
position:relative;
}

#viewer:before {
    content:"";
    display: block;
    padding-top: 50%; /* 高さを幅の50%に固定 */
}
#viewer > img {
    position: absolute;
    width: 100%;
    height:auto;
    top:0;
    left:0;
    z-index:-2;
}

@media(max-width: 768px){

#viewer:before {
    padding-top: 150%; /* 高さを幅の50%に固定 */
}

}

/* PCで観ると"pc"のclassがついた画像が表示 */ 
.eyecatch_pc { display: block !important; } 
.eyecatch_sp { display: none !important; } 
/* スマホで観ると"sp"のclassがついた画像が表示 */ 
@media only screen and (max-width: 750px) { 
.eyecatch_pc { display: none !important; } 
.eyecatch_sp { display: block !important; } 
}

#eyecatch p{
color:#f6f3e8;
text-align:center;
font-size:250%;
font-family:"Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
position:absolute;
bottom:100px;
left: 50%;
transform: translateX(-50%);
}
#eyecatch p small{
font-size:35%;
}

/*--------------------
BANNER
--------------------*/


	#bnset span:before {
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		vertical-align: baseline;
		content: "\f138";
margin-right:0.5em;}

#bnset a{
text-decoration:none;
font-weight: normal;
transition: all .4s ease-in-out; 
}

#bnset a:hover{opacity:0.5;}

#footbox{
width:80%;
max-width:800px;
margin:0 auto;
text-align:left;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: stretch;/*   Safari etc. */
	-ms-align-items: stretch;/*  IE10        */
	align-items: stretch;
	-webkit-flex-wrap: wrap;/* Safari6.1以降 */
	-ms-flex-wrap: wrap;/*IE10*/
	flex-wrap: wrap;}

#footbox:after{
	content: "";
	display: block;}

#footbox>dl{
	width: 35%;}

#footbox>address{
	width: 29%;}

#footbox>address img{width:100%;}

	#footbox dl dt:before,#footbox dl dd:before{
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		vertical-align: baseline;}

	#footbox dl dt:before{
		content: "\f101";
margin-right:0.5em;}
	#footbox dl dd:before{
		content: "\f105";
margin-right:0.8em;}

#footbox dl dt a,#footbox dl dd a{
color:#fff;
font-size:100%;
text-decoration:none;
font-weight:300;}

#footbox address{
color:#f4cd1e;
font-size:70%;}

#footer p,
#footbox p,
#footbox p a{
color:#fff;
text-decoration:none;}

@media screen and (max-width:768px) {
#footbox{
width:100%;
	display: block;}
#footbox>dl{
	width: 100%;}
#footbox>address{
	width: 50%;}

#footbox>dl{
border-top:1px solid rgba(255,255,255,0.2);}

#footbox>dl dt,#footbox>dl dd{
padding:1em;
border-bottom:1px solid rgba(255,255,255,0.2);}

#footbox>address{
margin:50px auto;
text-align:center;}

#footbox>address img{
margin-bottom:30px;
	}
#footbox>address p{
margin-bottom:30px;
	}
}




/* menu button */
.el_humburger {
display: block;
position: relative;
top:15px;
right:15px;
width:25px;
cursor: pointer;
  pointer-events: auto;
  color: #fff;
  text-align: center;
z-index:999;}
 
	.el_humburger span {
		display: block;
		width: 100%;
		margin: 0 auto 7px;
		height: 1px;
		background: #fff;
		border-radius:1px;
		-webkit-transition: all .4s ease-in-out;
		-o-transition: all .4s ease-in-out;
		transition: all .4s ease-in-out; }
	
	.el_humburger span:last-child {
		margin-bottom: 0; }
	
	.js_humburgerOpen .el_humburger span:first-child {
		-webkit-transform: translateY(5px) rotate(-45deg);
		-ms-transform: translateY(5px) rotate(-45deg);
		transform: translateY(5px) rotate(-45deg); }
	
	.js_humburgerOpen .el_humburger span:nth-child(2) {
		opacity: 0; }
	
	.js_humburgerOpen .el_humburger span:last-child {
		-webkit-transform: translateY(-11px) rotate(45deg);
		-ms-transform: translateY(-11px) rotate(45deg);
		transform: translateY(-11px) rotate(45deg); }
 
.navi {
  position: fixed;
  right: 0;
  top:0;
  height: 100%;
background-color:rgba(0,0,0,0.9);
  width: 0;
  padding:6em 0 1em;
  text-align:left;
  -webkit-transition: all 0.6s ease-out;
  -o-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
  z-index: 998;
  overflow-x: hidden;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;}

	.navi::-webkit-scrollbar {  /* Chrome, Safari 対応 */
		display:none;}

  .js_humburgerOpen .navi {
		width: 600px;
		max-width:100%;}

	.navi ul{
		padding:0;}

	.navi > ul{
		margin:0 2em;
list-style:none;}

    .navi > ul > li{
    	padding:.5em 0;
    	border-bottom:solid 1px #fff;}

		.navi ul ul{
			display: -webkit-box;
			display: -ms-flexbox;
			display: -webkit-flex;
			display: flex;
			-webkit-box-pack: justify;
			-ms-flex-pack: justify;
			-webkit-justify-content: space-between;
			justify-content: space-between;
			-webkit-align-items: stretch;/*   Safari etc. */
			-ms-align-items: stretch;/*  IE10        */
			align-items: stretch;
			-webkit-flex-wrap: wrap;/* Safari6.1以降 */
			-ms-flex-wrap: wrap;/*IE10*/
			flex-wrap: wrap;}

			.navi ul ul li{
				padding-left:.6em;
				width:50%;}

		.navi a{
			white-space:nowrap;
			display:block;
			font-weight:normal;
			padding:.3em .5em;
			color:#fff;}

			.navi a:hover{
				color:#ccc;}

@media screen and (max-width: 768px) {
  .js_humburgerOpen .navi {
    width: 100%;
    padding: 100px 5% 0; }

	.navi > ul{
		margin:0;} }




div.screen-reader-response{
display:block;
border:1px solid #f60;
}

div.screen-reader-response p{
color:#f60;
}

/*--------------------
記事
--------------------*/

/*-- ギャラリー --*/
.gallery-columns-2,
.gallery-columns-3{
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: stretch;/*   Safari etc. */
	-ms-align-items: stretch;/*  IE10        */
	align-items: stretch;
	-webkit-flex-wrap: wrap;/* Safari6.1以降 */
	-ms-flex-wrap: wrap;/*IE10*/
	flex-wrap: wrap;}

.gallery-columns-2:after,
.gallery-columns-3:after{
	content: "";
	display: block;}

.gallery-columns-2 .gallery-item{
width:48%;
}

.gallery-columns-3 .gallery-item{
width:32%;
}

.gallery-columns-3 .gallery-item:after{
	content: "";
	display: block;}

.gallery-item img{
width:100%;
height:auto;
}