@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;
	*display: inline;
	*zoom: 1;
}
.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;
	*display: inline;
	*zoom: 1;
}
.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;
}

/* ********************************
main
******************************** */
#main{
	width: 960px;
	margin: 0 auto;
	padding-top: 20px;
	overflow: hidden;
	color: #313131;
	display: block;
}

/* passport ------------------- */
.passportBlock{
	padding: 30px 0;
}
.passportHead{
	border-bottom: 2px solid #0a4b9b;
	padding-bottom: 20px;
	line-height: 1;
	color: #0a4b9b;
	font-weight: bold;
	font-size: 24px;
}
.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;
}
.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;
}
.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;
	*margin-top: 20px;
}
.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;
}
.passportLogin{
	border: 2px solid #efefe5;
	max-width: 600px;
	margin: 0 auto;
}
.passportLoginHead{
	font-size: 1.428rem;
	background-color: #efefe5;
	text-align: center;
	font-weight: bold;
	padding: 10px 0;
}
.passportLoginBody{
	padding: 40px 40px;
}
.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;
}
.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: 70%;
	padding:1em;
}
.passportFamilyList .passportLoginInputRight{
	width: 30%;
	padding:1em;
}


.passportLoginInputLeft.passportLoginInputLeftBlod{
	font-weight: bold;
}
.passportLoginInputRight.passportLoginInputRightTxt{
	text-align: left;
	line-height: 1.3;
}
.passportLoginInputBlockWide .passportLoginInputRight{
	width: 40%;
}
.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.6em 0;
	font-size:0.7em;
}
.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(../image/arrow_bottom.png) 98% 50% no-repeat;
	-webkit-background-size: 4%;
	background-size: 4%;
}

.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;
}
.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;
}
.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);
	border-radius: 0;
}
.pageFlowItem.isFinish{
	background-color: #0f72eb;
	border-color: #0f72eb;
	color: #ffffff;
}
.passportInputList{
}
.passportInputListItem{
	margin-top: 3%;
	font-size: 1.142rem;
}

/* ********************************
common
******************************** */

/* color ---------------- */
.siteColor{
	color: #0a4b9b;
}

/* text-align ---------------- */
.ta-c{
	text-align: center;
}

/* 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-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;
}

/* ********************************
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;
}

.errorMessage{
	text-align: center;
	font-weight:bold;
}


/* ********************************
common
******************************** */

.textLink{
	color: #0a4b9b;
	text-decoration: underline;
}
a.textLink:hover{
	text-decoration: none;
}

/* text-align
----------------------------------- */
.tac{
	text-align: center;
}
.tar{
	text-align: right !important;
}
.w-auto{
	width: auto !important;
}


/* new add */
.passportLoginError{
	margin-bottom: 20px;
	color: #ff0000;
	font-size: 1.142rem;
}
.errorBlock{
	width: 640px;
	margin: 0 auto;
}
.errorNumber{
	font-size: 4rem;
	font-weight: bold;
	margin-bottom: 20px;
	text-align: center;
	color: #ff0000;
}
.errorHead{
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 20px;
	text-align: center;
	color: #ff0000;
}
.errorText{
	font-size: 1.124rem;
	margin-bottom: 40px;
	text-align: center;
}
.errorButton{
	width: 50%;
	margin: 0 auto;
	text-align: center;
}
.passportNotes{
	width: 600px;
	margin: 20px auto 0;
}
.passportNotesItem{
	margin-bottom: 20px;
}
.passportNotesItem a:hover{
	text-decoration: underline;
}
