@charset "UTF-8";

:root{
	--base: #00345b;
	--deep: #640000;
	--sub: #02ad5b;
	--bright: #0049ad;
	--pale: #f2f8fe;
	--yellow: #fff171;
	--pink: #e5004e;
	--vermillion: #ea5357;
	--ink: #1f1d1b;
	--ink2: #fff;
	--soft: rgba(236, 236, 236, 0.65);
}
*{
	box-sizing: border-box;
}
html{
	height: 100%;
	scroll-behavior: smooth;
}
html,
body{
	margin: 0;
	overflow-x: hidden;
}
body{
	-webkit-text-size-adjust: 100%;
	min-height: 100%;
	color: var(--ink);
	background: var(--ink2);
	font-family: "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	-webkit-font-smoothing: antialiased;
}

img{
	width: 100%;
}
:focus{
	outline: 0;
}

header{
	position: fixed;
	top: 0;
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	width: 100%;
	height: 6.5vw;
	background: #fff;
	z-index: 100;
}
header img{
	flex: 0 0 auto;
	width: 17vw;
	padding: 0.95vw 1.35vw 0.95vw 1.55vw;
	object-fit: contain;
}
header h1{
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex: 1 1 auto;
	padding-left: 2vw;
	color: var(--base);
	line-height: 1.25;
	letter-spacing: 0.04em;
}
header h1 span:first-child{
	font-size: 1.25vw;
	font-weight: 700;
}
header h1 span:last-child{
	margin-top: 0.2vw;
	font-size: 1.7vw;
	font-weight: 800;
}
.headerBtn_SP{
	display: none;
}
.headerBtn_PC{
	display: block
}
.headerBtn{
	display: flex;
	flex: 0 0 auto;
	height: 100%;
}
.headerBtn a{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 15vw;
	height: 100%;
	color: var(--ink2);
	font-size: 1.4vw;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	text-decoration: none;
}
.headerBtn a::before{
	content: "";
	display: block;
	width: 2.1vw;
	height: 2.1vw;
	margin-bottom: 0.75vw;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
.headerBtn .btnDL{
	background: var(--base);
}
.headerBtn .btnDL::before{
	background-image: url("../img/icoFile.webp");
}
.headerBtn .btnCT{
	background: var(--sub);
}
.headerBtn .btnCT::before{
	background-image: url("../img/icoMail.webp");
}
@media screen and (min-width: 1051px){
	header{
		height: 4.27rem;
	}
	header img{
		width: 11.17rem;
		padding: 0.62rem 0.88rem 0.62rem 1.02rem;
	}
	header h1{
		padding-left: 1.31rem;
	}
	header h1 span:first-child{
		font-size: 0.82rem;
	}
	header h1 span:last-child{
		margin-top: 0.13rem;
		font-size: 1.11rem;
	}
	.headerBtn a{
		width: 9.85rem;
		font-size: 0.92rem;
	}
	.headerBtn a::before{
		width: 1.37rem;
		height: 1.37rem;
		margin-bottom: 0.49rem;
	}
}
@media screen and (max-width: 768px){
	header{
		height: 13vw;
	}
	header img{
		width: 28vw;
		padding: 1.8vw 1.8vw 1.8vw 2.2vw;
		margin-top: 0.75vw;
	}
	header h1{
		padding-left: 1.75vw;
	}
	header h1 span:first-child{
		font-size: 2.25vw;
	}
	header h1 span:last-child{
		margin-top: 0.5vw;
		font-size: 3.25vw;
	}
	.headerBtn_PC{
		display: none;
	}
	.headerBtn_SP{
		display: block
	}
	.headerBtn{
		display: flex;
	}
	.headerBtn a{
		width: 18.5vw;
		font-size: 2.55vw;
		letter-spacing: 0.02em;
	}
	.headerBtn a::before{
		width: 3.9vw;
		height: 3.9vw;
		margin-bottom: 1.7vw;
	}
}


/* common, main  */

.commonBtn{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5vw;
}
.commonBtn a{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 7.3vw;
	padding-left: 4vw;
	color: var(--ink2);
	font-size: 2.47vw;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.06em;
	text-decoration: none;
	transition: transform .15s ease, box-shadow .15s ease, opacity .3s ease;
}
.commonBtn a::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 2.8vw;
	width: 3.27vw;
	height: 3.27vw;
	transform: translateY(-50%);
}
.commonBtn a::after{
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient( to bottom,	rgba(255,255,255,0.2),	transparent 40%	);
	pointer-events: none;
}
.commonBtn a:hover{
	transform: translateY(-0.2vw);
	opacity: 0.95;
}
.commonBtn a:active{
	transform: translateY(0);
	box-shadow: inset 0 0.3vw 0.6vw rgba(0,0,0,0.2);
}
.commonBtn .btnDL{
	background: var(--base);
	box-shadow: 0 0.6vw 1.2vw rgba(0,0,0,0.18);
}
.commonBtn .btnDL::before{
	background: url("../img/icoFile.webp") no-repeat center center / contain;
}
.commonBtn .btnCT{
	background: var(--sub);
	box-shadow: 0 0.6vw 1.2vw rgba(0,0,0,0.22);
}
.commonBtn .btnCT::before{
	background: url("../img/icoMail.webp") no-repeat center center / contain;
}
main{
	width: 100%;
}
.commonInner{
	margin: 0 auto;
	width: 100%;
	max-width: 1050px;
	min-height: 50px;
}
@media screen and (min-width: 1051px){
	.commonBtn{
		gap: 0.99rem;
	}
	.commonBtn a{
		min-height: 4.80rem;
		padding-left: 2.63rem;
		font-size: 1.62rem;
	}
	.commonBtn a::before{
		left: 1.84rem;
		width: 2.14rem;
		height: 2.14rem;
	}
}
@media screen and (max-width: 768px){
	.commonBtn{
		gap: 1.5vw;
		grid-template-columns: 1fr;
		margin: 0 auto;
		width: 78vw;
	}
	.commonBtn a{
		min-height: 16vw;
		padding: 0 0 0 4.5vw;
		font-size: 3.9vw;
		line-height: 1.2;
		letter-spacing: 0.06em;
	}
	.commonBtn a::before{
		left: 17.5vw;
		width: 4.7vw;
		height: 4.7vw;
	}
}


/* blank */

.pcBr{
	display: inline;
}
.spBr{
	display: none;
}
@media screen and (max-width: 768px){
	.pcBr{
		display: none;
	}
	.spBr{
		display: inline;
	}
}


/* honeypot */

.hpField{
	position:absolute;
	left:-9999px;
	opacity:0;
	pointer-events:none;
}