@charset "utf-8";
/* CSS Document */
/* reset--------------------------------------
----------------------------------------------*/
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block
}
body {
	line-height: 1
}
ol, ul {
	list-style: none
}
blockquote, q {
	quotes: none
}
blockquote:after, blockquote:before, q:after, q:before {
	content: '';
	content: none
}
table {
	border-collapse: collapse;
	border-spacing: 0
}
img {
	max-width: 100%;
	height: auto;
}

/* フォント--------------------------------------
----------------------------------------------*/
body {
	font-family: 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Meiryo', 'メイリオ', 'YuGothic', '游ゴシック', sans-serif;
}
@media screen and (min-width:768px) {
	body {
		font-size: 16px;
	}
}
@media screen and (max-width:767px) {
	body {
		font-size: 14px;
	}
}

/* header--------------------------------------
----------------------------------------------*/
#header {
	background-color: #000;
	width: 100%;
	height: 70px;
}
#header-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 1280px;
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.header-nav li a {
	color: #fff;
	text-decoration: none;
	font-size: 14px;
	letter-spacing: 0.16em;
	font-weight: bold;
}
.bnr-modal.remodal-overlay {
	background-color: rgba(35, 24, 21, 0.7);
}
.bnr-modal .remodal-close::before {
	content: '';
}
.bnr-modal.remodal {
		padding: 0;
		box-sizing: border-box;
	}
@media screen and (min-width:1026px) {
	#header-inner {
		width: calc(100% - 20px);
		overflow: visible;
		position: static;
		padding:10px;
	}
	#header {
		position: relative;
	}
	#header h1 {
		padding-left: 20px;
	}
	.header-nav {
		display: block;
	}
	.header-nav-content > li {
		float: left;
		padding: 0 15px;
	}
	.header-nav li a {
		transition: opacity 0.2s ease;
	}
	.header-nav li a:hover {
		opacity: 0.75;
	}
	.header-nav-content > li > a {
		display: inline-block;
		padding-top: 35px;
		padding-bottom: 30px;
	}
	#btn-menu {
		display: none;
	}
	.btn-close {
		display: none;
	}
	.sp-main-banner {
	display: none !important;
}
	.sp-main-fix-banner{
	display: none;
	}
	.header-faq {
		display: inline-block;
		padding-bottom: 50px;
	}
	.header-mega {
		position: absolute;
		padding-top: 12px;
		width: 100%;
		bottom: -342px;
		height: 330px;
		z-index: 500;
		display: none;
		left: 0;
		right: 0;
		margin: auto;
	}
	.header-mega-bg {
		width: 100%;
		min-height: 343px;
		background: #fff;
	}
	.header-mega-inner {
		position: relative;
		margin-left: auto;
		margin-right: auto;
		width: calc(100% - 20px);
		max-width: 1280px;
		padding-top: 38px;
		padding-bottom: 32px;
	}
	.header-mega-inner::before {
		position: absolute;
		content: '';
		background-image: url('../img/common/nav-balloon.png');
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		height: 35px;
		width: 35px;
		right: calc(2.7343% + 17.5px);
		top: -17.5px;
	}
	.header-mega-content {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
		width: 100%;
		max-width: 786px;
		margin-left: auto;
		margin-right: auto;
	}
	.header-mega-right {
		width: 215px;
		margin-right: 96px;
	}
	.header-mega-left {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		width: 475px;
		margin-top: -30px;
		margin-right: -50px;
	}
	.header-faq-question {
		width: 149px;
		margin-left: auto;
		margin-right: auto;
	}
	.header-faq-btn {
		margin-top: 20px;
	}
	.header-faq-item {
		width: 125px;
		margin-top: 30px;
	}
	.header-faq-item:nth-child(1),
	.header-faq-item:nth-child(2),
	.header-faq-item:nth-child(4),
	.header-faq-item:nth-child(5) {
		margin-right: 50px;
	}
	.header-nav-tel-sp,
	.header-nav-application-sp {
		display: none;
	}
}
@media screen and (max-width:1025px) {
	body.active {
		overflow: hidden;
	}
	#header-inner {
		width: calc(100% - 60px);
		padding-top: 8px;
	}
	#header h1 {
		position: relative;
		z-index: 11;
	}
	.header-nav {
		display: none;
		background: #000;
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		overflow-y: scroll;
		width: 100%;
		height: 100%;
		z-index: 10;
	}
	.header-nav ul {
		padding-top: 28.5%;
	}
	.header-nav li {
		width: 100%;
		padding: 16px 0;
		text-align: center;
		line-height: 1.5em;
	}
	.header-nav-content {
		min-height: 600px;
		overflow-y: scroll;
	}
	.header-tel {
		display: none;
	}
	#btn-menu {
		background: url("../img/common/menu_fixed.png") no-repeat;
		background-size: contain;
		width: 40px;
		height: 40px;
		z-index: 2;
	}
	.btn-close {
		position: absolute;
		top: 21px;
		right: 16px;
		background-image: url("../img/common/close.png");
		background-position: center;
		background-repeat: no-repeat;
		background-size: 32px 32px;
		width: 32px;
		height: 32px;
		z-index: 11;
	}
	.header-mega {
		display: none;
	}
	.header-nav-tel-sp,
	.header-nav-application-sp {
		display: block;
	}
	.header-nav-tel-sp img {
		max-width: 280px;
		vertical-align: bottom;
	}
	.header-nav-application-sp {
		padding-bottom: 14px;
	}
	.header-nav-application-sp img {
		max-width: 282px;
		vertical-align: bottom;
	}
}
@media screen and (min-width:768px) {
	.header-mega a img {
		transition: opacity 0.2s ease;
	}
	.header-mega a:hover img {
		opacity: 0.75;
	}
	.bnr-box-fixed {
		position: fixed;
		right: 0px;
		top: 110px;
		z-index: 10;
	}
	#banner-tel {
		display: none;
	}
	#banner-tel.is-show {
		display: block;
	}
	#banner-tel.is-hide {
		display: none;
	}
	#banner,
	#banner-houzin,
	#banner-tel {
		width: 63px;
		height: 155px;
	}
	#banner a img,
	#banner-houzin a img,
	#banner-tel a img {
		transition: opacity 0.2s ease;
	}
	#banner a:hover img,
	#banner-houzin a:hover img,
	#banner-tel a:hover img {
		opacity: 0.75;
	}
	#banner-houzin,
	#banner-tel {
		margin-top: 12px;
	}
	#banner-tel {
		display: none;
	}
	.bnr-modal.remodal {
		max-width: 670px;
		background-image: url('../img/common/tel_icon.png');
		background-position: center left 60px;
		background-size: 108px 108px;
		background-repeat: no-repeat;
		box-sizing: border-box;
	}
	.bnr-modal .remodal-close {
		left: auto;
		right: -27px;
		top: -27px;
		width: 55px;
		height: 55px;
		background-image: url('../img/common/btn_modal_close.png');
		background-position: center;
		background-size: contain;
		background-repeat: no-repeat;
		transition: opacity 0.2s ease;
	}
	.bnr-modal .remodal-close:hover {
		opacity: 0.85;
	}
	.bnr-modal-content {
		padding-top: 65px;
		padding-bottom: 55px;
		padding-right: 60px;
		padding-left: 220px;
		box-sizing: border-box;
	}
	.bnr-modal-tel {
		max-width: 385px;
		margin-left: auto;
		margin-right: auto;
	}
	.bnr-modal-text,
	.bnr-modal-text-small {
		text-align: center;
		font-weight: bold;
		color: #231815;
	}
	.bnr-modal-text {
		margin-top: 20px;
		font-size: 16px;
		letter-spacing: 0.15em;
	}
	.bnr-modal-text-small {
		margin-top: 15px;
		font-size: 12px;
		letter-spacing: 0.1em;
	}
	.sp-main-banner {
	display: none !important;
}
	.sp-main-fix-banner{
	display: none;
	}

	[data-bnr-tel] {
		display: none;
	}
}
@media screen and (max-width:767px) {
	.bnr-box-fixed,
	#banner,
	#banner-houzin {
		display: none;
	}
	.sp-main-banner {
		display: block;
		position: fixed;
		z-index: 99;
		top: unset;
		margin: 0 auto;
		left: 0;
		right: 0;
		bottom: 0;
		background:rgba(0,0,0,1);
	}
	.sp-main-banner-content {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		padding: 10px 4.8571% 10px 3.7142%;
	}
	.sp-main-banner-offer {
		max-width: 400px;
		width: calc(100% - 60px);
		margin-right: 20px;
	}
	.sp-main-banner-offer img {
		width: 100%;
	}
	.sp-main-banner-menu {
		display: inline-block;
		width: 40px;
		height: 40px;
		background-image: url('../img/common/menu_fixed.png');
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
	}
	.sp-main-fix-banner{
		position: absolute;
		bottom: 0;
		right: 0;
		left: 0;
		width: 90.9375%;
		margin: 0 auto;
	}
	.sp-main-fix-banner .banner{
		padding-bottom: 25px;
	}
	[data-bnr-tel].is-show {
		display: block;
	}
	[data-bnr-tel].is-hide {
		display: none;
	}
}
/* footer--------------------------------------
----------------------------------------------*/
#sns {
	margin-left: auto;
	margin-right: auto;
	max-width: 1000px;
	width: calc(100% - 40px);
}
.share-ttl {
	text-align: center;
}
.sns-grid {
	text-align: center;
}


.copy {
	color: #fff;
	font-size: 12px;
	text-align: center;
	letter-spacing: 0.339em;
}
#pagetop {
	width: 202px;
	height: 239px;
	background: url(../img/common/page_top.png) no-repeat;
	background-size: 202px 239px;
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 1;
	font-size: 0px;
}
@media screen and (min-width:768px) {
	.share-ttl {
		padding-bottom: 40px;
	}
	.sns-grid-el {
		padding: 16px;
		display: inline-block;
	}
	.sns-grid-el a {
		transition: opacity 0.2s ease;
	}
	.sns-grid-el a:hover {
		opacity: 0.75;
	}
	
	#pagetop {
		transition: opacity 0.2s ease;
	}
	#pagetop:hover {
		cursor: pointer;
		opacity: 0.75;
	}
}
@media screen and (max-width:767px) {
	.share-ttl {
		padding-bottom: 30px;
	}
	.sns-grid-el {
		padding-bottom: 13px;
	}
	
	.copy {
		line-height: 2;
	}
	#pagetop {
		width: 98px;
		height: 116px;
		background: url(../img/common/page_top.png) no-repeat;
		background-size: 98px 116px;
		position: fixed;
		right: 15px;
		bottom: 130px;
		z-index: 1;
		font-size: 0px;
	}
}




/* 共通--------------------------------------
----------------------------------------------*/
.center {
	text-align: center;
}
.left {
	text-align: left;
}
.right {
	text-align: right;
}
.view-pc {
	display: inline-block;
}
.view-sp {
	display: none;
}
.faq-ttl{
	font-weight: bold;
	padding-top: 20px;
}
.faq-ttl span{
	color: #e60012;
}
@media screen and (max-width:767px) {
	.view-pc {
		display: none;
	}
	.view-sp {
		display: inline-block;
	}
}
