@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');

:root{
--blue : rgb(21,133,143);
--navy : rgb(6,40,57);
--black : rgb(5,25,30);
--white : rgb(250,252,252);
--vermilion : rgb(232,66,36);
}

* {
	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: var(--white);
	color: var(--black);
	font-size: 15px;
	font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN", Meiryo, "メイリオ", sans-serif;
	font-weight:300;
	line-height: 1.5;
	position: relative;}


strong{
font-weight:bold;

}

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

.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
--------------------*/
.grid,
.flex2,
.flex2-2,
.flex3,
.flex3-1,
.flex4,
.flex4-4,
.flex5{
	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;}

/* 最終行の間隔調整 */
.flex4:before,
.flex4-4:before,
.flex5:before {
	content: "";
	display: block;
	order: 1;}

.flex3:after,
.flex3-1:after,
.flex4:after,
.flex4-4:after,
.flex5:after {
	content: "";
	display: block;}

.grid3-2 {
	width: 65%;}

.grid4-3 {
	width: 74%;}

.grid4-2,
.flex2>*,
.flex2-2>*{
	width: 48.5%;}

.grid3-1,
.flex3>*,
.flex3:after,
.flex3-1>*,
.flex3-1:after{
	width: 31.5%;}

.grid4-1,
.flex4>*,
.flex4:before,
.flex4:after,
.flex4-4>*,
.flex4-4:before,
.flex4-4:after{
	width: 22%;}

.flex5>*,
.flex5:before,
.flex5:after {
	width: 17.6%;}

.grid>*,
.flex2>*,
.flex2-2>*,
.flex3>*,
.flex4>*,
.flex4-4>*,
.flex5>* {
	margin-bottom: 1.5em;}

.grid>*>*:first-child,
.flex2>*>*:first-child,
.flex2-2>*>*:first-child,
.flex3>*>*:first-child,
.flex4>*>*:first-child,
.flex4-4>*>*:first-child,
.flex5>*>*:first-child{
	margin-top:0;
	margin-bottom:0;}

@media screen and (max-width:768px) {
	.grid3-1,
	.grid3-2,
	.grid4-1,
	.grid4-2,
	.grid4-3,
	.flex2>*{
		width: 100%;}
	.flex3>*,
	.flex4>*,
	.flex4:before,
	.flex4:after,
	.flex5>*,
	.flex5:before,
	.flex5:after{
		width: 47%;}

	.flex3-1>*{
		width: 100%;}

	.flex4-4>*{
		width: 22%;}
.grid>*,
.flex2>*,
.flex2-2>*,
.flex3>*,
.flex4>*,
.flex4-4>*,
.flex5>* {
	margin-bottom: 0.5em;}
}


.flex2 div img,
.flex3 div img,
.flex4 div img,
.flex5 div img{width:100%;}

/*-----------------------------------
HEAD
-----------------------------------*/
header{
width:100%;
height:60px;
line-height:60px;
display: flex;
justify-content: space-between;
position:fixed;
z-index: 999;
background: var(--black);
}

header h1{
width:160px;
height:40px;
position: relative;
left:50px;
margin:10px 0;
}

    header h1 img{
    width:100%;
    height:40px;
    line-height:40px;
    }

header nav{
display: flex;
justify-content: flex-end;
position: relative;
width:calc(100% - 270px);}

header nav a{
display: block;
padding:0 1.5em;
color: var(--white);
text-decoration: none;
font-weight: 300;
font-size:80%;
border:0;
white-space:nowrap;
transition: .5s;
}

header nav a:hover{
background: var(--vermilion);
color:#eee;
}

#nav_recruit:before,
#nav_contact:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
margin-right:0.5em;}

#nav_recruit:before{
content: "\f007";}
#nav_contact:before{
content: "\f0e0";}




/* menu button */
.el_humburger {
display: block;
position: relative;
top:22px;
right:20px;
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 .3s ease-in-out;
-o-transition: all .3s ease-in-out;
transition: all .3s 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;
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:25%;
max-width:25%;}

.navi ul{
padding:80px 30px;
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 li{
display:block;
width:100%;}

.navi a{
width:100%;
display:block;
white-space:nowrap;
text-decoration:none;
font-weight:normal;
font-size:90%;
padding:0.5em 0.75em;
margin:0.4em 0.25em;
color:#fff;
border:1px solid #fff;
transition:0.2s;}

.navi a:hover{
color:#ccc;
background:rgba(255,255,255,0.2);}

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

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

.navi ul li{
display:block;
width:100%;}

.navi a{
width:100%;
display:block;
white-space:nowrap;
text-decoration:none;
font-weight:normal;
padding:0.5em 0.75em;
margin:0 0;
color:#fff;
border:0;
border-bottom:1px solid #333;}

.navi a:first-child{
border-top:1px solid #333;
 }
}



/*-----------------------------------
MOVIE
-----------------------------------*/

#movie{
	width: 100%;
	height: 100%;
	margin:0;
	padding:0;
	position:relative;
	top: 0;
	left: 0;
	z-index: 2;
	vertical-align: bottom;
background-color:#000;}

video {
	width:100%;
	height:auto;
	margin:0;
	padding:0;
	position:relative;
	right: 0;
	top: 0;
	z-index:1;
	vertical-align: bottom;
  filter:grayscale(0.5);}

#movie div{
	position: absolute;
  	top: 55%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%); /* Safari用 */
	transform: translate(-50%, -50%);
	z-index:9;
	text-align:center;
	color:#fff;
    font-size:80%;
font-family:"Roboto";
font-weight:100;
letter-spacing:0.1em;}

#movie div img{
width:55%;
opacity:0.9;
}


@media(max-width: 768px){
	
#movie{overflow: hidden;}

video {
	width:200%;
	left: -50%;}

#movie div{
  	bototm: 0%;}

#movie div img{
width:100%;
}
}

/*--------------------
PAGETITLE
BREADCRUMBS
--------------------*/
#pagetitle{
width:100%;
margin-bottom:50px;
height:250px;
background-size: cover;
background-position: bottom center;
}

body.company #pagetitle,
body.company-child #pagetitle{
background-image:url("../img/bg_01.jpg");}

body.business #pagetitle,
body.business-child #pagetitle{
background-image:linear-gradient(to right,rgba(0,0,0,0.4),rgba(0,0,0,0)),url("../img/bg_04.jpg");}

body.future #pagetitle,
body.movie #pagetitle,
body.industry #pagetitle,
body.environment #pagetitle{
background-image:linear-gradient(to right,rgba(0,0,0,0.8),rgba(0,0,0,0)),url("../img/bg_03.jpg");}

body.contact #pagetitle,
body.site-map #pagetitle,
body.privacypolicy #pagetitle,
body.sitepolicy #pagetitle,
body.security #pagetitle{
background-image:linear-gradient(to right,rgba(0,0,0,0.8),rgba(0,0,0,0)),url("../img/bg_02.jpg");}

body.teamkitagawa #pagetitle,
body.teamkitagawa-child #pagetitle,
body.opinion #pagetitle{
background-image:linear-gradient(to right,rgba(0,0,0,0.8),rgba(0,0,0,0)),url("../img/bg_05.jpg");}

body.recruit #pagetitle,
body.recruit-child #pagetitle,
body.event #pagetitle,
body.category #pagetitle,
body.news #pagetitle,
body.error404 #pagetitle{
background-image:linear-gradient(to right,rgba(0,0,0,0.8),rgba(0,0,0,0)),url("../img/bg_06.jpg");}

#breadcrumbs{
width:80%;
max-width:1000px;
margin:0 auto;
padding-top:80px;
padding-bottom:2em;
color:#fff;
}

#breadcrumbs span{
font-size:80%;
}

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

		#breadcrumbs a:hover{
			color:var(--vermilion);}

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

#pagetitle h1{
width:80%;
max-width:1000px;
margin:0 auto;
color:#fff;
font-weight:700;
letter-spacing:0.1em;
}

#pagetitle #entry-slug{
display:block;
width:80%;
max-width:1000px;
margin:0 auto;
color:#fff;
text-transform: uppercase;
font-size:80%;
font-family:"Roboto";
letter-spacing:0.2em;}

/*--------------------
CONTENTS
--------------------*/
main{
width:100%;
display:block;
animation: fadein 2s forwards;
overflow-x:hidden;
}
@keyframes fadein {
	0% {opacity: 0}
	100% {opacity: 1}
}

body#pages main section{
width:90%;
max-width:1000px;
margin:0 auto;
padding-bottom:40px;
}
}

body#index main section{
width:100%;
}
}

@media screen and (max-width:768px) {
body#pages main section{
	width:100%;}

body#index main section{
	width:100%;}
}


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

/*--------------------
BUTTON
--------------------*/


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

.single main section h2,
#pages main section h2{
color:var(--white);
font-size:180%;
line-height:1.8em;
letter-spacing:0.05em;
font-weight:500;
background: linear-gradient(to left, #1e858f 50%, #1baf9c);
margin:0 calc(50% - 50vw) 1em;
width:100vw;
padding:1em;
text-align:center;
text-shadow: 2px 2px 0px rgba(0, 0, 0, 0.4);
}

.single main section h3,
#pages main section h3{
font-size:180%;
line-height:1.8em;
margin-bottom: 1em;
border-bottom:5px solid #eee;
letter-spacing:0.05em;
font-weight:600;
}

.single main section p + h2,
#pages main section p + h2,
#pages main section ol + h2,
#pages main section ul + h2,
#pages main section div + h2,
#pages main section table + h2,
#pages main section img + h2,
.single main section p + h3,
#pages main section p + h3,
#pages main section ol + h3,
#pages main section ul + h3,
#pages main section div + h3,
#pages main section table + h3,
#pages main section img + h3{
margin-top:2em;
}

.single main section h4,
#pages main section h4{
font-size:120%;
line-height:1.6em;
margin-bottom: 0.5em;
}

#pages main section p a,
#pages main section p a:visited,
#pages main section ul a,
#pages main section ol a,
#pages main section ul a:visited,
#pages main section ol a:visited{
color:var(--blue);
transition:0.5s;
}

#pages main section p a:hover,
#pages main section ul a:hover,
#pages main section ol a:hover{
color:var(--vermilion);
}

.single main section p,
#pages main section p,
#pages main section ul,
#pages main section ol,
#pages main section div.box_white,
#pages main section table{
font-size:100%;
line-height:1.6em;
margin-bottom: 1.5em;
}



div.box_white{
padding:1.5em;
background:#fff;
border:1px solid #eee;
border-radius:10px;
}

#pages main section div.box_white p:last-child{
margin-bottom:0;}

#pages main section img + div.box_white{
margin-top:2em;}

#pages main section ul,
#pages main section ol{
margin-left:1.5em;
}

.size-full{width:100%;}
.size-half{width:50%;margin:0 auto 1em;}
#pages main section .size-full,#pages main section .size-half{margin-bottom:1em;}

@media screen and (max-width:768px) {
.size-half{width:100%;}
}

#pages main section p.notice{
color:#777;
font-size:90%;
text-align:left;
}

#pages main section p a.filelink{
display:inline-block;
text-decoration:none;
text-align:center;
color:var(--white);
background:var(--navy);
border-radius:9999px;
padding:0.75em 2em;
margin:0 auto;
transition:.5s;}

#pages main section p a.filelink:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f054";
margin-right:0.5em;}

#pages main section p a.filelink:hover,
#pages main section p a.filelink:focus{
background:var(--blue);}

.filelink + .filelink{
margin:2em;
}

/*-- テーブル --*/

#pages main section table{
width:100%;
}

#pages main section table th,
#pages main section table td{
text-align:left;
}

#pages main section table th{
}

#pages main section table td{}



/*-- テーブル（スラッグで分岐） --*/
/*-- 企業情報 --*/
body.company main section table{
border-collapse:collapse;}

body.company  main section table th{
white-space: nowrap;
}

body.company  main section table th,
body.company  main section table td{
padding:0.8em;
background:#fff;
}
body.company  main section table tr:nth-child(odd) th,
main section table tr:nth-child(odd) td{
background:#f6f6f6;}

/*--挨拶--*/

body.message .box_white > img{
width:35%;
padding:0 2em 2em 0;
float:left;
border-radius:4px;}

@media screen and (max-width: 768px) {
body.message .box_white > img{
width:100%;
padding:0 0 2em 0;}
}

/*--沿革--*/

#pages main section table.historytbl{
width:65%;
margin-left:auto;
margin-right:auto;
border-top:1px solid #ccc;
}

#pages main section table.historytbl th{
border-bottom:1px solid #ccc;
background:none;
width:30%;
white-space:nowrap;
}

#pages main section table.historytbl td{
background:none;
border-bottom:1px solid #ccc;}
@media(max-width: 768px){
#pages main section table.historytbl{
width:100%;}}

/*-- アクセス --*/
body.access main section table{
border-top:1px solid #ddd;
border-collapse:collapse;
}

body.access main section table th,
body.access main section table td{
padding:0.8em;
background:#fff;
border-bottom:1px solid #ddd;
}


body.access main section table tr.horizonhead td{
background:var(--navy);
color:#fff;}


/*-- 有資格者 --*/


body.company table th{
width:25%;}


/*-- 施工実績 --*/

body.business-child table{
width:100%;
min-width:768px;
border-collapse:collapse;
border:1px solid #ddd;}

body.business-child table tr td:nth-child(1){width:4%;}
body.business-child table tr td:nth-child(2){width:30%;}
body.business-child table tr td:nth-child(3){width:18%;}
body.business-child table tr td:nth-child(4){width:18%;}
body.business-child table tr td:nth-child(5){width:10%;}
body.business-child table tr td:nth-child(6){width:10%;}
body.business-child table tr td:nth-child(7){width:10%;}

body.business-child table th,
body.business-child table td{
line-height:1.4em;
padding:0.75em;
border-left:1px solid #ddd;}

body.business-child table th{
font-size:80%;
background:#000;
color:#fff;
text-align:center;
font-weight:normal;}

body.business-child table td{
font-size:85%;
background:#fff;}

body.business-child table tr:nth-child(odd) td{
background:#f6f6f6;}


/*-- 工場案内 --*/
body.factory table{
width:100%;
min-width:768px;
border-collapse:collapse;
border:1px solid #ddd;}

body.factory table tr td:nth-child(1){width:20%;}
body.factory table tr td:nth-child(2){width:13%;}
body.factory table tr td:nth-child(3){width:13%;}
body.factory table tr td:nth-child(4){width:13%;}
body.factory table tr td:nth-child(5){width:13%;}
body.factory table tr td:nth-child(6){width:13%;}
body.factory table tr td:nth-child(7){width:15%;}

body.factory table th,
body.factory table td{
font-size:90%;
line-height:1.4em;
padding:0.75em;
border-left:1px solid #ddd;}

body.factory table th{
background:#000;
color:#fff;
text-align:center;
font-weight:normal;}

body.factory table td{
background:#fff;}

body.factory table tr:nth-child(odd) td{
background:#f6f6f6;}


/*-- 設備機器 --*/
body.facility table{
min-width:768px;
border-collapse:collapse;
border:1px solid #ddd;}

body.facility table tr td:nth-child(1){width:20%;}
body.facility table tr td:nth-child(2){width:20%;}
body.facility table tr td:nth-child(3){width:20%;}
body.facility table tr td:nth-child(4){width:10%;}
body.facility table tr td:nth-child(5){width:30%;}

body.facility table th,
body.facility table td{
font-size:90%;
line-height:1.4em;
padding:0.75em;
border-left:1px solid #ddd;}

body.facility table th{
background:#000;
color:#fff;
text-align:center;
font-weight:normal;}

body.facility table td{
background:#fff;}

body.facility table tr:nth-child(odd) td{
background:#f6f6f6;}


/*-- 有資格者 --*/

body.qualification table{
border-collapse:collapse;}

body.qualification table th,
body.qualification table td{
font-size:90%;
line-height:1.4em;
padding:0.75em;}

body.qualification table th{
background:#000;
color:#fff;
text-align:center;
font-weight:normal;}

body.qualification table td{
background:#fff;}

body.qualification table tr:nth-child(odd) td{
background:#f6f6f6;}

@media screen and (max-width: 768px) {
	body.qualification table tr td:last-child{white-space:nowrap;}}

/*-- テーブルにスクロールバー表示 --*/

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

.table-wrap {
overflow-x: scroll;
border:1px solid #666;
}

/* スクロールバー全体を対象にする */
.table-wrap::-webkit-scrollbar {
width: 20px; /* スクロールバーの幅 */
height: 20px; /* スクロールバーの高さ */
}

/* スクロールバーの背景部分をカスタマイズ */
.table-wrap::-webkit-scrollbar-track {
background: #ddd; /* スクロールバーの背景色 */
}

/* スクロールバーの操作部分をカスタマイズ */
.table-wrap::-webkit-scrollbar-thumb {
background: #888; /* スクロールバーの操作部分の背景色 */
border-radius: 10px; /* 角丸にする */
}


/* スクロールバーの操作部分にホバーした時のスタイル */
.table-wrap::-webkit-scrollbar-thumb:hover {
    background: #555; /* ホバー時のスクロールバーの操作部分の背景色 */
}
}





/*-- 水平移動リンク --*/
ul.horizontallink{
list-style:none;
display: flex;
flex-wrap: wrap;
justify-content: center;
margin-bottom:2em;
margin-left:0;}

ul.horizontallink li{
margin:0 0.5em 1em;
}

ul.horizontallink li a{
display:block;
width:100%;
text-decoration:none;
text-align:center;
color:var(--white);
background:var(--navy);
border:1px solid #fff;
border-radius:10px;
padding:0.75em 1em;
transition:.5s;}
/*--
#pages main section ul.horizontallink li a.parent{
background:var(--blue);}
--*/

body.company main section ul.horizontallink li a.parent,
body.message main section ul.horizontallink li a[href*=message],
body.philosophy main section ul.horizontallink li a[href*=philosophy],
body.factory main section ul.horizontallink li a[href*=factory],
body.facility main section ul.horizontallink li a[href*=facility],
body.qualification main section ul.horizontallink li a[href*=qualification],
body.access main section ul.horizontallink li a[href*=access],
body.recruit main section ul.horizontallink li a.parent,
body.together main section ul.horizontallink li a[href*=together],
body.event main section ul.horizontallink li a[href*=event],
body.staff main section ul.horizontallink li a[href*=staff],
body.dept main section ul.horizontallink li a[href*=dept],
body.privacypolicy main section ul.horizontallink li a[href*=privacypolicy],
body.sitepolicy main section ul.horizontallink li a[href*=sitepolicy],
body.security main section ul.horizontallink li a[href*=security]
{background:var(--blue);}

#pages main section ul.horizontallink li a{
color:var(--white);}

ul.horizontallink li a:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f054";
margin-right:0.4em;}

#pages main section ul.horizontallink li a:hover,
#pages main section li a:focus{
background:var(--vermilion);
color:var(--white);}

@media screen and (max-width: 768px) {
ul.horizontallink{
justify-content: start;
margin-bottom:1em;}

ul.horizontallink li{
margin:0 0.1em 0.5em;
}

#pages main section ul.horizontallink li a{
border-radius:10px;
padding:0.5em 0.75em;
font-size:75%;}
}




/*-- 電話とFAX番号 --*/

span.telno,span.faxno{
display:block;
margin-top:0.5em;
font-size:140%;
font-family: "Roboto", sans-serif;
font-weight:500;
color:var(--blue);}

span.telno:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f095";
margin-right:0.2em;}

span.faxno:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f1ac";
margin-right:0.2em;}

@media screen and (max-width: 768px) {
span.telno,span.faxno{
margin-top:0.25em;
font-size:120%;}
}

/*-- 社訓 --*/

#pages main section div.mottobox{
border:1px solid #999;
padding:5em 2em;
margin-bottom:2em;
text-align:center;
font-family:"Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
font-size:90%;
background:#fff;}


#pages main section div.mottobox p{
}

#pages main section div.mottobox p.motto{
font-size:250%;
font-weight:bold;
margin-bottom:0;
}

#pages main section div.mottobox img{
width:50px;
height:50px;
}

/*-------------------
PAGE--FACILITY
--------------------*/

body.facility .facilitylist{
font-size:80%;
}
body.facility .facilitylist span{
color:#999;
font-size:90%;
}

/*-------------------
PAGE--SITEMAP
--------------------*/
ul.wsp-pages-list{}

ul.wsp-pages-list li{
padding:0.5em 0;
border-top:1px solid #ddd;
list-style:inside;
}
ul.wsp-pages-list li ul{
padding:0.5em 0;
}
ul.wsp-pages-list li:last-child{
border-bottom:1px solid #ddd;}

/*--------------------
PAGE--MAP
--------------------*/

iframe[src*="www.google.com/maps/embed"] {
	aspect-ratio: 8 / 5;
	width: 100%;
	height: auto;
margin-bottom:1.5em;
border-radius:10px;
}

/*--------------------
PAGE--MOVIE
--------------------*/
iframe[src*="https://www.youtube.com/embed/"],
iframe[src*="https://player.vimeo.com/video/"] {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
margin-bottom:1.5em;
border-radius:4px;
  /* iframe自体の最大幅を制限して中央寄せする場合など */
  max-width: 1000px;
  margin-inline: auto;
}

/*--------------------
PAGE--ACHIEVEMENT
--------------------*/


div.achievementcategory a{
display:block;
color:var(--white);
background:var(--navy);
text-decoration:none;
transition:0.5s;}

div.achievementcategory a:hover,
div.achievementcategory a span:hover{
opacity:0.8;
background:var(--blue);
}

div.achievementcategory a span:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f0a9";
margin-right:0.4em;}

div.achievementcategory a span{
display:block;
padding:0 0 0.5em;
font-size:90%;
color:var(--white);
text-align:center;
	}


/*--------------------
RECRUIT
--------------------*/

.recruitbox{
text-align:center;
	}

.recruitbox div a{}

.recruitbox a{}

/*--スケジュール--*/

table.schedule{
border-collapse:collapse;
margin-bottom:30px;
}

table.schedule th,table.schedule td{
border:1px solid var(--blue);
padding:1em;
}

table.schedule th{
color:var(--white);
background:var(--blue);
}

table.schedule td{
color:1px solid var(--blue);
}

table.schedule td:first-child{white-space:nowrap;}

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

/*--人々--*/
body.staff div.flex3 img{
border-radius:8px;
	}

body.staff div.flex3 p{
border:1px solid var(--blue);
padding:0.5em 1em;
text-align:center;
border-radius:8px;
	}

body.staff div.flex3 p a{
text-decoration:none;
}

body.staff div.flex3 p span{
display:inline-block;
font-size:70%;
color:#999;
border:1px solid #999;
border-radius:9999px;
margin-top:0.5em;
padding:0.15em 2em;
	}

/*--together--*/
body.together main section .flex2 div.box_white{
}

body.together main section .flex2 div.box_white img{
width:37%;
margin-right:3%;
float:left;
}
body.together main section .flex2 h4{
color:var(--blue);
}

body.together main section .flex2 p{
color:#666;
}

body.together main section .flex2 h4{
text-align:center;
	}

body.together main section .flex2 h4 span{
display:block;
margin:0 auto 0.1em;
width:50px;
height:50px;
border-radius:50%;
font-size:30px;
background:var(--navy);
display:flex;
align-items:center;
justify-content:center;
font-family:"Roboto";
font-weight:300;
color:#fff;
}

/*--environment--*/
body.environment main section div.box_white{
}

body.environment main section div.box_white img{
float:left;
width:25%;
height:auto;
margin:0 20px 0 0;
}
body.environment main section div.box_white:after{
content: "";
clear: both;
display: block;}

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

.navigation div.nav-links{
			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;
}

.navigation div.nav-links > *{
width:49.5%;}

	.navigation h2{display:none;}

	.nav-previous a,
	.nav-next a,
	.nav-back a {
		padding: .8em 1.5em; }
	
.nav-links > .nav-previous a,
.nav-links > .nav-next a{
		display: block;
		line-height: 1.5em;
		font-weight:normal;
		border-radius: 5px;
		color:#ffffff;
background:var(--blue);
transition:0.5s;
text-decoration:none;}
		
		.nav-previous a:hover,
		.nav-next a:hover {
			display: block;
			background:var(--navy);
			opacity: 1; }

.nav-links > .nav-next a{
text-align:right;
}

.nav-links > .nav-previous a span,
.nav-links > .nav-next a span{
display: inline;
padding:1em;
}

.nav-links > .nav-previous a span.navitext{
border-right: 1px solid #fff; }
.nav-links > .nav-next a span.navitext{
border-left: 1px solid #fff; }

.nav-links > .nav-previous a span.navitext:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f104";
margin-right:0.4em;}

.nav-links > .nav-next a span.navitext:after{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f105";
margin-left:0.4em;}

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

.navigation div.nav-links > *{
width:100%;
margin-bottom:10px;}

.nav-links > .nav-previous a span.navitext{
border-right: 1px solid #fff; }
.nav-links > .nav-next a span.navitext{
border-left: 1px solid #fff; }

}


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

	div.wp-pagenavi span.pages{
		display: block;
		padding: 5px 10px;
		margin: 0 0 10px;
		color:#999;}

	div.wp-pagenavi span.current,
	div.wp-pagenavi a.page,
	div.wp-pagenavi a.nextpostslink,
	div.wp-pagenavi a.previouspostslink{
display: inline-block;
width: 40px;
height: 40px;
line-height: 40px;
margin: 5px;
color: var(--blue);
align-items: center;
border:1px solid var(--blue);
border-radius:99999px;
text-decoration:none;
transition:0.5s;}

div.wp-pagenavi a.page:hover,
div.wp-pagenavi a.nextpostslink:hover,
div.wp-pagenavi a.previouspostslink:hover{
color: #fff;
background: var(--navy);
border:1px solid var(--navy);
opacity:1;}

div.wp-pagenavi span.current{
background: var(--blue);
color: #fff;}





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

input[type="text"],input[type="email"],input[type="password"],select,textarea{
	font-size:120%;
	width:100%;
	padding:0.5em;
	background:#fff;
	border:1px solid #d8d1d1;
	border-radius:4px;
}

input[type="text"].input_s{width:50%;}
input[type="text"].input_m{width:75%;}

input[type="checkbox"]{margin-right:0.25em;}

section form{
	margin-bottom:40px;
}


input[type=checkbox] {
	-moz-transform:		scale(1.8);
	-webkit-transform:	scale(1.8);
	transform:		scale(1.8);
}

select{
width:50%;
	font-size:100%;
	padding:1em 0.25em;}

select option{}

input[type="radio"]{
	font-size:120%;
	padding:0.5em;
	margin:0 auto;
	margin-right:0.5em;}

label span{
	margin-right:1em;
}

p.acceptance{
	display:block;
	width:100%;
	padding:2em;
	border-radius:5px;
	margin-bottom:2em;
	background:#fff;
}

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

input[type="submit"]{
	font-size:120%;
	font-weight:bold;
	width:50%;
	padding:0.5em;
	margin:0 auto;
	background:var(--blue);
	color:#fff;
border:1px solid #d8d1d1;
border-radius:6px;
transition:0.5s;}

input[type="submit"]:hover{
	background:var(--navy);
	color:#fff;
}

div.wpcf7-mail-sent-ok,
div.wpcf7-mail-sent-ng,
div.wpcf7-spam-blocked,
div.wpcf7-validation-errors,
.wpcf7-response-output{
font-weight:bold;
}

.wpcf7-response-output{
color: #ff0000;
}

div.wpcf7-mail-sent-ok {
border:2px solid #398f14;
}
div.wpcf7-mail-sent-ng {
border:2px solid #ff0000;
}
div.wpcf7-spam-blocked {
border:2px solid #ffa500;
}
div.wpcf7-validation-errors {
border:2px solid #f7e700;
}

.wpcf7-not-valid-tip{
	color:#ff0000;
}

.screen-reader-response ul{
	display:none;
}

table#form{
width:100%;
}

table#form th,table#form td{
padding:0.5em;
}

table#form th{
text-align:left;
max-width:25%;
padding-right:2em;
white-space: nowrap;
}

table#form th em{
font-size:80%;
color:var(--vermilion);
margin-left:0.5em;
font-style:normal;
}

div.formcheck{border:1px solid #000;background:#eee;}

@media screen and (max-width: 768px) {
table#form th,table#form td{
display:block;
max-width:100%;
width:100%;
}
input[type="text"].input_s{width:100%;}
input[type="text"].input_s{width:100%;}

select{
width:100%;
}
}


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

footer{
	width:100%;
	padding:3em 0;
background: linear-gradient(to left, #0a2839 50%, #12384d);
	color:var(--white);
	text-align:center;
font-size:90%;}

footer a,
footer a:visited{color:var(--white);
transition: 0.5s;}
footer a:hover{color:var(--blue);}

#footbox{
width:80%;
max-width:1000px;
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,#footbox > address{
	width: 25%;}

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

#footbox > address p,#footbox > address small{
margin-top:1em;
font-size:90%;
}

#footbox > dl dt a,#footbox > dl dd a{
text-decoration:none;
display:block;}

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

#footbox dl dt a:before{
content: "\f138";
margin-right:0.5em;}
#footbox dl dd a:before{
content: "\f054";
margin-right:0.8em;}


@media screen and (max-width: 768px) {
footer{
	padding:0 0;}
#footbox{
width:100%;}

#footbox > dl,#footbox > address{
	width: 100%;}

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

#footbox > dl dt a,#footbox > dl dd a{
display:block;
text-decoration:none;
padding:0.8em 1em;
}

#footbox > dl dt a:hover,#footbox > dl dd a:hover{
background:rgba(255,255,255,0.2);
	}

#footbox > address{
text-align:center;
}

#footbox > address p{
width:80%;
margin:20px auto;
font-size:90%;}

#footbox > address img{width:50%;
margin:20px auto;}

}


/*-- リンク --*/

#link_instagram,
#link_youtube{
display:block;
width:50px;
height:140px;
position: fixed;
right: 0px;
z-index:99;
}

#link_instagram{top: 240px;}
#link_youtube{top: 400px;}

#link_instagram img,
#link_youtube img{
width:50px;
height:140px;
-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.8;
}

#link_pagetop{
display:block;
width:50px;
height:50px;
position: fixed;
right: 0px;
z-index:99;
bottom: 0px;}

#link_pagetop img{
width:50px;
height:50px;
-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.8;
}

#link_instagram img:hover,
#link_youtube img:hover,
#link_pagetop img:hover{
	opacity:1;}

@media(max-width: 768px){
#link_instagram{top: 240px;}
#link_youtube{top: 370px;}

#link_instagram,
#link_youtube{
width:40px;
height:112px;
}

#link_instagram img,
#link_youtube img{
width:40px;
height:112px;}

#link_pagetop{
display:block;
width:40px;
height:40px;}

#link_pagetop img{
width:40px;
height:40px;}



}

/*--------------------
イベント一覧
--------------------*/
div.eventitem{
	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;
border-bottom:1px solid #ccc;
padding:1em 0;
margin-bottom:1em;}

div.eventset > div.eventitem > div.eventimg{
width: 25%;}

div.eventset > div.eventitem > div.eventtxt{
width: 70%;}

div.eventset > div.eventitem > div.eventimg img{
width: 100%;
height:auto;}

div.eventset > div.eventitem > div.eventtxt p{}

div.eventset > div.eventitem > div.eventtxt span{
display:inline-block;
padding:0.2em 0.75em;
font-size:80%;
color:#fff;
background:#ccc;
border-radius:9999px;
margin-bottom:1em;
}

div.eventset > div.eventitem > div.eventtxt span.eventdate:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f017";
margin-right:0.5em;}

div.eventset > div.eventitem > div.eventtxt span.eventcat:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f02e";
margin-right:0.5em;}

/*--------------------
個別記事
--------------------*/

.entryset{
background:#fff;
padding:2em;
border:1px solid #eee;
}

.entry-date,.entry-cat{
display:inline-block;
padding:0.2em 0.75em;
font-size:80%;
color:#fff;
background:#ccc;
border-radius:9999px;
margin-right:0.5em;
margin-bottom:1.5em;}

.entry-date:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f017";
margin-right:0.5em;}

.entry-cat:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f02e";
margin-right:0.5em;}

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

/*-- ギャラリー --*/
.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;
}

@media(max-width: 768px){
.gallery-columns-2 .gallery-item,
.gallery-columns-3 .gallery-item{
width:100%;
}
}

/*--------------------
トップページ
--------------------*/



section#sec00 > div.photoset{
width:100%;
display: flex;
justify-content: space-between;
align-items: stretch;
flex-wrap: wrap;}

section#sec00 > div.photoset > img{
display:block;
width:calc(100% / 4);}


@media(max-width: 768px){
section#sec00 > div.photoset > img{
width:50%;
	}

}

/*--イントロ--*/
section#sec01{
padding:100px 0;
color:#fff;
background-image: url("../img/bg_08.jpg");
background-size:cover;
background-position: top center;
background-attachment: fixed;
text-align:center;}

@media(max-width: 768px){
section#sec01{
background-attachment: scroll;}
}

section#sec01 div{
width:80%;
max-width:1000px;
margin:0 auto;
text-align:left;
	}

section#sec01 div img{
width:50%;
}

section#sec01 div p{
width:50%;
font-size:80%;
line-height:1.8em;
margin-bottom:1em;
text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.4);
}

section#sec01 div p a{
position: relative;
left: 50%;
transform: translateX(-50%);
display:inline-block;
font-size:120%;
margin:2em auto;
padding:0.75em 3em;
border:1px solid #fff;
border-radius:9999px;
text-decoration:none;
color:#fff;
background:none;
transition:0.5s;
}

section#sec01 div p a:hover{
background:var(--vermilion);
	}

section#sec01 div p a:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f054";
margin-right:0.5em;}

@media(max-width: 768px){
section#sec01{
padding:50px 0;
text-align:center;
margin:0 auto;
background-position: 60% 50%;}

section#sec01 div{
width:80%;
margin:0 auto;}

section#sec01 div img{
width:80%;
margin:0 auto;position: relative;
left: 50%;
transform: translateX(-50%);
}

section#sec01 div p{
width:100%;
}
	}

/*--ニュース--*/

section#sec02{
display:block;
margin:0 auto;
padding:30px 0;
background:#f1f4f5;}


div.newsset{
width:90%;
max-width:1000px;
margin:50px auto;
display:flex;
justify-content: space-between;
align-items: stretch;
flex-wrap: wrap;}

div.newsitem{
width:49%;
display:flex;
justify-content: space-between;
align-items: stretch;
flex-wrap: wrap;
border:1px solid #eee;
padding:1em;
margin-bottom:1em;
background:#fff;
}

div.newsimg{
display:block;
width: 40%;
aspect-ratio: 4 / 3;
overflow:hidden;}

div.newstxt{
display:block;
width: 58%;}

div.newstxt h4{
color:var(--blue);
	}

div.newsimg img{
width: 100%;
height:auto;}

div.newstxt p{font-size:80%;}

div.newstxt p a{color:var(--blue);}
div.newstxt p a:hover{color:var(--vermilion);}

div.newstxt span{
display:inline-block;
padding:0.2em 0.75em;
font-size:60%;
color:#fff;
background:#999;
border-radius:9999px;
margin-bottom:1em;
}

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

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

section#sec02 div > a{
display:inline-block;
margin:2em auto;
padding:0.75em 3em;
border:1px solid #fff;
border-radius:9999px;
text-decoration:none;
color:#fff;
background:var(--blue);
transition:0.5s;
	}

section#sec02 div > a:hover{
background:var(--navy);
	}

section#sec02 div > a:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f054";
margin-right:0.5em;}

@media(max-width: 768px){
div.newsset{
width:90%;
margin:30px auto;}

div.newsitem{
width:100%;}

div.newstxt{
width: 55%;}
	}


/*--未来--*/

section#sec03 > div.outlineset{
padding:100px 0;
color:#fff;
background-image: url("../img/bg_07.jpg");
background-attachment: fixed;
background-size: cover;
background-position: center;
text-align:center;}

section#sec03 > div.outlineset img{
width:100px;
margin-bottom:1em;
	}

section#sec03 > div.outlineset h3{
font-size:200%;
margin-bottom:1em;
	}

section#sec03 > div.outlineset p{
display:block;
width:50%;
text-align:left;
margin:0 auto;
font-size:90%;
line-height:1.8em;
text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.4);
	}

section#sec03 > div.photoset{
width:100%;
display: flex;
justify-content: space-between;
align-items: stretch;
background:#000;
padding:20px 0;
flex-wrap: wrap;}

section#sec03 > div.photoset > img{
display:block;
width:calc(100% / 6);
padding-left:20px;
box-sizing: border-box;}

section#sec03 > div.photoset > img:last-child{
padding-right:20px;}

section#sec03 div p a{
position: relative;
left: 50%;
transform: translateX(-50%);
display:inline-block;
margin:2em auto;
padding:0.75em 3em;
border:1px solid #fff;
border-radius:9999px;
text-decoration:none;
color:#fff;
background:none;
transition:0.5s;
	}

section#sec03 div p a:hover{
background:var(--vermilion);
	}

section#sec03 div p a:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f054";
margin-right:0.5em;}

@media(max-width: 768px){
section#sec03 > div.outlineset h3{
font-size:160%;
}

section#sec03 > div.outlineset{
background-attachment: scroll;}

section#sec03 > div.outlineset p{
width:80%;}

section#sec03 > div.photoset > img{
width:calc(100% / 3);}

section#sec03 > div.photoset > img:nth-child(n+1):nth-child(-n+3){
margin-bottom:1em;}

}


/*--バナー--*/

section#sec04{
display:block;
margin:0 auto;
padding:30px 0;
background:#99b5bb;}

section#sec04 > div{
width:80%;
max-width:1000px;
margin:30px auto;
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;}

#sec04 > div > a{
display:block;
width:23%;
aspect-ratio: 2/1;
margin-bottom:30px;
text-align:center;
position: relative;
overflow: hidden;
background:#000;
border-radius:3px;}

#sec04 > div > a:after {
position: absolute;
content: "";
display: block;
width: 100%;
height: 100%;
top: 0;
background-size: cover;
transition: all .8s ease;
opacity: 0.8;
}

#sec04 > div > a:nth-child(1):after{background-image: url("../img/bg_10.jpg");}
#sec04 > div > a:nth-child(2):after{background-image: url("../img/bg_11.jpg");}
#sec04 > div > a:nth-child(3):after{background-image: url("../img/bg_12.jpg");}
#sec04 > div > a:nth-child(4):after{background-image: url("../img/bg_13.jpg");}
#sec04 > div > a:nth-child(5):after{background-image: url("../img/bg_14.jpg");}
#sec04 > div > a:nth-child(6):after{background-image: url("../img/bg_15.jpg");}
#sec04 > div > a:nth-child(7):after{background-image: url("../img/bg_16.jpg");}
#sec04 > div > a:nth-child(8):after{background-image: url("../img/bg_17.jpg");}

#sec04 > div > a:hover:after {
opacity: .6;
transform: scale(1.2);
}

#sec04 > div > a span{
white-space:nowrap;
z-index: 1;
position: absolute;
display:inline-block;
padding:0.5em 1em;
color:#fff;
border-top:1px solid rgba(255,255,255,0.2);
border-bottom:1px solid rgba(255,255,255,0.2);
width:100%;
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
-webkit- transform: translateY(-50%) translateX(-50%);
backdrop-filter: blur(3px);}

@media(max-width: 768px){
section#sec04 > div{
width:90%;}

#sec04 > div > a{
width:48%;
	}

}

section#sec05{
text-align:center;
margin:0;
background:#030000;
	}

section#sec05 div{
width:80%;
max-width:1000px;
aspect-ratio: 3 / 1;
margin:0 auto;
position:relative;
overflow:hidden;}

section#sec05 div img#bg{
width:100%;
margin:0 auto;
display:block;
z-index:9;
}
#thetown,#wecreate,#kitagawa{
width:100%;
object-fit: cover;
position:absolute;
left:0;
z-index:99;}
#thetown{top:0;}
#wecreate{top:50%;}
#kitagawa{top:75%;}

section#sec05 div::before { 
content: "";
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
background: linear-gradient(90deg, #000, transparent ,#000);
z-index:999;
}



@media(max-width: 768px){
section#sec05 div{
width:100%;
max-width:100%;
aspect-ratio: 3 / 1;
margin:0 auto;
position:relative;
overflow:hidden;}
}




/*--------------------
FADEIN
--------------------*/
/*--フェード--*/
.fadeIn {
  opacity: 0;
  transition: 2s;
}
.fadeIn.is-show {
  opacity: 1;
}
/*--下から--*/
.fadeIn_up {
  opacity: 0;
  transform: translate(0, 50%);
  transition: 2s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
/*--左から--*/
.fadeIn_left {
opacity: 0;
transform: translate(-50%, 0);
transition: 2s;
}
.fadeIn_left.is-show {
transform: translate(0, 0);
opacity: 1;
}
/*--右から--*/
.fadeIn_right {
  opacity: 0;
  transform: translate(50%, 0);
  transition: 2s;
}
.fadeIn_right.is-show {
  transform: translate(0, 0);
  opacity: 1;
}


.txt-k{
font-family:serif;
font-weight:bold;
text-align:right;
}

/*--------------------
揺らぎ
--------------------*/
@keyframes float {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(-8px);
}
}

.floating {
animation: float 3.2s ease-in-out infinite;
}

@keyframes pulse {
0%, 100% {
transform: scale(1);
}
50% {
transform: scale(1.02);
}
}

.pulse {
animation: pulse 5s ease-in-out infinite;
}


/*--------------------
パスワード
--------------------*/

form.post-password-form label{
width:100%;
margin:20px auto;
padding:20px;
}
form.post-password-form label input{
width:50%;
margin:20px auto;
}