/*-------------- エラーページ用css --------------*/

@charset "utf-8";

/*-------------- reset --------------*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

a,button{
	outline: none;
}

input:focus,textarea:focus,select:focus{
	outline: 0;
}

/*-------------- init --------------*/


@font-face {
	font-family: 'Roboto';
	font-weight: 100;
	font-style: normal;
	src: url('../font/Roboto/roboto-v20-latin-100.woff') format('woff');
}

@font-face {
	font-family: 'Roboto';
	font-weight: 300;
	font-style: normal;
	src: url('../font/Roboto/roboto-v20-latin-300.woff') format('woff');
}

@font-face {
	font-family: 'Roboto';
	font-weight: 400;
	font-style: normal;
	src: url('../font/Roboto/roboto-v20-latin-400.woff') format('woff');
}

@font-face {
	font-family: 'Roboto';
	font-weight: 500;
	font-style: normal;
	src: url('../font/Roboto/roboto-v20-latin-500.woff') format('woff');
}

@font-face {
	font-family: 'Roboto';
	font-weight: 700;
	font-style: normal;
	src: url('../font/Roboto/roboto-v20-latin-700.woff') format('woff');
}

@font-face {
	font-family: 'Roboto';
	font-weight: 900;
	font-style: normal;
	src: url('../font/Roboto/roboto-v20-latin-900.woff') format('woff');
}

.roboto{
	font-family: "Roboto";
	font-weight: 400;
}

* {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-touch-callout: none;
}

html {
	font-size: 62.5%;
}

body {
	min-height:100vh;
	background: #FFFFFF;
	color: #203D58;
	font-size: 1.4rem;
	line-height: 1.6em;
    font-family:"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","游ゴシック Medium",YuGothic,YuGothicM,メイリオ,Meiryo,sans-serif;
	font-feature-settings: "palt";
  	letter-spacing: 0.01em;
}

.img_responsive{
	max-width:100%;
}

.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

.cf {
    *zoom: 1;
}

a {
	color:#007ECB;
}

* {
  box-sizing: border-box;
}

.container{
	max-width:1040px;
	margin:0 auto;
}

.sponly{
	display:none;	
}

/*-------------- header --------------*/

header{
	border-top: 4px solid #007ECB;
}

header .logo_bar {
	width: 100%;
	height: 160px;
}

header .logo_bar .logo {
    max-width: 1040px;
    height: 160px;
    text-align: left;
    margin: 0 auto;
}

header .logo_bar .logo img{
	border-top: 4px solid #009300;
	margin:-4px 10px 0;
}

header .page_navi{
	display:block;
	margin-top: -100px;
}

header .page_navi .container{
	text-align: center;
	margin:0 auto 20px;
	border-bottom: 1px solid #DDDDDD;
}

header .page_navi h1{
	display:block;
	padding :0px 10px 60px 190px;
	color:#007ECB;
	font-size:2.8rem;
	line-height: 1.5em;
	text-align: left;
}

/*-------------- footer --------------*/

footer{
	background:#275B88;
	padding:25px;
	color:#90A7BB;
	text-align: center;
	font-family: 'Roboto';
	font-size:1.4rem;
}

/*-------------- main --------------*/


main{
	padding-top:20px;
	padding-bottom:40px;
	background:#FFFFFF;
}

.btn_area{
	width:100%;
	margin:10px auto;
	text-align: center;
}

.btn_area button.btn_l{
	margin-top:12px;
}

.btn_area button.btn_l:first-child{
	margin-right:12px;
}

.btn_area_sub{
	width:100%;
	margin:35px auto 20px;
	text-align: center;
}

.btn_l{
	display: inline-block;
	width:100%;
	max-width:345px;
	height:5rem;
	margin:0 auto;
	border-radius: 8px;
	text-align:center;
	vertical-align: middle;
	font-weight:600;
	font-size:1.6rem;
	line-height: 4.9rem;
	text-decoration: none;
	letter-spacing: 0.05em;
}

.btn_m{
	display: inline-block;
	margin:0 auto;
	width:60%;
	min-width:60%;
	height:3.6rem;
	border-radius: 8px;
	text-align:center;
	vertical-align: middle;
	font-weight:600;
	font-size:1.4rem;
	line-height: 3.5rem;
	text-decoration: none;
	letter-spacing: 0.03em;
}

.btn_h{
	display: inline-block;
	margin:0 auto;
	width:46%;
	height:3.6rem;
	border-radius: 8px;
	text-align:center;
	vertical-align: middle;
	font-weight:600;
	font-size:1.4rem;
	line-height: 3.4rem;
	text-decoration: none;
	letter-spacing: 0.03em;
}

.btn_q{
	display: inline-block;
	margin:0 auto;
	width:25%;
	min-width:25%;
	height:3.6rem;
	border-radius: 8px;
	text-align:center;
	vertical-align: middle;
	font-weight:600;
	font-size:1.4rem;
	line-height: 3.4rem;
	text-decoration: none;
	letter-spacing: 0.03em;
}

.btn_s{
	display: inline-block;
	margin:0 auto;
	padding:0 1.6rem;
	width:auto;
	height:3.0rem;
	border-radius: 20px;
	text-align:center;
	vertical-align: top;
	font-weight:600;
	font-size:1.3rem;
	line-height: 2.8rem;
	text-decoration: none;
	letter-spacing: 0.03em;
}

.btn_blue{
	border:1px solid #007ECB;
	background-color:#007ECB;
	color:#FFFFFF;
	transition:.3s;
}

.btn_gray{
	border:1px solid #808080;
	background-color:#808080;
	color:#FFFFFF;
	transition:.3s;
}

.btn_neblue{
	border:1px solid #007ECB;
	background-color:#FFFFFF;
	color:#007ECB;
}

.btn_blue:hover{
	border:1px solid #009CFF;
	background:#009CFF;
}

.btn_neblue:hover{
	border:1px solid #009CFF;
	color:#009CFF;
}

.not-allowed{
	cursor: not-allowed
}

/*-------------- section --------------*/

.common_section {
	margin:0px 0px 20px 0px;
	padding:40px;
	background: #F7F8FA;
}

.common_section h2{
	display: block;
	margin:0px 4px 20px;
	color:#007CCE;
	font-size:2rem;
	font-weight:700;
	letter-spacing: 0.05em;
}

.common_section .box{
	margin:0 0 20px 0;
	padding:20px 20px 12px 30px;
	background: #FFFFFF;
	box-shadow: 0 1px 3px rgba(69,91,99,0.16);
	border-radius: 0px;
}


.common_section .nobox{
	margin:0px 16px 18px;
	padding:7px 0px;
}

.common_section.only_btn .nobox{
	margin:-20px 0px 18px;
	padding:7px 12px;
}

.common_section dl.info_detail{
	position:relative;
	padding:0 0 5px;
	display:flex;
	-webkit-flex-wrap: wrap;
   	flex-wrap: wrap;
}

.common_section dl.info_detail dt{
	position:relative;
	float:left;
	width:25%;
	padding:18px 5px 16px 7px;
	color:#275B88;
	font-size:1.5rem;
	line-height: 1.6em;
	font-weight:700;
	border-bottom:1px solid #E6E6E6;
}

.common_section dl.info_detail dt p.memo{
	display: inline-block;
	margin:5px 2px;
	font-size:1.25rem;
	line-height:1.6em;
	color:#666666;
	font-weight: 300;
}

.common_section dl.info_detail dt span.comment{
	display:inline-block;
	color:#666666;
	font-weight: normal;
	padding-left:10px;
}

.common_section dl.info_detail dd{
	width:75%;
	padding:16px 10px 16px 25px;
	font-size:1.4rem;
	line-height: 1.6em;
	border-bottom:1px solid #E6E6E6;
}

.common_section dl.info_detail dd p.memo{
	display: block;
	margin:8px 2px;
	font-size:0.85em;
	line-height:1.6em;
	color:#666666;
	font-weight: 300;
}

.common_section dl.info_detail .info_detail_sub{
	display: flex;
	flex-wrap: wrap;
	margin:0px 0 5px 0;
	padding:12px 0px 5px;
	border-left:1px solid #5E7B94;
}

.common_section dl.info_detail dd.nohead{
	width:100%;
}

.common_section dl.info_detail .info_detail_sub dt{
	width:25%;
	padding:15px 5px 0px 20px;
	color:#213E57;
	font-size:1.4rem;
	line-height: 1.5em;
	font-weight:700;
	border:none;
}

.common_section dl.info_detail .info_detail_sub dt .sub_info{
	padding-left:8px;
	font-weight:100;
	font-size:1.4rem;
}

.common_section dl.info_detail .info_detail_sub dd{
	width:75%;
	margin:0;
	padding:6px 10px 6px 20px;
	border:none;	
}

.common_section dl.info_detail dd:last-child,
.common_section dl.info_detail dt:last-of-type{
	border-bottom: none;
}

.common_section dl.info_detail dt.maxw{
	position:relative;
	float:left;
	width:100%;
	padding:18px 5px 0px 7px;
	color:#275B88;
	font-size:1.5rem;
	line-height: 1.6em;
	font-weight:700;
	border-bottom:none
}

.common_section dl.info_detail dt.maxw + dd{
	width:100%;
}

.common_section dl.info_detail dt.maxw + dd .info_detail_sub{
	display: flex;
	flex-wrap: wrap;
	margin:0px 0 5px 0;
	padding:0px;
	border-left:1px solid #5E7B94;
}


.attention_section{
	padding:16px 18px 8px;
	background:#F4EDF0;
}

.attention_section .message{
	color:#C14242;
	font-size:1.3rem;
	line-height: 1.6em;
}

.common_section .name_adj{
	display:inline-block;
	width:2.5em;
}

.common_section .table_div{
	margin:5px 0;
	padding-left:5px;
}

.common_section .year_table{
	width:258px;
}

.common_section .table_header{
	padding:3px 8px;
	background:#5E7B94;
	font-size:1.1rem;
	line-height: 1.6em;
	color:#FFFFFF;
	font-weight: 600;
    background-repeat: no-repeat;
    background-position: right 10px center;
    transition:background-image 0.3s linear;
}

.common_section .table_disp{
	display:block;

}
.common_section .table_s{
	display:table;
	width:100%;
	border-bottom:1px solid #E6E6E6;
}

.common_section .table_s tr:last-child td{
	padding-bottom:10px;
}

.common_section .table_s th{
	display:table-cell;
	width:33.333%;
	background:#90A7BB;
	padding:1px 3px;
	border: solid 1px #FFFFFF;
	border-collapse: collapse;
	color:#ffffff;
	font-size: 1.1rem;
	line-height: 1.6em;
	font-weight: bold;
	text-align: center;
}

.common_section .table_s th:first-child{
	border-left:none;
}

.common_section .table_s th:last-child{
	border-right:none;
}

.common_section .table_s td{
	display:table-cell;
	padding:1px 4px;
	font-size: 1.0rem;
	line-height: 1.6em;
	text-align: center;
	background: #FFFFFF;
}


.another_address_check{
	position:relative;
	display:inline-block;
	background:#007CCE;
	color:#FFFFFF;
	margin:0px -12px 0 -12px;
	padding:10px 10px 12px;
	font-size:1.65rem;
	font-weight: 700;
	transition:0.4s;
}

.another_address_check input[type="checkbox"]{
  	opacity:0;
  	-webkit-appearance: none;
	appearance: none;
	position: absolute;
}

.another_address_check input[type="checkbox"] + span::before {
	display: inline-block;
	content: '';
	width: 2.2rem;
	height: 2.2rem;
	border-radius: 3px;
	border: 1px solid #FFFFFF;
	margin-right: 1.2rem;
	vertical-align: middle;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -2 22 24'%3E%3Cpolyline fill='none' stroke='white' stroke-opacity='0.15' stroke-width='4' points='2,7.3 7.3,12.7 18,2 '/%3E%3C/svg%3E");
 	background-repeat: no-repeat;
  	background-position: 0 2px;
}

.another_address_check input[type="checkbox"]:checked + span::before {
	background-color:#007CCE;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -2 22 24'%3E%3Cpolyline fill='none' stroke='white' stroke-width='4' points='2,7.3 7.3,12.7 18,2 '/%3E%3C/svg%3E");
 	background-repeat: no-repeat;
  	background-position: 0 2px;
  	border: 1px solid #FFFFFF;
}

.common_section .memo_div{
	padding:15px 5px 10px;
	color:#666666;
	font-size:1.3rem;
	line-height: 1.8em;
}

.common_section .body_text{
	font-size:1.5rem;
	line-height:1.6em;
	color:#213E57;
	padding:15px 2px 30px;
}

.licence_info{
	position:relative;
	display:block;
	width:100%;
	margin:10px 10px 10px 20px ;
	padding:15px;
	background:#FAFAFA;
}

.license_info_mid{
	position:absolute;
	top:15px;
	left:15px;
	font-size:1.3rem;
	font-weight: bold;
}

.licence_info img{
	float:left;
	margin:30px 30px 10px 90px;
}

.licence_info .year_table{
	float:right;
	margin:30px 30px 10px 30px;
}


.license_ness{
	background:#F9F9F9;
	padding:15px 15px;
	color:#545454;
	font-size:1.3rem;
	line-height: 1.8em;
}

.license_ness span.memo{
	display: inline-block;
	padding-left:2em;
}

.license_upload{
	width:100%;
	margin:10px 20px;
	padding:20px;
	border:12px solid #ECF4FC;
}

.license_upload h4{
	font-weight: bold;
	color:#454545;
	font-size:1.4rem;
	line-height: 1.6em
}

.license_upload p{
	margin-top:15px;
	margin-left:3em;
}

.upload_files{
	display:flex;
	flex-wrap: nowrap;
	margin-top:20px;
}

.upload_files .upload_file_name{
	white-space: nowrap;
	padding:12px;
	min-width:100px;
	text-align: center;
	color:#203D58;
	font-size:1.3rem;
	font-weight: bold;
	background:#F8F8F8;
}

.upload_files .upload_file_box{
	padding:12px 8px 0px;
}

.check_terms.regist_confirm{
	border:1px solid #007CCE;
	margin-top:0px;
	margin-bottom:20px;
	padding:4px 4px 8px 4px; 
	background: #FFFFFF;
	font-weight: bold;
	font-size:1.1em;
	text-align: center;
}


.info_link{
	font-size:1.4rem;
	line-height:1em;
}

.info_link:before{
	display:inline-block;
	content:'';
	width:20px;
	height:20px;
    margin-right:4px;
    background:url(../img/icon_i.svg) no-repeat left center;
	vertical-align: middle
}

.pdf_link{
	font-size:1.6rem;
	line-height:1.2em;
	color:#007CCE;
	font-weight: bold;
	text-decoration: none;
}

.pdf_link:nth-child(2){
	margin-left:30px;
}

.pdf_link:before{
	display:inline-block;
	content:'';
	width:24px;
	height:24px;
    margin-right:8px;
    background:url(../img/icon_pdf.svg) no-repeat left center;
	vertical-align: middle
}


/*-------------- intro --------------*/

.intro_flow {
	margin:40px 0 20px;
}

.intro_flow .flow_fig{
	display:flex;
	margin: 0;
	border:1px solid #5E7B94;
	border-radius: 12px;
	background: #FFFFFF;
}

.intro_flow .flow_fig li{
	position:relative;
	width:16.66%;
	height:168px;
	padding:10px 22px 0px 0;
	text-align: center;
	color:#203D58;
	font-weight:bold;
	font-size:1.25rem;
    line-height: 1.4em;
    background: url(../img/flow_arrow.svg) no-repeat right center;
}

.intro_flow .flow_fig li:first-child{
	position:relative;
	width:18.66%;
	padding:10px 12px 0px 0;
}

.intro_flow .flow_fig li:last-child{
	position:relative;
	width:14.66%;
	background-image:none;
	padding:10px 12px 0px 0;
}
.intro_flow .flow_fig li span{
	display:block;
	position: absolute;
	top:-13px;
	left:calc(50% - 24px);
	width:28px;
	height:28px;
	background:#007CCE;
	color:#FFFFFF;
	font-family: 'Roboto';
	font-weight: 500;
	border-radius: 14px;
	font-size: 2.1rem;
	line-height: 28px;
}

.intro_flow .flow_fig li img{
	margin-top:8px;
}

.intro_memo {
	padding:5px;
	line-height:1.8em;
	color:#454545;
}

.necessary_info .box{
	margin:0 0 12px;
}

.necessary_info h4{
	font-size:1.6rem;
	line-height: 1.6em;
	color:#203D58;
	font-weight: bold;
}

.necessary_info .fig_license{
	float:left;
	margin:30px 30px 15px 30px;
}

.necessary_info .fig_cards{
	margin:0px 20px 0 20px;
}

.necessary_info p{
	margin:15px 10px;
}

.necessary_info .app_bnrs{
	margin:0px 20px 0 20px;
}

.necessary_info .app_bnrs img{
	margin: 0 10px;
}

.optional_info h5{
	margin-bottom:10px;
	font-size:1.2em;
	font-weight: bold;
}

.optional_info p{
	margin:20px 20px 0px 20px;
	line-height:1.7em;
}

.optional_info strong{
	font-weight: bold;
}

.optional_info p span.memo{
	display: inline-block;
	padding-left: 2em;
}

.section_apply{
	background:#DEEBF5;
	padding:25px;
}

.section_apply .download_apps{
	padding:20px;
	background:#FFFFFF;
	text-align: center;
}

.section_apply .download_apps p{
	margin-bottom:20px;
	font-size:1.6rem;
	line-height: 1.5em;
	color:#007CCE;
	font-weight: bold;
}

.section_apply .download_apps p.caution{
	color:#C3413E;
}

.section_apply .download_apps .app_bnrs img{
	margin: 0 10px;
}

.section_apply .registration{
	padding: 20px 20px 0px;
	text-align: center;
}

.section_apply .registration span{
	padding-right:15px;
	font-size:1.6rem;
	line-height: 1.5em;
	color:#333333;
	font-weight: bold;
}

.section_apply .registration input{
	width:50%;
	font-size:1.8rem;
	padding:20px;
}

.section_message .box{
	padding:40px;
}

.section_message .tel{
	display: block;
	text-align: center;
	border:1px solid #007CCE;
	padding:5px;
	font-weight: bold;
	color:#007CCE;
}

.section_message h3{
	padding-bottom:30px;
	font-size:2.2rem;
	font-weight: bold;
	text-align: center;
}

.section_terms .pdf_links{
	margin:10px 0 20px;
}

.section_terms .check_terms{
	margin-top:20px;
	margin-bottom:20px;
	font-weight: bold;
	font-size:1.1em;
}

.section_terms .check_terms input[type="checkbox"] + span::before {
	width:2rem;
	height:2rem;
}

.credit_memo{
	font-size:1.3rem;
	color:#666666;
	padding:5px 5px 20px 5px;
}

/*-------------- step_flow --------------*/

.step_flow{
	background:#FFFFFF;
}

.step_flow .container{
	padding:20px 10px 0;	
}
.step_flow .steps{
	display: flex;
	position:relative;
	padding:15px 0 0 ;
}

.step_flow .steps:before{
	content:'';
	display:block;
	position:absolute;
	width:calc(100% - 16.67%);
	height:2px;
	bottom:16px;
	left:8.3333%;
	background:#C4C4C4;
	z-index:0;
}

.step_flow .steps li{
	position:relative;
	width:16.6%;
	padding-bottom:40px;
	text-align: center;
	font-size: 1.4rem;
	line-height: 1.4em;
	font-weight: 700;
	z-index:1;
}

.step_flow .steps li:after{
	content:'';
	position:absolute;
	width:14px;
	height:14px;
	bottom:10px;
	left:calc(50% - 7px);
	border-radius:14px;
	text-align: center;
	background:#AFAFAF;
}

.step_flow .steps:after{
	content:'';
	display:block;
	position:absolute;
	height:2px;
	bottom:16px;
	left:8.3333%;
	background:#009CFF;
	z-index:0;
}

.step_flow .steps.step_2:after{
	width:calc(16.67%);
}

.step_flow .steps.step_3:after{
	width:calc(16.67% * 2);
}

.step_flow .steps.step_4:after{
	width:calc(16.67% * 3);
}

.step_flow .steps.step_5:after{
	width:calc(16.67% * 4);
}

.step_flow .steps.step_6:after{
	width:calc(16.67% * 5);
}

.step_flow .steps.step_2 li:nth-child(1):after,
.step_flow .steps.step_3 li:nth-child(1):after,
.step_flow .steps.step_3 li:nth-child(2):after,
.step_flow .steps.step_4 li:nth-child(1):after,
.step_flow .steps.step_4 li:nth-child(2):after,
.step_flow .steps.step_4 li:nth-child(3):after,
.step_flow .steps.step_5 li:nth-child(1):after,
.step_flow .steps.step_5 li:nth-child(2):after,
.step_flow .steps.step_5 li:nth-child(3):after,
.step_flow .steps.step_5 li:nth-child(4):after,
.step_flow .steps.step_6 li::after{
	background:#009CFF;
}

.step_flow .steps.step_1 li:nth-child(1):after,
.step_flow .steps.step_2 li:nth-child(2):after,
.step_flow .steps.step_3 li:nth-child(3):after,
.step_flow .steps.step_4 li:nth-child(4):after,
.step_flow .steps.step_5 li:nth-child(5):after,
.step_flow .steps.step_6 li:nth-child(6):after{
	content:'●';
	position:absolute;
	width:30px;
	height:30px;
	bottom:2px;
	left:calc(50% - 15px);
	border-radius:30px;
	font-size:14px;
	line-height:30px;
	color:#009CFF;
	text-align: center;
	background:rgba(0,156,255,0.2);
}


.step_flow .steps.step_3 li:nth-child(3){
	color:#007CCE;
}




.step_flow .steps li span{
	display:block;
	margin-bottom:6px;
	font-size:1.2rem;
	font-family: 'Roboto';
}

.step_flow .steps li span strong{
	font-size:2.0rem;
	padding-left: 0.4rem;
}

.step_flow .steps li:nth-child(5){
	font-size:1.3rem;
	line-height: 1.3em;
}




/*-------------- form --------------*/

label{
	padding:6px 0 7px;
   	line-height: 1.6rem;
}

input[type="text"],
input[type="password"]{
	display:inline-block;
	position: relative;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    min-width:2em;
    margin-right:15px;
    padding: 0px 10px 0px 10px;
    height: 32px ;
    color: #213E57;
    font-size: 1.4rem;
    line-height: 1.5rem;
    border: 1px solid #CCCCCC;
    border-radius: 5px;
    background-color:#FFFFFF;
}

input[type="text"]::-webkit-input-placeholder,
input[type="password"]::-webkit-input-placeholder{
	font-size: 1.4rem;
    line-height: 1.5rem;
	color:#9EABB7;
}

input[type="checkbox"],
input[type="radio"] {
	width: 1.5rem;
	height: 1.5rem;
  	opacity:0;
  	-webkit-appearance: none;
	appearance: none;
	position: absolute;
	z-index:100;
}

input[type="checkbox"] + span,
input[type="radio"] + span{
	display: inline-block;
	text-indent:-2em;
	margin-top: 0.5rem;
	margin-left:2em;
	margin-right:2em;
	line-height:1.5em;
}


input[type="checkbox"] + span::before {
	display: inline-block;
	content: '';
	width: 1.5rem;
	height: 1.5rem;
	border: 1px solid #707070;
	border-radius: 3px;
	margin-right: 1.2rem;
	vertical-align: middle;
}

input[type="checkbox"]:checked + span::before {
	background-color:#007ecb;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -2 22 24'%3E%3Cpolyline fill='none' stroke='white' stroke-width='4' points='2,7.3 7.3,12.7 18,2 '/%3E%3C/svg%3E");
 	background-repeat: no-repeat;
  	background-position: 0 2px;
  	border: 1px solid #007ecb;
}


input[type="radio"] + span::before {
	display: inline-block;
	content: '';
	width: 1.5rem;
	height: 1.5rem;
	border: 1px solid #707070;
	border-radius: 1.5rem;
	margin-right: 1.2rem;
	vertical-align: middle;
}

input[type="radio"]:checked + span::before {
	background-color:#FFFFFF;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle fill='%23007ecb' stroke='none' cx='10' cy='7.5' r='5'/%3E%3C/svg%3E");
 	background-repeat: no-repeat;
  	background-position: 0 2px;
  	border: 1px solid #007ecb;
}

select {
    display:inline-block;
	position: relative;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    padding: 8px 40px 8px 10px;
    color: #213E57;
    font-size: 1.4rem;
  	line-height: 1.2em;
    border: 1px solid #CCCCCC;
    border-radius: 5px;
    background-color:#FFFFFF;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 38'%3E%3Cpath fill='%23007ecb' stroke='none' d='M6.5,0,13,9H0Z' transform='translate(13 23) rotate(-180)'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px top 50%;
}

input[type="file"]{
	display:inline-block;
	position: relative;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    min-width:2em;
    margin-right:15px;
    padding: 6px 10px 0px 10px;
    height: 38px ;
    color: #213E57;
    font-size: 1.4rem;
    line-height: 18px;
    border: 1px solid #CCCCCC;
    border-radius: 5px;
    background-color:#FFFFFF;
}

textarea{
	display:inline-block;
	position: relative;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    min-width:2em;
    margin-right:15px;
    padding: 8px 10px 8px 10px;
    height: 6.5em ;
    color: #213E57;
    font-size: 1.4rem;
    line-height: 1.5rem;
    border: 1px solid #CCCCCC;
    border-radius: 5px;
    background-color:#FFFFFF;
}

input.maxw,
select.maxw,
textarea.maxw,
label.maxw {
	display: block;
	width:100%;
	margin-bottom:4px;
}

input.hw,
select.hw,
textarea.hw,
label.hw {
	display: inline-block;
	width:50%;
	margin-bottom:4px;
}

input.sw,
select.sw,
textarea.sw,
label.sw {
	display: inline-block;
	width:33%;
	margin-bottom:4px;
}

input.mw,
select.mw,
textarea.mw,
label.mw {
	display: inline-block;
	width:67%;
	margin-bottom:4px;
}

input.xsw,
select.xsw,
textarea.xsw,
label.xsw {
	display: inline-block;
	width:20%;
	margin-bottom:4px;
}


input[type="text"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus{
	background:#EDF8FF;
}

span.required{
	display: inline-block;
	margin-right: 8px;
	padding:2px 5px;
	border:1px solid #C3413E;
	color:#C3413E;
	font-size:1.1rem;
	line-height: 1.1rem;
	font-weight: 300;
	text-align: center;
}

span.required:before{
	content: "必須";
}

.file_name,.file_disp{
	padding:4px 6px;
}

.file_disp .file_preview{
	max-width:200px;
	height:130px;
	border-radius: 5px;
	border:1px dotted #5E7B94;
	color: #AAAAAA;
	font-size:1.2rem;
	line-height: 130px;
	font-weight: 600;
	text-align: center;
}

.err_msg{
	display: block;
	font-size:1.2rem;
	line-height: 1.5em;
	color:#C14242;
}

input.err,
select.err,
textarea.err{
	border:1px solid #C14242;
}


/* --------------Medium devices-------------- */

@media (max-width: 1024px) {

.licence_info img {
    float: left;
    margin: 30px 30px 10px 60px;
}


}



/*--------------Small devices--------------*/
@media (max-width: 548px) {

.common_section {
    padding: 12px;
}

.common_section h2 {
    display: block;
    margin: 10px 4px 10px;
    color: #007CCE;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.intro_flow {
    margin: 20px 0 15px;
}

.intro_flow .flow_fig {
    display: flex;
    flex-direction: column;
}

.intro_flow .flow_fig li,
.intro_flow .flow_fig li:first-child,
.intro_flow .flow_fig li:last-child{
	width:100%;
	height:3em;
	text-align:left;
	padding-left:8px;
	border-bottom:1px solid #EFEFEF;
	background-image: none;
}

.intro_flow .flow_fig li:last-child{
	border:none;
}
.intro_flow .flow_fig li span{
	position:relative;
	float:left;
	text-align:center;
	left:auto;
	top:0;
	margin:0;
	margin-right:10px;
	width: 20px;
    height: 20px;
    background: #007CCE;
    color: #FFFFFF;
    font-family: 'Roboto';
    font-weight: 500;
    border-radius: 14px;
    font-size: 1.4rem;
    line-height: 20px;
}

.intro_flow .flow_fig li img,
.intro_flow .flow_fig li br{
	display: none;
}

.step_flow .steps li span {
    display: block;
    margin-bottom: 6px;
    font-size: 0.4rem;
    font-family: 'Roboto';
}

.step_flow .steps li,
.step_flow .steps li:nth-child(5) {
    position: relative;
    width: 16.6%;
    padding-bottom: 30px;
    text-align: center;
    font-size: 0.4rem;
    line-height: 1.2em;
    font-weight: 700;
    z-index: 1;
}








/*-------------- section --------------*/

header {
}

header .logo_bar{
	position: absolute;
	height: 90px;
}

header .logo_bar .logo {
	width: 100%;
    height: 90px;
}

header .logo_bar .logo img {
    margin-top: -4px;
    margin-left: 0px;
    margin-right: 0px;
    width: 90px;
    height: 90px;
}

header .page_navi {
    display: flex;
    align-items: center;
    margin-top: 0px;
    height: 90px;
    border-bottom: 1px solid #DDDDDD;
}

header .page_navi .container {
	width:100%;
    margin: 0 auto;
    padding: 0px 10px 0px 94px;
    border: none;
}

header .page_navi h1 {
	padding: 0px 8px;
    font-size: 1.85rem;
    line-height: 1.4em;
    font-weight: bold;
}

main {
    padding-top: 0px;
    padding-bottom: 20px;
    background: #FFFFFF;
}

.intro_memo {
    padding: 5px;
    font-size:1.3rem;
    line-height: 1.7em;
    color: #454545;
}

.necessary_info h4 {
	margin-top:10px;
    font-size: 1.6rem;
    line-height: 1.6em;
    color: #203D58;
    font-weight: bold;
}

.necessary_info p {
    margin: 15px 15px;
}

.necessary_info .app_bnrs {
    margin: 0px 20px 0 20px;
    text-align: center;
}

.optional_info h5 {
    margin: 15px;
    font-size: 1.6rem;
    font-weight: bold;
}

.optional_info p {
    margin: 15px;
    font-size:1.2rem;
    line-height: 1.6em;
}

.section_apply .download_apps p {
    margin-bottom: 20px;
    font-size: 1.4rem;
    line-height: 1.5em;
    color: #007CCE;
    font-weight: bold;
}

.section_apply .registration {
    padding: 20px 10px 20px;
    text-align: center;
}


.section_apply .registration span {
    width: 100%;
    font-size: 1.6rem;
    line-height: 1.9em;
    padding: 10px;
    text-align: center;;
}

.section_apply .registration input {
    width: 100%;
    font-size: 1.8rem;
    padding: 20px;
}

.common_section {
	margin-top:28px;
	padding-bottom:10px;
}


.common_section .box{
	padding:7px 8px 20px 8px;
}

.common_section .nobox{
	margin:0px 16px 18px;
	padding:7px 0px;
}

.common_section.only_btn .nobox{
	margin:-20px 0px 18px;
	padding:7px 12px;
}

.common_section dl.info_detail{
	padding:0 0 5px;
}

.common_section dl.info_detail dt{
	position: relative;
    float: none;
    width: 100%;
	padding:15px 5px 2px 7px;
	color:#275B88;
	font-size:1.3rem;
	line-height: 1.5em;
	font-weight:700;
	border:none;
}

.common_section dl.info_detail dt p.memo{
	display: block;
	margin:5px 2px;
	font-size:1.15rem;
	line-height:1.6em;
	color:#213E57;
	font-weight: 300;
}

.common_section dl.info_detail dt span.comment{
	display:inline-block;
	color:#666666;
	font-weight: normal;
	padding-left:10px;
}

.common_section dl.info_detail dd{
	position: relative;
    float: none;
    width: 100%;
	padding:3px 2px 10px 25px;
	font-size:1.4rem;
	line-height: 1.6em;
	border-bottom:1px solid #E6E6E6;
}

.common_section dl.info_detail dd:last-child{
	border:none;
	margin-bottom:2px;
}

.common_section dl.info_detail dd p.memo{
	display: block;
	margin:8px 2px;
	font-size:1.25rem;
	line-height:1.6em;
	color:#666666;
	font-weight: 300;
}

.common_section dl.info_detail .info_detail_sub{
	margin-left:5px;
	margin-bottom: 5px;
	padding:2px 0px 5px;
	border-left:1px solid #5E7B94;
}

.common_section dl.info_detail .info_detail_sub dt{
	position: relative;
    float: none;
    width: 100%;
	padding:8px 5px 0px 20px;
	color:#213E57;
	font-size:1.3rem;
	line-height: 1.5em;
	font-weight:700;	
}

.common_section dl.info_detail .info_detail_sub dt .sub_info{
	padding-left:8px;
	font-weight:100;
	font-size:1.4rem;
}

.common_section dl.info_detail .info_detail_sub dd{
	position: relative;
    float: none;
    width: 100%;
	padding:6px 2px 6px 20px;
	border:none;	
}

.attention_section{
	padding:16px 18px 8px;
	background:#F4EDF0;
}

.attention_section .message{
	color:#C14242;
	font-size:1.3rem;
	line-height: 1.6em;
}

.common_section .name_adj{
	display:inline-block;
	width:auto;
	padding-right:6px;
}

.common_section .table_div{
	margin:5px 0;
	padding-left:5px;
}

.common_section .table_header{
	padding:7px 12px;
	background:#5E7B94;
	color:#FFFFFF;
	font-weight: 600;
    background-repeat: no-repeat;
    background-position: right 10px center;
    transition:background-image 0.3s linear;
}

.common_section .table_header.open{
	padding:7px 12px;
	background:#5E7B94;
	color:#FFFFFF;
	font-weight: 600;
    /* background-image: url("../img/arrow_up_white.svg"); */
    background-repeat: no-repeat;
    background-position: right 10px center;
}

.common_section .table_s{
	display:table;
	width:100%;
	border-bottom:1px solid #E6E6E6;
}

.common_section .table_s tr:last-child td{
	padding-bottom:10px;
}

.common_section .table_s th{
	display:table-cell;
	width:33.333%;
	background:#90A7BB;
	padding:3px;
	border: solid 1px #FFFFFF;
	border-collapse: collapse;
	color:#ffffff;
	font-size: 1.3rem;
	font-weight: bold;
	text-align: center;
}

.common_section .table_s th:first-child{
	border-left:none;
}

.common_section .table_s th:last-child{
	border-right:none;
}

.common_section .table_s td{
	display:table-cell;
	padding:3px 4px;
	font-size: 1.2rem;
	text-align: center;
}


.another_address_check{
	position:relative;
	background:#007CCE;
	color:#FFFFFF;
	margin:-12px -12px 0 -12px;
	padding:8px 16px 6px;
	border-radius:0;
	font-size:1.65rem;
	font-weight: 700;
	transition:0.4s;
}

.another_address_check.nocheck{
	margin:-12px -12px -12px -12px;
	padding:14px 16px 12px;
	border-radius:0;
	font-size:1.65rem;
	font-weight: 700;
}

.another_address_check input[type="checkbox"]{
  	opacity:0;
  	-webkit-appearance: none;
	appearance: none;
	position: absolute;
}

.another_address_check input[type="checkbox"] + span::before {
	display: inline-block;
	content: '';
	width: 2.2rem;
	height: 2.2rem;
	border-radius: 3px;
	border: 1px solid #FFFFFF;
	margin-right: 1.2rem;
	vertical-align: middle;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -2 22 24'%3E%3Cpolyline fill='none' stroke='white' stroke-opacity='0.15' stroke-width='4' points='2,7.3 7.3,12.7 18,2 '/%3E%3C/svg%3E");
 	background-repeat: no-repeat;
  	background-position: 0 2px;
}

.another_address_check input[type="checkbox"]:checked + span::before {
	background-color:#007CCE;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -2 22 24'%3E%3Cpolyline fill='none' stroke='white' stroke-width='4' points='2,7.3 7.3,12.7 18,2 '/%3E%3C/svg%3E");
 	background-repeat: no-repeat;
  	background-position: 0 2px;
  	border: 1px solid #FFFFFF;
}

.common_section .memo_div{
	padding:15px 5px 10px;
	color:#666666;
	font-size:1.3rem;
	line-height: 1.8em;
}

.common_section .body_text{
	font-size:1.5rem;
	line-height:1.6em;
	color:#213E57;
	padding:15px 2px 30px;
}

.licence_info img {
    float: none;
    margin: 30px 0px 10px 0px;
    width:100%;
    height:auto;
}

.licence_info .year_table {
    float: none;
    margin: 10px 0px 10px 0px;
}

.license_upload {
    width: 95%;
    margin: 10px 2px 10px 20px;
    padding: 15px;
    border: 10px solid #ECF4FC;
}

.license_upload p {
    margin-top: 15px;
    margin-left: 0em;
}

.upload_files{
	flex-direction: column;
}

.section_message .box {
    padding: 15px;
}
.section_message h3{
	margin-top:20px;
}

.section_terms .pdf_links {
    margin: 15px 0 5px 10px;
}

.section_terms .pdf_links .pdf_link{
	display: inline-block;
	width: 100%;
	height:40px;
}

.pdf_link:nth-child(2) {
    margin-left: 0px;
}

.info_link{
	display:block;
	margin-top:10px;
}

input.maxw,
select.maxw,
textarea.maxw,
label.maxw {
	display: block;
	width:100%;
	margin-bottom:4px;
}

input.hw,
select.hw,
textarea.hw,
label.hw {
	display: inline-block;
	width:60%;
	margin-bottom:4px;
}

input.sw,
select.sw,
textarea.sw,
label.sw {
	display: inline-block;
	width:75%;
	margin-bottom:4px;
}

input.mw,
select.mw,
textarea.mw,
label.mw {
	display: inline-block;
	width:100%;
	margin-bottom:4px;
}

input.xsw,
select.xsw,
textarea.xsw,
label.xsw {
	display: inline-block;
	width:26%;
	min-width:90px;
	margin-bottom:4px;
}

.btn_area button.btn_l:first-child {
    margin-right: 0px;
}


}

@media screen and (min-width: 549px) {
  .nw{
  	display:none;
  }
}

