@charset "utf-8";

/* modal  */
.modal{ display:none; position:fixed; top:0; left:0; z-index:200; width:100%; height:100vh; }
.modal-bg { position:fixed; width:100%; height:100vh; background:rgba(0,0,0,0.8); }
.modal-content { display: none; font-size: 10px; position: absolute; top: 50%; left: 50%; width:90%; padding:20px; background: #fff; box-shadow:0 0 5px 0 rgba(0,0,0,0.15); transform: translate(-50%,-50%); z-index: 4;}
.modal-content h4 { position:relative; margin-bottom:20px; padding:0 70px 0 0.75em; border-left:#3e8ae8 3px solid; line-height:1.5; font-size:1.8em; font-weight:bolder; }
	.modal-content h4::after { content:''; display:block; position:absolute; bottom:-5px; right:5px; width:70px; height:74px; background:url('../images/illust.svg') no-repeat; background-size:100% auto; }
.modal-content h4 br { display:inline; }
.modal-content h4 + p { margin-bottom:20px; font-size:1.6em; }
.modal-content .btnArea { margin-top:30px; }
.modal-content .btnArea a.tel { display:block; max-width:100.0%; width:100%; margin:0 auto 15px; border:#3e8ae8 1px solid; border-radius:4px; color:#fff; line-height:54px; font-size:1.8em; font-weight:bolder; text-align:center; background:#3e8ae8; transition:0.5s; pointer-events:inherit; }
.modal-content .btnArea a.tel:hover { color:#3e8ae8; background:#fff; transition:0.5s; }
.modal-content .btnArea a.tel .SP { display:inline; }
.modal-content .btnArea a.tel.PC { display:none; }
.modal-content .btnArea a.web { display:block; max-width:100.0%; width:100%; margin:0 auto; border:#fc4d2d 1px solid; border-radius:4px; color:#fff; line-height:54px; font-size:1.8em; font-weight:bolder; text-align:center; background:#fc4d2d; transition:0.5s; cursor:pointer; }
.modal-content .btnArea a.web:hover { color:#fc4d2d; background:#fff; transition:0.5s; }
.js-modal-close { position:absolute; top:-10px; right:-10px; width:40px; height:40px; border-radius:40px; border:#fff 2px solid; color:#fff; line-height:40px; font-size:18px; text-align:center; background:#3e8ae8; box-shadow:0 0 5px 0 rgba(0,0,0,0.15); transform: translate(0,0); cursor:pointer; }
.PCbtnArea { display:none; }

@media screen and (min-width:728px) {
	.modal{ display:none; position:fixed; top:0; left:0; z-index:200; width:100%; height:100vh; }
	.modal-bg { position:fixed; width:100%; height:100vh; background:rgba(0,0,0,0.8); }
	.modal-content { display: none; position: absolute; top: 50%; left: 50%; width:480PX; padding:40px; background: #fff; box-shadow:0 0 5px 0 rgba(0,0,0,0.15); transform: translate(-50%,-50%); }
		.modal-content .btnAreaWrap.change { position:relative; overflow:hidden; height:0; opacity:0; transition:0.5s; }
	.modal-content h4 {  position:relative; margin-bottom:20px; padding:0 100px 0 0.75em; border-left:#3e8ae8 3px solid; line-height:1.5; font-size:1.8em; font-weight:bolder; }
	.modal-content h4::after { content:''; display:block; position:absolute; bottom:-10px; left:18.5em; width:90px; height:96px; background:url('../images/illust.svg') no-repeat; background-size:100% auto; }
	.modal-content h4 br { display:inline; }
	.modal-content h4 + p { margin-bottom:20px; font-size:1.6em; }
	.modal-content .btnArea { margin-top:0; }
	.modal-content .btnArea a.tel { display:inline-block; max-width:/*48.0*/100%; width:100%; margin:0 auto 15px; padding:15px 0; border:#3e8ae8 1px solid; border-radius:0; color:#3e8ae8; line-height:1.5; font-size:1.8em; font-weight:bolder; text-align:center; background:#fff; transition:0.5s; pointer-events:inherit; }
	.modal-content .btnArea a.tel:hover { color:#3e8ae8; background:#fff; transition:0.5s; }
	.modal-content .btnArea a.tel.SP { display:none; }
	.modal-content .btnArea a.tel.PC { display:block; max-width:100%; width:100%; margin:0 auto 15px; padding:15px 0; border:#3e8ae8 1px solid; border-radius:4px; color:#fff; line-height:1.5; font-size:1.8em; font-weight:bolder; text-align:center; background:#3e8ae8; transition:0.5s; cursor:pointer; pointer-events:inherit; }
	.modal-content .btnArea a.tel.PC:hover { color:#3e8ae8; background:#fff; transition:0.5s; }
	.modal-content .btnArea a.tel .PC b { font-size:1.2em; }
	.modal-content .btnArea a.tel .PC small { display:block; color:#53575a; font-size:0.85em; text-align:center; }
	.modal-content .btnArea a.tel .PC small.time { font-size:0.7em; font-weight:normal; text-align:center; }
	.modal-content .btnArea a.web { display:block; max-width:100.0%; width:100%; margin:0 auto; border:#fc4d2d 1px solid; border-radius:4px; color:#fff; line-height:54px; font-size:1.8em; font-weight:bolder; text-align:center; background:#fc4d2d; transition:0.5s; cursor:pointer; }
	.modal-content .btnArea a.web:hover { color:#fc4d2d; background:#fff; transition:0.5s; }
	.js-modal-close { position:absolute; top:-10px; right:-10px; width:40px; height:40px; border-radius:40px; border:#fff 2px solid; color:#fff; line-height:40px; font-size:18px; text-align:center; background:#3e8ae8; box-shadow:0 0 5px 0 rgba(0,0,0,0.15); transform: translate(0,0); cursor:pointer; }
	.PCbtnArea { display:none; text-align:center; }
	.PCbtnArea.change {  }
	.PCbtnArea.change a { display:block; max-width:100%; width:100%; margin:0 auto 0; padding:15px 0; border:#3e8ae8 1px solid; border-radius:0px; color:#3e8ae8; line-height:1.5; font-size:1.8em; font-weight:bolder; text-align:center; background:#fff; transition:0.5s; cursor:pointer; pointer-events:none; }
	.PCbtnArea.change a.tel .PC b { font-size:1.2em; }
	.PCbtnArea.change a.tel .PC small { display:block; color:#53575a; font-size:0.85em; text-align:center; }
	.PCbtnArea.change a.tel .PC small.time { font-size:0.7em; font-weight:normal; text-align:center; }
}
@media screen and (max-width:728px) {
	.PCbtnArea { display:none!important; }
}
#modal-overlay {
    z-index: 3;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%;
    background-color: rgba( 0,0,0, 0.75 );
}

/* fallback */
@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/materialicons/v102/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2) format('woff2');
}
.material-icons {
    position: relative;
    top: 0.1em;
    font-size: 1.0em;
}
.material-icons {
  position: relative;
  top: 0.1em;
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 1.0em;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}

/* お問合せ先のモーダルを表示 */
.contact .btn_move{
	height: 60px;
	line-height: 60px;
	padding: 0;
	color: #333;
	}
.contact .btn_order{
	height: 50px;
	line-height: 1;
	padding-top: 10px;
	color: #333;
	}
	#contact-modal .button.hollow > small{
		margin-top: 5px;
		}
	#contact-modal .button.hollow::after{
		top: 50%;
		line-height: 1;
		}
@media screen and (min-width: 38.75em) {
#contact-modal{
	width: 700px;
	margin-top: -428px;
	margin-left: -350px;
	padding: 0;
	border: none;
	}
	#contact-modal .button{
		margin: 30px;
		}
.contact .btn_move{
	max-width: 700px;
	margin: 0 auto;
	height: 90px;
	line-height: 90px;
	}
	.contact .btn_move > i{
		margin-top: 1.5rem;
		margin-right: -2rem;
		}
.contact .btn_order{
	height: 64px;
	padding-top: 12px;
	line-height: 1.4;
	}
	.contact .btn_order > i{
		margin-top: .5rem;
		}
#contact-modal .btn_move{
	height: 78px;
	line-height: 78px;
	padding: 0;
	}
	#contact-modal .btn_move > i{
		margin-top: 1rem;
		}
	#contact-modal .button.hollow > small{
		font-size: .85rem;
		}
	#contact-modal .button.hollow > small > br{
		display: none;
		}
}
@media screen and (max-width: 38.74em) {
#contact-modal{
	width: 300px;
	margin-top: -304px;
	margin-left: -150px;
	padding: 0;
	border: none;
	}
	#contact-modal .button{
		margin: 10px;
		font-size: 1.3rem;
		text-indent: 1rem;
		}
		#contact-modal .button > i{
			text-indent: 0;
			}
		#contact-modal .button > small{
			font-size: 11px;
			}
#contact-modal .btn_move{
	height: 62px;
	line-height: 62px;
	padding: 0;
	}
}

/* 初回訪問で目的のモーダルを表示 */
#choice-modal {
	border:none;
	padding-top: 0;
	}
	#choice-modal .button{
		margin: 1rem auto;
		padding: 1.2em .8em 1.2em 0;
		font-size: 1.2rem;
		}
@media screen and (min-width: 38.74em) {
#choice-modal {
	width: 700px;
	margin-top: -228px;
	margin-left: -350px;
	}
	#choice-modal .button{
		max-width: 400px;
		}
}
@media screen and (max-width: 38.74em) {
#choice-modal {
	width: 280px;
	margin-top: -180px;
	margin-left: -140px;
	padding: 0;
	}
	#choice-modal .button{
		max-width: 240px;
		}
}
/* 離脱ブロック */
#alert-modal{
	margin-top: -294px;
	padding-top: 10px;
	padding-bottom: 0;
	border: 10px solid #ffff95;
	background: #ffff95;
	border-radius: 6px;
	}
	#alert-modal p{
		font-size: 14px;
		}
	#alert-modal p.text-left{
		text-align: left;
		}
	#alert-modal .text-red{
		color: #f33;
		}
	#alert-modal .ttl{
		padding-top: .5rem;
		font-size: 180%;
		font-weight: bold;
		}
		#alert-modal .ttl > img{
			max-width: 27px;
			margin-right: 2px;
			vertical-align: -4px;
			}
	#alert-modal .ttl + p{
		line-height: 1.4;
		font-size: 1.15em;
		}
	#alert-modal .ttl + p > span{
		font-size: 1.2em;
		}
#alert-modal .bg-white{
	margin-top: 10px;
	padding: 20px;
	background: #fff;
	border-radius: 6px;
	}
#alert-modal p.text-blue{
	margin-bottom: .5rem;
	line-height: 1.4;
	font-size: 1.15em;
	}
#alert-modal .timer-text{
	font-size: 1.15rem;
	}
#timer{
	margin-bottom: .5rem;
	padding: .2rem 0;
	background: #004ea2;
	color: #fffd47;
	text-align: center;
	}
	#timer > span{
		display: inline-block;
		width: 1.4em;
		text-align: center;
		font-size: 200%;
		}
#alert-modal .button{
	width: calc(100% - 1em);
	margin: 20px 0 0;
	}
#alert-modal .button.alert{
	padding-top: .82rem;
	padding-bottom: .82rem;
	}
@media screen and (max-width: 38.74em) {
#alert-modal{
	max-width: 260px;
	margin-top: -248px;
	margin-left: -140px;
	}
	#alert-modal p{
		font-size: 12px;
		}
#alert-modal .button{
	width: 100%;
	margin-top: 10px;
	font-size: 1.1rem;
	}
#alert-modal .button.success{
	padding: 1.5rem 0;
	}
#alert-modal .button.alert{
	padding: .85rem 0;
	}
#alert-modal .bg-white{
	padding: 10px;
	}
}