@charset "utf-8";

html {
}
body {
	font-family: "Noto Sans JP", sans-serif;
	font-size:min(1.7vw,17px);
	text-align:center;
	color:#042b44;
	line-height:2;
	letter-spacing:0.1em;
/*	font-feature-settings: "palt";*/
}

@media screen and (max-width:768px){
	body {
		line-height:1.7;
		font-size:3.8vw;
	}
}


.mincho{
	font-family: "Noto Serif JP", serif;
}


a {
	color:#042b44;
	transition : opacity 0.4s;
	-webkit-transition : opacity 0.4s;
	opacity:1;
	outline:none;
}
a:hover {
	opacity: 0.7;
}

img{
	max-width:100%;
}

.only_sp,
.only_sp_i{
	display:none !important;
}
@media screen and (max-width:768px){
	.only_pc{
		display:none !important;
	}
	.only_sp{
		display:block !important;
	}
	.only_sp_i{
		display:inline-block !important;
	}
}




#wrapper{
}

.inner{
	max-width:1014px;
	width:94%;
	margin:auto;
}

@media screen and (max-width:768px){
	.inner{
		width:90%;
	}
}


/* 色・書式関係 */
.gold{
	color:#cb9a0d;
}
.bg_gold{
	color:#fff;
	background-color:#cb9a0d;
}
.bg_navy{
	color:#fff;
	background-color:#042b44;
}


.bold{
	font-weight:bold;
}
.text_left{
	text-align:left !important;
}
.text_right{
	text-align:right !important;
}
.text_center{
	text-align:center !important;
}


/* .btn */
.btn{
	width:14.5em;
	display:block;
	line-height:3.6;
	font-weight:bold;
	letter-spacing:0.1em;
	text-indent:0.1em;
	text-align:center;
	border-radius:200px;
}
/*
@media screen and (max-width:768px){
	.btn{
		width:12em;
		line-height:3;
		margin-top:5%;
		font-size:3.3vw;
	}
}
*/


/* header */
header{
	width:100%;
	height:90px;
	padding:0 20px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	position:absolute;
	z-index:100;
}
header .head_logo{
	font-size:18px;
	letter-spacing:0.1em;
}
header .head_logo img{
	width:3em;
	margin-right:0.5em;
}

@media screen and (max-width:768px){
	header{
		height:3em;
	}
	header .head_logo{
		font-size:2.84vw;
	}
}


/* main */
main{
}


/* #mv */
#mv{
	padding:12% 10% 0;
	aspect-ratio:2558 / 1560;
	background:url(../images/mv_bg.webp)no-repeat center bottom;
	background-size:cover;
	text-align:left;
}
#mv h1 img{
	width:30vw;
}
#mv h1 span{
	display:block;
	margin-top:1em;
	font-size:2.2vw;
	letter-spacing:0.1em;
}
#mv .btns{
	display:flex;
}
#mv .btns li{
	font-size:1.4vw;
	margin:1.5em 1.5em 0 0;
}

@media screen and (max-width:768px){
	#mv{
		padding:19% 5% 0;
		aspect-ratio:1280 / 1448;
		background:url(../images/mv_bg_s.webp)no-repeat center bottom;
		background-size:cover;
		text-align:left;
	}
	#mv h1 img{
		width:54vw;
	}
	#mv h1 span{
		font-size:3.9vw;
	}
	#mv .btns{
		display:block;
		margin-top:12%;
	}
	#mv .btns li{
		font-size:4.6vw;
		margin-top:0.7em;
	}
	#mv .btns li .btn{
		width:100%;
		line-height:2.7;
	}
}


/* .cont */
.cont{
	padding:min(9%,90px) 0 min(15%,150px);
}
.cont .tit{
	text-align:left;
}
.cont .tit .en{
	line-height:1;
	display:block;
	font-size:min(6.6vw,66px);
	font-weight:normal;
}
.cont .tit .jp{
	display:block;
	margin-top:1em;
	font-size:min(2.1vw,21px);
	letter-spacing:0.1em;
}

@media screen and (max-width:768px){
	.cont{
		padding:12% 0 15%;
	}
	.cont .tit{
		padding-left:0;
	}
	.cont .tit .en{
		font-size:9.2vw;
		white-space:nowrap;
	}
	.cont .tit .jp{
		font-size:3.9vw;
	}
}


/* #cont1 */
#cont1{
}
#cont1 h2{
	line-height:1.7;
	font-weight:500;
}
#cont1 h2 .large{
	font-size:min(8.2vw,82px);
	display:block;
	letter-spacing:0.08em;
	text-indent:0.08em;
}
#cont1 h2 .middle{
	font-size:min(4.5vw,45px);
	display:block;
	letter-spacing:0.1em;
	text-indent:0.1em;
}
#cont1 h2 .small{
	font-size:min(2.3vw,23px);
	display:block;
	letter-spacing:0.1em;
	text-indent:0.1em;
}
#cont1 .sec{
	margin-top:min(14%,140px);
}
#cont1 .sec h3{
	margin-bottom:2em;
	font-size:min(2.4vw,24px);
	letter-spacing:0.1em;
	padding-left:0.1em;
}
#cont1 .sec p{
	margin-top:2em;
	letter-spacing:0.1em;
	padding-left:0.1em;
}

@media screen and (max-width:768px){
	#cont1 h2 .large{
		font-size:12vw;
	}
	#cont1 h2 .middle{
		font-size:6.2vw;
	}
	#cont1 h2 .small{
		font-size:4vw;
	}
	#cont1 .sec h3{
		margin-bottom:2em;
		font-size:4.8vw;
	}
	#cont1 .sec p{
		margin-top:1.7em;
		padding:0 5%;
		padding:0 5%;
		text-align:left;
	}
	#cont1 .sec p .center{
		display:block;
		margin-top:1.7em;
		text-align:center;
	}
}


/* #cont2 */
#cont2{
	padding-bottom:min(32%,320px);
	background:
	url(../images/cont2_bg.webp)no-repeat center top;
	background-size:cover;
}
#cont2 .sec{
	text-align:left;
}
#cont2 .sec ul{
	margin-top:min(5%,50px);
	padding-left:1.5em;
}
#cont2 .sec ul li{
	list-style:disc;
	letter-spacing:0.1em;
}

@media screen and (max-width:768px){
	#cont2{
		padding-bottom:25%;
		background:
		url(../images/cont2_bg.webp)no-repeat center top;
		background-size:cover;
	}
	#cont2 .sec ul{
		margin-top:9%;
		padding-right:20%;
	}
}


/* #cont3 */
#cont3{
}
#cont3 .flex{
	margin-top:min(12%,120px);
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}
#cont3 .flex:first-of-type{
	margin-top:min(7%,70px);
}
#cont3 .flex section{
	width:507px;
	text-align:left;
}
#cont3 .flex section h3{
	font-size:min(2.4vw,24px);
	letter-spacing:0.1em;
}
#cont3 .flex section p{
	margin-top:1em;
}
#cont3 .flex figure{
	flex:1;
}

#cont3 .flex.left{
	margin-right:calc(50% - 507px);
}
#cont3 .flex.left section{
	padding-left:min(5vw,50px);
}

#cont3 .flex.right{
	margin-left:calc(50% - 507px);
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
#cont3 .flex.right section{
	padding-right:min(5vw,50px);
}

@media screen and (max-width:1080px){
	#cont3 .flex section{
		width:50%;
	}
	#cont3 .flex figure{
		flex:1;
	}

	#cont3 .flex.left{
		margin-right:0;
	}
	#cont3 .flex.left section{
		padding:0 min(3vw,30px);
	}

	#cont3 .flex.right{
		margin-left:0;
	}
	#cont3 .flex.right section{
		padding:0 min(3vw,30px);
	}
}

@media screen and (max-width:768px){
	#cont3 .flex{
		margin-top:7%;
		display: block;
	}
	#cont3 .flex:first-of-type{
		margin-top:12%;
	}

	#cont3 .flex section{
		width:auto;
	}
	#cont3 .flex section h3{
		font-size:4vw;
	}
	#cont3 .flex.left figure{
		margin-right:15%;
	}
	#cont3 .flex.left section{
		padding:5%;
	}
	#cont3 .flex.right figure{
		margin-left:15%;
	}
	#cont3 .flex.right section{
		padding:5%;
	}
}


/* #cont4 */
#cont4{
	display:flex;
}
#cont4 .left_wrapper{
	width:46%;
	display:flex;
	justify-content:center;
	align-items:center;
	background-color:#e0eaf0;
}
#cont4 .left_wrapper .sec{
	padding:min(12%,120px) 0;
	text-align:left;
}
#cont4 .left_wrapper .sec h2{
	font-size:min(2.1vw,21px);
}
#cont4 .left_wrapper .sec ul{
	margin-top:2em;
}
#cont4 .map{
	width:54%;
	position:relative;
}
#cont4 .map iframe{
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
}

@media screen and (max-width:768px){
	#cont4{
		display:block;
	}
	#cont4 .left_wrapper{
		width:auto;
		display:block;
	}
	#cont4 .left_wrapper .sec{
		padding:5%;
		text-align:left;
	}
	#cont4 .left_wrapper .sec h2{
		font-size:4.5vw;
	}
	#cont4 .left_wrapper .sec ul{
		margin-top:1em;
	}
	#cont4 .map{
		width:100%;
		aspect-ratio:1 / 0.8;
	}
}


/* #photo_wrapper */
#photo_wrapper{
	display:flex;
}
#photo_wrapper li{
	width:33.33%;
}

@media screen and (max-width:768px){
	#photo_wrapper{
		display:block;
	}
	#photo_wrapper li{
		width:auto;
	}
}



/* #cont5 */
#cont5{
}
#cont5 .sec{
	margin-top:min(3%,30px);
	border:1px solid #333;
	text-align:left;
}
#cont5 .sec h3{
	line-height:3.2;
	padding:0 1.5em;
	font-size:min(3vw,30px);
	font-weight:500;
	position:relative;
	cursor:pointer;
}
#cont5 .sec h3:before{
	content:'';
	display:block;
	width:2.4em;
	height:2.4em;
	background:url(../images/cont5_arrow.png)no-repeat center center;
	background-size:100% 100%;
	position:absolute;
	right:0.5em;
	top:50%;
	transform:translateY(-50%);
}
#cont5 .sec h3:after{
	content:'';
	display:block;
	width:2.4em;
	height:2.4em;
	background:url(../images/cont5_arrow_close.png)no-repeat center center;
	background-size:100% 100%;
	position:absolute;
	right:0.5em;
	top:50%;
	transform:translateY(-50%);
	display:none;
}
#cont5 .sec h3.close:after{
	display:block;
}
#cont5 .sec .accordion_cont{
	padding:0 3% 3%;
	display:none;
}
#cont5 .sec .accordion_cont div{
	display:flex;
	padding:0.6em;
	letter-spacing:0.1em;
}
#cont5 .sec .accordion_cont div:nth-child(n+2){
	border-top:1px solid #333;
}
#cont5 .sec .accordion_cont div dt{
	width:9em;
	font-weight:bold;
}
#cont5 .sec .accordion_cont div dd{
	flex:1;
}
#cont5 .sec .accordion_cont div dd .salary li{
	padding-left:1em;
	text-indent:-1em;
}
#cont5 .sec .accordion_cont div dd .salary li:nth-child(n+2){
	margin-top:1em;
}
#cont5 .sec_contact{
	margin-top:min(9%,90px);
}
#cont5 .sec_contact h3{
	font-size:min(2.4vw,24px);
	letter-spacing:0.1em;
	padding-left:0.1em;
}
#cont5 .sec_contact .lead{
	margin-top:min(4%,40px);
	letter-spacing:0.1em;
	padding-left:0.1em;
}
#cont5 .sec_contact .btn{
	margin:min(5%,50px) auto 0;
	font-size:min(1.8vw,18px);
}

@media screen and (max-width:768px){
	#cont5 .sec{
		margin-top:5%;
	}
	#cont5 .sec h3{
		font-size:4vw;
		padding:0 1em;
	}
	#cont5 .sec h3:before,
	#cont5 .sec h3:after{
		width:1.8em;
		height:1.8em;
	}
	#cont5 .sec h3 span{
		font-size:3.4vw;
	}
	#cont5 .sec .accordion_cont{
		padding:0 5% 5%;
	}
	#cont5 .sec .accordion_cont div{
		display:flex;
		padding:0.6em 0;
		letter-spacing:0.1em;
		display:block;
	}
	#cont5 .sec .accordion_cont div dt{
		width:6em;
	}
	#cont5 .sec_contact{
		margin-top:18%;
	}
	#cont5 .sec_contact h3{
		font-size:4.5vw;
	}
	#cont5 .sec_contact .lead{
		margin-top:5%;
	}
	#cont5 .sec_contact .btn{
		margin-top:9%;
		font-size:4vw;
	}
}



/* #contact */
#contact{
}
#contact div.inner{
	max-width:750px;
}
#contact .inner form > dl{
	margin:50px 0 30px;
	line-height:1.5;
	font-size:17px;
	text-align:left;
}
#contact .inner form > dl > dt{
	margin:1em 0 0.3em;
	font-weight:bold;
}

#contact .inner form > dl > dt.hissu:after{
	content:'（必須）';
	color:#f00;
}
#contact .inner form > dl > dd ul{
	display: flex;
	flex-wrap:wrap;
}
#contact .inner form > dl > dd ul li{
	margin-right:1em;
	margin-bottom:0.5em;
}
#contact .inner form > dl > dd ul li input{
	border:1px solid red;
	vertical-align:-0.5em;
}
#contact .inner .privacy{
	font-size:16px;
}
#contact .inner .privacy a{
	text-decoration:underline;
}


@media screen and (max-width:768px){
	#contact{
		padding-bottom:15%;
	}
	#contact .inner form > dl{
		margin:9% 0 5%;
	}
}

@media screen and (max-width:480px){
	#contact .inner form > dl{
		font-size:16px;
	}
	#contact .inner .privacy{
		font-size:13px;
	}
}


/* confirm */
#contact.confirm{
	min-height:calc(100vh - 100px);
}
#contact.confirm .inner{
	margin-top:50px;
}
#contact.confirm .inner form > dl{
	margin-top:50px;
	text-align:left;
}
#contact.confirm .inner form > dl dt{
	margin:0;
	float:left;
}
#contact.confirm .inner form > dl > dd{
	margin-bottom:1em;
	padding-left:15em;
	border-bottom:1px dotted;
}

@media screen and (max-width:768px){
	#contact.confirm .inner{
		margin-top:5%;
	}
	#contact.confirm .inner form > dl{
		margin-top:5%;
		font-size:3.6vw;
	}
	#contact.confirm .inner form > dl > dt{
		font-weight:bold;
		float:none;
	}
	#contact.confirm .inner form > dl > dd{
		padding:0;
	}
}


/* thanks */
#contact.thanks{
	min-height:calc(100vh - 500px);
	padding-top:120px;
}
#contact.thanks .inner{
	margin-top:50px;
}
#contact.thanks .inner p{
	line-height:2;
	font-size:16px;
}

@media screen and (max-width:1000px){
	#contact.thanks .inner p .only_smart{
		display:block !important;
	}
}

@media screen and (max-width:768px){
	#contact.thanks .inner{
		margin-top:5%;
	}
	#contact.thanks{
		min-height:calc(100vh - 300px);
		padding-top:12%;
	}
	#contact.thanks .inner{
		margin-top:9%;
		padding-bottom:3%;
	}
	#contact.thanks .inner p{
		font-size:4vw;
	}
}


/* footer */
footer{
	line-height:4;
	font-size:min(1.4vw,14px);
}

@media screen and (max-width:768px){
footer{
	font-size:3vw;
}
}


/* top_top */
#topbtn{
	width:50px;
	line-height:50px;
	font-size:18px;
	letter-spacing:0;
	border-radius:50%;
	color:#fff;
	background-color:rgba(0,0,0,0.5);
	position:fixed;
	z-index:90;
	right:30px;
	bottom:-150px;
	-webkit-transition: bottom 0.8s;
	transition: bottom 0.8s;
}
@media screen and (max-width:768px){
	#topbtn{
		width:40px;
		line-height:40px;
		right:20px;
	}
}


/* fadein */
.fadein0 {
	opacity : 0;
	-webkit-transition-property: opacity;
	transition-property : opacity;
	-webkit-transition-duration: 1.5s;
	transition-duration : 1.5s;
}
.fadein {
	opacity : 0;
	-webkit-transform : translate(0, 70px);
	transform : translate(0, 70px);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}
.fadein_l {
	opacity : 0;
	-webkit-transform : translate(-100px, 0);
	transform : translate(-100px, 0);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}
.fadein_r {
	opacity : 0;
	-webkit-transform : translate(100px, 0);
	transform : translate(100px, 0);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}

.delay1 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.2s;
	transition-delay : 0.2s;
}
.delay2 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.4s;
	transition-delay : 0.4s;
}
.delay3 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.6s;
	transition-delay : 0.6s;
}
.delay4 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.8s;
	transition-delay : 0.8s;
}
.delay5 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 1.0s;
	transition-delay : 1.0s;
}
.delay6 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 1.2s;
	transition-delay : 1.2s;
}

.fadein0.scrollin{
	opacity : 1;
}
.fadein.scrollin,
.fadein_l.scrollin,
.fadein_r.scrollin{
	opacity : 1;
	-webkit-transform : translate(0, 0);
	transform : translate(0, 0);
}


/* popup */
.popup {
	-webkit-transform : scale(0);
	transform : scale(0);
	-webkit-transition-property: transform;
	transition-property : transform;
	-webkit-transition-duration: 0.4s;
	transition-duration : 0.4s;
	-webkit-transition-timing-function: cubic-bezier(.17,.67,.68,1.34);
	transition-timing-function: cubic-bezier(.17,.67,.68,1.34);
}
.popup.scrollin {
	-webkit-transform : scale(1);
	transform : scale(1);
}