@charset "UTF-8";


/*========================================

  Elements

========================================*/


body {
	font-family:"Noto Sans JP", sans-serif;
	font-weight:500;
	position:relative;
	min-width:1200px;
	margin:0;
	padding:0;
	color:#000;
	background:#fff;
	-webkit-overflow-scrolling:touch;
	        overflow-scrolling:touch;
	-webkit-text-size-adjust:100%;
}

html,
body {
	height:100%;
	min-width:auto;
}


p,
h1,
h2,
h3,
h4,
h5,
dt,
dd,
th,
td,
ul,
li {
	margin:0;
	padding:0;
	list-style:none;
}


p {
	line-height:2em;
}

/* Link ---------------*/
a {
	overflow:hidden;
	text-decoration:none;
	color:#26b;
}

a:visited {
	text-decoration:none;
	color:#26b;
}

a:hover {
	text-decoration:underline;
	color:#49b;
}

a:focus,
textarea:focus,
input:focus {
	border:none;
	outline:none;
}

img {
	vertical-align:bottom;
	border-style:none;
}

@media screen and (max-width: 767px) {
	img {
		max-width:100%;
		height:auto;
	}
}

.spblock {
	display:none !important;
}

.pcblock {
	display:block !important;
}

@media screen and (max-width: 767px) {
	.spblock {
		display:block !important;
	}

	.pcblock {
		display:none !important;
	}
}

.br_sp {
	display:none;
}

@media screen and (max-width: 767px) {
	.br_sp {
		display:inline;
	}
}



.overlay {
	display:none;
	width:100%;
	height:100%;
	background:rgba(0, 0, 0, .7);
	position:fixed;
	z-index:1000;
}

.btn_area {
	width:auto;
	height:auto;
	position:absolute;
	padding:50px 100px;
	box-sizing:border-box;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
	background:#fff;
	text-align:center;
	z-index:1002;
	border-radius:15px;
}

.btn_area p {
	line-height:1.8em;
	margin-top:1em;
	font-size:18px;
}

.btn_area p strong {
	display:inline-block;
	background:linear-gradient(transparent 75%, #fe0 60%);
	line-height:1;
	padding-bottom:.3em;
}


.btn_area p a {
	color:#004ea2;
	text-decoration:underline;
}

.btn_area .ttl {
	font-weight:bold;
	color:#004ea2;
	font-size:22px;
	margin-top:0;
}

.btn_area .ttl span {
	display:inline-block;
	background:linear-gradient(transparent 60%, #fe0 60%);
	line-height:1;
	padding-right:.2em;
	padding-left:.2em;
	padding-bottom:.3em;
}

.btn_area button {
	display:block;
	margin:0 auto;
	background:#004ea2;
	color:#fff;
	padding:.8em 2em;
	font-size:17px;
	font-weight:bold;
	border:none;
	border-radius:5px;
	transition:.3s;
	margin-top:2em;
}

.btn_area button:hover {
	opacity:.7;
}

@media screen and (max-width: 767px) {
	.btn_area {
		width:82%;
		padding:10vw 0;
		box-sizing:border-box;
		border-radius:10px;
	}

	.btn_area p {
		font-size:4.4vw;
	}

	.btn_area .ttl {
		font-size:6vw;
	}

	.btn_area button {
		font-size:4.4vw;
	}
}




/*========================================

  header

========================================*/
header .first {
	background-color:#004ea2;
	color:#fff;
	font-size:18px;
	font-weight:bold;
	padding:1em 0;
	text-align:center;
	line-height:1em;
}

header .first strong,
header .first a {
	color:#ff0;
}

header .first a {
	text-decoration:underline;
}

header .first a:hover {
	opacity:.7;
}

#page header .first,
#page header .btn {
	display:none;
}


@media screen and (max-width: 767px) {
	header .first {
		font-size:3.8vw;
		line-height:1.4em;
		padding:.7em 0;
	}
}

header .innr {
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:10px 50px;
}

header .innr img {
}

header .innr a {
	transition:.3s;
}

header .innr a:hover {
	opacity:.7;
}

@media screen and (max-width: 767px) {
	header .innr {
		width:100%;
		box-sizing:border-box;
		padding:2vw 2vw 2vw 4vw;
		align-items:flex-start;
	}

	header .innr img {
		width:35vw;
	}

	header .innr a.logo {
		display:block;
		margin-top:2vw;
	}

	header .innr a.btn img {
		width:57vw;
	}
}

/*========================================

  main

========================================*/

.acbox {
	display:inline-block;
	margin:0 auto;
	margin-top:30px;
	text-align:left;
	font-size:14px;
	color:#333;
}

.acbox dl dd ul {
	margin-top:.5em !important;
	margin-left:0 !important;
}

.acbox dl dd li {
	padding-left:1em;
	text-indent:-1em;
	margin-bottom:.5em;
}

.accordion-menu dt {
	text-align:center;
	font-size:18px;
	color:#333;
	cursor:pointer;
}

.accordion-menu dt span {
	border:1px solid #333;
	padding:.7em 1.5em;
}

.accordion-menu dt span::after {
	content:"\f107";
	font-family:FontAwesome;
	margin-left:.5em;
}

.accordion-menu dt.open span::after {
	content:"\f106";
}

.accordion-menu dd {
	display:none;
	margin-top:2em;
	text-align:left;
}


@media screen and (max-width: 767px) {
	.acbox {
		margin-top:5vw;
		width:86vw;
		font-size:3vw;
		padding-bottom:2vw;
	}

	.accordion-menu dt {
		font-size:3.5vw;
	}

	.acbox dl dd ul {
		width:100% !important;
	}
}

/*========================================

  footer

========================================*/

footer {
	text-align:center;
}

footer .innr {
	background-color:#004ea1;
	padding:20px 0;
}

footer .innr a {
	color:#fff;
	margin:0 20px;
}

footer img.logo {
	margin:30px 0;
	width:200px;
}

@media screen and (max-width: 767px) {
	footer .innr {
		padding:3vw 0;
	}

	footer .innr a {
		margin:0 3vw;
		font-size:3vw;
	}

	footer img.logo {
		margin:5vw 0;
		width:36vw;
	}
}



@keyframes anim {
	0% {
		transform:translateY(0px);
	}

	50% {
		transform:translateY(-8px);
	}

	100% {
		transform:translateY(0px);
	}
}


#bnrcam {
	position:fixed;
	bottom:5px;
	right:10px;
	z-index:10;
}

#bnrcam img {
	animation:anim 2s infinite;
	animation-delay:2s;
	transition:.3s;
}

#bnrcam img:hover {
	opacity:.7;
}

#bnrcam .bnrcam_ami {
	transition:2s;
	transform:translateY(500px);
}

#bnrcam .bnrcam_ami.active {
	transform:translateY(0px);
}

#bnrcam .bnrcam_close {
	display:none;
}

@media screen and (max-width: 767px) {
	#bnrcam {
		bottom:5px;
		right:15px;
		width:55%;
		margin:0 auto;
		transition:.3s;
	}

	#bnrcam.bnr_fix.bnrclose {
		bottom:-18vw !important;
		bottom:0 !important;
	}

	#bnrcam .bnrimg {
		opacity:1;
		transition:.3s;
	}

	#bnrcam.bnr_fix.bnrclose .bnrimg {
		opacity:0;
	}

	#bnrcam .bnrcam_ami {
		position:relative;
		transform:translateY(100vw);
	}

	#bnrcam .bnrcam_close {
		background-image:url(../img/mrk_close.svg);
		background-repeat:no-repeat;
		background-size:100% auto;
		display:block;
		position:absolute;
		bottom:3vw;
		left:-3vw;
		width:10vw;
		height:10vw;
		font-size:10vw;
		z-index:5;
	}

	#bnrcam.bnr_fix.bnrclose .bnrcam_close {
	}

	#bnrcam.bnrclose .bnrcam_close {
		background-image:url(../img/mrk_open.svg);
	}
}
