html {
	scroll-behavior: smooth;
	scroll-padding-top: 8.125vw;
}

body {
	width: 100vw;
	font-family: 'Noto Sans JP', sans-serif;	
	overflow-x: hidden;
}

.pc {
	display: block;
 }
 
.sp {
	display: none;
}

.inline-pc {
	display: inline;
}

.oswald {
	font-family: 'Oswald', sans-serif;
}

.robot {
	font-family: 'Roboto', sans-serif;
}

.red {
	color:#E50012;
}

.blue {
	color: #002A88;
}

.bold {
	font-weight: bold;
}

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

a {
	text-decoration: none;
}

.btn{
	position: absolute;
	top: 50.5vw;
	left: 41.938vw;
	background: #FF2E00;
	color: white;
	height: 3.75vw;
	width: 16.188vw;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	letter-spacing: 0.04em;
	position: relative;
	font-size: 1.25vw;
}

.btn::after {
	font-family: "Font Awesome 5 Free";
	position: absolute;
	top: 1.438vw;
	right: 1.269vw;
	content: '\f054';
	font-size: 0.875vw;
	font-weight: bold;
}

header.header {
	position: fixed;
	top: 0;
	left: 0;
	height: 7.5vw;
	width: 100vw;
	background: rgba(0, 42, 136, 0.7);
	z-index: 10;
	padding-left: 7.781vw;
	padding-right: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

header.header .logo_wrapper {
	width: 26.658vw;
	height: 5.899vw;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

header.header .logo_wrapper .logo {
	width: 7.283vw;
	height: 5.899vw;
}

header.header .logo_wrapper .logo_title {
	font-size: 1.625vw;
	font-weight: bold;
	color: white;
}

header.header .menu {
	display: flex;
	justify-content: space-between;
	list-style: none;
	height: 7.5vw;
	width: 45.709vw;
}

header.header .menu li {
	width: 4.25vw;
}

header.header .menu li a {
	display: inline-block;
	color: white;
	width: 100%;
	height: 100%;
}

header.header .menu li a .text {
	text-align: center;
}

header.header .menu li a .icon1 {
	width: 3.435vw;
	height: 2.349vw;
	margin: 1.794vw auto 0.613vw;
}

header.header .menu li a .icon2 {
	width: 1.913vw;
	height: 2.317vw;
	margin: 1.675vw auto 0.756vw;
}

header.header .menu li a .icon3 {
	width: 2.009vw;
	height: 2.317vw;
	margin: 1.675vw auto 0.756vw;
}

header.header .menu li a .icon4 {
	width: 2.631vw;
	height: 2.3vw;
	margin: 1.794vw auto 0.656vw;
}

header.header .menu li a .icon5 {
	width: 1.781vw;
	height: 2.349vw;
	margin: 1.794vw auto 0.613vw;
}

header.header .menu li a .icon6 {
	width: 3.04vw;
	height: 2.131vw;
	margin: 1.794vw auto 0.831vw;
}

header.header .menu li a .text {
	font-size: 1vw;
	font-weight: bold;
	letter-spacing: 0.06em;
}

header.header .menu li.mail {
	background: #FF2E00;
	width: 10vw;
}

header.header .hamburger-btn {
	display: none;
}

footer.footer {
	height: 22.813vw;
}

footer.footer .wrap {
	height: 18.75vw;
	position: relative;
	width: 100%;
	background-image: url('../image/common/footer-bg.png');
	background-size: cover;
}

footer.footer .wrap .logo {
	position: absolute;
	top: 3.213vw;
	left: 15vw;
	width: 9.782vw;
	height: 7.526vw;
}

footer.footer .wrap .company {
	position: absolute;
	top: 12.063vw;
	left: 15vw;
	font-size: 1vw;
	line-height: 1.5;
	font-weight: 500;
}

footer.footer a {
	color: #0F0F0F;
}

footer.footer .wrap .link01 {
	display: flex;
	justify-content: space-between;
	list-style: none;
	width: 30vw;	
	position: absolute;
	top: 3vw;
	left: 55vw;
	font-size: 1vw;
	letter-spacing: 0.06em;
	font-weight: 500;
}

footer.footer .wrap .link02 {
	display: flex;
	justify-content: space-between;
	list-style: none;
	width: 22.438vw;
	position: absolute;
	top: 6vw;
	left: 62.563vw;
	font-size: 1vw;
	letter-spacing: 0.06em;
	font-weight: 500;
}

footer.footer .wrap .ssl {
width: 22.438vw;
position: absolute;
top: 9vw;
left: 62.563vw;
}

footer.footer .copyright {
	height: 4.063vw;
	background: #002A88;
	padding-top: 1.313vw;
	position: relative;
}

footer.footer .copyright .text {
	color: white;
	font-size: 0.875vw;
	text-align: center;
}

footer.footer .copyright .up-scroll {
	z-index: 10;
	font-size: 1.4vw;
	background: #E50012;
	width: 4.063vw;
	height: 4.063vw;
	position: absolute;
	top: 0;
	right: 5vw;
	color: white;
	display: flex;
	justify-content: center;
	align-items: center;
}

section#fv-head {
	height: 10vw;
	padding-top: 3.063vw;
	padding-left: 15vw;
	background-image: url('../image/common/h1-bg.png');
	background-size: cover;
	position: relative;
	overflow-y: hidden;
	margin-top: 7.5vw;
}

section#fv-head h1{
	color: white;
	font-size: 2.375vw;
	font-weight: bold;
	letter-spacing: 0.3em;
}

section#fv-head .en {
	opacity: 0.4;
	font-size: 6.125vw;
	position: absolute;
	top: 3.25vw;
	left: 0;
	letter-spacing: 0.02em;
	font-weight: 500;
	color: #002A88
}

section#main div.wrap {
	width: 70vw;
	margin: 0 auto 0;
}

section#main .breadcrumb {
	font-size: 0.75vw;
	letter-spacing: 0.01em;
	color: #363738;
}

section#main .breadcrumb a {
	color: #363738;
}

section#main h2 {
	height: 4.813vw;
	background-image: url('../image/common/h2-bg.png');
	background-size: contain;
	color: white;
	padding-top: 1.069vw;
	padding-left: 5.25vw;
	font-size: 1.75vw;
	font-weight: bold;
	letter-spacing: 0.3em;
}

section#main .h3-wrap {
	height: 3.706vw;
	margin-top: 3vw;
	border-bottom: 2px solid  #082D83;
	padding-bottom: 1.394vw;
}

section#main h3 {
	letter-spacing: 0.3em;
	height: 2.5vw;
	font-size: 1.625vw;
	font-weight: bold;
	padding-left: 1.125vw;
	color: #002A88;
	position: relative;
	padding-left: 2vw;
}

section#main h3::before {
	position: absolute;
	top: 0.125vw;
	left: 0;
	font-size: 1.25vw;
	content: '●';
	color: #009B00;
	padding-bottom: 0.625vw;
	line-height: 1;
}

.sp-menu {
	display: none;
}

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

	html {
		scroll-behavior: smooth;
		scroll-padding-top: 17.333vw;
	}

	.pc {
	    display: none;
	}

	.inline-pc {
		display: none;
	}
	
	.sp {
	    display: block;
	}

	.btn{
		position: absolute;
		background: #FF2E00;
		color: white;
		display: flex;
		justify-content: center;
		align-items: center;
		font-weight: bold;
		letter-spacing: 0.04em;
		position: relative;
		height: 10.667vw;
		font-size: 5.333vw;
		top: unset;
		width: 89.33vw;
		left: 0;
	}
	
	.btn::after {
		font-family: "Font Awesome 5 Free";
		position: absolute;
		content: '\f054';
		font-weight: bold;
		font-size: 4.267vw;
		top: 3.733vw;
		right: 5.333vw;
	}
	
	header.header {
		position: fixed;
		top: 0;
		left: 0;
		height: 16vw;
		width: 100vw;
		background: rgba(0, 42, 136, 0.7);
		z-index: 10;
		padding-left: 5.333vw;
		padding-right: 5.333vw;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	header.header .logo_wrapper {
		width: 26.658vw;
		height: 5.899vw;
		display: flex;
		justify-content: space-between;
		align-items: center; 
		width: 69.333vw;
		height: 10.667vw;
	}

	header.header .logo_wrapper .logo {
		width: 7.283vw;
		height: 5.899vw;

		height: 10.667vw;
		width: 13.168vw;
	}

	header.header .logo_wrapper .logo_title {
		font-size: 1.625vw;
		font-weight: bold;
		color: white;
		font-size: 4.8vw;
	}

	header.header .menu {
		display: none;
	}

	header.header .hamburger-btn {
		color: white;
		display: block;
		font-size: 9.6vw;
		
	}
	
	footer.footer {
		height: 138.667vw;
	}

	footer.footer .wrap {
		height: 128vw;
		position: relative;
		width: 100vw;
		background-image: url('../image/common/footer-bg.png');
		background-size: cover;
	}

	footer.footer .wrap .logo {
		position: absolute;
		top: 5.333vw;
		left: 5.333vw;
		width: 21.333vw;
		height: 16.413vw;
	}

	footer.footer .wrap .company {
		position: absolute;
		line-height: 1.5;
		font-weight: 500;
		left: 5.333vw;
		top: 26.667vw;
		font-size: 4.8vw;
	}

	footer.footer .wrap .link01 {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		list-style: none;
		width: 32vw;
		position: absolute;
		top: 64vw;
		left: 5.333vw;
		font-size: 4.8vw;
		letter-spacing: 0.06em;
		font-weight: 500;
	}

	footer.footer .wrap li {
		margin-top: 2.667vw;
	}

	footer.footer .wrap .link02 {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		list-style: none;
		width: 42.667vw;
		position: absolute;
		top: 64vw;
		left: 48vw;
		font-size: 4.8vw;
		letter-spacing: 0.06em;
		font-weight: 500;
	}

footer.footer .wrap .ssl {
width: 22.438vw;
position: absolute;
top: 100vw;
left: 50vw;
}

	footer.footer .copyright {
		height: 10.667vw;
		background: #002A88;
		padding-top: 3.733vw;
		position: relative;
	}

	footer.footer .copyright .text {
		color: white;
		font-size: 2.67vw;
		text-align: left;
		padding-left: 3svw;
	}

	footer.footer .copyright .up-scroll {
		z-index: 10;
		font-size: 4.8vw;
		background: #E50012;
		width: 10.667vw;
		height: 10.667vw;
		position: absolute;
		top: 0;
		right: 1vw;
		color: white;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	section#main {
		padding-top: 10.667vw;
		padding-bottom: 12.313vw;
		color: #363738;
	}

	section#fv-head {
		height: 16vw;
		padding-top: 3.2vw;
		padding-left: 8vw;
		background-image: url('../image/common/h1-bg.png');
		background-size: cover;
		position: relative;
		overflow-y: hidden;
		margin-top: 16vw;
	}

	section#fv-head h1{
		color: white;
		font-weight: bold;
		letter-spacing: 0.3em;
		font-size: 5.867vw;
	}

	section#fv-head .en {
		opacity: 0.4;
		font-size: 8vw;
		letter-spacing: 0.02em;
		font-weight: 500;
		color: #002A88
	}

	section#main div.wrap {
		width: 89.33vw;
		margin: 0 auto 0;
	}

	section#main .breadcrumb {
		font-size: 4vw;
		letter-spacing: 0.01em;
		color: #363738;
	}

	section#main h2 {
		height: 8vw;
		background-image: url('../image/common/h2-bg.png');
		background-size: cover;
		color: white;
		padding-top: 1.333vw;
		padding-left: 8vw;
		font-size: 3.5vw;
		font-weight: bold;
		letter-spacing: 0.3em;
	}

	section#main h3 {
		letter-spacing: 0.3em;
		height: 2.5vw;
		height: 8vw;
		font-weight: bold;
		color: #002A88;
		position: relative;
		padding-left: 8vw;
	}

	section#main h3::before {
		position: absolute;
		top: 0.125vw;
		left: 0;
		content: '●';
		color: #009B00;
		padding-bottom: 0.625vw;
		line-height: 1;
		font-size: 5.333vw;
	}

	.sp-menu {
		display: none;
		z-index: -1;
		position: fixed;
		top: 0;
		left: 0;
		background: white;
		width: 100vw;
		height: 100%;
	}

	.sp-menu a {
		color: #222;
		text-decoration: none;
	}

	.sp-menu .cross-btn {
		font-size: 9.6vw;
		cursor: pointer;
		width: 9.6vw;
		margin-top: -1.4vw;
		margin-left: 89vw;
	}

	.sp-menu ul.nav {
		list-style: none;
		width: 80vw;
		margin: 10.67vw auto;
		font-size: 6.4vw;
	}

	.sp-menu ul.nav li {
		margin-top: 4.267vw;
	}

	.sp-menu .btn {
		width: 80vw;
		height: 16vw;
		background: #366CBE;
		margin: 0 auto;
		display: flex;
		justify-content: center;
		align-items: center;
		letter-spacing: 0.08em;
		font-weight: bold;
		color: white;
	}
 }