@charset "utf-8";
/*--------------------------------------------------------------------------
	file: style.css
	layout
---------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700|M+PLUS+Rounded+1c:700&display=swap&subset=japanese');

/*--------------------------------------------------------------------------
	html
---------------------------------------------------------------------------*/
html {
	overflow-x: hidden;
	overflow-y: scroll;
}

/*--------------------------------------------------------------------------
	body
---------------------------------------------------------------------------*/
body {
	color: #1a1a1a;
	font-family: Lato,'Noto Sans JP', メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
	font-weight: 400;
	font-size: 1.0rem;
	line-height: 1.5;
	overflow: hidden;
	text-size-adjust: 100%;
}
.rounded-1c {
	font-family: 'M PLUS Rounded 1c', sans-serif;
}

*, ::before, ::after {
	box-sizing: border-box;
}

a {
	color: #00214d;
	text-decoration: none;
	transition: color 0.2s ease-in-out;
}
a:hover {
	color: #034294;
}

.container {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 15px;
}

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

/*--------------------------------------------------------------------------
	header style
---------------------------------------------------------------------------*/
.header {
	background: #fff;
	padding: 2.5rem 0 2.375rem;
}

/* logo */
.logo-wrap {
	text-align: center;
}
.logo {
	font-size: 1.5rem;
	margin: 0;
}
.logo img {
	display: inline-block;
	margin-right: 0.5rem;
	padding-bottom: 0.5rem;
	vertical-align: middle;
}

/* menu-btn */
.menu-btn {
	display: none;
}

/* nav */
.nav-wrap {
	margin: 2.5rem auto 0;
}
.nav {
	list-style: none;
	padding-left: 0;
	width: 100%;
	font-size: 0;
}
.nav-item {
	position: relative;
	display: inline-block;
	width: calc(100% / 6);
	text-align: center;
}
.nav-item:not(:last-of-type)::after {
	content: '';
	position: absolute;
	display: block;
	background: #ccc;
	width: 1px;
	height: 20px;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
.nav-item a {
	color: #1a1a1a;
	display: block;
	font-size: 1.0rem;
}
.nav-item a:hover {
	color: #163b6b;
}
.nav-item.active a {
	color: #163b6b;
}
.nav-item a .small {
	color: #00214d;
	display: block;
	font-size: 0.6875rem;
}
.nav-item a:hover .small {
	color: #163b6b;
}
.nav-item.active a .small {
	color: #163b6b;
}

/*--------------------------------------------------------------------------
	content style
---------------------------------------------------------------------------*/
.content-wrap {
	margin-bottom: 3.0rem;
}
.section-ttl {
	color: #00214d;
	font-size: 1.75rem;
	margin: 1.0rem auto 1.5rem;
	text-align: center;
}
.label-new {
	background: #fdc92f;
	border-radius: 0.125rem;
	color: #00214d;
	font-size: 0.8125rem;
	margin-left: 0.5rem;
	padding: 0.3125rem 0.875rem;
}
.icon-qr {
	display: block;
	width: 66px;
	height: auto;
	margin: 0.5rem auto 0;
}

/*--------------------------------------------------------------------------
	footer style
---------------------------------------------------------------------------*/
.footer {
	position: relative;
}
/* pagetop */
.pagetop {
	display: inline-block;
	position: absolute;
	bottom: 2.0rem;
	right: -2.5rem;
	width: 2.5rem;
	height: 2.5rem;
	z-index: 10;
	transition: right 0.3s ease-in-out;
}
.pagetop .fas {
	opacity: 0.8;
	color: #fad053;
	font-size: 2.5rem;
	transition: opacity 0.3s ease-in-out;
}
.pagetop .fas:hover {
	opacity: 1;
	color: #fdc92f;
}
/* footernav-wrap */
.footernav-wrap {
	clear: both;
	background: #f6f6ff;
	padding: 0.5rem 0 1.0rem;
}
.footernav {
	font-size: 0;
	display: inline-block;
	list-style: none;
	margin: 0;
	padding-top: 0.25rem;
	padding-left: 0;
}
.footernav-item {
	display: inline-block;
	position: relative;
}
.footernav-item:not(:last-of-type)::after {
	content: '';
	position: absolute;
	display: block;
	background: #ccc;
	width: 1px;
	height: 20px;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
.footernav-item a {
	font-size: 0.875rem;
	padding: 0 1.125rem;
}
.snsnav {
	font-size: 0;
	display: block;
	float: right;
	list-style: none;
	width: 15rem;
	margin: 0 0 0 auto;
	padding-left: 0;
}
.snsnav-item {
	display: inline-block;
	position: relative;
	vertical-align: middle;
}
.snsnav-item a {
	line-height: 1;
	padding: 0 1.0rem;
}
.snsnav-item a i {
	font-size: 2.0rem;
}
.fa-twitter-square {
	color: #55acee;
}
.fa-facebook-square {
	color: #3b5998;
}
.fa-line {
	color: #00c300;
}

.insta_btn .insta {
	position: relative;
	display: inline-block;
	top: 0.125rem;
	width: 1.875rem;
	height: 1.875rem;
	background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
	background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
	overflow: hidden;
	text-align: center;
	border-radius: 8px;
}

.insta_btn .insta:before {
	content: '';
	position: absolute;
	top: 0.9375rem;
	left: -1.625rem;
	width: 60px;
	height: 60px;
	background: -webkit-radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
	background: radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
}

.insta_btn .fa-instagram {
	color: #f6f6ff;
	position: relative;
	z-index: 2;
	font-size: 1.625rem;
	line-height: 1.875rem;
}

/* IE用 */
_:-ms-input-placeholder, :root .insta_btn .insta {
	top: 0.0625rem;
}

.line-wrap {
	position: relative;
	top: 0.125rem;
	padding: 0 0 0 1.0rem;
}

/* IE用 */
_:-ms-input-placeholder, :root .line-wrap {
	top: 0.0625rem;
}

/* footer-wrap */
.footer-wrap {
	background: #00214d;
	color: #ddd;
	padding: 2.0rem 0 0.75rem;
}
.footer-wrap .logo {
	color: #fff;
}
.footer-address {
	font-style: normal;
	text-align: center;
}
.footer-address ul {
	list-style: none;
	font-size: 0.75rem;
	margin: 2.0rem auto;
	padding-left: 0;
}
.footer-address ul li {
	display: inline-block;
	padding: 0 0.75rem;
	border-right: 1px solid #ccc;
}
.footer-address ul li:last-of-type {
	border-right-width: 0;
}
.copyright {
	font-size: 0.6875rem;
	text-align: center;
	margin: 0 auto;
	padding-bottom: 1.0rem;
}
.copyright small {
	font-size: 0.625rem;
}

@media screen and (max-width: 991px) {
	/*--------------------------------------------------------------------------
		画面幅 991px以下
		layout
	---------------------------------------------------------------------------*/
	.container {
		max-width: 960px;
	}

	.hidden-pc-lg {
		display: inline-block;
	}

	/*--------------------------------------------------------------------------
		header style
	---------------------------------------------------------------------------*/
	.nav-item a {
		font-size: 0.875rem;
	}

	/*--------------------------------------------------------------------------
		footer style
	---------------------------------------------------------------------------*/
	/* footernav-wrap */
	.footernav-item a {
		font-size: 0.75rem;
		padding: 0 0.875rem;
	}
	.snsnav {
		width: 13rem;
	}
	.snsnav-item a {
		padding: 0 0.75rem;
	}
	.line-wrap {
		padding: 0 0 0 0.75rem;
	}
}

@media screen and (min-width: 768px) {
	/*--------------------------------------------------------------------------
	画面幅 768px以上
	IE用 nav-item
	---------------------------------------------------------------------------*/
	_:-ms-input-placeholder, :root .nav-item {
		width: 16.7%;
	}
	_:-ms-input-placeholder, :root .nav-item:nth-last-of-type(3),
	_:-ms-input-placeholder, :root .nav-item:nth-last-of-type(4) {
		width: 16.6%;
	}

	/*--------------------------------------------------------------------------
	Edge用 nav-item
	---------------------------------------------------------------------------*/
	@supports (-ms-ime-align: auto) {
		.nav-item {
			width: 16.7%;
		}
		.nav-item:nth-last-of-type(3),
		.nav-item:nth-last-of-type(4) {
			width: 16.6%;
		}
	}
}

@media screen and (max-width: 767px) {
	/*--------------------------------------------------------------------------
	画面幅 767px以下
	layout
	---------------------------------------------------------------------------*/
	.container {
		max-width: 720px;
	}

	/*--------------------------------------------------------------------------
		header style
	---------------------------------------------------------------------------*/
	.header {
		padding: 1.5rem 0;
	}
	/* menu-btn */
	.menu-btn {
		display: block;
		padding-top: 25px;
		color: #282353;
		font-size: 11px;
		text-align: center;
		text-decoration: none;
		position: absolute;
		right: 10px;
		top: 25px;
		cursor: pointer;
		width: 35px;
		height: 15px;
		z-index: 1001;
	}
	.menu-btn span:not(.menu-text),
	.menu-btn span::after,
	.menu-btn span::before {
		display: block;
		position: absolute;
		width: 35px;
		height: 2px;
		background-color: #282353;
		z-index: 0;
	}
	.menu-btn span:not(.menu-text) {
		left: 48%;
		top: 50%;
		bottom: auto;
		right: auto;
		-webkit-transform: translateX(-50%) translateY(-50%);
		transform: translateX(-50%) translateY(-50%);
		-webkit-transition: background-color 0.2s;
		transition: background-color 0.2s;
	}
	.menu-btn span:not(.menu-text)::after,
	.menu-btn span:not(.menu-text)::before {
		content: '';
		top: 0;
		left: 0;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		-webkit-transition: -webkit-transform 0.3s;
		transition: transform 0.3s;
	}
	.menu-btn span::before {
		-webkit-transform: translateY(-8px);
		transform: translateY(-8px);
	}
	.menu-btn span::after {
		-webkit-transform: translateY(8px);
		transform: translateY(8px);
	}
	.open .menu-btn span {
		background-color: transparent;
	}
	.open .menu-btn span::before {
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
	}
	.open .menu-btn span::after {
		-webkit-transform: rotate(-315deg);
		transform: rotate(-315deg);
	}

	/* nav */
	.nav-wrap {
		margin: 0 auto;
		position: relative;
		width: 100vw;
		margin-left: calc(50% - 50vw);
		padding: 0;
	}
	.nav {
		background: rgba(255, 255, 255, 0.9);
		position: absolute;
		width: 100vw;
		height: calc(100vh - 60px);
		top: 20px;
		right: -150%;
		z-index: 100;
		transition: right 0.3s ease-in-out, height 0.3s ease-in-out, opacity 0.5s ease-in-out;
	}
	.header.open .nav {
		right: 0;
	}
	.nav-item {
		display: block;
		width: 100%;
	}
	.nav-item:not(:last-of-type)::after {
		display: none;
	}
	.nav-item + .nav-item {
		border-top: 1px solid #ccc;
	}
	.nav-item a {
		font-size: 1.0rem;
		padding: 0.75rem 0;
	}

	/*--------------------------------------------------------------------------
		content style
	---------------------------------------------------------------------------*/
	.section-ttl {
		font-size: 1.5rem;
	}
	.label-new {
		font-size: 0.75rem;
	}
	.icon-qr {
		width: 60px;
	}

	/*--------------------------------------------------------------------------
		footer style
	---------------------------------------------------------------------------*/
	/* footernav-wrap */
	.footernav-wrap {
		padding-top: 0.75rem;
	}
	.footernav {
		display: none;
	}
	.footernav-item a {
		padding: 0 0.5rem;
	}
	.snsnav {
		float: none;
		text-align: center;
		width: 100%;
	}
	.snsnav-item a {
		padding: 0 1.0rem;
	}
	.snsnav-item:first-of-type a {
		padding-left: 0;
	}
	.line-wrap {
		padding: 0 0 0 1.0rem;
	}
	/* footer-address */
	.footer-address ul li {
		padding: 0 1.625rem;
	}
	.footer-address ul li:nth-of-type(3) {
		border-right-width: 0;
	}
	.footer-address ul li:last-of-type {
		padding-top: 0.5rem;
	}
}

@media screen and (max-width: 575px) {
	/*--------------------------------------------------------------------------
		画面幅 575px以下
		layout
	---------------------------------------------------------------------------*/
	.container {
		width: 100%;
	}

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

	/*--------------------------------------------------------------------------
		header style
	---------------------------------------------------------------------------*/
	.logo {
		font-size: 1.25rem;
	}
	.logo img {
		width: 30px;
		height: auto;
	}

	/*--------------------------------------------------------------------------
		content style
	---------------------------------------------------------------------------*/
	.label-new {
		font-size: 0.6875rem;
	}

	/*--------------------------------------------------------------------------
		footer style
	---------------------------------------------------------------------------*/
	/* footer-address */
	.footer-address ul li {
		display: block;
		padding: 0.75rem 0;
		border-right-width: 0;
		border-bottom: 1px solid rgba(51, 58, 90, 0.75);
	}
	.footer-address ul li:last-of-type {
		border-bottom-width: 0;
	}
	.footer-address ul li .tel {
		color: #f4aea8;
		font-size: 1.125rem;
		font-weight: bold;
	}
	.copyright small {
		display: block;
		margin-top: 0.25rem;
	}
}

@media screen and (max-width: 320px) {
	/*--------------------------------------------------------------------------
		画面幅 320px以下
		layout
	---------------------------------------------------------------------------*/
	.d-xs-none {
		display: none;
	}
	.d-xs-inline-block {
		display: inline-block;
	}

	/*--------------------------------------------------------------------------
		header style
	---------------------------------------------------------------------------*/
	/* logo */
	.header .logo-wrap {
		text-align: left;
	}
}