@charset "utf-8";
/* index.css */
/*===============================================
●共通
===============================================*/

/*mainVisual*/
.mv {
	max-width: 1940px;
	margin: 0 auto;
}
.mv_inner {
	background: url(../images/img_main.jpg) no-repeat center / cover;
	position: relative;
}
.mv_inner .logo {
	position: absolute;
}
#logo {
	filter: drop-shadow(1px 1px 4px rgba(0,0,0,0.3));	
}
.mv_inner .mv_txt {
	width: 100%;
	position: absolute;
	font-family: 'Noto Serif JP', serif;
	color: #fff;
	text-align: center;
	letter-spacing: 0.3em;
	text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}
.mv_inner .mv_txt span {
	display: block;
	font-family: 'Crimson Text', serif;
	line-height: 1.03em;
	letter-spacing: 0.1em;
}

/* contents */
#vision { background-image: url(../images/img_vision.jpg); }
#business { background-image: url(../images/img_policy.jpg); }
#About { background-image: url(../images/img_about.jpg); }
#recruit { background-image: url(../images/img_career.jpg); }

.contentsbox .inner {
	background-color: #fff;
}
.contentsbox .inner header { text-align: center;}
.contentsbox .inner header p {
	text-align: center;
	font-family: 'Noto Serif JP', serif;
	letter-spacing: 0.05em;
	position: relative;
}
.tit_style01 {
	font-family: 'Noto Serif JP', serif;
	color: #003670;
	letter-spacing: 0.2em;
	line-height: 1em;
}
.tit_style02 {
	display: block;
	padding-bottom: 1em;
	font-family: 'Crimson Text', serif;
	letter-spacing: 0.1em;
	position: relative;
}
.tit_style02:after {
	display: block;
	content: "";
	height: 1px;
	background-color: #000;
	position: absolute;
}
.tit_style03{
	display: block;
	color: #003670;
	font-family: 'Noto Sans JP', sans-serif;
	text-align: center;
	letter-spacing: 0.1em;
	position: relative;
}
.tit_style03::after {
	display: block;
	content: "";
	height: 1px;
	background-color: #003670;
	position: absolute;
}
.constructionWrapper {
	margin-bottom: 2em;
}
.logoArea {
	flex-shrink: 0;
	text-align: center;
}
/* .btnWidthLarge {
	border: 1px solid #003670;
    color: #003670;
	display: inline-block;
    font-weight: bold;
    letter-spacing: 0.1em;
	padding: 1.15em 1em;
}
.btnWidthLarge:hover{
	background-color: #003670;
    color: #fff;
    transition: all 0.3s ease;
} */
.btnWidthLarge span {
	display: inline-block;
}
/* 罫線付リストボックス */
.ruledBox {
	display: block;
	max-width: 700px;
	padding: 2em 0;
	margin: 1em 0;
	border-top: dashed 1px #000;
	border-bottom: dashed 1px #000;
}
.ruledBox li {
	display: block;
	padding-left: 1em;
	position: relative;
	line-height: 2.26em;
}
.ruledBox li::before {
	display: block;
	content: "*";
	width: 1px;
	height: 1em;
	position: absolute;
	left: 0.5em;	
}
.ruledBox li:not(:last-child) { margin-bottom: 0.8em;}

.imgListBox {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.imgListBox li div::after {
	display: block;
	content: "";
	width: 100%;
	padding-top: 68%;
}
.imgListBox li a { display: block;}

a.btn {
	display: block;
	margin: 0 auto;
	border:1px solid #003670;
	color: #003670;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.1em;
}

/* vision */
#vision dl {
	max-width: 900px;
	margin: 0  auto;
}
#vision dl dt {
	font-weight: bold;
	color: #003670;
	line-height: 1em;
	padding: 0.76em 2.3em;
	margin-bottom: 2em;
	background-color: aliceblue;
}
#vision dl dd { padding: 0 2.3em;}
#vision dl dd:not(:last-child) { margin-bottom: 2em;}
#vision dl table th {
	width: 15%;
	min-width: 150px;
	font-weight: bold;
}
#vision dl table td { line-height: 2em;}
#vision dl table tr:not(:last-child) td { padding-bottom: 2em;}

#indeed {
	display: flex;
}
#indeed > div {
	margin-left: 50px;
}
#indeed img {
	display: block;
	margin: auto;
}

/* career */
#career dl {
	display: block;
	margin: 3.33em 0 4em;
	line-height: 2.26em;
}

/*===============================================
●画面の横幅が769px以下(スマホのみ)
===============================================*/
@media screen and (max-width: 769px){
	
	/*共通*/
	.tit_style01 {
		font-size: 1.6em;
		padding-bottom: 0.5em;
	}
	.tit_style02 {	
		font-size: 1.12em;
		padding-bottom: 1em;
	}
	.tit_style02:after {
		width: 50px;
		bottom: 0.5em;
		left: calc(50% - 25px);
	}
	.tit_style03{
		font-size: 1.2em;
		padding-bottom: 2em;
		margin: 2.5em 0 0;
	}
	.tit_style03::after {
		width: 30px;
		top: 2em;
		left: calc(50% - 15px);
	}
	.contentsbox .inner header p {
		font-size: 1.2em;
		margin-bottom: 1.5em;
	}
	
	a.btn {
		width: 90%;
		padding: 1em 0;
	}
	
	.mv_inner {
		height: 100vh;
		/*margin: 0 1em 3em;*/
		border: 1em solid #fff;
		padding: 1em;
	}
	.mv_inner .logo {
		width: 50%;
		max-width: 150px;
	}
	.mv_inner .mv_txt {
		width: auto;
		right: 1.5em;
		bottom: 1.5em;
		font-size: 3.5vw;
	}
	.mv_inner .mv_txt span {
		font-size: 4em;
	}
	
	/* contents */
	.contentsbox {
		padding-top: 35%;
		line-height: 2.26em;
		background-repeat: no-repeat;
		background-position: top center;
		background-size: 140% auto;
	}
	.contentsbox .inner { padding: 2.33em 1em 5em;}
	.constructionWrapper {
		margin-bottom: 2em;
	}
	.constructionWrapper p {
		margin-bottom: 1em;
	}
	.btn.btnWidthLarge {
		padding: 1em;
	}
	
	#vision dl table th,
	#vision dl table td {
		display: block;
		width: 100%;
	}
	#vision dl table th { margin-bottom: 0.5em;}
	#vision dl dt {
		padding: 0.76em 1em;
		margin-bottom: 1em;
	}
	#vision dl dd {     padding: 0 1em;}
	#vision dl dd:not(:last-child) { margin-bottom: 1em;}
	
	/* 罫線付リストボックス */
	.ruledBox { padding: 1em 0;}
	
	/* imgListBox */
	.imgListBox li {
		/*width: 49%;*/
		width: 100%;
		margin-bottom: 2%;
	}
	/*.imgListBox li:not(:nth-child(2n)) { margin-right: 2%;}*/
	
}

/*===============================================
●画面の横幅が770px以上(PCのみ)
===============================================*/
@media screen and (min-width: 770px){
	
	/*共通*/
	.tit_style01 {
		font-size: 2.93em;
		padding-bottom: 0.9em;
	}
	.tit_style02 {	
		font-size: 1.27em;
		padding-bottom: 1em;
	}
	.tit_style02:after {
		width: 50px;
		bottom: 0.5em;
		left: calc(50% - 25px);
	}
	.tit_style03{
		padding-bottom: 2em;
		margin: 5.55em 0 0;
		font-size: 1.2em;
	}
	.tit_style03::after {
		width: 30px;
		top: 2em;
		left: calc(50% - 15px);
	}
	.contentsbox .inner header p {
		font-size: 1.46em;
		margin-bottom: 2em;
	}
	
	.btn {
		max-width: 265px;
		padding: 1.15em 0;
	}
	.btn:hover {
		background-color: #003670;
		color: #fff;
		transition: all 0.3s ease;
	}
	
	/* メインビジュアル */
	.mv_inner {
		height: 100vh;
		padding: 30px;
		border: 30px solid #fff;
	}
	.mv_inner .mv_txt {
		right: 0px;
		bottom: 60px;
		font-size: 1.6em;
		color: #fff;
	}
	.mv_inner .mv_txt span {
		display: inline-block;
		font-family: 'Crimson Text', serif;
		font-size: 5em;
		line-height: 1.03em;
		letter-spacing: 0.1em;
		color: #fff;
	}
	
	/* contents */
	.contentsbox {
		padding-top: 19.33em;
		line-height: 2.26em;
		background-repeat: no-repeat;
		background-position: top center;
		background-size: contain;
	}
	.contentsbox .inner { padding: 3.33em 1.33em 10.66em;}

	.btn.btnWidthLarge {
		max-width: 400px;
	}
	
	/* imgListBox */
	.imgListBox li {
		width: 23.58%;
		max-width: 250px;
		margin-bottom: 1.8%;
	}
	
	.imgListBox li:not(:nth-child(4n)) { margin-right: 1.8%;}
	
}