@charset "UTF-8";
/* CSS Document */
html, body, 
h1, h2, h3, h4, h5, h6, 
p, ul, ol, li, dl, dt, dd, 
table, th, tr, td, 
form, fieldset, input, textarea, button, figure, blockquote{
margin:0px;
padding:0px;
font-weight:normal;
}

html, body {
height:100%;
}

/*-- clearfix --*/
.clearfix:after {   
	content: ".";    
	display: block;    
	height: 0px;    
	clear: both;    
	visibility: hidden;   
}   
  
.clearfix { display: inline-table;zoom:1; }   
  
/* Hides from IE-mac \*/  
* html .clearfix { height: 1%; }   
.clearfix { display: block; }   
/* End hide from IE-mac */  
/*-- end clearfix --*/

li {
list-style:none;
}

img{
	vertical-align:bottom;
	max-width:100%;
	height:auto;
}

/*--  text-align  --*/

.ta_c{text-align:center;}
.ta_l{text-align:left;}
.ta_r{text-align:right;}

body{
	margin:0;
	padding:0;
	color:#222;
	font-size:18px;
	line-height:1.6;
	background:url(../img/bg.jpg) center top;
	background-size:cover;
	width:100%;
	overflow-x: hidden;
	font-family:'游ゴシック','ヒラギノ角ゴ Pro W3','ヒラギノ角ゴシック ProN','メイリオ','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック','Helvetica','Arial',sans-serif;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

a {
color:#cd1120;
text-decoration:underline;
transition: all 0.3s ease-in-out 0s;
}

a:hover {
	text-decoration:none;
}

p{line-height:2;}

.comingsoon{
	text-align:center;
	background:url(../img/bg_soon.jpg);
	background-size:cover;
	min-height:100%;
}
.flex_wrap{
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
}
.flex_wrap_between{
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.flex_wrap_center{
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
    -webkit-justify-content: center;
    justify-content: center;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
#load_wrap{
	display:none;
}
/************************
header
************************/
header{
	padding:30px 3.5% 0;
	margin-bottom:1px;
	z-index:999;
	position:relative;
	position:fixed;
	top:0;
	width:100%;
}
header .logo{
	float:left;
}
.header_r{
	float:right;
}
.list_sns{
	padding:10px 0;
}
.list_sns li{
	margin:0 5px;
}
.header_contact{
	background:#f8f8f8;
	padding:100px 0;
}
.header_contact h1{
	text-align:center;
	color:#f750a3;
	font-size:30px;
	font-weight: bold;
}

.menu_btn{
	perspective: 500px;
    -webkit-perspective: 500px;
    -moz-perspective: 500px;
	width: 68px;
	height: 68px;
	z-index:90;
	right:0;
	margin-left:40px;
}

.panel-btn{
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 100%;
  margin: 0;
  background:#090909;
}
.panel-btn-icon{
  display: block;
  position: absolute;
  top: 0;
  bottom:0;
  left: 0;
  right:0;
  width: 28%;
  height: 3%;
  margin: auto;
  background: #fff;
  transition: .2s;
}
.panel-btn-icon:before, .panel-btn-icon:after{
  display: block;
  content: "";
  position: absolute;
  top: 0;
  bottom:0;
  left: 0;
  right:0;
  width: 100%;
  height: 101%;
  background: #fff;
  transition: .5s;
}
.panel-btn-icon:after{height:102%;}
.panel-btn:hover .panel-btn-icon, .panel-btn:hover .panel-btn-icon:before, .panel-btn:hover .panel-btn-icon:after{
	background:#fff;
}
.panel-btn-icon:before{
  margin-top: -45%;
}
.panel-btn-icon:after{
  margin-top: 45%;
}
.panel-btn .close, .panel-btn:hover .panel-btn-icon.close{
  background: transparent;
}
.panel-btn .close:before, .panel-btn .close:after{
  margin-top: 0;
}
.panel-btn .close:before{
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
.panel-btn .close:after{
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}


.nav{
	position:fixed;
	top:0;
	background:url(../img/bg.jpg) center top;
	background-size:cover;
	width:100%;
	height:100%;
	overflow:auto;
	text-align:center;
	z-index:998;
	padding:20% 0;
	display:none;
}
.nav li a{
	color:#222;
	font-weight:bold;
	margin:26px 0;
	font-size:40px;
	text-decoration:none;
}
.nav li a:hover{
	color:#cd1120;
}
	
/************************
content
************************/
.sub h1{
	text-align:center;
	font-weight:bold;
	font-size:30px;
	padding:120px 0 60px;
}
.slide{
}
.content h1{
	margin-bottom:40px;
}
.btn_to{
	margin:50px auto 100px;
	text-align:center;
	position:relative;
}
.band_pop{
	margin-bottom:60px;
}

.content{
	max-width:1200px;
	margin:auto;
	width:93%;
	text-align:center;
}

.about{
	text-align:center;
}
.about h2{
	margin-bottom:50px;
}
.inner_about{
	margin:auto;
	max-width:630px;
	width:93%;
	font-size:12px;
}
.about1{
	width:100%;
	background:url(../img/bg_about1.png) no-repeat;
	padding:60px 26px 30px;
	text-align:left;
	margin:0 auto 60px;
	position:relative;
}
.about2{
	width:100%;
	background:url(../img/bg_about2.png) no-repeat;
	text-align:left;
	padding:100px 26px 30px;
	position:relative;
}
.inner_about .tape{
	position:absolute;
	top:0;
	margin:auto;
	left:0;
	right:0;
	text-align:center;
}
.inner_about figure{
	margin-bottom:30px;
	text-align:center;
}
.inner_about h3{
	text-align:center;
	font-size:18px;
	margin-bottom:20px;
	font-weight:bold;
}
.inner_about .lead{
	font-size:15px;
	margin-bottom:10px;
}
.inner_about h4{
	text-align:center;
	margin-bottom:5px;
	font-size:14px;
	font-weight:bold;
}
.inner_about h4 span{
	background:rgba(210,195,27,0.5);
	padding:5px 10px;
}
.btn_to_wmj{
	text-align:center;
	margin-top:30px;
}
.detail h2{
	text-align:center;
	margin-bottom:66px;
}

.inner_detail{
	margin:auto;
	max-width:720px;
	width:93%;
}

.inner_detail h3{
	font-size:30px;
	font-weight:bold;
	text-align:center;
	background:rgba(210,195,27,0.5);
	padding:5px 10px;
	margin:50px 0 40px;
}
.inner_detail h3:nth-of-type(2){
	background:rgba(27,130,210,0.5);
}
.inner_detail h3:nth-of-type(3){
	background:rgba(217,54,115,0.5);
}
.inner_detail ul{
	padding:0 3%;
}
.inner_detail li{
	margin-left:20px;
	list-style:outside disc;
	margin-bottom:18px;
}
.inner_detail p{
	text-align:center;
	line-height:2em;
}
.bold{font-weight:bold;}
.inner_detail p.bold span{
	font-size:14px;
	font-weight:normal;
}


.op{
	width:100%;
	position: absolute;
	top:0;
	left:0;
	background:url(../img/bg.jpg) center top;
	background-size:cover;
	z-index:1000;
}

.p_text_area{
	font-family:"游明朝体", "Yu Mincho", YuMincho,"ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro","ＭＳ Ｐ明朝", "MS PMincho",  serif;
	position:relative;
	background:#f8f8f8;
	padding:50px 50px;
	margin: 60px auto;
	font-size:24px;
	width:90%;
	animation: fadeIn 1.6s ease .5s backwards;
    -webkit-animation: fadeIn 1.6s ease .5s backwards;
}

.nameof{
	font-size:26px;
	text-align:right;
	position:relative;
}
.nameof span{
	position:relative;
}
.nameof span::before{
	content:'';
	display:block;
	width:70px;
	height:2px;
	background:#222;
	position:absolute;
	left:-100px;
	margin:auto;
	top:0;
	bottom:0;
}

.btn_to_main{
	text-align:center;
	animation: fadeIn 1.6s ease .5s backwards;
    -webkit-animation: fadeIn 1.6s ease .5s backwards;
}
.btn_to_main a{
	display:inline-block;
	padding:10px 30px;
	width:200px;
	background:#222;
	color:#fff;
	text-decoration:none;
	margin-bottom:60px;
}
.btn_to_main a:hover{
	background:rgba(217,54,115,0.5);
}


.note_area{
	margin:0 auto 100px;
	padding-top:50px;
	border-top:1px solid #a0a0a0;
	width:93%;
	font-size:12px;
}
.note_area p{
	text-align:left;
}

.faq{
	padding:0 0;
}
.faq h2{
	color:#f750a3;
	font-size:54px;
	font-weight:bold;
	margin-bottom:40px;
	text-align:center;
}
.faq ul{
	margin:auto;
	width:100%;
	max-width:750px;
}
.faq ul li{
	padding:30px;
}
.faq ul li:nth-child(odd){
	background:rgba(0,0,0,0.05);
}
.faq ul li h3{
	position:relative;
	min-height:40px;
	font-weight:bold;
}
.faq ul li h3 span{
	display:block;
}
.faq ul li h3 .icon{
	font-size:40px;
	width:60px;
	font-weight:bold;
}
.faq ul li h3 .ttl{
	width:calc(100% - 60px);
	display: flex; /* 子要素をflexboxで揃える */
    flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
    justify-content: center; /* 子要素をflexboxにより中央に配置する */
	padding-right:70px;
	position:relative;
}
.faq ul li h3 .ttl span{
	position:absolute;
	right:0;
	top:12px;
	width:38px;
	height:38px;
	border-radius:50%;
	background:#222;
	transition: all 0.3s ease-in-out 0s;
}
.faq ul li h3.active .ttl span{
}
.faq ul li h3 .ttl span::after{
	display:block;
	content:'';
	width:12px;
	height:12px;
	position:absolute;
	top:0;
	bottom:0;
	right:0;
	left:0;
	margin:auto;
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
	-moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
	transition: all 0.3s ease-in-out 0s;
}
.faq ul li h3.active .ttl span::after{
	-moz-transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
    -o-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    transform: rotate(-135deg);
}
.acordion .icon{
	font-size:40px;
	width:60px;
	font-weight:bold;
	color:#d51f1f;
}
.acordion .anser{
	width:calc(100% - 60px);
	color:#d51f1f;
	font-weight:bold;
}

.sec_form{
	max-width:1000px;
	margin:auto;
	width:94%;
	padding:20px 0 100px;
}

.formtb{
	width:100%;
	border-collapse:collapse;
}
.formtb tr{
	border-bottom:1px solid #ebebeb;
}
.formtb tr.non_b{
	border:none;
}
.formtb th, .formtb td{
	padding:40px 0;
}
.formtb tr.non_b th, .formtb tr.non_b td{
	padding-bottom:0;
}
.formtb td.non_pt{
	padding-top:20px;
}
.formtb th{
	text-align:left;
	vertical-align:top;
	font-size:20px;
	font-weight:bold;
	line-height:60px;
}
.formtb th span{
	font-size:13px;
	font-weight:normal;
	background:#cd1120;
	padding:5px 10px;
	border-radius:12px;
	margin-left:10px;
	color:#fff;
	vertical-align:middle;
}

.formtb input[type='text']{
	border-radius:0;
    font-size: 18px;
    padding: 0 7px;
    box-sizing: border-box;
    height: 60px;
	line-height:60px;
	width:100%;
	border:1px solid #cccccc;
	 -webkit-appearance: none;
}

.np p{
	font-size:14px;
	margin:24px 0 10px;
}
.non_pt .note{
	font-size:14px;
	color:#cd1120;
	padding-left:1em;
	position:relative
}
.non_pt .note::before{
	content:'※';
	position:absolute;
	top:0;
	left:0;
}

.formtb textarea{
	border-radius:0;
    font-size: 18px;
    padding: 7px;
    box-sizing: border-box;
	width:100%;
	border:1px solid #cccccc;
	height:250px;
	 -webkit-appearance: none;
}
.formtb input[type='checkbox']{
	vertical-align:middle;
}
.formtb label h6{
	display:inline-block;
}

.btnSet input[type='submit']{
	margin-top:70px;
	background:#222;
	height: 64px;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
	border:none;
	-webkit-appearance: none;
	padding:0 40px;
	cursor:pointer;
	transition: all 0.3s ease-in-out 0s;
}
.btnSet input[type='submit']:hover{
	opacity:.7;
}

.btnSet2 input{
	margin-top:70px;
	background:#555;
	height: 64px;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
	border:none;
	-webkit-appearance: none;
	padding:0 40px;
	cursor:pointer;
	transition: all 0.3s ease-in-out 0s;
}
.btnSet2 input:hover{
	opacity:.7;
}

.mt_100{
	margin-top:100px;
}
/************************
footer
************************/
footer{
	text-align:center;
	margin:120px 0 0;
	padding-bottom:60px;
}
.copy{
	margin-top:60px;
	font-size:13px;
}

/************************
form
************************/

.Err{margin-bottom:6%;}


.sp{
	display:none;
}

.wideslider2{
	text-align:center;
	position:relative;
	top:30px;
	padding-bottom:100px;
}


.inner_flow{
	background:#dad9e0 url(../img/bg_flow.png) center top;
	margin:36px auto 0;
	width:90%;
	max-width:632px;
	padding:80px 20px;
	position:relative;
}
.inner_flow .tape3{
	position:absolute;
	top:-36px;
	text-align:center;
	margin:auto;
	left:0;
	right:0;
}
.inner_flow h2{
	text-align:center;
	margin-bottom:50px;
}
.inner_flow h3{
	text-align:center;
	margin-bottom:40px;
	font-size:32px;
	font-weight: bold;
}
.inner_flow h3 span{
	padding:4px 20px;
	background:rgba(210,195,27,0.5);
}
.inner_flow h3.type2 span{
	background:rgba(27,130,210,0.5);
}
.inner_flow h3.type3 span{
	background:rgba(217,54,115,0.5);
}
.inner_flow .arrow{
	text-align:center;
	margin:40px 0;
}
.inner_flow li{
	margin:0 30px 10px;
	font-size:24px;
	font-weight:bold;
}
.inner_flow li span{
	font-size:18px;
}
.inner_flow li span.dele{
	font-size:24px;
	font-weight:bold;
	position:relative;
}
.inner_flow li span.dele::after{
	display:block;
	content:'';
	width:100%;
	height:3px;
	background:#cd1120;
	position:absolute;
	top:0;
	bottom:0;
	margin:auto;
	left:0;
}
.inner_flow li span.dele span{
	font-size:18px;
}
.inner_flow p{
	font-weight:bold;
	margin-bottom:20px;
}
.inner_flow p img{
	vertical-align:middle;
	margin-right:10px;
}

.news{
	background:url(../img/bg_about1.png) no-repeat;
	padding:60px 26px 30px;
	text-align:left;
	margin:0 auto 60px;
	position:relative;
    max-width: 630px;
    width: 93%;
    font-size: 14px;
}
.news .tape{
	position:absolute;
	top:0;
	margin:auto;
	left:0;
	right:0;
	text-align:center;
}
.news h2{
	text-align:center;
	font-size: 30px;
    font-weight: bold;
	margin-bottom:20px;
}
.news li a{
	display: block;
	overflow: hidden; *zoom: 1;
	text-align:center;
	position:relative;
	left:-60px;
}
.news li .date{
	margin-right:20px;
	float: left;
}
/********************************
screen_width_760px
********************************/
@media screen and (max-width: 760px) {
	.p_text_area{font-size:17px; padding:10% 40px;}
	.nameof{ font-size:14px;}
	.nameof span::before{width:30px; left:-40px;}
	.p_text_area::before, .p_text_area::after{font-size:60px;}
	.p_text_area::before{left: 10px;top: 0px;}
	.p_text_area::after{ right:10px; bottom:-40px;}
	header .logo img{height:40px; width:auto;}
	.menu_btn{ width:40px; height:40px; margin-left:20px;}
	.list_sns{padding:0;}
	.btn_to{ margin:20px auto 50px; width:90%;}
	.about1{margin-bottom:30px;}
	.about2{ margin:0 auto 40px;}
	.faq ul li h3 .icon,.acordion .icon{font-size:30px; width:40px;}
	.faq ul li h3 .ttl{width: calc(100% - 40px);padding-right: 40px;}
	.faq ul li h3 .ttl span{width: 30px;height: 30px;}
	.faq ul li{ padding:3.5%;}
	.faq ul li h3 .ttl span::after{ width:8px; height:8px;}
	.acordion .anser{width: calc(100% - 40px);}
	.about h2, .detail h2,.faq h2{margin-bottom:20px;}
	.formtb th, .formtb td{display:block; padding:20px;}
	.formtb th{padding-bottom:0;}
	.formtb th{line-height:1.8; font-size:14px;}
	footer{margin: 60px 0 0;padding-bottom: 30px;}
	.sp{ display:block;}
	.inner_about figure{margin-bottom:15px;}
	.inner_about h3{margin-bottom:10px;}
	.inner_about .lead{font-size:14px;}
	.wideslider2 {top:20px;padding-bottom: 50px;}
	header{padding: 10px 3.5% 0;}
	.inner_flow li{font-size:14px;}
	.inner_flow li span{font-size:12px;}
	.inner_flow h3{ margin-bottom:20px;}
	.inner_flow .arrow{margin:20px 0;}
	.nav li a{font-size:26px;}
	.nav li{margin:20px 0;}
	.news li .date{float:none;}
	.news li a{display:inline; left:0;}
}

