@charset "UTF-8";
/* /////////////////////////////////////////////////////// */
/*
/*  Base Style
/*
/*  1.General
/*  2.Header
/*  3.Main
/*
/* ////////////////////////////////////////////////////// */

/*----------------------------------------------------
	General
----------------------------------------------------*/
body {font: 14px/1.8 "Lato","ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",sans-serif;}
h1,h2,h3,h4,h5,h6,p,dl,dt,dd,ol,ul,li{margin:0;padding:0;}
audio,canvas,img,video {vertical-align: middle;}
fieldset {border: 0;margin: 0;padding: 0;}
input {border:1px solid #ccc;color: #666; padding:8px; box-sizing:border-box;}
input[type="text"] {-webkit-appearance: none;}
textarea {resize: vertical; border:1px solid #ccc;-webkit-appearance: none;}
a{color:#000;transition: 0.5s ease;}
a:hover { opacity: 0.7; filter: alpha(opacity=70);-ms-filter: "alpha(opacity=70)";}
a:focus{outline:none;}
.cf:before,.cf:after{content:"";display: table;}
.cf:after{clear:both;}
.cf{*zoom:1;}
.fl {float: left !important;}
.fr {float: right !important;}
.tc {text-align:center;}
.fm{font-family: "游明朝", YuMincho,"ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝","Times New Roman", serif;}
.fm1{font-family: 'Playfair Display SC', serif;}
::-moz-selection {background: #57a5dc;color: #ccc;}
::selection {background: #57a5dc;color: #ccc;}
::-webkit-input-placeholder { color: #ccc; }
:-moz-placeholder { color: #ccc;}
input,textarea {border:1px solid #ccc;padding:6px; box-sizing:border-box;}
input[type="text"],input[type="password"] {-webkit-appearance: none;}
textarea {resize: vertical; border:1px solid #ccc;-webkit-appearance: none;}
.w20{ width:20%;}
.w30{ width:30%;}
.w70{ width:70%;}
.w100{ width:100%;}
.sp{display:none;}
@font-face {
    font-family: 'icomoon';
    src:    url('../fonts/icomoon.eot?te4xrg');
    src:    url('../fonts/icomoon.eot?te4xrg#iefix') format('embedded-opentype'),
        url('../fonts/icomoon.ttf?te4xrg') format('truetype'),
        url('../fonts/icomoon.woff?te4xrg') format('woff'),
        url('../fonts/icomoon.svg?te4xrg#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-icon6:before {
    content: "\e900";
}
.icon-icon5:before {
    content: "\e901";
}
.icon-icon4:before {
    content: "\e902";
}
.icon-icon3:before {
    content: "\e903";
}
.icon-icon2:before {
    content: "\e904";
}
.icon-icon1:before {
    content: "\e905";
}
.fa {
  display: inline-block;
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


@-webkit-keyframes arrow{0%,100%{top:50px}50%{top:80px}}
@keyframes arrow{0%,100%{top:50px}50%{top:80px}}@supports (scroll-snap-type: mandatory) or (-webkit-scroll-snap-type: mandatory){.is-not-supported{display:none}.box-wrapper{height:100vh}}

#wrapper{width:100%; margin:0;padding:0;}
header{overflow:hidden;position:relative;-webkit-scroll-behavior:smooth;scroll-behavior:smooth;-webkit-scroll-snap-type:mandatory;scroll-snap-type:mandatory;-webkit-scroll-snap-points-y:repeat(100vh);scroll-snap-points-y:repeat(100vh); background:url(../images/hero_ph2.jpg) center center; background-size:cover;}
header h1{ font-size:34px;color:#fff; line-height:1.5em; text-align:center;/*text-shadow: 1px 2px 0px #fff*/;}

.content{position:relative}
.content .centered{width: 100%;height: 100vh;display: flex;align-items: center;justify-content: center;flex-direction: column;}
.content .centered h1+ p{ font-size:20px; line-height:1.4em; text-align:center;}
.content a{color:#000;text-decoration:none;position:absolute;width: 100%;height:100%;display: block;top:0;
    left:0;}
.content a:hover{text-decoration:none}
.content .main_btn{ width:440px; font-size:20px; text-align:center; margin-top:50px; letter-spacing:1px;}
.content .main_btn {color:#e60027; background: #fff; padding:15px; display:block; text-decoration:none; border-radius:4px;}
.content .arrow{font-size:14px;color:#fff; margin-left:-46px; position: absolute; left:50%; bottom:55px; letter-spacing:1px;}
.content .arrow:after{border-right:2px solid #fff;border-bottom:2px solid #fff;-webkit-transform:rotate(45deg);transform:rotate(45deg);content:'';width:20px;height:20px;position:absolute;margin:auto;top:50px;right:0;bottom:0;left:0;-webkit-animation:3s arrow infinite ease;animation:3s arrow infinite ease}
.content .arrow2{ width:100%; font-size:20px; text-align: center;}
.content .arrow2:after{border-right:2px solid #000;border-bottom:2px solid #000;-webkit-transform:rotate(45deg);transform:rotate(45deg);content:'';width:20px;height:20px;position:absolute;margin:auto;top:50px;right:0;bottom:0;left:0;-webkit-animation:3s arrow infinite ease;animation:3s arrow infinite ease}

.main_block{ width:1100px; margin:0 auto; padding:120px 10px;}
.main_block .main_sub_title{ font-size:38px; text-align:center;}
.main_block .sj_text{ font-size:18px; line-height:2em; margin-top:25px; text-align:center;}
.main_block .sj_title{ font-size:34px; color:#e60027; text-align:center; margin-bottom:40px;}
.main_block .point_block{ margin-top:100px;}
.main_block .point{ width:330px; padding:20px; border:1px solid #000; float:left; margin-left:55px; box-sizing:border-box;}
.main_block .point:first-child{margin-left:0;}
.main_block .point h3{ font-size:18px;color:#fff;padding:5px; background: #e60027;text-align:center;}
.main_block .point i{ font-size:100px;text-align:center; color:#e60027; margin:20px 0; display:block;}
.main_block .flow_block,.main_block .form_block{ width:970px; margin:0 auto;}
.main_block .flow_block .no{ width:100%; padding:45px; border-bottom:2px solid #000; display:table; box-sizing:border-box;}
.main_block .flow_block h2+.no{border-top:2px solid #000;}
	.flow_block .no dt,.flow_block .no dd{ display:table-cell; vertical-align:middle;}
	.flow_block .no dt{font-size: 120px;font-style: italic;line-height: 70px; padding-right:20px; display: block; margin-top:-15px;}
	.flow_block .no dd{font-size: 26px; line-height:1.6em; position:relative;}
	.flow_block .no dd small{font-size: 14px;line-height: 1.4em;display: inherit;}
	.flow_block .no dd i{font-size: 100px; position:absolute; top:-10px; right:-40px;}
	.flow_block .flow_text{ font-size:16px; text-align:center; margin-top:80px;}
	.flow_block .pp{ margin:20px 0 150px; position:relative;}

.main_block .form_block dl{ width:100%; padding:20px; border-top:1px solid #ccc; border-bottom:1px solid #ccc; display:table; box-sizing:border-box;}
.main_block .form_block dl:first-child{border-top:1px solid #ccc;}
	.form_block dt,.form_block dd{ display:table-cell; vertical-align:middle;}
	.form_block dt{ width:250px; font-size: 26px; background:#f3f3f3; text-align:center;}
	.form_block dt span{font-size: 13px; display:block;}
	.form_block table{width:100%;}
	.form_block table th,.form_block table td{ padding:5px 10px;}
	.form_block table th{ width:210px; font-size:16px;}
	.form_block table th div{text-align:right; padding-right:40px; position:relative;}
	.form_block table th sup{ font-size:10px; color:#cc0000; position: absolute; top:13px; right:0;}
	.form_block .dd{ padding:0 20px;}
	
	.form_block .btn_block{ margin:15px 0; text-align:center;}
	.form_block .btn{ margin:40px 0 20px;}
	.form_block .btn input{ width:350px; font-size:20px;color:#fff; padding:15px; display:inline-block; background:#e60027; border-radius:4px;}
	.form_block .btn input[disabled],.form_block .btn input:hover{opacity: 0.4; filter: alpha(opacity=40);-ms-filter: "alpha(opacity=40)";}
	.form_block .form_title{ font-size:26px; text-align:center}
	.form_block .form_text{ margin:30px 0; text-align:center}
	.form_block .ssl_text{ margin:50px 0 0;}
.content .form_block a{color:#000;}

 #bg_wrapper{ width:100%; height:500px; background: url(../images/bg_ph.jpg) no-repeat center center; background-size:cover; display:table;}
 #bg_wrapper .word{display:table-cell; vertical-align:middle;}
 #bg_wrapper p{ font-size:28px;color:#fff;text-align:center;text-shadow:2px 1px 4px rgba(0,0,0,0.5);}
 #bg_wrapper i{ font-style:normal;font-size:16px; text-align:right; display:block;}
 
footer{ margin:50px 0; text-align:center;}
 
 

@media screen and (max-width:768px){
#wrapper img { max-width:100%; height:auto;}
#wrapper .sp_non { display:none;}
.fl,.fr {float: none !important;}
.w70{ width:100%;}
.sp{display:block;}
a:hover,.form_block .btn input[disabled],.form_block .btn input:hover,.content .main_btn a:hover{opacity: 1; filter: alpha(opacity=100);-ms-filter: "alpha(opacity=100)";}

header h1{ font-size:16px; padding:40px 10px 10px;}
.content .centered h1+ p {font-size: 13px;}
.content .arrow { display:none;}
.content .centered{width: 100%;height: 400px;}
.content a,.content .main_btn{display: none;}
.main_block .main_sub_title{ font-size:28px; text-align:}
.main_block .sj_text{ font-size:16px; line-height:1.8em; text-align:left;}
.main_block .sj_title{ font-size:22px; margin-bottom:20px;}
.main_block{ width:100%; padding:50px 10px; box-sizing:border-box;}
.main_block .flow_block,.main_block .form_block,#bg_wrapper .word .ww{width:100%; margin:0 auto;}
.main_block .point_block{ margin-top:50px;}
.main_block .point{ width:100%; float:none; margin-left:0;}
.main_block div+.point{margin-top:30px;}
.main_block .flow_block .no{ padding:25px;}
.main_block .flow_block h2+.no{border-top:2px solid #000;}
	.flow_block .no dt,.flow_block .no dd{ display:block;}
	.flow_block .no dt{font-size: 120px;font-style: italic;line-height: 70px; padding-right:0;text-align:center;}
	.flow_block .no dd{font-size: 20px; line-height:1.6em;text-align:left; margin-top:40px;}
	.flow_block .no dd small{ line-height:1.2em;}
	.flow_block .no dd i{ display:none;}
	.flow_block .flow_text{ font-size:14px; text-align:left; margin-top:40px;}
	.flow_block .pp{ margin:20px 0 100px; position:relative;}
	
.main_block .form_block dl{ width:100%; padding:0;border-bottom:none; margin-top:40px;}
	.form_block dt,.form_block dd{ display:block;}
	.form_block dt{ width:100%; font-size: 20px; text-align:left; color:#fff; padding:10px; box-sizing:border-box;background:#000;}
	.form_block table th,.form_block table td{ display:block;}
	.form_block table th{ width:100%; font-size:15px; padding:25px 0 5px 0; border-bottom:1px solid #000;}
	.form_block table th div{text-align:left; padding-right:0;}
	.form_block table th sup{ font-size:11px;position: static;}
	.form_block table td,.form_block dd p{ padding:10px 0 0;}
	.form_block .dd{ padding:0;}
	.form_block .form_text{ margin:30px 0; text-align:left;}
	
	.form_block .btn_block{ margin:15px 0; text-align:center;}
	.form_block .btn{ margin:40px 0 20px;}
	.form_block .btn input{ width:100%; border:none;}
	.form_block .form_title{ font-size:26px; text-align:center}
	.form_block .form_text{ margin:30px 0; text-align:left;}
	.form_block .ssl_text{ margin:30px 0 0; text-align:left;}

#bg_wrapper{height:400px;}
#bg_wrapper p{font-size:18px; font-weight:bold; padding:0 10px; text-align:left;}
#bg_wrapper i{text-align:center;}

footer{ margin:0 0 50px;}

}

			#modal-overlay {
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100vh;
			}
			.modal-mask {
				position: absolute;
				width: 100%;
				height: 100vh;
				background: rgba(255,255,255,0.75);
			}
			.modal-container {
				position: absolute;
				top: 50%;
				left: 50%;
				width: 80%;
				background: #C51E25;
				transform: translate(-50%, -50%);
				border-radius: 12px;
			}
			.modal-inner {
				position: relative;
				margin: 0 auto;
				width: 100%;
				height: auto;
				padding: 30px;
				box-sizing: border-box; 
				border-radius: 8px;
			}

			.modal-inner p {
				font-size: 18px;
				letter-spacing: 1px;
				line-height: 1.8;
				color:#fff;
				text-align: center;
			}
			.btn {
				max-width: 320px;
				margin: 15px auto 0;
			}
			.btn a {
				font-size: 16px;
				font-weight: bold;
				text-align: center;
				color:#C51E25;
				background: #fff;
				border: 1px solid #fff;
				padding: 15px;
				border-radius: 50px;
				display: block;
				text-decoration: none;
			}
			@media screen and (min-width: 768px) {
				.modal-container {
					width: 50%;
				}
				.modal-inner {
					padding: 40px;
					text-align: center;
				}
				.modal-inner p {
					font-size: 20px;
				}
				.modal-inner p br {
					display: none;
				}
				.btn {
					margin-top: 20px;
				}
				.btn a {
					font-size: 18px;
				}
				.btn a:hover {
					color:#fff;
					background: rgba(255,255,255,.2);
				}
			}