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

body {
	width: 100vw;
	font-family: 'Noto Sans JP', sans-serif;
	color: #363738;	
}

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

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

.red {
	color:#E50012;
}

.blue {
	color: #002A88;
}

.bold {
	font-weight: bold;
}

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

a {
	text-decoration: none;
}

header.header {
	height: 7.813vw;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
	background: rgba(255,255,255,0.8);
	width: 100vw;
}

header.header .logo_wrapper {
	height: 7.813vw;
	padding-left: 8.563vw;
	padding-right: 8.312vw;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

header.header .logo_wrapper .logo {
	width: 23.332vw;
	height: 2.178vw;
}

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


header.header .logo_wrapper ul.nav {
	list-style: none;
	display: flex;
	width: 34.94vw;
	justify-content: space-between;
	align-items: center;
	font-size: 1.063vw;
	font-weight: 500;
	color:#363738;
}

header.header .logo_wrapper ul.nav a {
	color: #363738;
}

footer.footer {
	width: 100vw;
	color: #151515;
	height: 24.188vw;
}

footer.footer .wrapper {
	background: rgba(25, 155, 2, 0.25);
	height: 20.125vw;
	position: relative;
}

footer.footer .logo {

	width: 23.33vw;
	height: 2.178vw;
	position: absolute;
	top: 4.85vw;
	left: 15vw;
}

footer.footer .info {
	font-size: 1vw;
	font-weight: 500;
	line-height: 1.625;
	position: absolute;
	top: 9.463vw;
	left: 15vw;
}

footer.footer .link-row {
	margin-top: 0;
	width: 25.898vw;
	display: flex;
	justify-content: space-between;
	position: absolute;
	top: 4.5vw;
	left: 59.1vw
}

footer.footer .digicert {
	position: absolute;
    content: "";
    bottom: 0;
    left: -45%;
    width: 30%;
}

footer.footer .digicert img {
	width: 100%!important;
}

footer.footer .link {
	font-size: 1vw;
	line-height: 1.5;
	list-style: none;
	letter-spacing: 0.06em;
}

footer.footer .link > li:not(:first-child) {
	margin-top: 1vw;
}

footer.footer .company-link {
	margin-top: 0.475vw;
	list-style: none;
}

footer.footer .company-link > li {
	margin-top: 0.313vw;
	font-size: 0.875vw;
	margin-left: 0.5vw;;
}

footer.footer .company-link .fa-solid {
	font-size: 0.625vw;
}

footer.footer .link a {
	color: #151515;
}

footer.footer .copyright {
	height: 4.063vw;
	background: #199B02;
	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: 1vw;
	background: white;
	width: 4.063vw;
	height: 4.063vw;
	position: absolute;
	top: 0;
	right: 5vw;
	color: white;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #199B02;
}

div#fixed-header {
	height: 6.25vw;
	width: 100vw;
	background: white;
	opacity: 0;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	display: none;
	transition: all 1s;
}

div#fixed-header.appear {
	display: block;
	opacity: 0.8;
	z-index: 10;
}

div#fixed-header.appear .logo_wrapper {
	height: 6.813vw;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-left: 6.069vw;
	padding-right: 5vw;
}

div#fixed-header .logo_wrapper .logo {
	width: 19.556vw;
	height: 2.811vw;
}

div#fixed-header .logo_wrapper ul.nav {
	list-style: none;
	display: flex;
	width: 60vw;
	justify-content: space-between;
	align-items: center;
	font-size: 1.3vw;
	font-weight: 500;
	color:#363738;
}

div#fixed-header .logo_wrapper ul.nav a {
	color: #363738;
}

main {
	padding-top: 7.813vw;
}

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

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

section#fv-head .en {
	color: rgba(0, 42, 136);
	opacity: 0.1;
	font-size: 8.75vw;
	position: absolute;
	top: 0;
	left: 0;
	letter-spacing: 0.02em;
	font-weight: bold;
}

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: 2.938vw;
	font-size: 1.75vw;
	font-weight: bold;
	letter-spacing: 0.3em;
}

section#main h3 {
	height: 2.5vw;
	font-size: 1.625vw;
	font-weight: bold;
	border-left: 12px solid #082D83;
	padding-left: 1.125vw;
	color: #002A88;
}

.sp-menu {
	display: none;
}

@media screen and (max-width: 780px) {
	.pc {
		display: none;
	 }
	 
	 .sp {
		display: block;
	 }
 
	 html {
		 scroll-behavior: smooth;
		 scroll-padding-top: 13.333vw;
		 overflow-x: hidden;
	 }
	 
	 body {
		 width: 100vw;
		 font-family: 'Noto Sans JP', sans-serif;
		 padding-top: 10.667vw;
		 overflow-x: hidden;
	 }
 
	 main {
		 padding-top: 0;
	 }
	 
	 header.header {
		 position: fixed;
		 top: 0;
		 left: 0;
		 height: 10.667vw;
		 z-index: 10;
		 background: rgba(255,255,255,0.8);
		 width: 100vw;
		 padding-top: 0;
		 padding-left: 0;

	 }
	 
	 header.header .logo_wrapper {
		 width: 100vw;
		 display: flex;
		 justify-content: space-between;
		 align-items: center;
		 padding-top: 0;
		 padding-left: 5.333vw;
		 padding-right: 5.333vw;
		 height: 10.667vw;
	 }
	 
	 header.header .logo_wrapper .logo {
		 height: 5.867vw;
		 width: 56.8vw;
	 }
 
	 header.header .logo_wrapper ul.nav {
		 display: none;
	 }
	 
	 header.header .hamburger-btn {
		 display: block;
		 margin-left: 26.667vw;
		 font-size: 10.667vw;
		 line-height: 1;
		 display: flex;
		 align-items: center;
		 margin-top: 0;
		 cursor: pointer;
	 }
	 
	 footer.footer {
		height: 213.333vw;
	 }
	 
	 footer.footer .wrapper {
		height: 202.667vw;
	 }
	 
	 footer.footer .logo {
		 width: 80vw;
		 height: 7.467vw;
		 position: absolute;
		 top: 13.33vw;
		 left: 5.33vw;
	 }	
	 
	 footer.footer .info {
		position: absolute;
		top: 29.33vw;
		left: 5.33vw;
		 font-weight: 500;
		 line-height: 1.625;
		 font-size: 4.8vw;
	 }
 
	 footer.footer .link-row {
		position: absolute; 
		top: 53.33vw;
		left: 5.33vw;
		 display: flex;
		 justify-content: space-between;
		 flex-direction: column;
		 width: 100%;
	 }

	 footer.footer .digicert {
		position: absolute;
		content: "";
		bottom: 0;
		left: auto;
		right: 10%;
		width: 30%;
	}
 
	 footer.footer .link {
		 line-height: 1.5;
		 list-style: none;
		 letter-spacing: 0.06em;
 
		 margin-top: 5.333vw;
		 font-size: 5.333vw;
	 }
 
	 footer.footer .link > li:not(:first-child) {
		 margin-top: 5.333vw;
	 }
 
	 footer.footer .company-link {
		 margin-top: 5.333vw;
		 list-style: none;
	 }
 
	 footer.footer .company-link > li {
		 margin-top: 4.267vw;
		 margin-left: 5.333vw;
		 font-size: 4.267vw;
	 }
 
	 footer.footer .company-link .fa-solid {
		 font-size: 3.2vw;
	 }
	 
	 footer.footer .copyright {
		 height: 4.063vw;
		 background: #199B02;
		 padding-top: 1.313vw;
		 position: relative;
		 padding-top: 3vw;
		 height: 10vw;
	 }
	 
	 footer.footer .copyright .text {
		 color: white;
		 font-size: 2vw;
		 padding-left: 2.667vw;
		 text-align: left;
	 }
	 
	 footer.footer .copyright .up-scroll {
		 z-index: 10;
		 background: white;
		 position: absolute;
		 top: 0;
		 right: 5vw;
		 color: #199B02;
		 display: flex;
		 justify-content: center;
		 align-items: center;
		 width: 10vw;
		 height: 10vw;
		 font-size: 3vw;
	 }
	 
	 div#fixed-header {
		 display: none;
	 }
	 
	 section#fv-head {
		 height: 10vw;
		 padding-top: 1.6vw;
		 padding-left: 15vw;
		 background-image: url('../image/common/h1-bg-sp.png');
		 background-size: contain;
		 position: relative;
		 overflow-y: hidden;
 
		 padding-left: 5.333vw;
		 padding-top: 4.267vw;
		 height: 21.333vw;
 
	 }
	 
	 section#fv-head h1{
		 color: white;
		 font-weight: bold;
		 letter-spacing: 0.1em;
		 font-size: 8vw;
	 }
	 
	 section#fv-head .en {
		 color: #002A88;
		 opacity: 0.1;
		 font-size: 8.75vw;
		 position: absolute;
		 top: 4.267vw;;
		 left: 0;
		 letter-spacing: 0.02em;
		 font-weight: 500;
	 }
	 
	 section#main div.wrap {
		 width: 89.3vw;
		 margin: 0 auto 0;
	 }
	 
	 section#main .breadcrumb {
		 font-size: 0.75vw;
		 letter-spacing: 0.01em;
		 color: #363738;
 
		 font-size: 4.267vw;
	 }
	 
	 section#main .breadcrumb a {
		 color: #363738;
	 }
	 
	 section#main h2 {
		 background-image: url('../image/common/h2-bg-sp.png');
		 background-size: contain;
		 color: white;
		 font-weight: bold;
		 letter-spacing: 0.1em;
		 width: 100%;
		 font-size: 5.333vw;
		 padding-left: 5.333vw;
		 text-align: left;
		 padding-top: 1.333vw;
		 height: 10.667vw;
	 }
	 
	 section#main h3 {
		 height: 2.5vw;
		 font-size: 1.625vw;
		 font-weight: bold;
		 border-left: 12px solid #082D83;
		 padding-left: 1.125vw;
		 color: #002A88;
 
		 font-size: 4vw;
		 height: 6vw;
		 padding-left: 2vw;
	 }
 
 
	 .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;
	 }
 }