@charset "utf-8";

/*---------- reset ----------*/
html{font-size:62.5%;height:100%;}
body{margin:0;padding:0;font-size:1.5rem;font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif,"游ゴシック","Yu Gothic",Yu Gothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ ゴシック";line-height:1.5;color:#333;height:100%;position:relative;letter-spacing:0.1em;overflow-wrap:break-word;word-wrap:break-word;}
header,main,article,section,nav,footer{display:block;}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;font-size:100%;}
textarea{font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif,"游ゴシック","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ ゴシック";border-radius:0;}
input{font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif,"游ゴシック","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ ゴシック";line-height:1.5;color:#333;position:relative;letter-spacing:0.1em;overflow-wrap:break-word;word-wrap:break-word;border-radius:0;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border: 0;}
address,caption,cite,code,dfn,th,var{font-style:normal;font-weight:normal;}
em{font-style:normal;font-weight:500;}
ol,ul{list-style: none;}
caption{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
abbr,acronym{border:0;}
input[type="button"],input[type="submit"],input[type="email"]{-webkit-appearance:none;border-radius:0;}
select::-ms-expand{display:none;}

*, *::before, *::after{box-sizing:border-box;}
.cf::after{content:"";clear:both;display:block;}
/*---------- reset end ----------*/


html{visibility:hidden;}
html.wf-active, html.wf-inactive{visibility:visible;}

#wrapper{overflow:hidden;}

::-webkit-input-placeholder{color:#ccc;}
::-moz-placeholder{color:#ccc;opacity:1;}
:-ms-input-placeholder{color:#ccc;}
input:focus::-webkit-input-placeholder{color:#ccc;}
input:focus:-moz-placeholder{color:#ccc;}
input:focus::-moz-placeholder{color:#ccc;}

.mode{ime-mode:disabled;}
.unmode{ime-mode:active !important;}


/*---------- Message for IE ----------*/
.for_ie{background:#E30613;}
.ie_wrap{
	max-width:1140px;
	padding:25px 20px 15px;
	margin:auto;
}
.ie_txt{
	margin-bottom:20px;
	color:#fff;
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2rem;
}
.download_wrap{overflow:hidden;}
.download{
	float:left;
	display:block;
	width:260px;
	padding:11px 25px 12px;
	margin:0 15px 15px 0;
	background:url(/img/common/popup_white.svg) no-repeat center right 10px !important;
	border:1px solid #fff;
	color:#fff !important;
	font-size:1.4rem;
	letter-spacing:1.4px;
	text-align:center;
	text-decoration:none;
}
.download:hover{
	background-color:#fff !important;
	background-image:url(/img/common/popup.svg) !important;
	color:#E30613 !important;
}


/*---------- form/header ----------*/
.logo_link{
	display:block;
	max-width:178px;
	padding:25px 0 23px;
	margin:auto;
}
.logo_img{
	display:block;
	width:100%;
}


/*---------- form/footer ----------*/
#form_footer{border-top:1px solid #ddd;}

#return{
	position:relative;
	z-index:1000;
}
.return_btn{
	display:block;
	position:fixed;
	right:30px;
	bottom:-25px;
	width:50px;
	height:50px;
	background:#e30613;
	border:1px solid #e30613;
	border-radius:50%;
	text-decoration:none;
	transition:background 0.3s;
}
.return_btn:hover{background:#fff;}
.return_btn::after{
	content:'';
	display:block;
	position:absolute;
	top:8px;
	right:0;
	bottom:0;
	left:0;
	margin:auto;
	width:14px;
	height:14px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	transform:rotate(-45deg);
	transition:border-color 0.3s;
}
.return_btn:hover::after{border-color:#e30613;}
.return_txt{display:none;}

#copyright{
	padding:22px 20px;
	margin:auto;
	text-align:center;
}
.copy_txt{
	font-size:1.3rem;
	letter-spacing:1.3px;
}


/*---------- form/common ----------*/
#content_wrap{border-top:1px solid #ddd;}

#pankuzu{
	max-width:1140px;
	padding:0 20px;
	margin:0 auto 45px;
}
#pankuzu ol{
	display:flex;
	padding:10px 0 0;
	margin:auto;
}
#pankuzu li{
	list-style:none;
	padding-top:10px;
	margin-right:11px;
	color:#999;
	font-size:1.2rem;
}
#pankuzu a{
	margin-right:9px;
	color:#999;
	letter-spacing:1.2px;
	text-decoration:none;
}
#pankuzu li:last-child a{
	color:#333;
	pointer-events:none;
}
#pankuzu a:hover{text-decoration:underline;}

.ttl_wrap{
	max-width:1140px;
	padding:0 20px;
	margin:0 auto 55px;
}
.ttl_area{
	display:flex;
	align-items:center;
	justify-content:space-between;
}
.parent_name{
	margin-bottom:3px;
	color:#E30613;
}
.page_ttl{
	font-size:3.2rem;
	letter-spacing:3.2px;
}

.content_area{
	position:relative;
	max-width:1140px;
	padding:0 20px 120px;
	margin:auto;
}
.content_area::before{
	content:'';
	display:block;
	position:absolute;
	z-index:10;
	top:-45px;
	right:-45px;
	left:0;
	margin:auto;
	max-width:1140px;
	width:100%;
	height:90px;
	background:url(/img/common/icon_red.svg) no-repeat center right/89px;
}
.content_area > *:first-child{margin-top:0;}
.content_area > p:first-child{
	position:relative;
	z-index:10;
	background:#fff;
}

a, a:visited{
	color:#333;
	text-decoration:underline;
}
a:hover{text-decoration:none;}
a[target="_blank"]{
	padding-right:20px;
	background:url(/img/common/popup.svg) no-repeat center right;
}

img{
	display:block;
	max-width:100%;
	height:auto;
}
p{
	margin-bottom:20px;
	line-height:2.9rem;
}
ul, ol{
	padding-left:20px;
	margin-bottom:20px;
}
li{
	line-height:2.9rem;
	list-style:none;
}

table{
	width:100%;
	margin-bottom:20px;
	border-top:1px solid #ccc;
}
th, td{
	padding:19px 20px 20px;
	border-bottom:1px solid #ccc;
	line-height:2.9rem;
}
th{
	width:272px;
	background:#F5F5F5;
	text-align:left;
}
td ul{padding:0;}
td > *:last-child{margin-bottom:0;}


/*---------- form/content/jp ----------*/
.step{
	position:relative;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	padding:0;
	margin:0 auto 45px;
}
.step::before{
	content:'';
	display:block;
	position:absolute;
	z-index:-1;
	top:0;
	right:0;
	bottom:4px;
	left:0;
	margin:auto;
	width:200px;
	height:1px;
	background:#333;
}
.step_item{
	position:relative;
	padding:0 19px 5px;
	margin:0 6px;
	background:#fff;
}
.now{color:#E30613;}
.now::after{
	content:'';
	display:block;
	position:absolute;
	right:0;
	bottom:0;
	left:0;
	margin:auto;
	width:calc(100% - 38px);
	height:1px;
	background:#E30613;
}

.red{color:#E30613;}

.content_area form{margin:25px auto 0;}
.content_area table{
	table-layout:fixed;
	margin-bottom:45px;
}
.required{
	float:right;
	color:#E30613;
	font-size:1.2rem;
	letter-spacing:1.2px;
}
label{
	position:relative;
	padding-left:20px;
}
[type="radio"]{
	position:absolute;
	top:2px;
	bottom:0;
	left:0;
	margin:auto;
}
[type="checkbox"]{
	position:absolute;
	top:2px;
	bottom:0;
	left:0;
	margin:auto;
}
[type="text"],
[type="tel"],
[type="email"]{
	width:100%;
	padding:12px 15px 13px;
	border:1px solid #ccc;
}
[name="textarea"],.textarea{
	font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif,"游ゴシック","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ ゴシック";
	width:100%;
	min-height:150px;
	padding:12px 15px 13px;
	border:1px solid #ccc;
	resize:vertical;
	overflow:auto;
}
#postcode{
	width:170px;
	margin:0 0 10px 8px;
}
#en_postcode{
	width:170px;
	margin:5px 0 0 8px;
}
.note{
	margin-bottom:10px;
	font-size:1.4rem;
	letter-spacing:1.4px;
}
.form-group .note{margin-top:10px;}
.hide{display:none;}
#email_confirm{
	font-size:2.4rem;
	font-weight:bold;
	letter-spacing:2.4px;
}

.doi{
	margin:45px 0 50px;
	background:#f5f5f5;
}
.doi label{
	position:relative;
	display:block;
	text-align:center;
	padding:30px 0 31px 20px;
	cursor:pointer;
}
.doi input{
	position:absolute;
	width:15px;
	top:0;
	left:-250px;
	right:0;
	bottom:0;
	margin:auto;
	cursor:pointer;
}
.doi span{padding-left:20px;}

#form_btn{
	position:relative;
	max-width:300px;
	width:100%;
	margin:auto;
	background:#E30613;
	border:1px solid #E30613;
	transition:background 0.3s;
}
#form_btn:hover{background:#fff;}
#form_btn input{
	display:block;
	color:#fff;
	width:100%;
	padding:23px 0;
	background:none;
	border:none;
	cursor:pointer;
	transition:color 0.3s;
}
#form_btn:hover input{color:#E30613;}


/*---------- form/check ----------*/
.content_area .form_check{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	margin:50px auto 0;
}
#form_btn2{
	max-width:160px;
	width:100%;
	padding:23px 0;
	margin-right:20px;
	background:#666;
	border:1px solid #666;
	color:#fff;
	text-align:center;
	text-decoration:none;
	transition:all 0.3s;
}
#form_btn2:hover{
	background:#fff;
	color:#666;
}
.form_check #form_btn{margin:0;}


/*---------- form/thanks ----------*/
.link_btn a{
	position:relative;
	display:block;
	max-width:300px;
	padding:22px 0 23px;
	margin:50px auto 0;
	background:#666;
	border:1px solid #666;
	color:#fff !important;
	text-align:center;
	text-decoration:none;
	transition:all 0.3s;
}
.link_btn a:hover{
	background:#fff;
	color:#666 !important;
}
.link_btn a::after{
	content:'';
	display:block;
	position:absolute;
	top:0;
	right:25px;
	bottom:0;
	margin:auto;
	width:10px;
	height:10px;
	border-top:1px solid #fff;
	border-right:1px solid #fff;
	transform:rotate(45deg);
	transition:border-color 0.3s;
}
.link_btn a:hover::after{border-color:#666;}


/*---------- form/content/en ----------*/
.en .doi input{left:-390px;}
.sp_small{display:none;}


/*---------- form/signup ----------*/
.pre{
	margin:75px 0 35px;
	font-size:2.4rem;
	letter-spacing:2.4px;
}
.user_id{
	margin:auto;
	font-size:1.8rem;
	letter-spacing:1.8px;
}
[type="password"]{
	width:300px;
	padding:12px 15px 13px;
	border:1px solid #ccc;
}

.sp_size, .sp_mini{display:none;}
.regist_box{
	padding:25px 20px 30px;
	background:#F5F5F5;
}
.regist_box p{
	margin-bottom:30px;
	text-align:center;
}
.cta_btn a{
	display:block;
	max-width:300px;
	width:100%;
	padding:22px 0 23px;
	margin:auto;
	background:#E30613;
	border:1px solid #E30613;
	color:#fff;
	text-align:center;
	text-decoration:none !important;
	cursor:pointer;
	transition:all 0.3s;
}
.cta_btn a:hover{
	background:#fff;
	color:#E30613;
}

.en_address{margin-bottom:10px;}
.select2-container{
	display:block;
	max-width:450px;
	width:100% !important;
}
.select2-container .select2-selection--single{
	height:auto;
	padding:10px 20px 10px 15px;
	background:none;
	border:1px solid #ccc;
	border-radius:0;
}
.select2-container .select2-selection--single .select2-selection__rendered{
	padding:0;
	color:#333;
}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:48px;}


@media screen and (max-width:1220px){

.content_area::before{
	right:0;
	left:-22px;
}

}


@media screen and (max-width:999px){

/*---------- form/common ----------*/
#pankuzu{margin-bottom:35px;}

.ttl_wrap{margin-bottom:40px;}
.page_ttl{
	font-size:2.8rem;
	letter-spacing:2.8px;
}

.content_area{padding-bottom:100px;}
.content_area::before{background-size:69px;}

p, ul, ol,
th, td,
.link_btn a{
	font-size:1.4rem;
	letter-spacing:1.4px;
}

th, td{padding:14px 15px;}
th{width:200px;}
td::before{height:calc(100% - 40px);}


/*---------- form/content/jp ----------*/
.step{margin-bottom:35px;}
.content_area table{margin-bottom:35px;}

.note{
	font-size:1.3rem;
	letter-spacing:1.3px;
}
#email_confirm{
	font-size:2rem;
	letter-spacing:2px;
}
[type="text"], [type="tel"], [type="email"]{padding:9px 12px 10px;}
[name="textarea"],.textarea{
	min-height:200px;
	padding:9px 12px 10px;
}

.doi{margin:35px 0 40px;}
.doi label{padding:25px 0 26px 25px;}
.doi input{left:-235px;}

#form_btn{max-width:270px;}
#form_btn input{
	padding:18px 0 19px;
	font-size:1.4rem;
	letter-spacing:1.4px;
}


/*---------- form/content/en ----------*/
.en .step{max-width:390px;}
.en .doi input{left:-360px;}


/*---------- form/check ----------*/
.content_area .form_check{margin-top:40px;}
#form_btn2{
	padding:18px 0 19px;
	font-size:1.4rem;
	letter-spacing:1.4px;
}
.form_check #form_btn{max-width:270px;}


/*---------- form/thanks ----------*/
.link_btn a{
	max-width:270px;
	padding:18px 0 19px;
	font-size:1.4rem;
	letter-spacing:1.4px;
}


/*---------- form/signup ----------*/
.pre{
	font-size:2.2rem;
	letter-spacing:2.2px;
}
.user_id{
	font-size:1.6rem;
	letter-spacing:1.6px;
}
[type="password"]{padding:9px 12px 10px;}

.regist_box p{margin-bottom:25px;}
.cta_btn a{
	max-width:270px;
	padding:18px 0 19px;
	font-size:1.4rem;
	letter-spacing:1.4px;
}

.select2-container .select2-selection--single{padding:6px 20px 6px 12px;}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:40px;}

}


@media screen and (max-width:767px){

body{
	-webkit-text-size-adjust:100%;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	background:#fff;
	width:auto;
}
input,textarea,select{font-size:1.6rem;}


/*---------- form/header ----------*/
.logo_link{
	max-width:156px;
	padding:20px 0 18px;
}


/*---------- form/footer ----------*/
.return_btn{
	right:20px;
	width:40px;
	height:40px;
}

#copyright{padding:20px;}
.copy_txt{
	font-size:1.1rem;
	letter-spacing:1.1px;
}


/*---------- form/common ----------*/
#pankuzu{display:none;}

.ttl_wrap{margin:30px auto;}
.parent_name{
	margin-bottom:0;
	font-size:1.2rem;
	letter-spacing:1.2px;
}
.ttl_area{display:block;}
.page_ttl{
	margin-bottom:5px;
	font-size:2.4rem;
	letter-spacing:2.4px;
}

.content_area{padding-bottom:80px;}
.content_area::before{
	top:-22px;
	height:45px;
	background-size:44px;
}

img{margin:auto;}
p, ul, ol{
	margin-bottom:15px;
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:1.846;
}
li{
	line-height:1.846;
	margin-bottom:5px;
}

th, td,
td ul, td ol,
td p{
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:2;
}
th, td{
	padding:12px 15px 13px;
}
th{width:120px;}
td{width:calc(100% - 120px);}
td::before{height:calc(100% - 30px);}


/*---------- form/content/jp ----------*/
.step{margin-bottom:35px;}
.content_area form{margin-top:20px;}
.content_area table{margin-bottom:25px;}

.form_table th,
.form_table td{
	display:list-item;
	list-style:none;
	width:100%;
}
.form_table th{border-bottom:none;}
.required{
	margin-top:2px;
	font-size:1.1rem;
	letter-spacing:1.1px;
}
.note{
	font-size:1.2rem;
	letter-spacing:1.2px;
}
#email_confirm{
	font-size:1.8rem;
	letter-spacing:1.8px;
}
[type="text"], [type="tel"], [type="email"]{padding:7px 10px 8px;}
[name="textarea"],.textarea{
	min-height:300px;
	padding:7px 10px 8px;
}

.doi{margin:25px 0 30px;}
.doi label{padding:20px 0 21px 20px;}
.doi input{left:-220px;}

#form_btn{max-width:240px;}
#form_btn input{
	padding:14px 0 15px;
	font-size:1.3rem;
	letter-spacing:1.3px;
}


/*---------- form/content/en ----------*/
.en .doi input{left:-340px;}


/*---------- form/check ----------*/
.content_area .form_check{margin-top:30px;}
#form_btn2{
	max-width:120px;
	padding:14px 0 15px;
	font-size:1.3rem;
	letter-spacing:1.3px;
}
.form_check #form_btn{max-width:180px;}


/*---------- form/thanks ----------*/
.link_btn a{
	max-width:240px;
	padding:14px 0 15px;
	margin-top:30px;
	font-size:1.3rem;
	letter-spacing:1.3px;
}


/*---------- form/signup ----------*/
.pre{
	margin:70px 0 25px;
	font-size:2rem;
	letter-spacing:2px;
}
.user_id{
	font-size:1.5rem;
	letter-spacing:1.5px;
}
[type="password"]{
	width:250px;
	padding:7px 10px 8px;
}

.sp_size{display:block;}
.regist_box{padding:20px 20px 25px;}
.regist_box p{margin-bottom:20px;}
.cta_btn a{
	max-width:240px;
	padding:14px 0 15px;
	font-size:1.3rem;
	letter-spacing:1.3px;
}

.select2-container .select2-selection--single{padding-left:10px;}

}


@media screen and (max-width:600px){

.sp_mini{display:block;}

.en .step{z-index:10;}
.en .step_item{padding:0 10px 5px;}
label{display:inline-block;}
.sp_small{display:block;}
.en .doi input{left:-210px;}

}


/*---------- print ----------*/
@media print{
	body{
		width:1200px;
		transform:scale(1);
		-moz-transform:scale(1);
		-webkit-transform:scale(1);
		transform-origin:0 0;
		zoom:0.91;
		margin:auto;
	}
	@media all and (-ms-high-contrast:none){/* ハイコントラストモードが「オフ」の場合 */
		body{width:1200px;}
	}
	@media (-ms-high-contrast:none), (-ms-high-contrast:active){
		body{width:1200px;}
	}
	@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:.001dpcm){
		body{
			width:1200px;
			transform:scale(0.8);
			-moz-transform:scale(0.8);
			-webkit-transform:scale(0.8);
			transform-origin:0 0;
			margin:auto;
		}
	}
}
/*---------- print end ----------*/