@charset "utf-8";

/* PC、SP表示切り替え
------------------------------------------------------------------------------------ */
.dNoSp {
	display: block;
}
.dNoPc {
	display: none;
}


/* header
------------------------------------------------------------------------------------ */
header {
	position: fixed;
	left: 0;
	top: 25px;
	width: 100%;
	z-index: 3;
}
header div#headerInenr {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding:0 30px;
}
header div#headerInenr h1 {
	width: 280px;
}
header div#headerInenr h1 a {
	transition: all 0.3s ease;
}
header div#headerInenr h1 a:hover {
	opacity: 0.8;
}
header div#headerInenr nav {
	display: flex;
}
header div#headerInenr nav ul {
	display: flex;
	line-height: 100%;
	margin-right:20px;
	padding:20px 40px;
	background-color: #FFF;
	border-radius:40px;
	filter: drop-shadow(0 0 4px rgb(0,0,0,0.1));
}
header div#headerInenr nav ul li {
	margin-right:30px;
}
header div#headerInenr nav ul li:last-child {
	margin-right:0;
}
header div#headerInenr nav ul li a {
	position:relative;
	color:#333;
	font-weight:700;
	text-decoration:none;
}
header div#headerInenr nav ul li a:before {
	display: block;
	content: '';
	position: absolute;
	left: 50%;
	bottom: -3px;
	width: 0;
	height: 1px;
	background-color: #2297a9;
	transform: translateX(-50%);
	transition: all 0.3s ease;
}
header div#headerInenr nav ul li a:hover:before {
	width: 100%;
}
header div#headerInenr nav p {
	filter: drop-shadow(0 0 4px rgb(0,0,0,0.1));
}
header div#headerInenr nav p a {
	display: block;
	color:#FFF;
	line-height: 100%;
	font-weight:700;
	text-decoration:none;
	padding:20px 30px;
	background-color: #2297a9;
	border-radius:40px;
	transition: all 0.3s ease;
}
header div#headerInenr nav p a:hover {
	background-color: #09639a;
}
header div#headerInenr nav p a i {
	font-size: 1rem;
	line-height: 100%;
	margin-right: 8px;
}


/* ハンバーガーメニュー
------------------------------------------------------------------------------------ */
.hamburger {
	display : block;
	position: fixed;
	right: 0;
	top: 0;
	width: 54px;
	height: 54px;
	cursor: pointer;
	text-align: center;
	z-index: 999;
	background-color: #2297a9;
	transition: all 0.3s ease;
}
.hamburger span {
	display : block;
	position: absolute;
	left: 50%;
	top: 11px;
	width: 0;
	height: 0;
	background-color: #FFF;
	transition: 0.3s ease-in-out;
}
.hamburger span:before,
.hamburger span:after {
	display : block;
	position: absolute;
	width: 24px;
	height: 2px;
	background-color: #FFF;
	transition: 0.3s ease-in-out;
}
.hamburger span:before {
	content: "";
	left: 0;
	top: 10px;
	transform: translateX(-50%);
}
.hamburger span:after {
	content: "";
	left: 0;
	top: 20px;
	transform: translateX(-50%);
}
/* ナビ開いてる時のボタン */
.hamburger.active {
	background-color: #FFF;
	transition: all 0.3s ease-in-out;
}
.hamburger.active span {
	background : #2297a9;
}
.hamburger.active span {
	width: 0px;
}
.hamburger.active span:before,
.hamburger.active span:after {
	left: 50%;
	top: calc(50% + 15px);
	width: 30px;
	background: #2297a9;
}
.hamburger.active span:before {
	transform: translateX(-50%) rotate(45deg);
}
.hamburger.active span:after {
	transform: translateX(-50%) rotate(-45deg);
}

div#gnavWrapper nav {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	min-height: 100vh;
	background-color:#09639a;
	text-align: left;
	z-index: 998;
	overflow: auto;
	box-sizing: border-box;
	transition: all 0.5s;
	opacity: 0;
	visibility: hidden;
}
div#gnavWrapper nav div#gnavWrapperInner {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 80%;
	box-sizing: border-box;
	transform: translate(-50%,-50%);
	transition: all 0.5s;
	opacity: 0;
	visibility: hidden;
}
div#gnavWrapper nav div h2 {
	width: 360px;
}
div#gnavWrapper nav div h2 a {
	transition: all 0.3s ease;
}
div#gnavWrapper nav div h2 a:hover {
	opacity: 0.8;
}
div#gnavWrapper nav div div#gnav {
}
div#gnavWrapper nav div div#gnav ul {
	margin-top:50px;
}
div#gnavWrapper nav div div#gnav ul li {
	margin-top:30px;
}
div#gnavWrapper nav div div#gnav ul li#gnavContact {
	margin-top:50px;
}
div#gnavWrapper nav div div#gnav ul li:first-child {
	margin-top:0;
}
div#gnavWrapper nav div div#gnav ul li a {
	position:relative;
	font-family: "BIZ UDPGothic", sans-serif;
	color:#FFF;
	font-size: 2.25rem;
	line-height: 100%;
	font-weight: 700;
	letter-spacing: 0;
	text-decoration:none;
}
div#gnavWrapper nav div div#gnav ul li a:before {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	bottom: -33px;
	width: 0;
	height: 1px;
	background-color: #FFF;
	transition: all 0.3s ease;
}
div#gnavWrapper nav div div#gnav ul li a:hover:before {
	width: 100%;
}
div#gnavWrapper nav div div#gnav ul li a span {
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	line-height: 100%;
	letter-spacing: 0.085rem;
	margin-top:5px;
}
div#gnavWrapper nav div div#gnav ul li#gnavContact a {
	display: block;
	font-size: 1.25rem;
	line-height: 100%;
	font-weight:700;
	text-decoration:none;
	width:100%;
	max-width:360px;
	padding:25px 35px;
	background-color: #2297a9;
	border-radius:40px;
	box-sizing: border-box;
	transition: all 0.3s ease;
}
div#gnavWrapper nav div div#gnav ul li#gnavContact a:before {
	display: none;
}
div#gnavWrapper nav div div#gnav ul li#gnavContact a i {
	position: relative;
	top: -1px;
	font-size: 1.25rem;
	line-height: 100%;
	margin-right: 10px;
}

/* このクラスを、jQueryで付与・削除する */
body.active div#gnavWrapper nav,
body.active div#gnavWrapper nav div#gnavWrapperInner {
	opacity: 1;
	visibility: visible;
}

/* ハンバーガーメニュー展開時に背景をスクロールさせない */
body.active {
	height: 100%;
	overflow: hidden;
}


/* headerスクロール後の変化
------------------------------------------------------------------------------------ */


/* contents
------------------------------------------------------------------------------------ */
div#contents {
	margin-top:calc((57px + 25px) + 50px);
}
section.bgColor {
	padding:200px 0;
	background-color: #f0f4f8;
}
div#contents div.sectionInner {
	width:90%;
	margin:0 auto;
}


/* footer
------------------------------------------------------------------------------------ */
footer {
	margin-top:200px;
	padding:100px 0;
	background-color:#09639a;
}
footer div#footerInner {
	width:90%;
	margin:0 auto;
}
footer div#footerInner div#footerTop {
	display: flex;
	justify-content: space-between;
	margin-bottom:30px;
	padding-bottom:80px;
	border-bottom: 1px solid #84b1cc;
}
footer div#footerInner div#footerTop div#footerTopLeft {
}
footer div#footerInner div#footerTop div#footerTopLeft h2 {
	width: 280px;
}
footer div#footerInner div#footerTop div#footerTopLeft h2 a {
	transition: all 0.3s ease;
}
footer div#footerInner div#footerTop div#footerTopLeft h2 a:hover {
	opacity: 0.8;
}
footer div#footerInner div#footerTop div#footerTopLeft p {
	color:#FFF;
	margin-top:30px;
}
footer div#footerInner div#footerTop div#footerTopRight {
}
footer div#footerInner div#footerTop div#footerTopRight nav {
	display: flex;
}
footer div#footerInner div#footerTop div#footerTopRight nav ul {
	line-height: 100%;
}
footer div#footerInner div#footerTop div#footerTopRight nav ul:first-child {
	margin-right:100px;
}
footer div#footerInner div#footerTop div#footerTopRight nav ul li {
	margin-top:25px;
}
footer div#footerInner div#footerTop div#footerTopRight nav ul li:first-child {
	margin-top:0;
}
footer div#footerInner div#footerTop div#footerTopRight nav ul li a {
	position:relative;
	color:#FFF;
	font-weight:700;
	text-decoration:none;
}
footer div#footerInner div#footerTop div#footerTopRight nav ul li a:before {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	bottom: -5px;
	width: 0;
	height: 1px;
	background-color: #FFF;
	transition: all 0.3s ease;
}
footer div#footerInner div#footerTop div#footerTopRight nav ul li a:hover:before {
	width: 100%;
}

footer div#footerInner div#footerBottom {
	display: flex;
	justify-content: space-between;
}
footer div#footerInner div#footerBottom div#footerBottomLeft {
}
footer div#footerInner div#footerBottom div#footerBottomLeft p {
	font-size: 0.875rem;
	line-height: 100%;
}
footer div#footerInner div#footerBottom div#footerBottomLeft p a {
	position:relative;
	color:#FFF;
	text-decoration:none;
}
footer div#footerInner div#footerBottom div#footerBottomLeft p a:before {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	bottom: -5px;
	width: 0;
	height: 1px;
	background-color: #FFF;
	transition: all 0.3s ease;
}
footer div#footerInner div#footerBottom div#footerBottomLeft p a:hover:before {
	width: 100%;
}
footer div#footerInner div#footerBottom div#footerBottomRight {
}
footer div#footerInner div#footerBottom div#footerBottomRight p#copyright {
	color:#FFF;
	font-size: 0.875rem;
	line-height: 100%;
	letter-spacing: 0;
}


/* 共通パーツ
------------------------------------------------------------------------------------ */
.leadText {
	font-size: 1.25rem;
	line-height: 175%;
}

.pageTitle {
	font-family: "BIZ UDPGothic", sans-serif;
	color:#09639a;
	font-size: 4.25rem;
	line-height: 100%;
	font-weight: 700;
	letter-spacing: 0;
	margin-bottom:80px;
}
.pageTitle span {
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.375rem;
	line-height: 100%;
	font-weight: 700;
	letter-spacing: 0.085rem;
	margin-top:20px;
}
.title01 {
	font-size: 2.625rem;
	line-height: 150%;
	font-weight: 700;
	margin-bottom:50px;
}
.title02 {
	color:#09639a;
	font-size: 1.5rem;
	line-height: 150%;
	font-weight: 700;
	margin:50px 0 20px 0;
}
.title03 {
	font-size: 1.125rem;
	line-height: 150%;
	font-weight: 700;
	margin:30px 0 10px 0;
}

.linkBtn a {
	position: relative;
	display: block;
	width: auto;
	max-width: 360px;
	color: #333;
	font-family: "BIZ UDPGothic", sans-serif;
	font-size: 1.125rem;
	line-height: 100%;
	font-weight: 700;
	letter-spacing: 0;
	text-decoration:none;
	margin-top: 50px;
	padding: 30px 0;
	border-bottom:3px solid #000;
	transition: all 0.3s ease;
}
.linkBtn a:hover {
	color: #333;
}
.linkBtn a:before {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	bottom: -3px;
	width: 0;
	height: 3px;
	background-color: #2297a9;
	transition: all 0.3s ease;
}
.linkBtn a:hover:before {
	width: 100%;
}
.linkBtn a:after {
	position: absolute;
	top: 50%;
	right: 0;
	content: '\f061';
	font-family: fontAwesome;
	font-style: normal;
	color: #333;
	font-size: 1rem;
	line-height: 100%;
	transform: translateY(-50%);
}

.linkBtnS a {
	position: relative;
	display: block;
	width: auto;
	max-width: 320px;
	color: #FFF;
	font-weight: 700;
	text-decoration:none;
	margin: 30px auto 0 auto;
	padding: 20px;
	background-color: #2297a9;
	border-radius:40px;
	transition: all 0.3s ease;
}
.linkBtnS a:hover {
	color: #FFF;
	background-color: #09639a;
}
.linkBtnS a:after {
	position: absolute;
	top: 50%;
	right: 20px;
	content: '\f061';
	font-family: fontAwesome;
	font-style: normal;
	color: #FFF;
	font-size: 1rem;
	line-height: 100%;
	transform: translateY(-50%);
}

.table01 {
	border-collapse:collapse;
	border-spacing: 0;
}
.table01 tr th {
	text-align: left;
	white-space: nowrap;
	font-weight: normal;
	padding: 35px 30px 35px 0;
	border-bottom: 1px solid #999;
}
.table01 tr td {
	width: 100%;
	padding: 35px 0 35px 30px;
	border-bottom: 1px solid #EEE;
}



@media screen and (min-width:1281px) {
	/* ハンバーガーメニュー
	------------------------------------------------------------------------------------ */
	div#gnavWrapper {
		display : none;
	}
}



@media screen and (min-width:769px) and (max-width:1280px) {
	/* header
	------------------------------------------------------------------------------------ */
	header div#headerInenr nav {
		display: none;
	}

	/* contents
	------------------------------------------------------------------------------------ */
	section.bgColor {
		padding-top:150px;
		padding-bottom:150px;
	}

	/* footer
	------------------------------------------------------------------------------------ */
	footer {
		margin-top:150px;
	}
	footer div#footerInner div#footerTop {
		display: block;
	}
	footer div#footerInner div#footerTop div#footerTopLeft {
	}
	footer div#footerInner div#footerTop div#footerTopRight {
		margin-top:50px;
	}
	footer div#footerInner div#footerTop div#footerTopRight nav {
		display: block;
	}
	footer div#footerInner div#footerTop div#footerTopRight nav ul {
		display: flex;
	}
	footer div#footerInner div#footerTop div#footerTopRight nav ul:first-child {
		margin-right:0;
		margin-bottom:30px;
	}
	footer div#footerInner div#footerTop div#footerTopRight nav ul li {
		margin-top:0;
		margin-right:30px;
	}
}



@media screen and (max-width:768px) {
	/* header
	------------------------------------------------------------------------------------ */
	header {
		top: 10px;
	}
	header div#headerInenr {
		padding-left:20px;
		padding-right:20px;
	}
	header div#headerInenr h1 {
		width: 210px;
	}
	header div#headerInenr nav {
		display: none;
	}

	/* ハンバーガーメニュー
	------------------------------------------------------------------------------------ */
	div#gnavWrapper nav div h2 {
		width: 240px;
	}
	div#gnavWrapper nav div div#gnav ul {
		margin-top:30px;
	}
	div#gnavWrapper nav div div#gnav ul li {
		margin-top:25px;
	}
	div#gnavWrapper nav div div#gnav ul li a {
		font-size: 1.675rem;
		line-height: 100%;
	}
	div#gnavWrapper nav div div#gnav ul li a span {
		font-size: 0.875rem;
		line-height: 100%;
	}
	div#gnavWrapper nav div div#gnav ul li#gnavContact {
		margin-top:30px;
	}
	div#gnavWrapper nav div div#gnav ul li#gnavContact a {
		font-size: 1rem;
		line-height: 100%;
		padding:20px 30px;
	}
	div#gnavWrapper nav div div#gnav ul li#gnavContact a i {
		top: 0;
		font-size: 1rem;
		line-height: 100%;
		margin-right: 10px;
	}

	/* contents
	------------------------------------------------------------------------------------ */
	section.bgColor {
		padding-top:100px;
		padding-bottom:100px;
	}

	/* footer
	------------------------------------------------------------------------------------ */
	footer {
		margin-top:100px;
		padding-top:50px;
		padding-bottom:50px;
	}
	footer div#footerInner div#footerTop {
		display: block;
		margin-bottom:20px;
		padding-bottom:50px;
	}
	footer div#footerInner div#footerTop div#footerTopLeft {
	}
	footer div#footerInner div#footerTop div#footerTopLeft h2 {
		width: 210px;
	}
	footer div#footerInner div#footerTop div#footerTopLeft p {
		margin-top:20px;
	}
	footer div#footerInner div#footerTop div#footerTopRight {
		margin-top:30px;
	}
	footer div#footerInner div#footerTop div#footerTopRight nav {
		display: block;
	}
	footer div#footerInner div#footerTop div#footerTopRight nav ul {
		margin-top:20px;
	}
	footer div#footerInner div#footerTop div#footerTopRight nav ul:first-child {
		margin-top:0;
	}
	footer div#footerInner div#footerTop div#footerTopRight nav ul li {
		margin-top:20px;
	}
	footer div#footerInner div#footerBottom {
		display: block;
	}
	footer div#footerInner div#footerBottom div#footerBottomRight p#copyright {
		margin-top:20px;
		line-height: 150%;
	}

	/* 共通パーツ
	------------------------------------------------------------------------------------ */
	.leadText {
		font-size: 1.125rem;
		line-height: 175%;
	}
	.pageTitle {
		font-size: 2.5rem;
		line-height: 100%;
		margin-bottom:50px;
	}
	.pageTitle span {
		font-size: 0.875rem;
		line-height: 100%;
		margin-top:10px;
	}
	.title01 {
		font-size: 1.675rem;
		line-height: 150%;
		margin-bottom:30px;
	}
	.title02 {
		font-size: 1.25rem;
		line-height: 150%;
		margin-top:30px;
		margin-bottom:15px;
	}
	.title03 {
		font-size: 1rem;
		line-height: 150%;
		margin-top:20px;
	}

	.linkBtnS a {
		padding: 15px;
	}

	.table01 tr th {
		display: block;
		font-weight: 700;
		padding: 20px 0 0 0;
		border-bottom: none;
	}
	.table01 tr td {
		display: block;
		padding: 10px 0 20px 0;
		border-bottom: 1px solid #999;
		box-sizing: border-box;
	}
}
