@charset "UTF-8";
/* CSS Document */
*{
	transition: all 0.1s ease;
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/Oswald-VariableFont_wght.woff2') format('woff2'),
		url('../fonts/Oswald-VariableFont_wght.woff') format('woff');
}
header{
	background: #fff;
}
footer{
	background: #fafafa;
	border-bottom: 10px solid #008bd5;
}
.wrap{
	padding: 0 6%;
}
.in-wrap{
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
a{
	text-decoration: none;
	color:#555;
}
.inner{
	width: 100%;
}
figure{
	overflow: hidden;
}
figure img{
	width: 100%;
}
header .inner,
footer .inner{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	position: relative;
}
.logo{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.logo a{
	display: block;
}
.kyokuto{
	width: 185px;
	margin-right: 20px;
}
.hhtg{
	width: 100px;
}
.breadcrumbs{
	background: #e6e6e6;
	padding: 1rem 0;
}
.breadcrumbs ul{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.breadcrumbs ul li:not(:last-child)::after{
	content: "＞";
	margin: 0 1rem;
}
.contents-header{
	text-align: center;
	position: relative;
	width: 100%;
	height: 150px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	background: radial-gradient(#cce0f4 0%, #1e9cd7 50%, #0075be 85%,#005b97 100%);
}
.contents-header h1{
	z-index: 1;
	color:#333;
	font-size: 3rem;
}
.contents-header h1 span{
	font-family: 'Oswald', sans-serif;
	font-size: 60%;
	letter-spacing: 0.5rem;
	display: block;
	margin-top: 1rem;
	font-weight: 300;
}
.contents-header-line{
	position: absolute;
	width: 100%;
	height: 100%;
	background-image: url("../img/common/contents-header.png");
	background-size: cover;
	background-position: center center;
	mix-blend-mode:overlay;
	z-index: 0;
}
.contents{
	padding: 60px 0;
}
@media only screen and (min-width: 845px){
	.nav_list{
		display: flex;
		flex-wrap: wrap;
		height: 80px;
	}
	.nav_list li{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		height: 100%;
	}
	.nav_list li a{
		padding: 20px;
	}
	header .nav_list li:last-child{
		background: #008bd5;
		margin-left: 20px;
	}
	header .nav_list li:last-child:hover{
		background: #047db2;
	}
	header .nav_list li:last-child a{
		color: #fff;
	}
	header .nav_list li:last-child a::before{
		content: "";
		display: inline-block;
		width: 1.3rem;
		height: 1.3rem;
		background: url("../img/common/icon_mail.svg");
		margin-right: 5px;
	}
	footer .inner{
		border-bottom: 1px solid #ccc;
	}
	footer .speciso{
		padding: 25px 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	footer .spec a{
		text-decoration: underline;
		display: block;
		padding: 20px 0;
	}
	footer .iso{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 200px;
	}
	footer .iso figure{
		width: 47%;
	}
}
@media only screen and (max-width: 844px){
	header{
		position: fixed;
		z-index: 1;
		width: 100%;
	}
	main{
		padding-top: 60px;
	}
	header .inner{
		height: 60px;
	}
	header .kyokuto{
		width: 160px;
		margin-right: 20px;
	}
	header .hhtg{
		width: 80px;
	}
	footer .logo{
		width:70%;
		margin-right: 0;
		margin-bottom: 10px;
		display: block;
		margin: 0 auto;
	}

	footer .kyokuto{
		width:100%;
		margin-right: 0;
		display: block;
		margin: 0 auto;
	}
	footer .hhtg{
		display: block;
		width: 70%;
		margin: 10px auto 0;
	}
	.nav {
		position: fixed;
		right: -200px;
		top: 60px;
		width: 200px;
		height: 100vh;
		background-color: #fff;
		transition: all .6s;
		z-index: 200;
		overflow-y: auto;
	}
	.hamburger {
		position: absolute;
		right: 6%;
		top: 8px;
		width: 40px;
		height: 40px;
		cursor: pointer;
		z-index: 300;
	}
	.nav_list {
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.nav_item {
		text-align: center;
		padding: 0 14px;
	}
	.nav_item a {
		display: block;
		padding: 16px 0;
		border-bottom: 1px solid #eee;
		text-decoration: none;
	}
	.nav_item a:hover {
		background-color: #eee;
	}
	.nav_item:last-child a {
		background: #008bd5;
		color: #fff;
		border-radius: 5px;
		border:none;
		margin-top: 20px;
	}
	.nav_list li:last-child a::before{
		content: "";
		display: inline-block;
		width: 1.3rem;
		height: 1.3rem;
		background: url("../img/common/icon_mail.svg");
		margin-right: 5px;
	}
	.hamburger_border {
		position: absolute;
		left: 2px;
		width: 36px;
		height: 2px;
		background-color: #555;
		transition: all .6s;
	}
	.hamburger_border_top {
		top: 14px;
	}
	.hamburger_border_center {
		top: 20px;
	}
	.hamburger_border_bottom {
		top: 26px;
	}
	/* 表示された時用のCSS */
	.nav-open .nav {
		right: 0;
	}
	.nav-open .hamburger_border_top {
		transform: rotate(45deg);
		top: 20px;
	}
	.nav-open .hamburger_border_center {
		width: 0;
		left: 50%;
	}
	.nav-open .hamburger_border_bottom {
		transform: rotate(-45deg);
		top: 20px;
	}
	.in-wrap{
		max-width: 100%;
	}
	.breadcrumbs{
		font-size: 1.2rem;
	}
	.contents-header{
		height: 80px;
	}
	.contents-header h1{
		font-size: 2rem;
	}
	.contents-header h1 span{
		margin-top: 0.5rem;
	}
	.contents{
		padding: 40px 0;
	}
	footer{
		padding-top: 1.2rem;
	}
	footer .speciso{
		padding: 25px 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		font-size: 1.2rem;
	}
	footer .spec{
		order: 2;
		padding-top: 20px;
	}
	footer .spec a{
		text-decoration: underline;
		display: block;
		padding: 20px 0;
	}
	footer .iso{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 70%;
		margin: 0 auto;
		order: 1;
	}
	footer .iso figure{
		width: 47%;
	}
	.sp_none{
		display: none;
	}
}