@charset "utf-8";

/*========================================
  ======================================
  	VISITOR.CSS
  	- Before login , not register -
  ======================================	
========================================*/
/*l-nav*/
.visitors header{
	border-bottom: none;
}
.visitors header .h-inner{
	width: 100%;
	max-width: 100%;
}
.visitors header .js-nav{
    text-align: center;
}
.l-nav{
    display: inline-block;
	max-width: 1200px;
	margin: auto;
	background-color: #F4F4F4;
	text-align: center;
}
.visitors header .col.-fl.left-fl{
	-ms-flex-item-align: end;
	align-self: flex-end;
}
.visitors header .text{
	font-size: 1.2rem;
	color: #707070;
	margin: 0;
	padding: 0;
	font-weight: normal;
	display: inline;
}
@media (min-width:1024px){
	header .nav{
		display: none;
	}
	header .js-nav.active .background{
		display: none;
	}
	.nav-head{
		display: none;
	}
	.l-nav p{
		display: inline-block;
		margin-bottom: 0;
	}
	.l-nav p a{
		display: block;
		text-decoration: none;
		color: #2A2C32;
		text-align: center;
		border: none;
		background-color: transparent;
		border-bottom: #f4f4f4 4px solid;
		padding: 20px 30px 16px;
		font-size: 1.6rem;
		line-height: 1.2;
	}
	.l-nav p.current a{
		border-color: #CB0A23;
		pointer-events: none;
	}
	.l-nav p a:hover{
		border-color: #ec2741;
		background-color: #ec2741;
		color: #fff;
	}
	.l-nav p a:after{
		display: none;
	}
	header .js-nav .icons{
		display: none;
	}
}
@media (max-width:1023px){
	.visitors header{
		border-bottom: #707070 1px solid;
	}
	.visitors header .text{
		display: none;
	}
	header .js-nav{
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		overflow: hidden;
		z-index: 99;
		pointer-events: none;
		background-color: #f4f4f4;
		opacity: 0;
		pointer-events: none;
		-webkit-transition: .3s;
		transition: .3s;
	}
	header .js-nav.active{
		opacity: 1;
		pointer-events: all;
	}
	header .js-nav > div{
		position: relative;
		z-index: 100;
	}
	header .js-nav > .background{
		background: none;
		z-index: 98;
	}
	header .js-nav .nav{
		position: fixed;
		left: auto;
		right: 5px;
	}
	.nav-head .left-fl{
		line-height: 1.2;
	}
	.nav-head .left-fl span{
		color: #707070;
		line-height: 1;
		font-size: 1.2rem;
	}
	.l-nav{
    	display: block;
    	width: 100%;
	}
	.l-nav p{
		margin-bottom: 0;
		margin-top: -1px;
	}
	header .js-nav .icons{
		width: 100%;
		max-width: 100vw;
	}
	header .js-nav .icons .btns{
		width: 100%;
		margin: 0;
		padding: 10px;
	}
	.btns.-row > .btn{
		width: 50%;
	}
	.btns.-row > .btn a{
		padding: 20px;
	}
	.btns.-row > .btn a i{
		display: inline-block;
		width: 20px;
		height: 14px;
		position: relative;
		margin-bottom: 0;
		margin-right: 10px;
	}
	.btns.-row > .btn a i svg{
		position: absolute;
		left: 0;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
}
@media (max-width:600px){
	.l-nav a{
		text-align: left;
	}
	header .js-nav .icons .btns.-row{
		max-width: 100vw;
		padding: 10px 0;
	}
	header .js-nav .icons .btns.-row .btn{
		min-width: 1px;
	}
	header .js-nav .icons .btns.-row a{
		min-width: 1px;
	}
}
@media (max-width:375px){
	.nav-head .left-fl{
		line-height: 1.1;
	}
	.nav-head .left-fl span{
		font-size: 1.1rem;
	}
	header .js-nav .icons .btns.-row a{
		padding-left: 10px;
	}
}
/*modal login*/
#modal-login .modal-content{
	width: 375px;
	max-width: 94%;
	padding: 20px;
}
#modal-login .nav{
	position: absolute;
	top: 7px;
	right: 0;
}
@media (max-width:1023px){
	#modal-login .nav{
		left: auto;
		right: 0;
	}
}

/*main-visual*/
.l-nav{
    position: relative;
    z-index: 2;
}
.main-visual{
    margin-top: -59px;
    position: relative;
    z-index: 0;
}
.main-visual img{
    width: 100%;
}

.main-visual .-row{
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    justify-content: center;
    align-items: center;
    padding-top: 60px;
    margin: 0;
}
.main-visual .-row h1{
	padding: 0;
	margin: 0;
}
@media (max-width:1023px){
	.main-visual{
    	margin-top: 0;
	}
	.main-visual .-row{
    	padding-top: 0;
	}
}
@media (max-width:600px){
	.main-visual .-row h1{
    	font-size: 2.0rem;
	}
}
/*grid*/
section.-full{
    padding-left: 0;
    padding-right: 0;
}
.grid{
    max-width: 1366px;
    margin: auto;
}
.grid .-row{
    margin: 0;
    align-items: center;
}
.grid [class*="-ttl"]{
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}
.grid .img img{
    width: 100%;
}
.grid .text{
    position: relative;
    z-index: 2;
}
@media (min-width:601px){
	.grid .text{
    	transform: translateX(60px);
	}
	.grid .img + .text{
    	transform: translateX(-60px);
	}
}
@media (min-width:601px) and (max-width:1200px){
	.grid [class*="-ttl"]{
    	font-size: 2.8rem !important;
	}
}
@media (min-width:601px) and (max-width:1023px){
	.grid h3{
    	margin-bottom: 0;
	}
	.grid h3 + p{
    	font-size: 1.4rem !important;
	}
	.grid .text > *{
    	margin-right: -30vw;
	}
	.grid .img + .text > *{
    	margin-right: 0;
    	margin-left: -30vw;
	}
}
@media (max-width:600px){
	.grid .-row{
    	margin-bottom: 3em;
	}
	.grid .text{
        padding: 20px 20px 4px;
	}
}
/*progress*/
.aboutus .progress .col{
    width: 14.285%;
}
.aboutus .progress-text{
    align-items: center;
    font-size: 1.4rem;
}
/*aboutus*/
.aboutus .round{
    width: 200px;
    margin: 10px auto;
    max-width: 100%;
}
.aboutus .border-row .text{
    padding: 10px 20px 20px;
}
.aboutus .sp-row{
    margin: 0;
    align-content: flex-start;
}
@media (max-width:600px){
	.aboutus .bg-gray .col-4{
    	padding: 10px;
	}
	.aboutus .sp-row > .img{
    	width: 200px;
    	max-width: 50%;
	}
	.aboutus .sp-row > .text{
    	flex: 1;
	}
	.aboutus .border-row .text{
    	padding: 10px;
	}
	.aboutus .border-row .text p{
    	margin-bottom: 0;
	}
	.aboutus .border-row .text .basic-ttl{
    	margin-bottom: 0;
	}
	.aboutus section.xs-full .xs-full,
	.aboutus section.xs-full .xs-full .box,
	.aboutus section.xs-full .xs-full .box .col{
    	padding: 0;
	}
	.aboutus section.xs-full .xs-full .box .col{
    	margin-bottom: 20px;
	}
	.aboutus section.xs-full .xs-full .box .col div{
    	border-left: none;
    	border-right: none;
	}
}
@media (max-width:413px){
}
/*faq*/
.faq .unchor a{
    font-size: 1.4rem;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 6px 36px;
    line-height: 1.4;
}
.sec-faq{
    margin-bottom: 3em;
}
.sec-faq dt{
    border: #707070 1px solid;
    background: #f4f4f4;
    padding-top: 1em;
    padding-bottom: 1em;
    font-weight: bold;
}
.sec-faq dd{
    border: #707070 1px solid;
    border-top: none;
    padding-top: 1em;
    padding-bottom: 1em;
}
.sec-faq dt,
.sec-faq dd{
    padding-left: 4em;
    padding-right: 3em;
}
.sec-faq dt:before,
.sec-faq dd:before{
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    text-align: center;
    line-height: 29px;
    font-size: 20px;
    color: #fff;
    position: absolute;
    left: 0.8em;
    top: 0.7em;
    font-weight: normal;
}
.sec-faq dt:before{
    content: "Q";
    background-color: #2A2C32;
}
.sec-faq dd:before{
    content: "A";
    background-color: #707070;
}
.sec-faq p{
    line-height: 1.8;
    font-size: 1.4rem;
}
.sec-faq li{
    line-height: 1.8;
    margin-bottom: 1em;
    font-size: 1.4rem;
}
.sec-faq .idt li{
    font-size: 1.3rem;
    color: #707070;
}
.sec-faq .idt li{
    margin-bottom: 0.3em;
}
@media (max-width: 600px){
    .faq .unchor a{
        padding: 6px 32px 6px 4px;
    }
    .faq .unchor a:after{
        width: 14px;
        height: 14px;
    }
    .sec-faq dd{
        padding-right: 1em;
    }
}
/*terms*/
.terms .page-ttl{
    margin-bottom: 0;
}
.terms section{
    padding-left: 15px;
    padding-right: 15px;
}
.terms .sec-inner{
    max-width: 1000px;
}
.terms p,
.terms li{
    margin-bottom: 1em;
    line-height: 1.8;
}
/*contact*/
.contact .bg-white{
    padding: 36px 10px;
}
.contact .email{
    border: #707070 1px solid;
    max-width: 800px;
    margin: 0 auto 24px;
    padding: 1em;
}
.contact .email strong{
    position: relative;
}
.contact .email strong:before{
    background-size: 36px;
}
.contact .policy{
    padding: 36px 10px;
    margin: auto;
    max-width: 800px;
}
.contact .policy dl dt,
.contact .policy dl dd{
    padding: 4px;
}
.contact .policy dl dt{
    font-weight: bold;
}
/*point*/
dl.po dt,
dl.po dd{
    padding-left: 1em;
}
dl.po dt{
    font-size: 2.4rem;
    font-weight: bold;
    padding-bottom: 1em;
    padding-left: 2em;
}
dl.po .head{
    width: 1.5em;
}
dl.po .tbl-normal th,
dl.po .tbl-normal td{
    padding: 1em;
}
.point li{
    margin-bottom: 1em;
}
.point .items{
    padding-top: 0;
}
.point .items .sec-inner{
    border: #707070 1px solid;
    padding: 36px 48px;
}
.point .items dl dt,
.point .items dl dd{
    padding: 4px;
}
.point .items dl dt{
    font-weight: bold;
    font-size: 1.8rem;
}
.point .items dl dd{
    font-size: 1.4rem;
}
@media (max-width:600px){
    .point .items .sec-inner{
        padding: 24px 12px;
        margin-left: 10px;
        margin-right: 10px;
        width: auto;
    }
    .point dl .tbl-normal{
        margin-left: -2em;
        width: calc(100% + 2em);
    }
    dl.po dt{
        padding-left: 1em;
    }
    dl.po dt .head{
        margin-left: -1em;
    }
}
/*sitemap*/
.sitemap .page-ttl{
    margin-bottom: 0;
}
.sitemap .sec-inner{
    max-width: 1000px;
}
.sitemap .box{
    margin: auto;
}
.sitemap .box .-row{
    border: #707070 1px solid;
    align-items: center;
}
.sitemap .box .-row .img{
    padding: 0;
}
.sitemap .box .-row .text{
    padding-left: 20px;
}
.sitemap .box .-row .text h2{
    margin: 0 -25px;
    padding-top: 0;
}
.sitemap .box .-row .text p{
    margin-bottom: .4em;
}
.sitemap .box .-row .text a{
    font-size: 1.4rem;
}
@media (max-width: 600px){
    .sitemap .box .-row .text{
        padding: 20px;
    }
}

/*INDEX*/
.main-visual.index h1{
    background: rgba(255,255,255,0.6);
}
.index .information dl{
    padding: 0 48px;
    border: none;
    background-color: #f4f4f4;
    margin-bottom: 4px;
    
}
.index .information dt,
.index .information dd{
    background: transparent;
}
.index .information dd{
    padding-top: 0;
    padding-bottom: 1.8em;
}
.index .information .new dt:before{
	content: "NEW";
	xheight: 26px;
	width: 60px;
	display: block;
	xposition: absolute;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 3px 5px;
	text-align: center;
	background: #41444E;
	color: #fff;
	line-height: 1;
	margin-bottom: 2px;
}
.index .information .important{
    border: #CB0A23 8px solid;
    background: transparent;
    margin-bottom: 24px;
}
@media (max-width: 600px){
    .index .information dl{
        padding: 0 0px;
    }
    .index .information dt{
        padding: 20px;
    }
}