/*Google Fontsの読み込み
---------------------------------------------------------------------------*/
@import url(https://fonts.googleapis.com/css?family=Pacifico);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/css?family=Josefin+Sans);
/*
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@900&display=swap'); 
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500&family=Homemade+Apple&family=La+Belle+Aurore&display=swap');
*/

/* reset */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;}
ul{list-style:none;}
table{border-collapse:collapse;border-spacing:0;}
caption,th{text-align:left;}
q:before,q:after{content:'';}
object,embed{vertical-align:top;}
legend{display:none;}
h1,h2,h3,h4,h5,h6{font-size:100%;}
img,abbr,acronym,fieldset{border:0;}
body{
	font-size: 14px;
	font-family: "century-gothic", "游ゴシック",sans-serif;
	line-height: 1.9;
	/* font: 14px/1.9 'Noto Sans JP','游ゴシック', 'Noto Sans JP', Arial, Verdana, '游ゴシック', 'YuGothic','ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, 'Meiryo',sans-serif; */
	font-weight: 500;
	-webkit-text-size-adjust:100%;
	overflow-x: hidden;
	color: #000;
	background: #fff;
}
a{	
	color: #000000;
	text-decoration: none;
	transition: .3s;
	letter-spacing: .1em;
	-webkit-tap-highlight-color: transparent;
}
div{
	-webkit-tap-highlight-color: transparent;
}
::selection {
	background-color: aquamarine;
	color: #333;
  }

.newsbox a{	color: #07C9A2;
	text-decoration: none;
	transition: .3s;
}
a:hover{opacity: 0.66;
	transition: .3s;
}
a:hover, .active{
  text-decoration: underline;
	text-decoration: none;
}
.button3:hover,.button4:hover{color: #fff;background: #000;transition: .3s;} 

a:active, a:focus,input:active, input:focus{outline:0;}

.bg-color,.page-id-12,.page-id-10,body.single-news,body.single-contents,body.single-person,body.page-template-page-entry,body.page-template-page-contact,body.page-template-content-recruit-event{background-color: #e1e4e6;}
body.post-type-archive{background-color: #F4F4F4;}
.bg-color2{background-color: #b1e4a2;}

/* ヘッダー
------------------------------------------------------------*/
#header,#header2,#header3,#header4,#headersm,#headersp,#header_info,#header_hanwa,#headerintern{
	position: relative;
    overflow:hidden;
    width:100%;
    height:90vh;
}

#header{
	background:url("../images/top.jpg") no-repeat center / cover;
}

#header2{
	background:url("../images/top2.jpg") no-repeat center / cover;
}

#header3{
	background:url("../images/top3.jpg") no-repeat center / cover;
}

/* #header4{
	height:100vh;
	background:url("../images/top_field.jpg") repeat center / cover;
} */

#headerintern{
	background:url("../images/top_contents.jpg") repeat center / cover;
}

#header_info{
	background:url("../images/top_info.jpg") repeat center / cover;
}
#header_hanwa{
	background:url("../images/top_hanwa.webp") repeat center / cover;
}

#headersm{
	background:url("../images/top_future.jpg") repeat center / cover;
}
#headersp{
	background:url("../images/top_field.jpg") repeat center / cover;
}



#header::before,#header2::before,#header3::before,#header4::before,#headersm::before,#headersp::before,#header_info::before,#header_hanwa::before,#headerintern::before{
	position: absolute;
	content: '';
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(13, 13, 13, 0.359);
	}

/* #header4 のオーバーレイ */
#header4::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45); /* 半透明の黒（グレー） */
    z-index: 5;
    pointer-events: none; /* クリックを妨げない */
}

/* 背景（スライド）が下に来るように */
#header4 .staff-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
}

/* タイトルはオーバーレイの上に出す */
#header4 .main-titlebox {
/*     position: relative; */
    z-index: 10;
}

/* ヘッダー：スタッフグリッド背景 */
#header4 {
/*   position: relative; */
  overflow: hidden;
}



/* 背景全体（今の repeat_css の代わり） */
.staff-bg {
  position: absolute;
  inset: 0;
  /* アニメーションで横に動かしたい場合はここをtransformで動かす */
}

/* グリッド全体 */
.staff-grid {
  position: relative;
  width: 100%;
  overflow: hidden;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0px; /* 段の間の隙間。不要なら0 */
}

/* 各行 */
.staff-row {
  display: flex;
  flex-wrap: nowrap;
	height: 31vh;
width: max-content; /* 内容の幅に合わせて伸びる */
animation: staffScroll 180s linear infinite;
}

/* 各行を複製してリピート */
.staff-row .staff-tile {
    flex: 0 0 calc(100vw / 4.5);
    aspect-ratio: 4 / 3.6;
}

/* 無限ループアニメーション */
@keyframes staffScroll {
    0%   { transform: translateX(-50%); }
    100% { transform: translateX(0%); } 
    /* 50%ぶん動かす＝2セットにした時に完全ループ */
}

.staff-row-1 {
  animation-delay: 0s;
}
.staff-row-2 {
  animation-delay: -3s;
}
.staff-row-3 {
  animation-delay: -10s;
}

/* 1タイルあたり */
.staff-tile {
  flex: 0 0 calc(100% / 8); /* 基本は8等分（2段目だけは横にはみ出してもOK） */
  aspect-ratio: 4 / 2.6;      /* タイルの縦横比。調整してOK */
  overflow: hidden;
}

/* 背景画像 */
.staff-photo {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
	border: 1px solid transparent;
}

/* ロゴタイルだけデザインを少し変えたい場合 */
.staff-logo .staff-photo {
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.staff-logo .staff-photo img {
  width: 100%;
  height: auto;
}



/*パンくずリスト*/
.breadcrumb {
  font-size: 12px;
  margin: 30px;
}

.breadcrumb a {
  text-decoration: none;
}

.breadcrumb a:hover {
  text-decoration: underline;
}



/*スライドアニメーション*/
/* .repeat_css {
    background: url("../images/bg_main.png")repeat-x center center;
	background-size: auto 100%;
    animation: moveBg 1800s infinite linear;
} */



#slogan{
	position: absolute;
  top: 50%;
	width: 100%;
	-webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
	color: #6cffe9;
	line-height: 1.2;
	text-align: left;
	margin-left: 40px;
	text-shadow: 0 0 130px #fff;
}

#slogan h1{
	font-size: 80px;
	font-family: 'Noto Sans JP', sans-serif;
	/*font-family: 'Pacifico', cursive;*/
	margin-bottom: 20px;
	/*font-weight:normal;*/
}

#slogan h2{
	font-size: 20px;
	font-family: 'Noto Sans JP', sans-serif;
	/*font-weight:normal;*/
}

.main-titlebox{
	position: absolute;
	bottom: 0%;
    left: 0%;
	padding: 0 2em 2em;
}
.main-title{
	font-size: 3em;
	bottom: 0;
	left: 0;
	color: #6cffe9;
}
.main-title h1,.main-title span{
	font-family: "century-gothic", "游ゴシック",sans-serif;
font-weight: 700;
font-style: normal;}

.main-title h1{
font-size: .7em;
letter-spacing: .08em;
}

.main-title span{
	font-size: 2.5em;
	line-height: 1em;
}





/* topへ戻る */
.pagetop{
	z-index: 899;
	cursor: pointer;
	position: fixed;
	right: 0px;
	bottom: 0px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	/* border-radius: 3px 0 0; */
	transition: .3s;
	background: #ffffff;
	opacity: .7;
  /*   デフォルトは非表示 */
	/* opacity: 0; */
  }
  .pagetop i{
	color: #013F4A;
  }



/*ナブバー設定
---------------------------------------------------------------------------*/
/* a#menu{
		display:none;
	}	 */

	/* .panel{
		display:block !important;
	} */

	#mainnav{
		position:fixed;
		top: 0;
		width:100%;
		z-index:500;
		background: rgb(48 48 48 / 18%);
		/* border-bottom: 1px solid #d1d1d1; */
	}

	#mainnav .row{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	#mainnav ul{
		text-align: right;
		font-size:0;
		/* padding: 20px 0; */
		height: 100%;
		background-color: #fff;
		/* padding-right: 30px; */
	}

	#mainnav li{
		display: inline-block;
		font-size: 14px;
		font-weight: 500;
		padding: 0 20px;
		opacity: 1;
	}

	/* #mainnav li+li{
		border-left: solid 1px #1c1c1c;
	} */
	
  #mainnav a{
		color: #000;
	}
	
	#mainnav .entry{
		/* margin: 0 20px; */
		padding: 20px 40px;
		background-image: linear-gradient( 109.6deg,#7fffd4, #20cefa);
	}




/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
/*ブロック全体の設定*/
#new dl {
	/*height: 240px;	*//*高さ。内様がこれを超えるとスクロールバーが出ます。*/
	overflow: auto;
	margin-bottom: 20px;
}
/*日付設定*/
#new dt {
	float: left;
	width: 9em;
	letter-spacing: 0.1em;
}
/*記事設定*/
#new dd {
	padding-left: 9em;
}
.newsbox{
	padding: 20px 0;
}
.newsbox:first-child,.newsbox1:first-child{border-top: solid #000 1px;}
.newsbox:last-child,.newsbox1:last-child{border-bottom: solid #000 1px;}
.newsbox + .newsbox,.newsbox1 + .newsbox1{
	border-top: solid #000 1px;
}


/*box1指定（角丸のボックス）
---------------------------------------------------------------------------*/
.box1 {
	margin: 2em 7px;
	  overflow: hidden;
  position: relative;
  padding: 20px 40px;  /* カード内の余白 */
  margin: 0 30px 30px; /* 上は 0、左右と下だけ余白 */
  background: #fff;
}


/*トップページのNEWアイコン
---------------------------------------------------------------------------*/
.newicon {
	font-size: 70%;
	display: inline-block;
	line-height: 1.5;
	padding: 2px 5px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
	background: #c6c350;	/*背景色*/
	color: #FFF;		/*文字色*/
}






/* 共通
------------------------------------------------------------*/
h1, h2{
/* font-family: '游ゴシック', 'Noto Sans JP', 'Josefin Sans', serif; */
font-family: "century-gothic", "游ゴシック",sans-serif;
font-weight: 700;
font-style: normal;
}

img{
	width: 100%;
	height: auto;
}

/*ボタン*/
.vMid img{
	width: 35%;
	margin: 20px 0;
	display: block;
}

.vMid h2{font-family: 'Josefin Sans', 'Noto Sans JP',serif;  font-size: 60px;color:#AA0507;padding: -50px;
  background: -webkit-linear-gradient(0deg,#40E0D0, #FF8C00, #FF0080);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
	
/*background: -webkit-linear-gradient( 109.6deg,  rgba(156,252,248,1) 11.2%, rgba(110,123,251,1) 91.1% );
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;*/
}

.vMid h2 img{
	width: 100%;
	margin: 20px 0;
	display: block;
}

section{
	clear:both;
}

section h2{
	font-size: 30px;
	text-align: left;
}

.col3 li .sech2{
		margin: 20px 0;
	margin-bottom: 20px;
	}

.col3 h2,.center{
	text-align: center;
}



.col2 li{
	display: inline-block;
  	margin: 20px 0 20px 0;
	  width: 40%;
	  padding: 0 3%;
	  vertical-align: top;
}



/* SEC01 VISION
------------------------------------------------------------*/
/* .sec01{
	padding: 150px 0 10px;
	background-color: #013F4A;
	background:url("../images/background.png") no-repeat left / cover;
} */
/* .sec01-1{
	padding: 50px 0;
	background:url("../images/background2.png") no-repeat left / cover;
} */


.sec01 img{
	margin-bottom:-50px;
	float: none;
}

.sec01 h2,.sec01 p{
	color: #000;
	line-height: 2.3em;
	font-weight: 500;
}

.vision{
	width: 60%;
	margin: 80px auto;
}

.noback{
	background: none;
}
.blueback{
	background: #2B62BA;
}

/* 背景ブルーの左寄せ
------------------------------------------------------------*/
.sec01-2{
	margin-top: 50px;
	padding: 50px 0 10px;background: #274D8B;width: 80%;}
.sec01-2 img{margin: -80px;float: right;
}
.sec01-2 h2,.sec01-2 p{color: #fff;line-height: 2.3em;font-weight: 500;}

/* 背景夢色の右寄せ
------------------------------------------------------------*/
.sec01-5{margin-top: 60px;padding: 50px 0 10px;
	background-color:hsla(261,44%,69%,1);
background-image:
radial-gradient(at 0% 100%, hsla(29,88%,65%,1) 0px, transparent 50%),
radial-gradient(at 82% 65%, hsla(244,65%,74%,1) 0px, transparent 50%),
radial-gradient(at 2% 10%, hsla(355,72%,88%,1) 0px, transparent 50%);
	width: 80%;float: right;}
.sec01-5 .img-r{margin: -25px;float: left;margin-bottom: 80px;}
.img-man{width: 120px;float: left; margin: 0 20px 20px 0;}
.sec01-5 h2,.sec01-5 p{color: #fff;}


/*背景透過の右寄せ
------------------------------------------------------------*/
.sec01-3{margin-top: 50px;padding: 50px 0 10px;width: 80%;float: right;}
/* .sec01-3 img{margin-top: -80px;} */
.sec01-3 h2,.sec01-3 p{color: #000;line-height: 2.3em;font-weight: 500;}


/* 背景スカイブルーの左寄せ
------------------------------------------------------------*/
.sec01-4{margin-top: 60px;padding: 50px 0 10px;background:#013F4A;width: 80%;}
.sec01-4 img{margin: -80px;float: right;}
.sec01-4 h2,.sec01-4 p{color: #fff;}



/* SEC02、SEC03、SEC04 調整
------------------------------------------------------------*/
	/* SEC02 MESSAGE
	-----------------*/
	/*通常*/
	.bg{
		width: 60%;
		float: left;
		display: table;
		position: relative;
	}
	.bg2{
		width: 70%;
		float: left;
		display: table;
		position: relative;
	}
	
	.txt{
		width: 40%;
		float: left;
		display: table;
	}

	/*左画像*/
	.wrap2 .txt, .wrap2 .bg{
		float: right;
	}

	.vMid{
		display: table-cell;
		padding: 20px 50px;
		vertical-align: middle;
	}


	.vMid img{
		display: table-cell;
		padding: 0px 0px;
		vertical-align: middle;
	}
	
	.center-img{
	padding: 100px;
}

.col3 li{
	display: inline-block;
	width: 30%;
	padding: 0 1.5%;
	margin-bottom: 0;
	vertical-align: top;
	text-align: left;
}

	
	/* SEC05 PROFILE
	-----------------*/
	#sec05{
		padding-top: 0px;
		background-color: #F9F9F9;
	}
	
	.inner,.inner-pa{
		padding: 80px 0;
	}
	
	.wrap + .wrap{
	margin-top: 700px;
}



/* SEC02 MESSAGE
------------------------------------------------------------*/
/*sec02の背景*/
#sec02{
	background: #f6f6f6;
	overflow: hidden;
	padding:150px 0 100px;
}

.sec02-1{
	background: #f6f6f6;
	overflow: hidden;
	padding:0px 0 100px;
}


.wrap,.wrap2,.card{
	clear: both;
	width: 100%;
}

.wrap + .wrap{
	margin-top: 100px;
}

.bg{
	line-height: 0;
}

.txt h2{
	padding: 0 0 20px;
}








/* SEC03 ３横並びコンテンツ(レスポンス１並び)
------------------------------------------------------------*/
/*背景グレー*/
.sec03-n{
	padding: 50px 0 10px;
	background-color: #F4F4F4;
}

/*背景あり*/
/* .sec03-1{
	padding: 50px 0 10px;
	background:url("../images/background3-1.jpg") no-repeat top / cover;
} */

.inner,.container#news-single,.container#page-contact,.container#single,.container#page{
	width: 94%;
	margin: 0 auto;
	padding-bottom: 50px;
}

/*背景ありinner*/
.inner-pa{
	width: 100%;
	margin: 0 auto;
	padding-bottom: 50px;
}


/*３横並びコンテンツの説明テキスト箇所*/
.vision-03{
	width: 80%;
	margin: 80px auto 20px;
}

/*3つ並びコンテンツul名*/
.col3{
		text-align: center;
	}
.col3 p{
	font-weight: 400;
	text-align: left;
	margin-bottom: 1em;
}
.col3 li{
	margin-bottom: 50px;
}
.col3 img{
	max-width: 100%;
	display: block;
	margin: -5px auto 20px;
}


/* SEC03 contents 用３横並びコンテンツ(レスポンス１並び)
------------------------------------------------------------*/



.contents-list p{
	font-weight: 400;
	text-align: left;
	margin-bottom: 1em;
}
/* .contents-list li{
	margin-bottom: 50px;
} */
.contents-list img{
	max-width: 100%;
	display: block;
	margin: -5px auto 20px;
}
/* 親UL：横並び（スマホでは縦） */
.contents-list {
  display: grid;
	grid-template-columns:repeat(3,1fr); /* 2 カラム */
  gap: 0 2%;
	padding: 7px;
  align-items: stretch;
}

/* 各カードを同じ高さにするための flex 化 */
.contents-list li {
  flex: 1;
  display: block;
}

/* カード全体を縦方向 flex に */
.contents-card {
  display: flex;
  flex-direction: column;
  width: 100%;
	height: 100%;
	text-align: left;
}


/* テキスト群の高さを均等化する */
.contents-card .contents-body {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* タイトル・テキストを上詰めにする */
.contents-card h2,
.contents-card h3,
.contents-card p {
  margin-bottom: 0.7em;
}

/* 画像サイズ揃え（最重要） */
.contents-card img {
  width: 100%;
  height: auto; /* ← 必ず揃える（200 でも OK） */
  object-fit: cover; /* 中央でトリミング */
  display: block;
}

/* more read（フッター）を最下部に固定 */
.contents-card .contents-footer {
  margin-top: auto;
  padding-top: 1em;
}
.contents-card p {
  line-height: 1.6;
}





/*コンテンツ設定*/
.sech2tex{
	margin-bottom: 20px;
	border-bottom: solid #000 1px;
}
.numbers{
	text-align:left; float:left;
}
.staff{
	text-align:left; float:right;
}
.sech2tex h2{
	font-size: 20px;
	text-align: left;
}
.sech2tex h4{
	font-size: 13px;
	text-align: left;
	margin-bottom: 1.4em;
}






/* SEC04 STORY & SUCCESS
------------------------------------------------------------*/
#sec04{
	background: url(../images/bg_office.jpg) no-repeat 100% 100% fixed;
	background-size: cover;
	-webkit-background-size: cover;
	color: #fff;
}


/* SEC05 PROFILE
------------------------------------------------------------*/
#sec05{
	/* padding-top: 50px; */
}

#sec05 dl{
	line-height: 1.2;
}

#sec05 dt{
	clear: left;
	float: left;
	display: block;
	width: 30%;
	margin-right: 10%;
	margin-bottom: 20px;
	text-align: right;
	line-height: 1.6em;
}

#sec05 dd{
	width: 60%;
	float: left;
	text-align: left;
	margin-bottom: 15px;
	line-height: 1.6em;
}

#sec05 header{
	display: none;
}

#map{
	position: relative;
	padding-bottom: 75%;
	height: 0;
	overflow: hidden;
}

#map iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	border: 0;
}


/*見出しテキスト装飾
---------------------------------------------------------------------------*/
.look,.lookta,.look2{
	background: #000;/*border: 1px solid #ccc;*/
	padding: 0px 40px;
	border-radius: 0px;
	color:#fff;
	display:inline-block;
	text-align: center;
	font-family: "century-gothic", "游ゴシック",sans-serif;
font-weight: 700;
font-style: normal;
}

.look {font-size: 35px;}

.lookta {
	padding: 40px 0px;
	font-size: 35px;
	float: right;
	writing-mode: vertical-rl;
}
.look2 {
	font-size: 50px;
	float: left;
}

.look + .card,.look-r + .card{
	margin-bottom: 10px;
}
.lookta + .lookta{
	margin-right: 10px;
}

.looks,.looks2,.lookta{
		position: absolute;
		z-index: 1;
	   height: 700px;
	}
	.looks2{
		right: 0;
	}

/*見出し大*/
.cover{margin-top:-33px;
}
/*見出し小*/
.cover2{margin-top:-35px;}




/*タブ
---------------------------------------------------------------------------*/
.tab-group,.tab-group2 {
    margin: 3em 0 2em;
    /* width: 500px; */
    list-style: none;
    text-align: center;
}

.tab-group a,.news-single-box a,.faq a{	
	color: #c6c350;
}
.tabMenu {
    display: flex;
    justify-content: space-between;
    list-style: none;
    cursor: pointer;
}

.tabMenu li {
    width: calc(100% / 2);
    /* border: 2px solid #ccebdc; */
    padding: 1.2em 8px;
    /* border-bottom: none; */
	margin: 2em;
	background-color: #fff;
	position: relative;
	font-size: 1em;
	letter-spacing: .2em;
    font-weight: 600;
}

.tabMenu li.active {
    background-color: #013f4a;
    /* border: 2px solid #4bab80; */
    color: #FFF;
}

.tabMenu li.active::before{
  content: "";
  position: absolute;
  bottom: -27px;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #013f4a;
  z-index: 0;
}

.contents-list {
    border-top: none;
}
.Content,.news-single-box,.single-box,.page-box,.contact-page-box {
    /* padding: 8px; */
	text-align: left;
	font-weight: 400;
	background: #ffffff;
}
.tabContent {
    display: none;
    /* padding: 8px; */
	text-align: left;
	font-weight: 400;
	background: #ffffff;
}
.tabContent.active{
    display: block;
    /* border: 2px solid #4bab80; */
    /* height: 100px; */
	animation-name: fadeIn;
	animation-fill-mode:forwards;
	animation-duration:1s;
}


.tabContent h2{
	text-align: center;
	font-size: 1.7em;
	margin-bottom: .8em;
}

.btnarea,.flowarea{
	text-align: center;
}

.btnarea{
	padding: 0 1em 3em;
}
.btnarea a{
	white-space: nowrap
}

.btnarea .btnarea_entry_info{
	font-size: 1.1em;
	font-weight: 600;
}

.flowarea{
	padding: 3em 2em 6em;
}
.flowarea p{
	margin-bottom: 2.5em;
}

/* ボタンエリア */
a.btn{
	display: inline-block;
	background-color: #013f4a;
	border-radius: 100em;
	font-size: 1rem;
	color: #fff;
	position: relative;
	padding: 1.5rem 8rem 1.5rem 8rem;
	margin: 2em 0;
  }
  
  a.btn:hover {
	color: #fff;
  }
  
  a.btn-c i.fa {
	margin-right: 1rem;
  }
  
  /* a.btn-c:before {
	font-family: 'Font Awesome 5 Free';
	font-size: 1.6rem;
	line-height: 1;
	position: absolute;
	top: calc(50% - .8rem);
	right: 1rem;
	margin: 0;
	padding: 0;
	content: '\f35d';
  } */
  .btn_apply{
	position: relative;
	padding: 1em 0;
    margin: 1em 0;
  }
  .btn_apply::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 3em;
    height: 2px;
    background-color: #cfcfcf;
}

.requirements_overview_job{
	padding: 3%;
}

.requirements_overview_job h3{
	font-size: 2em;
}

.requirements_overview_job span{
	display: block;
	margin-bottom: 1em;
	text-transform: uppercase;
}

.requirements_overview table{
	width: 100%;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 1px;
	border-spacing: 0;
}

.requirements_overview table tbody tr th {
	width: 25%;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	padding: 3%;
	border-bottom: 1px solid #0e2332;
	/* background-color: #f5f5f4; */
}

.requirements_overview table tbody tr td {
	padding: 3%;
	border-bottom: 1px solid #0e2332;
}

/* イベント説明文 */
.event_textarea,.event_textarea2{
	margin-top: 6em;
	line-height: 2.5em;
}
.event_textarea,.event_textarea h2,.event_textarea2,.event_textarea2 h2{
	text-align: center;
	color: #333;
	margin-bottom: 1em;
	font-weight: 600;
}
.event_textarea2,.event_textarea2 h2{
	color: #fff;
}
.event_textarea h2,.event_textarea2 h2{
	font-size: 2.9em;
}

.event_textarea .point,.event_textarea2 .point{
	background-color: #ffffff;
    color: #333;
    padding: .3em 1em;
}
.event_textarea .point2,.event_textarea2 .point2{
    color: #ff2525;
}
.label--has_multi{

}
.multiLabelItem{
	display: inline-block;
	padding: .2em .5em;
    width: 80px;
    text-align: center;
	background-color: #000;
	color: #fff;
	margin-bottom: 1em;
	font-weight: 700;
}
.multiLabelItem.active{
	background-color: #d9d43e;
	color: #000;
}


/* イベント概要 */
.event_overview_job,.news-single-box,.contact-page-box,.single-box,.page-box{
	padding: 6%;
}
.event_overview_job h3{
	font-size: 2em;
	margin-bottom: 1em;
}
.event_overview_job h2{
	font-size: 2.5em;
	margin-bottom: 1em;
}
.event_overview h4{
	font-size: 1.5em;
	padding: 0 6%;
}


.event_overview table{
	display: block;
	width: 100%;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 1px;
	border-spacing: 0;
	padding: 0 6%;
}
.event_overview table tbody tr th {
	width: 25%;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	padding: 1%;
	/* border-bottom: 1px solid #0e2332; */
}
.event_overview table tbody tr td {
	width: 70%;
	padding: 1%;
	/* border-bottom: 1px solid #0e2332; */
}




.tab-wrap{
	background-color: #fff;
  }
   
  .tab-wrap ul {
	display: flex;
	flex-wrap: wrap;
	margin: 1em 3em;
  }
   
  .tab-btn {
	/* width: 50%; */
	padding: 10px 40px;
    margin: 0 0 .5em;
	text-align: center;
	list-style: none;
	cursor: pointer;
	font-weight: 400;
	background: #eee;
	margin-right: .5em;
  }
   
  .tab-btn.show {
	background: #333;
	border-top: 2px solid #333;
	color: #fff;
  }
   
  .tab-contents {
	display: none;
  }
   
  .tab-contents.show {
	display: block;
	padding: 20px;
	animation-name: fadeIn;
	animation-fill-mode:forwards;
	animation-duration:1s;
  }


  .bunner_line{text-align: center;}
  .bunner_line img{width: 380px;margin-bottom: 6em;}



/*サイドメニュー
---------------------------------------------------------------------------*/
nav {
	text-align:center;
	/* width:100%; */
	position: fixed;
	z-index: 999;
	top: 0%;
	right: 0;
	/* position:relative; */
	height:auto;
	overflow:hidden;
	background:none;
	display: flex;
  }
nav ul {
	text-align:center;
  }
  nav ul li {
	display:inline-block;
  }
  nav ul li a {
	color:#333;
	display:inline-block;
	padding:1em 3em;
	text-decoration:none;
	background-color: aquamarine;
	/* border-bottom:2px solid #fff; */
	transition-property:all .2s linear 0s;
	-moz-transition:all .2s linear 0s;
	-webkit-transition:all .2s linear 0s;
	-o-transition:all .2s linear 0s;
	font-size:16px;
	font-weight: 600;
  }
  /* nav ul li a:hover {
	color: #333;
  } */

  /*styling open close button*/
  .button_menu {
	display:inline;
	/* position:absolute; */
	width: 66px;
	right:0;
	top:0;
	font-size:30px;
	background-color: #013F4A;
  }
  .button_menu a {
	text-decoration:none;
  }

  .btn-open:after {
	color:#fff;
	content:"\f0c9";
	font-family: "Font Awesome 5 Free"; 
	font-weight: 900;
	/* transition-property:all .2s linear 0s;
	-moz-transition:all .2s linear 0s;
	-webkit-transition:all .2s linear 0s;
	-o-transition:all .2s linear 0s; */
  }
  .btn-open:hover:after {
	color:#fff;
  }
  .btn-close:after {
	color:#333;
	content:"\f00d";
	font-family: "Font Awesome 5 Free"; 
	font-weight: 900;
	background-color: rgb(255, 255, 255);
	/* transition-property:all .2s linear 0s;
	-moz-transition:all .2s linear 0s;
	-webkit-transition:all .2s linear 0s;
	-o-transition:all .2s linear 0s; */
  }

  .button_menu:has(.btn-close){
	background-color: rgb(255, 255, 255);
  }

  .btn-close:hover:after {
	color:#333;
  }




  /*overlay*/
  .overlay {
	display:none;
	position:fixed;
	top:0;
	height:100%;
	width:100%;
	background:#013F4A;
	overflow:auto;
	z-index:99;
  }
  .wrap:has(.wrap-nav){
	color:#333;
	text-align:center;
	max-width:90%;
	margin:0 auto;
  }
  .wrap ul.wrap-nav {
	border-bottom:1px solid #575757;
	text-transform:capitalize;
	padding:120px 0px 70px;
  }
  .wrap ul.wrap-nav li {
	font-size:30px;
	display:inline-block;
	vertical-align:top;
	width:24%;
	position:relative;
  }
  .wrap ul.wrap-nav li a {
	font-weight: bold;
	color: aquamarine;
	display:block;
	padding:8px 0;
	text-decoration:none;
	line-height: 1.4em;
	transition-property:all .2s linear 0s;
	-moz-transition:all .2s linear 0s;
	-webkit-transition:all .2s linear 0s;
	-o-transition:all .2s linear 0s;
  }
  .wrap ul.wrap-nav li a:hover {
	color:#f0f0f0;
  }
  .wrap ul.wrap-nav>li>a{
	font-family: "century-gothic", "游ゴシック",sans-serif;
font-weight: 700;
font-style: normal;
  }
  .wrap ul.wrap-nav ul {
	padding:20px 0;
  }
  .wrap ul.wrap-nav ul li {
	display:block;
	font-size:13px;
	width:100%;
	color:#e9e9e9;
  }
  .wrap ul.wrap-nav ul li a {
	font-weight:unset;
	color:#f0f0f0;
  }
  .wrap ul.wrap-nav ul li a:hover {
	color:aquamarine;
  }
  .social {
	font-size:13px;
	padding:20px;
  }
  .social p {
	margin:0;
	padding:20px 0 5px 0;
	line-height:30px;
	font-size:13px;
  }
  .social p a {
	color:aquamarine;
	text-decoration:none;
	margin:0;
	padding:0;
  }
  .social-icon {
	/* width:80px; */
	/* height:50px; */
	/* background:#e9e9e9; */
	color:#fff;
	display:inline-block;
	margin:0 20px;
	transition-property:all .2s linear 0s;
	-moz-transition:all .2s linear 0s;
	-webkit-transition:all .2s linear 0s;
	-o-transition:all .2s linear 0s;
  }
  .social-icon:hover {
	/* background:#34B484; */
	color:#34B484;;
  }
  .social-icon i {
	margin-top:12px;
  }
  .social .social-icon:has(i){
	font-size: 2em;
	padding: 0em 0;
}  
  .content {
	width:100%;
  }






/*FAQ
---------------------------------------------------------------------------*/
.newsbox1{
	padding: 1em 0;
}

/*FAQボックス全体*/
.faq {
	padding: 0 5px;	/*上下、左右へのボックス内の余白*/
}

/*質問*/
.faq dt {
	border-radius: 3px;		/*枠を角丸にする指定*/
	text-indent: -2em;				/*テキストのインデント。質問が複数行になった際に、テキストの冒頭を揃える為に設定しています。*/
	padding: 5px 1em 5px 3em;		/*ボックス内の余白。ここを変更する場合、上のtext-indentも調整します。*/
	/*border: 1px solid #555;*/
}






/*アイコン（Font Awesome）*/
.faq dt::before {
	font-family: "Font Awesome 5 Free";	/*Font Awesomeを使う指定*/
	content: "▼";		/*使いたいアイコン名をここで指定。Font Awesomeに記載されています。詳しくは当テンプレートのマニュアルを読んで下さい。*/
/* 	color: #00b1d4;			 */
	color: #41f8ba;
	padding-right: 1em;		/*アイコンとテキストの間の余白*/
}

/*回答*/
.faq dd {
	padding: 1.5em 1em 30px 3em;		/*ボックス内の余白**/
}

/*opencloseを適用した要素のカーソル*/
.openclose {
	cursor: pointer;	/*カーソルの形状。リンクと同じスタイルにしてクリックできると認識してもらう。*/
}

.faq dt span {text-indent: 0;}








/*info*/
.info {
	position: relative;
	width: 100%;
	margin: 0 auto;
	display: block;
	overflow: hidden;
	margin-top: 100px;
}

.info h2{
	font-size: 20px;
	text-align: left;
}
.info h4{
	font-size: 13px;
	text-align: left;
}
.info li{
	padding: 30px 30px;
}
.info li:first-child{border-top: solid #000 1px;}
/*.info li:last-child{border-bottom: solid #000 1px;}*/
.info-li+.info-li{
	border-top: solid #000 1px;
}

.info2{
	background-image: linear-gradient( 109.6deg,#7fffd4, #20cefa);
	width: 50%;
	height: 100%;
	margin-bottom: 20px;
	position: absolute;
}


.info2 {
	position: absolute;
	width: 60%;
	top: 50%;
	left: 70%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
.info2-in{
	/*position: absolute;
    display: block;
	text-align: center;
	top: 50%;
	left: 30%;*/
}




/*ボタン類
---------------------------------------------------------------------------*/
/*紺色ボタン*/
.button{
	margin: 20px 0px;
	background: #013F4A;
	padding: 5px 20px;
	color:#fff;
	font-weight:bold;
	display:inline-block;
}
.button span{
	font-size: 1.7em;
}
/*白ボタン*/
.button2{
	margin: 20px 0px;
	background: #fff;
	padding: 5px 20px;
	color:#000;
	font-weight:bold;
	display:inline-block;
}
/*白枠ボタン*/
.button3{
	margin: 20px 0px;
	padding: 5px 20px;
	color:#000;
	border: solid #000 1px;
	font-weight:bold;
	display:inline-block;
}
/*白枠ボタン*/
.button4{
	margin: 20px 0px;
	padding: 5px 20px;
	color:#000;
	border: solid #000 1px;
	font-weight:bold;
	display:inline-block;
}
/*白枠ボタン*/
.button5
{ color:#fff; /*border: solid #fff 1px;*/ font-weight:bold; display:inline-block; }

.button h3,.button2 h3{font-size: 20px;}
.button h4,.button2 h4{font-size: 10px;}
.button4 h3{font-size: 30px;}
.button5{font-size: 12px;}

.link_button{

}

/*動画
---------------------------------------------------------------------------*/
/* 動画を囲うdiv設定 */
.video {
  position: relative;
  width:100%; /* 横幅は100%にしておく(ここを変えたい場合は実装コード2の方法を確認してください) */
  height:0; /* 高さは0にしておく(padding-topで高さを指定するため) */
  padding-top: 56.25%; /* 高さを指定(16:9) */
	margin-bottom: 100px;
}

/* YouTube埋め込み用のiframe */
.video iframe{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
	margin-top: 60px;
  width: 100%;
  height: 100%;
}





/*アニメーション設定
---------------------------------------------------------------------------*/
/*カーテンアニメーション見出し*/
.box2 {
  width: 100%;
  height: auto;
  /* margin: 0 20px 0 0; */
  overflow: hidden;
}

.box2 .boxInner {
  width: auto;
  height: auto;
  opacity: 0;
 overflow: hidden;
}

.box2 .boxInner2 {
  width: auto;
  height: auto;
  opacity: 0;
 overflow: hidden;
}

.boxInner h2 br{
	display: none;
}

/*スライドインを動作するclass*/
.isPlay {
  animation-name: play;
  animation-duration: .5s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(.8,0,.5,1);
  position: relative;
  opacity: 1 !important;
}

/*isPlayの疑似要素にマスクとマスクを外すアニメーションを設定 */
.isPlay:before {
  animation-name: maskOut;
  animation-duration: .5s;
  animation-delay: .5s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(.8,0,.5,1);
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-image: linear-gradient( 109.6deg,#7fffd4, #20cefa);
}

/*スライドインを動作するclass*/
.isPlay2 {
  animation-name: play2;
  animation-duration: .5s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(.8,0,.5,1);
  position: relative;
  opacity: 1 !important;
}

/*isPlayの疑似要素にマスクとマスクを外すアニメーションを設定 */
.isPlay2:before {
  animation-name: maskOut2;
  animation-duration: .5s;
  animation-delay: .5s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(.8,0,.5,1);
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-image: linear-gradient( 109.6deg,#7fffd4, #20cefa);
}



/*before疑似要素
---------------------------------------------------------------------------*/
/*斜線アイコン*/
.icon::before{
	content: "";
    width: 2px;
    height: 80px;
    display: block;
    background-color: #000;
    transform: rotate(0deg);
    position: absolute;
    top: 20px;
    left: 100px;
}

.icon,.icon2{
	position: relative;
	width: 150px;
	height: 150px;
	margin-bottom: -120px;
	margin-left: -120px;
	z-index: 1;
	font-family: "century-gothic", "游ゴシック",sans-serif;
font-weight: 700;
font-style: normal;
}


.icon h2{
	font-size: 60px;
	color: #000;
}



.icon2::before{
	content: "";
    width: 2px;
    height: 80px;
    display: block;
    background-color: #fff;
    transform: rotate(0deg);
    position: absolute;
    top: 20px;
    left: 100px;
}

.icon2 h2{
	font-size: 60px;
	color: #fff;
}


/* お知らせ投稿アーカイブ ------------------------------------------------------------*/ 

.pagination {
margin: 40px 0;
  text-align: center;
position: relative;
}

.pagination .page-numbers {
  display: inline-block;
  margin: 0 4px;
  padding: 6px 10px;
  border: 1px solid #ccc;
  text-decoration: none;
  font-size: 14px;
}

.pagination .current {
  background: #00e0c6;
  color: #fff;
  border-color: #00e0c6;
}




/* ================================
   Singleページ & 固定ページ 共通レイアウト
   ================================ */

/* 記事全体の枠・余白 */
/* body.single article,
body.page  article {
  max-width: 1024px;
  margin: 0 auto 40px;
  padding: 40px 6%;
  background: #fff;
} */

/* 日付（クラス名があればそこに合わせてください） */
body.single .news-date,
body.page  .news-date {
  margin-bottom: 8px;
  font-size: 0.9rem;
}

/* タイトル */
body.single h1,
body.page  h1 {
  font-size: 2.2rem;
  line-height: 1.4;
  margin: 16px 0 24px;
}

/* サムネイル（タイトル下に表示される画像） */
body.single .news-thumbnail,
body.page  .news-thumbnail,
body.single .post-thumbnail,
body.page  .post-thumbnail {
  margin: 24px 0 40px;
  text-align: center;
}

body.single .news-thumbnail img,
body.page  .news-thumbnail img,
body.single .post-thumbnail img,
body.page  .post-thumbnail img {
  width: 100%;
  height: auto;
  display: block;
}

/* 本文（the_content 部分） */
body.single .entry-content,
body.page  .entry-content,
body.single .news-single-content,
body.page  .news-single-content {
  font-size: 16px;
  line-height: 2;     /* 行間を広めに */
}

/* 段落ごとの余白 */
body.single .entry-content p,
body.page  .entry-content p,
body.single .news-single-content p,
body.page  .news-single-content p {
  margin: 0 0 1.6em;
}

/* 見出しの余白 */
body.single .entry-content h2,
body.page  .entry-content h2,
body.single .entry-content h3,
body.page  .entry-content h3,
body.single .entry-content h4,
body.page  .entry-content h4,
body.single .news-single-content h2,
body.page  .news-single-content h2,
body.single .news-single-content h3,
body.page  .news-single-content h3,
body.single .news-single-content h4,
body.page  .news-single-content h4 {
  margin: 2.4em 0 1em;
  line-height: 1.5;
}

/* 箇条書き：余白＆字下げ */
body.single .entry-content ul,
body.page  .entry-content ul,
body.single .entry-content ol,
body.page  .entry-content ol,
body.single .news-single-content ul,
body.page  .news-single-content ul,
body.single .news-single-content ol,
body.page  .news-single-content ol {
  margin: 0 0 1.6em 1.5em;
  padding-left: 1.2em;
}

body.single .entry-content li,
body.page  .entry-content li,
body.single .news-single-content li,
body.page  .news-single-content li {
  margin-bottom: 0.4em;
}

/* スマホ時の微調整 */
@media (max-width: 767px) {
  body.single article,
  body.page  article {
    padding: 24px 5%;
  }

  body.single h1,
  body.page  h1 {
    font-size: 1.8rem;
  }
}





/* お知らせ投稿ページ(single.php)  ------------------------------------------------------------*/ 
#news-single,#page-contact,#single,#page{
	padding: 80px 0;
}

.news-single-content{
   margin: 0 0 2em;
}

.container#news-single h1,.container#page-contact h1,.container#single h1,.container#page h1 {
   font-size: 2em;
}

.container#news-single h2,.container#page-contact h2,.container#single h2,.container#page h2 {
   font-size: 1.8em;
}

.container#news-single h3,.container#page-contact h3,.container#single h3,.container#page h3 {
   font-size: 1.5em;
}


/* ▼テーブル全体のリセット・基本 */
.wp-block-table.overview table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;           /* has-fixed-layout の上書き */
  font-size: 16px;
  line-height: 2;
  letter-spacing: 1px;
}

/* 行の下線だけ欲しい場合（不要なら削除） */
.wp-block-table.overview tbody tr {
  border-bottom: 1px solid #0e2332;
}
.news-single-content .wp-block-table.overview tbody tr:last-child {
  border-bottom: none;
}

/* ▼1列目（見出し側）: th でも td でもOK */
.wp-block-table.overview tbody tr > th:first-child,
.wp-block-table.overview tbody tr > td:first-child {
  width: 8rem;                  /* ラベル列の幅。調整OK */
  padding: 1em 1.5em 1em 0;
/*   font-weight: 700; */
  text-align: left;
  vertical-align: top;
  white-space: nowrap;          /* 「持　　物」みたいなのを折り返さない */
}

/* ▼2列目（本文側） */
.wp-block-table.overview tbody tr > th:nth-child(2),
.wp-block-table.overview tbody tr > td:nth-child(2) {
  width: auto;
  padding: 1em 0;
  text-align: left;
}

/* 余計な枠線を消したい場合（今の border:1px solid; の上書き） */
.wp-block-table.overview td,
.wp-block-table.overview th {
  border: none;
}



/* ----------------------------------------------------------------------
 Contact form 7
---------------------------------------------------------------------- */
.wpcf7 .wpcf7-submit, .wpcf7 .wpcf7-previous { -webkit-transition:all .3s; -webkit-box-sizing:border-box; box-sizing:border-box; display:block; position:relative; width:225px; height:48px; margin:30px auto 0; border:none !important; outline:none; background-color:#333333; color:#000; font-size:14px; line-height:1.5; text-align:center; text-decoration:none; cursor:pointer; transition:all .3s; }
.wpcf7 .wpcf7-previous + br { display: none; }
.wpcf7 .wpcf7-submit:hover, .wpcf7 .wpcf7-previous:hover { background-color:#666666; }
.wpcf7 form .wpcf7-response-output { margin: 2em 0.5em 2em; padding:0; border: none; text-align:center; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output { color:#dc3232; font-size: 1em; }
/*お問い合わせフォーム*/
.wpcf7{
    border: 0px solid #f5f5f5;
    background: #fff;
    }
    
    .wpcf7 form{
    margin: 1.5em 0 0;
    }
    
    .wpcf7-list-item{
    margin: 0;
    }
    
    #cf7-area {
    width:100%;
    margin: 0 auto;
    }
    
    .cf7-item {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    margin: 0 0 1.75em;
    }
    
    .cf7-q {
    width: 30%;
    margin: 0 0 0 10px;
    }
    
    .cf7-a {
    width: 60%;
    }
    
input.wpcf7-date,select.wpcf7-select{
	width: -webkit-fill-available;
	    padding: 15px;
}
    
    /*　見出し　*/
    .form-heading
    {
    width: 100%;
    background-color: #191970;
    border-left: 1em solid #6495ED;
    border-radius: 2px;
    color: #ffffff;
    padding: 1em .8em;
    margin: 0 0 2em;
    }
    
    .form-heading p {
    margin: 0;
    }
    
    /* 各項目共通 */
    #cf7-area label{
    padding:10px 20px 10px 0;
    }
    
    #cf7-area input[type="text"], #cf7-area input[type="email"], #cf7-area input[type="tel"], #cf7-area textarea{
    background: #f5f5f5;
    width: -webkit-fill-available;
	padding: 15px 2em;
    }
    
    #cf7-area input[type="checkbox"], #cf7-area input[type="radio"]{
    appearance: auto;
    }
    
    .wpcf7 input, .wpcf7 textarea{
border-radius: 5px;
    border: 1px solid #f5f5f5;
    background-color: #f5f5f5;
/*     padding: 15px 0; */
    }
    
    #cf7-area .wpcf7-list-item {
    display: block;
    }
    
    #cf7-area textarea{
    height:200px;
    padding: 0.625em 0.4375em;
    }
    
    .cf7-accept-check{
    text-align: center;
    margin: 50px auto;
    }
    
    .cf7-submit {
    width: 40%;
    margin: 0 auto;
    text-align: center;
    }
    
    #cf7-area input[type="submit"]
    {
    width: 100%;
    background-color: #191970;
    color: #ffffff;
    border-radius: 5px;
    font-size: 1.2em;
    padding: 1em 10px;
    }
    
    #cf7-area input[type="submit"]:hover
    {
    background-color:#a1f3c8;
    border: 2px solid #191970;
    color:#191970;
    }
    
    .cf7-btn{
    width: 40%;
    margin: 0 auto;
    text-align: center;
    }
    
    /*　必須ラベル　*/
    .cf7-req{
/*     border-radius: 5px; */
/*     border: 1px solid #937960; */
    font-size:.7em;
    padding: 1px 16px;
    background: #c6c350;
    color: #fff;
    margin-left: 10px;
    display:inline-block;
    margin-bottom: .5em;
    }
    /*送信ボタン*/
.wpcf7 .wpcf7-submit, .wpcf7 .wpcf7-previous{
    background-color: #7FFFD4;
}

/*送信後メッセージ*/
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #fff;
}
.wpcf7 form.spam .wpcf7-response-output {
    border-color: #fff;
}

    @media screen and (max-width:768px){
    .cf7-item {
    display: block;
    }
    
    #cf7-area label{
    display: block;
    margin-bottom: 10px;
    }
    
    .cf7-q {
    width: 100%;
margin: 0 0 1em;
    }
    
    .cf7-a {
    width: 100%;
    }
    
    #cf7-area input[type="text"], #cf7-area input[type="email"], #cf7-area input[type="tel"], #cf7-area textarea{
    margin-left: 0;
    }
    
    .cf7-submit{
    width: 90%;
    }
    }
    
    /*ラジオボタン*/
    input[type="radio"] {
      opacity: 0;
      visibility: hidden;
      position: absolute;
    }
    
    .wpcf7-list-item.first {
      margin-left: 0;
    }
    
    .cf7-radio span.wpcf7-list-item-label {
      position: relative;
      display: flex;
      align-items: center;
      cursor: pointer;
    }
    
    .cf7-radio span.wpcf7-list-item-label::before {
      display: block;
      content: "";
      border-radius: 50%;
      border: 2px solid #494949;
      width: 20px;
      height: 20px;
      margin-right: 10px;
    }
    
    .cf7-radio span.wpcf7-list-item-label::after {
      display: block;
      position: absolute;
      content: "";
      border-radius: 50%;
      width: 12px;
      height: 12px;
      background-color: #494949;
      left: 4.4px;
      top: 50%;
      transform: translateY(-50%);
      display: none;
    }
    
    input[type="radio"]:checked + span.wpcf7-list-item-label::after {
      display: block;
    }
    
.privacy-logo p{
text-align: center;
}
.privacy-logo img{
padding:10px;
width:80px;
}












/* フッター ------------------------------------------------------------*/ 
/* #footer{ 
	clear: both; 
	padding: 50px 10px 50px 0;
	text-align: left; 
	font-size: 12px;
}  */
#footer {
	font-size: 0.9em; /*文字サイズ*/ 
	background: #141623 ; /*背景色*/ 
	color: #999; /*文字色*/ 
	/* text-align: center;  */
	/* padding: 10px 40px 60px;  */
	height: 5px; 
} /*リンクテキスト*/ 
#footer a {
	color: #fff;
	text-decoration: none;
} /*著作部分*/
#footer .pr {display: block;}

/* .footermenu { 
	padding: 3% 50px;
}  */

/*ボックス全体の設定*/ 
.footermenu { 
	background: #013F4A; /*背景色*/ 
	color: #999;
	font-size: 1em; /*文字サイズ*/
}
/*ボックス内のリンクテキスト設定*/
.footermenu a { 
	text-decoration: none; 
	color: #fff; /*文字色*/ 
} 
/*リンクテキストのマウスオン時*/
.footermenu a:hover {
	color: #ccc; /*文字色*/
}
/*ulタグ（メニューの列単位）*/
.footermenu ul { 
	margin: 0;
	padding: 0 2px; 
	flex: 1; 
	list-style: none; 
} 
/*title*/ 
.footermenu .title {
	font-family: "century-gothic", "游ゴシック",sans-serif;
font-weight: 700;
font-style: normal;
	color: aquamarine; 
	padding-bottom: 5px; /*下に空けるスペース*/
	font-size: 1.9em;
	letter-spacing: .1em;
} 

.footermenu-inner{
	padding: 3% 50px;
	max-width: 1200px;
    margin: 0 auto;
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.copyright{ 
	text-align:left; 
	float:left; 
	margin: 0 10px; 
	width: 70%;
}
.logo-f{ 
	text-align:left; 
	float:right; 
	width:50px;
	margin: 5px; 
}

footer small {
	font-size: 100%;
} 

.footermenu-inner:has(.copyright) ul{
	font-size: 2em;
}
.footermenu-inner:has(.copyright) ul a{
	margin-right: .5em;
}

 

/* #footer .footermenu-inner{
	max-width: 1440px;
    margin: 0 auto;
	} */



/*コンテナー（サイト全体を囲むブロック）
---------------------------------------------------------------------------*/
.container {
	max-width: 1440px;	/*最大幅。これ以上広くならない指定。*/
	margin: 80px auto 0;
	padding: 30px 0; 
	overflow: hidden;
}



/* RESPONSIVE 設定
------------------------------------------------------------*/
/*1200px以上の時*/
@media only screen and (min-width: 1200px){
	/*固定ページ、投稿、その他*/
	.container#news-single,.container#page-contact,.container#single,.container#page{
		width: 1024px;
	}
	
	/*.txt h2{
		padding: 0 0 20px !important;
	}*/
	.inner,.inner-pa{
		width: 1024px;
	}
	
}

/*900px以上の時*/
@media only screen and (min-width: 900px){
	body{
		font-size:16px;
	}
	
	#footer { height: 5px; } 
  


	
}








@media screen and (max-width:68em) {
	.wrap ul.wrap-nav>li {
	  width:100%;
	  padding:20px 0;
	  border-bottom:1px solid #575757;
	}
	.wrap ul.wrap-nav {
	  padding:60px 0px 0px;
	}
	/* nav ul {
	  opacity:0;
	  visibility:hidden;
	} */
	.social {
	  color:#c1c1c1;
	  font-size:13px;
	  padding:15px 0;
	}
	.social-icon {
	  width:100%;
	  padding: .5em 0;
	  /* height:50px; */
	  /* background:#fff; */
	  /* color:#333; */
	  display:block;
	  margin:5px 0;
	}
  }








/*899px以下の時*/
@media only screen and (max-width: 899px){	
	#header,#header2,#header3,#headersp,#headersm,#header_info,#header_hanwa,#headerintern{
		height: 60vh;
	}
	#header4{
		height: 90vh;
	}
	.boxInner h2 br{
		display: block;
	}
	.col3 h2, .center {
		text-align: left;
	}

	.sec01 img{
		margin-bottom:-30px;
		float: none;
	}
	#sec02{
		padding: 150px 0 0px;
	}
	

	.wrap.wrap2{
		margin-top: 50px;
	}

	/* 各行を複製してリピート */
.staff-row .staff-tile {
    flex: 0 0 calc(100vw / 1.5);
    aspect-ratio: 4 / 3.6;
}
	
	/*top画面レスポンス*/
	#slogan{
  top: 75%;
	width: 100%;
	-webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
	color: #6cffe9;
	line-height: 1.2;
	text-align: left;
	margin-left: 10px;
	text-shadow: 0 0 130px #fff;
}
	
	#slogan h1{
	font-size: 60px;
}

#slogan h2{
	font-size: 15px;
}
	
	
/*top見出しレスポンス*/
.look3{
	top: 66.6%;
	padding: 0px 40px;
	}
.main-title{
	font-size: 20px;
}

.main-title h1{
	font-size: .7em;
	letter-spacing: .08em;
	}
	
.main-title span{
	font-size: 3.5em;
	line-height: 1em;
}

.main-titlebox{
	padding: 0 1em 2em;
	}

/* ヘッダー */
.site-logo img{
	display: none;
}

/*newsレスポンス*/
	.box1 {
        padding: 7px;
    }
	
/*visionレスポンス*/
.vision{
	width: 90%;
	margin: 0px auto;
}
.vision-03 {
    width: 90%;
    margin: 10px auto 20px;
}
	
	.bg {
		width: 100%;}
	.txt {
		width: 100%;}
	
	.button span {
    font-size: 1.0em;
}
	
	.col3 li{
		margin: 0px auto;
		display: block;
	max-width: 288px;
	}
	.col3 li{
    width: 100%;
	}
	
	.inner-pa .col3 li{
		margin: 30px auto;
		display: block;
	max-width: 288px;
	}

	.sec02-1 {
		padding: 0px 0 0px;
	}
	.container {
		margin: 0px auto 0px;
	}
	.inner-pa {
		padding-bottom: 20px;
	}
	
	/*通常*/
	.bg2{
		width: 100%;
		float: left;
		margin:-50px 0 50px;
	}
	
	.vMid{
		/* padding: 20px 100px; */
		height: auto;
		padding: 50px 20px 20px;
	}
	
	.sec01{
		background-size:150%;
		background-position: 0%;
		padding: 50px 0 50px;
	}
	
	/*	見出しレスポンス*/
	.look,.lookta {font-size:26px;}
	.look{padding: 0px 10px;}
	.lookta{padding: 10px 0px; }
	.box2{margin: 0 0px 0 0;}
	section h2{font-size: 18px;	}
	
	/*線アイコン*/
.icon::before,.icon2::before{
	content: "";
    width: 2px;
    height: 80px;
    display: block;
    background-color: #6B6B6B;
    transform: rotate(0deg);
    position: absolute;
    top: 0px;
    left: 60px;
}
	.icon2::before{
    background-color: #fff;
}
	
.icon,.icon2{
	width: 50px;
	height: 50px;
	margin-bottom: -45px;
	margin-left: -70px;
	display: none;
}
	
.icon h2,.icon2 h2{
	font-size: 40px;
}
	
/*sec01内レスポンス*/
.sec01-2,.sec01-3,.sec02-1,.sec01-4,.sec01-5{width: 100%;}
	.inner,.inner-pa{
		/*margin: 0 20px;*/
		/* padding-top: 50px; */
	}
	
/*sec01内画像レスポンス*/
.sec01-4 img{margin: -50px 0 0;}
.sec01-2 img{margin: -8em 0 0;}
.sec01-5 .img-r{margin: 0;}
	
	/*背景*/
	/*.sec01-1{
		padding: 0px 0;
	background-color: #013F4A;
	background:url("../images/background2-1.jpg") no-repeat top / cover;
}*/
	.sec03-1{
	padding: 50px 0 10px;
	background:url("../images/background3-1.jpg") repeat right / 190%;
}
.sec03 .inner{
}


/* エントリー */
.event_textarea h2, .event_textarea2 h2{font-size: 1.3em;}
.sec03 .inner p{line-height: 2em;}
.event_textarea br,.event_textarea2 br{display: none;}
.tab-group{margin: 4em 0 2em;}
.tabMenu li{padding: .7em 8px;margin: 1em .3em 2em;}
.flowarea {margin: 1em 0 1em;padding: 3em 1em;}
.tab-wrap{padding: 0 1em;}
.tab-wrap ul{margin: 1em 0em;}
.tab-contents.show{padding: 0px;}
.requirements_overview table {font-size: 14px;line-height: 2;}
.btnarea {margin: 1em;padding: 0em 1em 3em;}
.bunner_line img{width: 90%;margin-bottom: 5em;}
a.btn{padding: .8rem 2.7em 1rem;font-size: .9rem;}
.requirements_overview table tbody tr th{display: block;border-bottom: 0px solid #0e2332;font-weight: 700;width: 100%;}
.requirements_overview table tbody tr td{display: block;padding: 0 3% 3%;}
.requirements_overview_job{padding-bottom: 3em;border-bottom: 1px solid #0e2332;}

/* イベント概要 */
.event_overview_job h3 {
    font-size: 1.4em;
}
.event_overview table{
	font-size: 14px;
	line-height: 2;
}
.event_overview table tbody tr th {
	font-weight: 700;
	/* width: 100%; */
}
.event_overview table tbody tr td {
	/* display: block; */
}

.event_textarea, .event_textarea2{
    margin-top: 0em;
}
	
	/*content 用3カラム*/
	
  .contents-list {
    display: grid;
    grid-template-columns: repeat(1, 1fr); /* 1 カラム */
    gap: 20px;
  }

  .contents-list li {
    display: block;   /* flex → block */
  }

  .contents-card {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .contents-card .contents-footer {
    margin-top: auto; /* スマホでも下揃え維持 */
  }

	.inner, .inner-pa {
    padding: 20px 0;
}


.info{
	margin-top: 60px;
}

.info h2{
	font-size: 16px;
	text-align: left;
}
.info h4{
	font-size: 12px;
	text-align: left;
}
.info li{
	padding: 1em 10px;
}

.info2{
	width: 100%;
	transform: translate(0%, 0%);
	margin-bottom: 0px;
    position: static;
}
.newsbox dt,.newsbox dd{
	display: inline-block;
    width: 100%;
}	
#new dd{
	padding-left: 0em;
}
.box1{
	margin: 2em 7px;
}
	
.footermenu-inner {
	padding: 3% 20px;
	font-size: 1em;	
	display: list-item;
}
	#footer{
		padding: auto 0px;
	}

	.footermenu-inner ul{
		padding: 1.2em 2px;
	}
	
	#footer{
		font-size: 0.9em;
		/* padding: 10px 12px 60px; */
    	height: 30px;
	}
	.logo-f{
		width: 40px;
	}
	.copyright{
		float: none;
		margin: 0 0px;
		width: 100%;
	}
}


/*640以下の時*/
@media only screen and (max-width: 640px){
	.col3 li{
    width: 100%;
	}
	
	.col2 li{
		width: 100%;
		margin: 20px 0 20px 0;
	}	

	#map iframe{
	  width: 96% !important;
		left: 2%;
	}
	
	.look2 {font-size: 35px;
		padding: 0px 10px;}
	
	/*パンくずリスト*/
.breadcrumb{
	margin: 2em 20px;
}
}



/* 出現js */
.animation_box{
	opacity: 0;
  visibility:hidden;
  /*元の位置に戻す*/
  transform: translateY(20px);
  transition: all 1s;
}

.is-active-anim{
	/*要素を表示させる*/
	opacity: 1;
	visibility: visible;
	/*元の位置に戻す*/
	transform: translateY(0);
  }






