@charset "UTF-8";

/* ********************************
base
******************************** */
*{
	font-family: "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	word-break: normal !important;
	word-wrap: break-word !important;
}
html{
	font-size: 14px;

}
body{
	line-height: 1.5;
	min-width: 960px;
	background-color: #ffffff;
}
.wrap{
	overflow: hidden;
}
a{
	text-decoration: none;
	color: inherit;
}
ul{
	list-style: none;
}

button{
	cursor:pointer;
}

/* ********************************
header
******************************** */
#header{
	width: 100%;
	background-color: #ffffff;
}
#header.headerVer2{
	border-bottom: 1px solid #dfdfd7;
}
.headerInner{
	width: 960px;
	margin: 0 auto;
	display: table;
	background-color: #ffffff;
	padding-bottom: 15px;
	table-layout: fixed;
	padding: 10px 0;
}
#header.headerVer2 .headerInner{
	padding: 15px 0;
}
.headerLeft,.headerCenter,.headerRight{
	display: table-cell;
}
.spHeaderLeft{
	display: none;
	vertical-align: middle;
}
.headerLeft,.headerRight{
	vertical-align: bottom;
}
#header.headerVer2 .headerLeft,#header.headerVer2 .headerRight{
	vertical-align: middle;
}
.headerLeftLogo{
	font-size: 0;
	line-height: 0;
}
.logo{
	line-height: 0;
	font-size: 0;
	margin-bottom: 10px;
}
.headerCenter{
	vertical-align: middle;
	text-align: center;
}
.headerRight{
	/* width: 300px;
	padding: 10px 0; */
	text-align: right;
}
.headerLeftInner{
	display: table;
	/* width: 170px; */
}
.headerLogin{
	line-height: 0;
}
.headerLogin img{
	display: inline-block;
	vertical-align: middle;
}
.headerLoginButton{
	display: inline-block;
	vertical-align: middle;
	margin-left: 3px;
}
#header.headerVer2 .headerLoginButton .button{
	padding: 5px 25px;
	font-size: 1.285rem;
	line-height: 1.2;
	position: relative;
}
.headerLoginButton .button-white,.headerLoginButton .button-blue{
	padding: 3px 8px;
	font-size: 0.857rem;
	/* border-width: 1px; */
	line-height: 1;
}
.headerLoginButton .button-blue::after{
	content: "▲";
	font-family: "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	transform: rotate(90deg);
	display: inline-block;
	vertical-align: middle;
	font-size: 0.4rem;
	position: absolute;
	top: 28%;
	right: 3%;
}
.headerLoginText{
	font-size: 1rem;
	color: #00418f;
	line-height: 1;
	display: inline-block;
	vertical-align: middle;
	margin-right: 1rem;
}

/* ********************************
nav
******************************** */
#nav{
	background-color: #ffffff;
}
.mainNavWrapper{
	background-color: #f0f0e6;
}
.mainNavTable{
	display: table;
	width: 960px;
	margin: 0 auto;
}
.mainNav{
	display: table-cell;
	margin: 0 auto;
	letter-spacing: -.40em;
}
.mainNav.mainNavVer2{
	/* padding: 20px 0; */
	border-left: 2px solid #ffffff;
}
.mainNav.mainNav-right{
	text-align: right;
}
.mainNavItem{
	letter-spacing: normal;
	width: 20%;
	display: inline-block;
	vertical-align: middle;
	/* height: 30px; */
	font-size: 1rem;
	text-align: center;
}
.mainNav.mainNavVer2 .mainNavItem{
	border-right: 2px solid #ffffff;
}
.mainNavItem a{
	display: inline-block;
	padding: 8px 15px;
	width: 100%;
	height: 100%;
	color: #000000;
	text-decoration: none;
}
.mainNav.mainNavVer2 .mainNavItem a{
	color: #000000;
	padding: 15px 20px;
	font-size: 1rem;
	line-height: 1.4;
	border-bottom: none;
	transition: all 0.3s;
}
.mainNav.mainNavVer2 .mainNavItem a:hover{
	opacity: 0.5;
}

/* ********************************
mainVisual
******************************** */
.mainVisual{
	background: url(/passport/image/mainVisual_bg.jpg) top center no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
	padding: 30px 0;
}
.mainVisualInner{
	overflow: hidden;
	width: 960px;
	padding: 20px;
	margin: 0 auto;
	background-color: rgba(0, 130, 255, 0.6);
	box-shadow:0px 0px 5px 2px rgba(0, 0, 0, 0.3);
	-moz-box-shadow:0px 0px 5px 2px rgba(0, 0, 0, 0.3);
	-webkit-box-shadow:0px 0px 5px 2px rgba(0, 0, 0, 0.3);
	border-radius: 2px;
}
.mainVisualInnerTable{
	display: table;
	width: 100%;
	/* table-layout: fixed; */
}
.mainVisualInnerTableCell{
	display: table-cell;
	vertical-align: top;
}
.mainVisualInnerText{
	font-size: 1.714rem;
	line-height: 1.5;
	padding-right: 10px;
	color: #ffffff;
	font-weight: bold;
}
.mainVisualInnerImg{
	float: right;
	width: 26%;
	margin-left: 2%;
	margin-bottom: 1%;
}

/* ********************************
main
******************************** */
#main{
	width: 960px;
	margin: 0 auto;
	padding-top: 20px;
	overflow: hidden;
	color: #313131;
	display: block;
}
body.movie #main{
	color: #ffffff;
}
.mainBnr{
	text-align: center;
	margin-bottom: 20px;
}
.pageTitle{
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
	margin-top: 20px;
}

.pageSubTitle{
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	margin: 0 0 20px;
}
.narrowBlock{
	max-width: 640px;
	margin: 0 auto;
}

/* passport ------------------- */
.passportBlock{
	padding: 30px 0;
}
.passportBlockInr + .passportBlockInr{
	margin-top: 6%;
}
.passportHead{
	border-bottom: 2px solid #0a4b9b;
	padding-bottom: 20px;
	line-height: 1;
	color: #0a4b9b;
	font-weight: bold;
	font-size: 24px;
}
.passportCommonHead{
	font-size: 1.714rem;
	line-height: 1.6;
	font-weight: bold;
	color: #0a4b9b;
}
.passportCommonDescription{
	margin-top: 0.6em;
	font-size: 1.142rem;
}
.passportCommonDescription a{
	color: #0a4b9b;
	text-decoration: underline;
}
.passportCommonDescription a:hover{
	text-decoration: none;
}
.passportImageHead{
	text-align: center;
	margin-bottom: 50px;
	font-size: 0;
	line-height: 0;
}
.passportBody{
	border: 4px solid #eeeee4;
	padding: 30px;
	margin-top: 70px;
}
.passportBodyHead{
	font-size: 1.857rem;
	text-align: center;
	margin-bottom: 30px;
	font-weight: bold;
}
.passportDescription{
	font-size: 1rem;
	text-align: center;
	margin-bottom: 20px;
}
.passportDescriptionVer2{
	font-size: 1.285rem;
	text-align: left;
	max-width: 650px;
	margin: 0 auto 20px;
}

.passportDescriptionVer2 a.blue{
	color:#3498db;
	text-decoration: underline;
}

.passportDescriptionVer2 a.blue:hover{
	text-decoration: none;
}


.passportList{
}
.passportListItem{
	padding: 20px 0;
}
.passportList .passportListItem + .passportListItem{
	border-top: 1px dashed #cccccc;
}
.passportTable{
	display: table;
	width: 100%;
}
.passportTableCell{
	display: table-cell;
	vertical-align: top;
}
.passportTableCell.buttonBlock{
	width: 180px;
	text-align: center;
}
.passportTableCell.va-m{
	vertical-align: middle;
}
.passportListImg{
	font-size: 0;
	line-height: 0;
	border: 11px solid #efefe5;
}
.passportListBtn{
	margin: 20px auto 0;
	width: 60%;
}
.passportListBtn .button{
	text-align: center;
	font-weight: normal;
	padding: 5px 0;
}
.passportListTextLinkBlock{
	text-align: center;
}
.passportListTextLink{
	margin-top: 20px;
	display: inline-block;
	text-decoration: none;
	color: #0a4b9b;
}
.passportListTextLink:hover{
	text-decoration: underline;
}
.passportListText{
	/* padding: 0 40px; */
	width: 90%;
	margin: 0 auto;
}
.passportListTextHead{
	font-size: 1.428rem;
	font-weight: bold;
	color: #333333;
	margin-bottom: 10px;
	line-height: 1;
}
.passportListTextBody{
	font-size: 1.142rem;
	margin-bottom: 15px;
}
.passportListTextEmphasis{
	font-weight: bold;
	color: #2980b9;
	font-size: 1rem;
}
.passportListTextTable{
	display: table;
	width: 100%;
	table-layout: fixed;
}
.passportListTextTableCell{
	display: table-cell;
	vertical-align: middle;
}
.passportListTextInfo{
	background-color: #364048;
	color: #ffffff;
	text-align: center;
	padding: 5px 0;
}
.passportListTextInfo a:hover{
	text-decoration: underline;
}
.passportLinkButton{
	max-width: 500px;
	padding: 0 20px;
	margin: 0 auto 50px;
}
.passportLinkButton2col{
	display: table;
	table-layout: fixed;
}
.passportLinkButtonItem{
	text-align: center;
}
.passportLinkButtonItem:not(.passportLinkButton2colItem){
	margin-top: 2%;
}
.passportLinkButton2colItem{
	display: table-cell;
	text-align: center;
}
.passportLinkButton2col .passportLinkButton2colItem:first-of-type{
	padding-right: 10px;
}
.passportLinkButton2col .passportLinkButton2colItem:last-of-type{
	padding-left: 10px;
}
.passportLinkButton .passportLinkButtonItem:first-of-type{
	margin-top: 0;
}
.passportLinkButton .button{
	font-size: 1.428rem;
}
.passportLinkButton .button .fontSmall{
	font-size: 1rem;
}

.passportLinkButton .buttonDescription{
	font-size: 1rem;
	padding:2% 0;
}

.buttonList {
}
.buttonListItem {
	padding:2rem 0;
}
.buttonListItem .buttonDescription{
	font-size: 1.1rem;
	padding:1% 0;
}


.passportLogin{
	border: 2px solid #efefe5;
	max-width: 480px;
	margin: 0 auto;
}
.passportLoginHead{
	font-size: 1.428rem;
	background-color: #efefe5;
	text-align: center;
	font-weight: bold;
	padding: 10px 0;
}
.passportLoginBody{
	padding: 40px 60px;
}
.passportLogin .passportLinkButton{
	width: 80%;
}
.passportLogin.passportLoginNoColor{
	border: none;
	background-color: transparent;
	padding: 0;
}
.passportLoginInputBlock{
	margin: 0 auto 30px;
	width: 100%;
}
.passportLoginInputBlock.passportLoginInputBlockWide{
	width: 100%;
}
.passportLoginInput{
	display: table;
	table-layout: fixed;
	width: 100%;
	margin-top: 20px;
}

.passportLoginInput.formLabel{
	background-color: #F0F0E6;
	padding:1rem;
	font-size:1.3rem;
	font-weight:bold;
	text-align: center;
}

.passportLoginInputBlock .passportLoginInput:first-of-type{
	margin-top: 0;
}
.passportLoginInputBorder{
	padding-bottom: 20px;
	border-bottom: 1px solid #b5b5b5;
}
.passportLoginInputLeft,.passportLoginInputRight{
	display: table-cell;
	line-height: 1;
	vertical-align: middle;
}



.passportLoginInputLeft{
	width: 28%;
	font-size: 1.142rem;
	line-height: 1.3;
}
.passportFamilyList .passportLoginInputLeft{
	width: 60%;
	padding:0.8em;
}
.passportFamilyList .passportLoginInputRight{
	width: 40%;
	padding:0.8em;
}


.passportLoginInputLeft.passportLoginInputLeftBlod{
	font-weight: bold;
}
.passportLoginInputRight.passportLoginInputRightTxt{
	text-align: left;
	line-height: 1.3;
}
.passportLoginInputBlockWide .passportLoginInputRight{
	width: 40%;
}
.passportLoginInputRight input[type="text"],
.passportLoginInputRight textarea{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.passportLoginInputRight .inputText{
	border: 1px solid #a0c6dc;
	padding: 5px 10px;
	width: 100%;
}
.passportLoginInputRight .passportLoginInputInner:not(:last-of-type){
	margin-bottom: 10px;
}
.passportLoginInputRightInner{
	margin-bottom: 10px;
	text-align: left;
}
.passportLoginInputInner label{
	font-size: 1.142rem;
}
.passportLoginInputRightInner .inputText{
	display: block;
	margin-bottom: 10px;
}
.passportLoginInputRightInner .inputLabel{
	display: block;
	margin-bottom: 10px;
	font-size: 1.142rem;
}
/* .passportLoginInputRightInner input{
	width: 40%;
	margin-right: 10px;
	margin-left: 10px;
} */
.passportLoginInputRight textarea{
	resize: vertical;
	width: 100%;
	height: 150px;
}

.passportLoginInputRight p{
	text-align: left;
	margin:0.8em 0;
	font-size:1em;
	line-height: 1.4rem;
}

.passportLoginInputRight a{
	line-height: 1.5rem;
}

.passportLogin .passportLinkButton2col{
	width: 100%;
}

.passportItemBlockWrap {

}

.passportItemBlockTitle {
	text-align: center;
	font-weight: bold;
	font-size: 1.2em;
	margin-bottom:1em;
}

.passportItemBlockCaption {
	line-height: 1.2em;
}

.passportItemBlockDescription a{
	color:#0a4b9b;
}

.addressTrigger{
	color: #0a4b9b;
	text-decoration: underline;
	cursor: pointer;
}
.required{
	color: #f00;
}
.passportLoginInput a{
	color: #0a4b9b;
	text-decoration: none;
}
.passportLoginInput a:hover{
	text-decoration: underline;
}
.passportLoginInputRight select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	padding: 5px 10px;
	border: 1px solid #a0c6dc;
	background: url(/passport/image/arrow_bottom.png) 98% 50% no-repeat;
	-webkit-background-size: 4%;
	background-size: 4%;
}
.passportLoginInputRight select::-ms-expand {
	display: none;
}

.passportLoginInputRight input.middle,
.passportLoginInputRight select.middle
{
	width: 35%;
	-webkit-background-size: 6%;
	background-size: 6%;
	border: 1px solid #a0c6dc;
	padding: 5px 10px;
}
.passportLoginInputRight input.short,
.passportLoginInputRight select.short{
	width: 25%;
	-webkit-background-size: 10%;
	background-size: 10%;
	border: 1px solid #a0c6dc;
	padding: 5px 10px;
}
.passportLogin .passportLinkButton{
	margin-bottom: 0;
}
.passportLogin .passportLinkButton .passportLinkButtonItem:not(:last-of-type){
	margin-bottom: 20px;
}

.topLoginBlock{
	width:90%;
	overflow: hidden;
	margin: 1.5rem auto 0;
}
.topLoginBlock a:not(.button){
	color:#0A4B9B
}
.topLoginBlock a:not(.button):hover{
	text-decoration: underline;
}

.topLoginBlock .passportLinkButtonItem{
	width:50%;
	margin: 0 auto 1rem ;
}


.passportAlterInfo{
	border: 2px solid #efefe5;
	max-width: 480px;
	margin: 0 auto;
}
.passportAlterInfoHead{
	font-size: 1.428rem;
	background-color: #efefe5;
	text-align: center;
	font-weight: bold;
	padding: 10px 0;
}
.passportAlterInfoList{
	padding: 50px 20px 50px 80px;
}
.passportAlterInfoListItem{
	position: relative;
	padding-left: 5%;
}
.passportAlterInfoList .passportAlterInfoListItem:not(:last-of-type){
	margin-bottom: 30px;
}
.passportAlterInfoListItem::before{
	content: "▲";
	font-family: "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	transform: rotate(90deg);
	display: inline-block;
	vertical-align: middle;
	font-size: 0.5rem;
	position: absolute;
	margin-top: -0.6rem;
	top: 50%;
	left: 0;
	color: #3a81c4;
}
.passportAlterInfoListItem a{
	line-height: 1;
	font-size: 1.142rem;
	font-weight: bold;
	color: #3a81c4;
}
.passportAlterInfoListItem a:hover{
	text-decoration: underline;
}

.passportAlterInfoListItem .noLink{
	line-height: 1;
	font-size: 1.142rem;
	font-weight: bold;
	color: #666666;
}


.serviceList{
	margin:2rem auto 0;
	overflow: hidden;
	max-width: 480px;
}

.serviceList .serviceListHead{
	color : #333333;
	text-align:center;
	font-size:1.4rem;
	font-weight: bold;
}

.serviceList .serviceListItem{
	width:50%;
	float:left;
}
.serviceList .serviceListItem a{
	width:100%;
	display:block;
	margin:10px auto;
	text-align: center;
}
.serviceList .serviceListItem img{
	width:90%;
	border:solid 5px #EFEFE5;
}

.passportLoginCheckList{
	font-size: 0;
	line-height: 0;
	text-align: left;
}
.passportLoginCheckListItem{
	font-size: 1.142rem;
	line-height: 1;
	display: inline-block;
	margin-right: 10px;
}
.passportLoginCheckListItem input[type="checkbox"]{
	width: auto;
	padding: 0;
	border: none;
	margin-bottom: 10px;
}
.passportLoginRadioList{
	font-size: 0;
	line-height: 0;
	text-align: left;
}
.passportLoginRadioListItem{
	font-size: 1.142rem;
	line-height: 1;
	display: inline-block;
	margin-right: 10px;
}
.passportLoginRadioListItem input[type="radio"]{
	width: auto;
	padding: 0;
	border: none;
	margin-bottom: 10px;
}
.pageFlow{
	/* width: 650px; */
	/* table-layout: fixed; */
	margin: 0 auto;
	display: table;
	text-align: center;
	/* margin-top: 10px; */
	/* background-color: #0a4b9b; */
}
.pageFlowItem{
	display: table-cell;
	vertical-align: middle;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.5;
	padding: 3px 12px;
	border-radius: 7px;
	background-color: #d7d7d7;
	border: 1px solid #d7d7d7;
	color: #ffffff;
}
.pageFlowItemLine{
	transform: scale(1,0.1);
	-webkit-transform: scale(1,0.1);
	border-radius: 0;
}
.pageFlowItem.isFinish{
	background-color: #0f72eb;
	border-color: #0f72eb;
	color: #ffffff;
}
.passportInputList{
}
.passportInputListItem{
	margin-top: 3%;
	font-size: 1.142rem;
}
.passportRadioIconBlock{
	display: inline-block;
	vertical-align: middle;
	margin-right: 1rem;
}
.passportRadioIconBlock input[type="radio"]{
	display: none;
}
.passportRadioIconBlock input[type="radio"] + .radioIcon{
	background: url(/passport/image/icon/radio_off.png) 0 50% no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
	padding-left: 1.7rem;
	display: block;
	width: 100%;
	white-space: nowrap;
	margin: 0.5rem 0;
}
.passportRadioIconBlock input[type="radio"]:checked + .radioIcon{
	background: url(/passport/image/icon/radio_on.png) 0 50% no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}
.passportCheckboxIconBlock{
	display: inline-block;
	vertical-align: middle;
	margin-right: 1rem;
}
.passportCheckboxIconBlock input[type="checkbox"]{
	display: none;
}
.passportCheckboxIconBlock input[type="checkbox"] + .checkboxIcon{
	background: url(/passport/image/icon/checkbox_off.png) 0 50% no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
	padding-left: 1.7rem;
	display: block;
	width: 100%;
	white-space: nowrap;
	margin: 0.5rem 0 ;
}
.passportCheckboxIconBlock input[type="checkbox"]:checked + .checkboxIcon{
	background: url(/passport/image/icon/checkbox_on.png) 0 50% no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}

.pagerYear {
	text-align : center;
	margin:1em 0;
}
.pagerYear a{
	color:#0f72eb;
}

.guideBlock {
	margin: 0rem auto;
	width: 80%;
	border-top: solid 1px #b5b5b5;
	padding: 2rem 0 0;
}

.resultInfoBlock {

}

.resultInfoBlock .passportTableCell {
	width:60%;
}

.resultInfoBlock .passportTableCell.left {
	width:40%;
}

.resultInfoBlock .passportListImg {
	border:none;
	text-align: center;
}
.resultInfoBlock .passportListImg img {
	border:11px solid #efefe5
}

.resultInfoBlock .passportLinkButton {
	margin:1.5rem auto 1.5rem;
}



.annotation {
	line-height: 1.4rem
	margin:0.8rem
}


.whatSecurityCode {
	font-size: 0.8rem
}
.whatSecurityCode ul{
	overflow: hidden;
	margin:1.5rem 0;
}
.whatSecurityCode ul li{
	width:50%;
	float:left;
	text-align: center;
}

.whatSecurityCode ul img{
	width:85%;
}

.paymentInfo {
	font-size: 1.1rem;
	text-align: left;
	max-width: 650px;
	margin: 0 auto 20px;
}

.paymentInfo .paymentList{
	margin:15px auto;
	overflow: hidden;
	border-top: solid 1px #b5b5b5;
	border-bottom: solid 1px #b5b5b5;
}
.paymentInfo .paymentList li{
	padding:10px;
	float:left;
}
.paymentInfo .paymentList>li:nth-child(odd){
	font-weight:bold;
	width:40%;
}
.paymentInfo .paymentList>li:nth-child(even){
	width:60%
}

.paymentInfo .paymentList .priceList li{
	width:50%;
	padding:none;
	float:left;
}
.paymentInfo .paymentList .priceList li:nth-child(odd){
	text-align: left;
}
.paymentInfo .paymentList .priceList li:nth-child(even){
	text-align: right;
}

/* help
-------------------------------- */
.passportFaq{
	max-width: 640px;
	margin: 3% auto 0;
}
.passportFaq .passportFaqInr + .passportFaqInr{
	margin-top: 5%;
}
.passportFaqHead{
	font-size: 2rem;
	line-height: 1.5;
	padding: 0 0.4em;
	font-weight: bold;
	color: #333333;
	border-left: 5px solid #333333;
}
.passportFaqListBlock{
	margin-top: 2%;
}
.passportFaqList{}
.passportFaqQuestion{
	display: table;
	width: 100%;
	table-layout: fixed;
	padding: 2.5% 0;
	cursor: pointer;
}
.passportFaqQuestion::after{
	content: "▼";
	display: table-cell;
	color: #3498db;
	vertical-align: middle;
	width: 1em;
	transition: all 0.3s;
}
.passportFaqQuestion.isActive::after{
	transform: rotate(180deg);
}
.passportFaqQuestionIcon{
	display: table-cell;
	vertical-align: middle;
	width: 2em;
}
.passportFaqQuestionIconInr{
	font-size: 1.285rem;
	background-color: #3498db;
	color: #ffffff;
	padding: 0.1em 0.5em;
	line-height: 1;
}
.passportFaqQuestionText{
	display: table-cell;
	vertical-align: middle;
	font-size: 1.142rem;
	color: #333333;
	padding: 0 1em;
}
.passportFaqAnswer{
	border-top: 1px solid #f0f0e6;
	border-bottom: 1px solid #f0f0e6;
}
.passportFaqAnswerInr{
	display: none;
	padding: 1.5%;
	background-color: #f0f0e6;
	color: #333333;
}
.passportFaqAnswerText a{
	text-decoration: underline;
}
.passportFaqAnswerText a:hover{
	text-decoration: none;
}

/* agreement
-------------------------------- */
.agreementHead{
	font-size: 1.714rem;
	font-weight: bold;
	border-bottom: 2px solid #0a4b9b;
	color: #0a4b9b;
	margin-bottom: 1.3em;
}
.agreement .agreementHead:not(:first-of-type){
	margin-top: 2em;
}
.agreementSubHead{
	color: #0a4b9b;
	margin-top: 2em;
	margin-bottom: 1em;
	font-size: 1.285rem;
	border-left: 4px solid #0a4b9b;
	padding: 0.3em 0 0.3em 0.6em;
}
.agreementText{
	font-size: 1.142rem;
	margin-bottom: 1em;
	line-height: 1.6;
}
.agreementImage{
	text-align: center;
	width: auto;
	max-width: 100%;
	font-size: 0;
	margin-bottom: 3%;
}
.agreementList{
	margin-bottom: 1em;
	font-size: 1.142rem;
}
.agreementListItem{
	padding-left: 2em;
	text-indent: -2em;
	margin-bottom: 0.5em;
}
.agreementList .agreementListItem:last-of-type{
	margin-bottom: 0;
}


/* ********************************
common
******************************** */

/* color ---------------- */
.siteColor{
	color: #0a4b9b;
}

/* text-align ---------------- */
.ta-c{
	text-align: center;
}

.ta-l{
	text-align: left;
}

/* button ------------------- */
.button{
	border: 2px solid #353535;
	/* border-radius: 3px; */
	background-color: #ebebeb;
	font-size: 1.1428rem;
	display: inline-block;
	vertical-align: middle;
	width: 100%;
	padding: 15px 0;
	transition: all 0.3s;
	font-weight: bold;
}
.button:hover{
	background-color: #353535;
	color: #ebebeb;
}
.button-blue{
	border-color: #3498db;
	background-color: #3498db;
	color: #ffffff;
}
.button-blue:hover{
	background-color: #ffffff;
	color: #3498db;
}
.button-white{
	border-color: #0a4b9b;
	background-color: #ffffff;
	color: #0a4b9b;
}
.button-white:hover{
	background-color: #0a4b9b;
	color: #ffffff;
}
.button-black{
	background-color: #434343;
	border-color: #434343;
	color: #ffffff;
}
.button-black:hover{
	background-color: #ffffff;
	color: #434343;
}
.button-gray{
	background-color: #888888;
	border-color: #888888;
	color: #ffffff;
	cursor:default;
}
.button-gray:hover{
	background-color: #888888;
	border-color: #888888;
	color: #ffffff;
	cursor:default;
}


.button-yellow{
	background-color: #f4c700;
	color: #000000;
	border-color: #f4c700;
}
.button-yellow:hover{
	background-color: #ffffff;
	color: #000000;
}
.button-orange{
	background-color: #f5ac03;
	color: #ffffff;
	border-color: #f5ac03;
}
.button-orange:hover{
	background-color: #ffffff;
	color: #f5ac03;
}
.button-noLink{
	background-color: #d3d3d3;
	border-color: #d3d3d3;
	color: #707070;
}
.button-noLink:hover{
	background-color: #d3d3d3;
	border-color: #d3d3d3;
	color: #707070;
}

.bt_gray {
	border-top: solid 1px #b5b5b5;
}


/* ********************************
footer
******************************** */
#footer{
	margin-top: 100px;
}
.footerBottom{
	color: #000000;
	padding: 30px 0 60px;
	background-color: #d7d7d7;
}
.footerInner{
	width: 980px;
	margin: 0 auto;
}
.footerNavBlock{
	border-bottom: 1px solid #cccccc;
	padding-bottom: 20px;
	margin-bottom: 20px;
}
.footerInner .footerNavBlock:last-of-type{
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}
.footerNav{
	display: table;
	margin-bottom: 20px;
}
.footerNavBlock .footerNav:last-of-type{
	margin-bottom: 0;
}
.footerNavItem{
	display: table-cell;
	width: 200px;
	font-size: 14px;
	font-weight: bold;
	vertical-align: top;
}
.footerNavLink{
	display: table-cell;
	vertical-align: top;
	letter-spacing: -.4em;
}
.footerNavLink-simple{
	display: block;
}
.footerNavLinkItem{
	display: inline-block;
	letter-spacing: normal;
	padding-right: 0.5em;
	margin-right: 0.5em;
	/* border-right: 1px solid #acacac; */
	font-size: 1.142rem;
	line-height: 1;
}
.footerNavLink .footerNavLinkItem:last-of-type{
	margin-left: 0;
	padding-right: 0;
	border-right: none;
}
.footerNavLinkItem a:hover{
	text-decoration: underline;
}
.footerDescription{
	margin-top: 20px;
	font-size: 11px;
}
.footerCopyrightBlock{
	display: table;
	width: 100%;
	margin-top: 30px;
	font-size: 12px;
	table-layout: fixed;
}
.footerCopyright{
	display: table-cell;
	vertical-align: middle;
}
.sendCompleteBlock{
	padding: 100px 0;
}

.colorRed{
	color:#F00;
}

.inputSubTxt{
	font-size:0.9rem;
	margin:10px 0;
}

.errorMessage{
	text-align: center;
	font-weight:bold;
}

.error_item_list {
	padding:1.8rem;
	width:80%;
	margin:0 auto;
	text-align: left;
	background-color: #FCC;
	border: #F00 solid 1px;
	color:#F00;
}

.error_item_list .error_item {
	font-weight: bold;
	margin:0.6rem 0 ;
}


/* ********************************
common
******************************** */

.textLink{
	color: #0a4b9b;
	text-decoration: underline;
}
.textLink.textLinkReverse{
	text-decoration: none;
}
a.textLink:hover{
	text-decoration: none;
}
a.textLink.textLinkReverse:hover{
	text-decoration: underline;
}

/* text-align
----------------------------------- */
.tac{
	text-align: center;
}
.tar{
	text-align: right !important;
}
.w-auto{
	width: auto !important;
}

.mb5{
	margin-bottom:5px !important;
}

.mb30{
	margin-bottom:30px !important;
}

.mt10 {
	margin-top:10px !important;
}

.mt30 {
	margin-top:30px !important;
}

.fwb {
	font-weight: bold;
}

.bb {
	border-bottom: solid 1px #b5b5b5;
}

.fs_08rem {
	font-size: 0.8rem
}
.fs_11rem {
	font-size: 1.1rem
}

.fs_16rem {
	font-size: 1.6rem
}

.js-isCheckedHide {
	display: none;
}

.displayCreditNum{
	padding-bottom: 1.2em;
	margin-bottom: 1.2em;
	text-align: center;
	border-bottom: 1px solid #b5b5b5;
}
.button-small{
	width: auto;
	padding: 0.5em 1em;
}
/** 道外販売用追加スタイル **/
.passportService{
	padding: 3% 0 0;
}
.passportServiceList{
	display: table;
	width: 100%;
}
.passportServiceListItem{
	display: table-row;
}
.passportServiceListItemLeft,
.passportServiceListItemRight{
	display: table-cell;
	vertical-align: middle;
	padding: 2%;
}
.passportServiceListText{
	font-size: 1.142rem;
}
.passportServiceListItem .passportServiceListText:not(:first-of-type){
	margin-top: 3%;
}
.passportServiceListItemRight .button{
	text-align: center;
	color: #ffffff;
	/* white-space: nowrap; */
}
.passportServiceListItemRight{
	width: 30%;
}
.passportServiceListItemRight .button:hover{
	text-decoration: none;
	color: #3498db;
}
.passportCheckboxIconBlock input[type="checkbox"] + .checkboxIcon.checkboxIcon-multipleLines{
	-webkit-background-size: 1.25rem;
	background-size: 1.25rem;
	white-space: normal;
}
.passportCheckboxIconBlock input[type="checkbox"]:checked + .checkboxIcon.checkboxIcon-multipleLines{
	-webkit-background-size: 1.25rem;
	background-size: 1.25rem;
	white-space: normal;
}

.passportCheckboxIconBlock input[type="checkbox"] + .checkboxIcon.disabledCheckIcon{
	background-image: url(/passport/image/icon/checkbox_disabled.png);
}

.pcTac{
	text-align: center;
}

.fs_13rem{
	font-size: 1.3rem;
}

.passportLoginInputRight input.short,
.passportLoginInputRight select.short{
	padding: 5px 5px;
}

/* 入力値fep制御 */
input {
	ime-mode: auto;
}
input[type="text"] {
	ime-mode: active;
}
input[name="mail"],
input[name="mail_confirmation"],
input[name="zip_1"],
input[name="zip_2"],
input[name="tel1"],
input[name="tel2"],
input[name="tel3"],
input[name="shop_tel1"],
input[name="shop_tel2"],
input[name="shop_tel3"],
input[name="demand_zip_1"],
input[name="demand_zip_2"],
input[name="tel1_global"],
input[name="tel2_global"],
input[name="tel3_global"],
input[name="club_id"]{
	ime-mode: inactive;
}

@media screen and (max-width: 759px){
	html{
		font-size: 3vw;
	}
	body{
		width: 100%;
		min-width: initial;
		min-width: auto;
	}
	img{
		max-width: 100%;
	}

	/* ********************************
	header
	******************************** */
	.spHeaderLeft{
		display: table-cell;
		vertical-align: middle;
		line-height: 1;
		width: 35%;
	}
	.headerRight{
		display: none;
	}
	.headerInner{
		width: 100%;
	}
	#header.headerVer2 .headerInner{
		padding: 3% 3%;
	}
	#header.headerVer2 .headerLeft{
		text-align: right;
	}
	.headerLoginText{
		display: block;
		margin: 0.5rem;
	}
	.headerLoginButton{
		margin: 0;
	}

	/* ********************************
	nav
	******************************** */
	#nav{
		display: none;
	}

	/* ********************************
	mainVisual
	******************************** */
	.mainVisual{
		padding: 10% 0;
		-webkit-background-size: cover;
		background-size: cover;
	}
	.mainVisualInner{
		width: 95%;
	}

	/* ********************************
	main
	******************************** */
	#main{
		width: 100%;
		padding: 0 3%;
	}
	.pageTitle{
		font-size: 1.8rem;
	}

	.pageSubTitle{
		font-size: 1.2rem;
	}


	.passportBlock{
		padding: 10% 0;
	}
	.passportCommonHead{
		font-size: 2rem;
	}
	.passportCommonDescription{
		font-size: 1.5rem;
	}
	.passportLinkButton{
		width: 100%;
		max-width: auto;
		max-width: initial;
		margin-bottom: 10%;
		padding: 0 4%;
	}
	.passportLinkButton .button{
		font-size: 1.5rem;
	}
	.passportLinkButton2colItem{
		display: block;
		width: 100%;
		max-width: 450px;
		margin: 0 auto;
	}
	.passportLinkButton2col .passportLinkButton2colItem:first-of-type,
	.passportLinkButton2col .passportLinkButton2colItem:last-of-type{
		padding: 0;
	}
	.passportLinkButton2col .passportLinkButton2colItem:first-of-type{
		margin-bottom: 5%;
	}
	.passportBody{
		padding: 5%;
		margin-top: 8%;
	}
	.passportBodyHead{
		margin-bottom: 5%;
	}
	.passportDescription{
		margin-bottom: 4%;
		text-align: left;
		font-size: 1.5rem;
	}
	.passportListItem{
		padding: 5% 0;
	}
	.passportTable{
		display: block;
	}
	.passportTableCell{
		display: block;
	}
	.passportTable .passportTableCell:first-of-type{
		margin-bottom: 10%;
		text-align: center;
	}
	.passportListTextTable{
		display: block;
	}
	.passportListTextTableCell{
		display: block;
	}
	.passportListTextTable .passportListTextTableCell:first-of-type{
		margin-bottom: 5%;
	}
	.passportListImg{
		display: inline-block;
	}
	.passportListTextLink{
		font-size: 1.4rem;
	}
	.passportLogin{
		margin-top: 10%;
	}
	.passportLoginBody{
		padding: 10% 5%;
	}
	.passportLogin .passportLinkButton2col{
		width: 80%;
		margin: 0 auto;
	}
	.passportAlterInfo{
		margin-top: 10%;
	}
	.passportAlterInfoList{
		padding: 10%;
	}
	.passportAlterInfoList .passportAlterInfoListItem:not(:last-of-type){
		margin-bottom: 10%;
	}
	.passportLoginInput{
		display: block;
		font-size: 1.3rem;
	}
	.passportLoginInputLeft, .passportLoginInputRight{
		display: block;
		width: 100%;
		font-size: 1.5rem;
	}
	.passportLoginInputLeft{
		margin-bottom: 3%;
	}
	.passportLoginInputBlockWide .passportLoginInputRight{
		width: 100%;
	}
	.pageFlow{
		text-align:left;
		display:block;
	}
	.pageFlowItem{
		font-size: 1rem;
		display:inline-block;
		margin:0.2rem 0
	}

	.passportLoginRadioListItem{
		font-size: 1.5rem;
	}
	.passportLoginCheckListItem{
		font-size: 1.5rem;
	}
	.passportListTextHead{
		font-size: 1.7rem;
	}
	.passportListTextBody{
		font-size: 1.5rem;
	}
	.passportListTextEmphasis{
		font-size: 1.5rem;
	}
	.passportRadioIconBlock input[type="radio"] + .radioIcon,
	.passportCheckboxIconBlock input[type="checkbox"] + .checkboxIcon{
		padding-left: 2.4rem;
	}


	.guideBlock {
		width: 100%;
	}

	.topLoginBlock .passportLinkButtonItem{
		width:100%;
	}
	.topLoginBlock .passportLinkButtonItem:first-of-type{
		float:none;
	}
	.topLoginBlock .passportLinkButtonItem:last-of-type{
		float:none;
	}

	/* help
	-------------------------------- */
	.passportFaqQuestion{
		padding: 4% 0;
	}
	.passportFaqQuestionIcon{
		display: none;
	}
	.passportFaqQuestionText{
		font-size: 1.5rem;
		padding-left: 0;
	}
	.passportFaqQuestion::after{
		font-size: 1.5rem;
	}
	.passportFaqAnswerInr{
		padding: 3%;
	}
	.passportFaqAnswerText{
		font-size: 1.5rem;
	}

	/* agreement
	-------------------------------- */
	.agreementSubHead{
		font-size: 1.7rem;
	}
	.agreementText,
	.agreementList{
		font-size: 1.5rem;
	}

	/* ********************************
	footer
	******************************** */
	#footer{
		margin-top: 15%;
	}
	.footerInner{
		width: 100%;
	}
	.footerNavLinkItem{
		margin-bottom: 1rem;
	}

	.resultInfoBlock .passportTableCell {
		width:100%;
	}

	.resultInfoBlock .passportTableCell.left {
		width:100%;
	}

	.paymentInfo .paymentList li{
		float:none;
		width:100%;
	}
	.paymentInfo .paymentList>li:nth-child(even),
	.paymentInfo .paymentList>li:nth-child(odd){
		width:100%;
	}
	.paymentInfo .paymentList .priceList:first-child{
		border-bottom: solid 1px #b5b5b5
	}

	.paymentInfo .paymentList .priceList li{
		float:none;
		width:100%;
	}
	.paymentInfo .bt_gray{
		border:none;
	}


	/* ********************************
	common
	******************************** */

	.button{
		font-size: 1.5rem;
	}

	/* mmenu */
	.mm-listview>li>a.spMenuButton{
		background-color: #3498db;
		color: #ffffff;
	}
	.mm-navbar{
		padding: 0;
	}
	.mm-navbar > .mm-title{
		font-size: 16px;
	}

	/* mmenu trigger */
	.menu-trigger,
	.menu-trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.menu-trigger {
		position: relative;
		width: 30px;
		height: 24px;
	}
	.menu-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 4px;
		background-color: #2691d8;
		border-radius: 4px;
	}
	.menu-trigger span:nth-of-type(1) {
		top: 0;
	}
	.menu-trigger span:nth-of-type(2) {
		top: 10px;
	}
	.menu-trigger span:nth-of-type(3) {
		bottom: 0;
	}
	.menu-trigger.isActive span:nth-of-type(1) {
		-webkit-transform: translateY(10px) rotate(-45deg);
		transform: translateY(10px) rotate(-45deg);
	}
	.menu-trigger.isActive span:nth-of-type(2) {
		opacity: 0;
	}
	.menu-trigger.isActive span:nth-of-type(3) {
		-webkit-transform: translateY(-10px) rotate(45deg);
		transform: translateY(-10px) rotate(45deg);
	}

	/*** 道外販売用追加スタイル ***/
	.passportCheckboxIconBlock input[type="checkbox"] + .checkboxIcon.checkboxIcon-multipleLines{
		-webkit-background-size: 1.5rem;
		background-size: 1.5rem;
	}
	.passportCheckboxIconBlock input[type="checkbox"]:checked + .checkboxIcon.checkboxIcon-multipleLines{
		-webkit-background-size: 1.5rem;
		background-size: 1.5rem;
	}

	.pcTac{
		text-align: left;
	}


}
