@charset "utf-8";

/* base
------------------ */
/* reset */
html,body,div,h1,h2,h3,h4,h5,h6,p,blockquote,q,pre,table,caption,colgroup,col,tbody,thead,tfoot,tr,th,td,ul,ol,li,dl,dt,dd,form,fieldset,legend,label,span,a,img,em,ins,del,cite,abbr,sup,sub,dfn,code,var,samp,kbd,object,script,noscript,style,iframe,embed,param,map,area,menu,hr,address,small,strong,i,b,article,aside,figure,footer,header,hgroup,nav,section,figcaption,time,video,audio,mark,ruby,rt,rp,bdo,source,canvas,details,summary,command,datalist,keygen,output,progress,meter{margin:0;padding:0;outline:0;}
address,article,aside,figure,figcaption,footer,header,hgroup,hr,legend,menu,nav,section,summary{display:block;}
h1,h2,h3,h4,h5,h6{font-size:100%;}

/* body */
body{
	color:#333;
	line-height:1.8;
	font-size:100%;/*16px*/
	font-family:Meiryo, sans-serif;
	word-break:break-all;
}

@media screen and (orientation:landscape){
body{
	-webkit-text-size-adjust:100%;
}
}

@media print, screen and (min-width: 980px){
body{
	background: url(../img/line01.gif) repeat-x 0 0;
}
}

input,textarea{
	font-family:Meiryo, sans-serif;
}

/* リンク */
a:link{color:#059196;text-decoration:underline;}
a:visited{color:#865d86;text-decoration:underline;}
a:hover{color:#0ea8ad;text-decoration:none;}

/* タグ共通 */
img{border:none;max-width:100%;}
p{margin:0 0 1.5rem 0;}
hr{border:none;border-top:1px solid #ccc;margin:3rem auto;clear:both;}
table{empty-cells:show;border:none;border-collapse:collapse;max-width:100%;}

/*テキスト関係*/
.smaller{font-size:75%;}/*12px*/
.larger{font-size:125%;}/*20px*/
.bold{font-weight:bold;}
.normal{font-weight:normal;}
.red{color:#f00;}
.gray{color:#666;}
.orange{color:#f57b0f;}
.blue{color: #1d3b73;}
.highlight{background:-webkit-gradient(linear, left top, left bottom, from(#fde5cf), to(#fde5cf));background:linear-gradient(transparent 55%, #fde5cf 55%);}
.yugo{font-family:'游ゴシック体', 'Yu Gothic', YuGothic, Meiryo, sans-serif;font-weight: 500;}
@media print, screen and (min-width: 980px){.pcbr{display: block;}}

/*リスト*/
li{list-style:none;}
ul.list_mark{margin-bottom:1.5rem;}
ul.list_mark li{list-style:disc;margin-left:1.5em;}
ol.list_mark{margin-bottom:1.5rem;}
ol.list_mark li{list-style:decimal;margin-left:1.5rem;}
dl.dl_default{margin-bottom:1.5rem;}
dl.dl_default dt{font-weight:bold;}
dl.dl_default dd{margin-left:1em;}

/* テキスト揃え */
.ac{text-align:center;}
.al{text-align:left;}
.ar{text-align:right;}
.vam{vertical-align:middle;}
.vat{vertical-align:top;}

/* フロート */
.fl{float:left;}
.fr{float:right;}
.cl{clear:both;}

/* マージン */
.ma{margin-right:auto;margin-left:auto;}
.ml{margin-left:1rem;}
.mr{margin-right:1rem;}
.mb{margin-bottom:1rem;}
.mb0{margin-bottom:0;}

/* エフェクト */
.fade:hover{opacity:0.8;transition:0.2s;}

/* sp header
------------------ */
.sp_header{
	background: #172f5c url(../img/line01.gif) repeat-x 0 0;
	padding-top: 4px;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	display: table;
	color: #fff;
	text-align: center;
	line-height: 1.0;
	z-index: 99;
}

.sp_header a{
	color: #fff;
	display: block;
	text-decoration: none;
}

/* sp header HOMEボタン */
.sp_header_home{
	display: table-cell;
	vertical-align: middle;
	width: 20%;
}

.sp_header_home a{
	padding: 1rem;
}

.sp_header_home img{
	max-height: 30px;
}

/* sp header 問い合わせボタン */
.sp_header_ct{
	display: table-cell;
	vertical-align: middle;
	width: 60%;
	border-left: 1px solid #2f446d;
	border-right: 1px solid #2f446d;
}

.sp_header_ct a{
	padding: 0.8rem 1rem;
	font-size: 112.5%;
	font-weight: bold;
	line-height: 1.3;
}

/* sp header MENUボタン */
.sp_header_trg{
	display: table-cell;
	vertical-align: middle;
	width: 20%;
	font-size: 280%;
	cursor: pointer;
}

@media print, screen and (min-width: 980px){
.sp_header{
	display: none;
}
}

/* sp nav
------------------ */
#sp_nav{
	display:none;
	width:100%;
}

/* SPメニュー */
#sp_menu{
	padding-top:70px;
	color:#fff;
	margin-bottom:2rem;
	z-index: 98;
}

#sp_menu > li:first-child{
	border-top: 1px solid #74829d;
}

#sp_menu > li{
	border-bottom:1px dotted #74829d;
}

#sp_menu a, #sp_menu li span{
	color:#fff;
	display:block;
	padding:1rem;
	position:relative;
	transition:0.2s;
	text-decoration: none;
}

#sp_menu .icon-right-open:before, #sp_menu .icon-down-open:before{
	position:absolute;
	top:38%;
	right:1rem;
	color: #cde9ea;
}

#sp_menu ul li{
	border-top:1px dotted #74829d;
}

#sp_menu ul li a{
	padding-left: 2em;
	background-position: 100% 50%;
	background-repeat: no-repeat;
	background-size: contain;
}

#sp_menu ul li a:before{
	content: "― ";
	color: rgba(255,255,255,0.3);
}

#sp_menu_spouse{background-image: url(../img/i_spouse.png);}
#sp_menu_work{background-image: url(../img/i_work.png);}
#sp_menu_business{background-image: url(../img/i_business.png);}
#sp_menu_resident{background-image: url(../img/i_resident.png);}
#sp_menu_other{background-image: url(../img/i_other.png);}

/* SPメニュー下の閉じる */
#sp_nav_close_bottom{
	width:80%;
	margin:0 auto 3rem auto;
	border-radius:3px;
	background:#45597d;
	padding:0.5rem 0;
	cursor:pointer;
	text-align:center;
	color:#fff;
}

#sp_nav_close_bottom .icon-cancel{
	font-size:200%;
	vertical-align:middle;
}

/* pc header
------------------ */
#pc_header{
	display: none;
}

@media print, screen and (min-width: 980px){
#pc_header{
	display: block;
	width: 980px;
	margin: 0 auto 24px auto;
	overflow: hidden;
	line-height: 1.0;
}

/* pcヘッダ左側 */
#pc_header_logo{
	float: left;
	width: 470px;
	padding-top: 35px;
}

#pc_header_logo h1{
	display: inline;
}

#pc_logo01{
	display: block;
	padding-bottom: 12px;
}

#pc_logo02{
	vertical-align: middle;
	padding-right: 20px;
}

#pc_header_logo .button{
	font-size: 75%;
	padding: 0.4rem 0.5rem 0.3rem 0.3rem;
}

/* pcヘッダ右側 */
#pc_header_tel{
	float: right;
	width: 500px;
	padding-top: 35px;
}

#pc_header_tel .call_link{
	float: right;
	margin: 0 0 0 1rem;
}

#pc_header_tel .button{
	float: right;
	font-weight: bold;
	padding:1rem;
}
}

/* pc nav
------------------ */
#pc_nav_fixed{
	display:none;
}

@media print, screen and (min-width:980px){
/* fixedナビ実装 */
.nav_fixed{
	width:100%;
	position:fixed;
	top:0;
	left:0;
}

#pc_nav_fixed{
	display:block;
	z-index:999;
	text-align: center;
}

/* 白背景のpc nav */
#pc_nav01{
	background:#fff;
	line-height: 1.0;
}

#pc_nav01 ul{
	width: 980px;
	margin: 0 auto;
	background: url(../img/line02.gif) no-repeat 0% 100%;
}

#pc_nav01 li{
	display: inline-block;
	width: 202px;
	background: url(../img/line02.gif) no-repeat 100% 100%;
}

#pc_nav01 li:first-child{
	width: 150px;
}

#pc_nav01 a{
	display: block;
	color: #172f5c;
	text-decoration: none;
	font-weight: bold;
	padding: 0.8rem 0 0.5rem 0;
	transition: 0.2s;
}

#pc_nav01 a:hover{
	color: #059196;
}

/* ビザ種類のpc nav */
#pc_nav02{
	background:#172f5c;
	line-height: 1.0;
}

#pc_nav02 ul{
	position: relative;
	width: 980px;
	margin: 0 auto;
}

#pc_nav02 li{
	display: inline-block;
	width: 150px;
	vertical-align: top;
}

#pc_nav02 li:last-child{
	margin-right: 200px;
}

#pc_nav02 a{
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	display: block;
	padding: 0.5rem 0;
	transition: 0.2s;
}

#pc_nav02 a:hover{
	background: #45597d;
}

#pc_nav02 li img{
	display: block;
	margin-bottom: 5px;
}

#pc_nav02 ul:after{
	content: "";
	width:0;
	height:0;
	border-style:solid;
	border-width:10px 6px 0 6px;
	border-color:#fff transparent transparent transparent;
	position: absolute;
	top: 0;
	left: 245px;
}

.nav_fixed #pc_nav02 li{
	width: auto;
}

.nav_fixed #pc_nav02 li:last-child{
	margin-right: 0;
}

.nav_fixed #pc_nav02 a{
	padding-right: 20px;
}

.nav_fixed #pc_nav02 li img{
	width: 88px;
	display: inline;
	vertical-align: middle;
	
}
}

/* ページトップ
------------------ */
#pt{
	overflow: hidden;
}

#pt a{
	display: inline-block;
	font-size: 87.5%;
	float: right;
	background: #172f5c;
	border-radius: 3px 3px 0 0;
	padding: 0.5rem 1rem;
	color: #fff;
	text-decoration: none;
	margin-right: 0.5em;
	transition: 0.2s;
}

#pt a:hover{
	background: #45597d;
}

/* footer
------------------ */
#footer{
	background: #172f5c url(../img/bg01.jpg) no-repeat 50% 50%;
	background-size: cover;
	color: #fff;
}

#footer_wrap{
	padding: 1rem;
}

/* フッタリンク */
#footer_link{
	text-align: center;
	padding: 2rem 0 3rem 0;
}

#footer_link li{
	display: inline-block;
	margin: 0.2rem 0.5rem;
	font-size:87.5%;
}

#footer_link a{
	color: #fff;
}

/* フッタ問い合わせ */
#footer_ct{
	text-align: center;
	padding-bottom: 2rem;
}

#footer_ct .button{
	font-weight: bold;
	margin-bottom: 1rem;
}

/* フッタ会社情報 */
#footer_info{
	text-align: center;
	margin-bottom: 3rem;
}

#footer_info .button{
	font-size: 75%;
	padding: 0.5rem 1.2rem 0.3rem 1rem;
}

/* フッタ対応エリア */
#footer_area{
	color: #a5a9b4;
	font-size: 87.5%;
	text-align: center;
	padding-bottom: 2rem;
}

@media print, screen and (min-width:980px){
#footer_wrap{
	width: 980px;
	margin: 0 auto;
	padding: 3rem 0;
}

/* フッタリンク */
#footer_link{
	text-align: left;
	padding: 0;
	float: left;
	width: 40%;
}

#footer_link li{
	margin: 0 1.2rem 0.8rem 0;
}

/* フッタ問い合わせ */
#footer_ct{
	float: right;
	width: 59%;
	text-align: right;
	padding-bottom: 1rem;
}

#footer_ct .button{
	margin-bottom: 0;
}

#footer_ct img{
	vertical-align: middle;
	padding-left: 0.5rem;
}

/* フッタ会社情報 */
#footer_info{
	text-align: right;
	float: right;
	width: 59%;
	margin-bottom: 3rem;
}

#footer_info p{
	font-size: 87.5%;
}

/* フッタ対応エリア */
#footer_area{
	clear: both;
	text-align: left;
	padding-bottom: 0;
}
}

/* copyright
------------------ */
#copyright{
	background: #45597d;
	text-align: center;
	font-size: 75%;
	color: #8c96aa;
	padding: 1.5rem 0;
	line-height: 1.0;
}

/* main
------------------ */
/* レイアウト */
#main_wrap{
	margin-top: 70px;
}

.section{
	margin: 0 1rem 4rem 1rem;
	overflow: hidden;
}

@media print, screen and (min-width:980px){
#main_wrap{
	margin-top: 0;
}

.section{
	width: 980px;
	margin: 0 auto 4rem auto;
}
}

/* ボタン */
a.button{
	text-decoration: none;
	display: inline-block;
	text-align: center;
	padding: 1rem 2rem;
	transition: 0.2s;
}

input.button{
	display: inline-block;
	text-align: center;
	padding: 1rem 2rem;
	border: none;
	cursor: pointer;
	transition: 0.2s;
}

a.button_normal{
	color: #059196;
	background: #cde9ea;
}

a.button_normal:hover{
	background: #dbeff0;
}

input.button_submit{
	font-size: 120%;
	color: #fff;
	background: #059196;
}

input.button_submit:hover{
	background: #37a7ab;
}

input.button_cancel{
	color: #666;
	background: #ddd;
}

input.button_cancel:hover{
	background: #eee;
}

/* パンくずリスト */
#path{
	background: #f6f6f6;
	font-size: 75%;
	color: #666;
	padding: 0.2rem 0.5rem;
}

@media print, screen and (min-width:980px){
#path_wrap{
	width: 980px;
	margin: 0 auto;
}
}

/* 中ページMV */
#mv{
	background-repeat: no-repeat;
	background-position: 100% 50%;
	background-size: cover;
	padding: 3rem 1rem;
	margin-bottom: 2rem;
}

#mv h1{
	font-weight: bold;
	color: #1d3b73;
	font-size: 150%;
	line-height: 1.4;
}

@media print, screen and (min-width:980px){
#mv{
	padding: 6rem 0;
}

#mv h1{
	font-size: 225%;
	width: 980px;
	margin: 0 auto;
}
}

/* テーブル */
.table{
	width:100%;
	border:1px solid #ccc;
	margin-bottom:2rem;
}

.table th{
	border:1px solid #ccc;
	padding:1rem;
	text-align:left;
	background: #faf8f6;
}

.table td{
	border:1px solid #ccc;
	padding:1rem;
}

/* 見出し */
.h01{
	font-size:125%;
	line-height: 1.4;
	margin-bottom:1.5rem;
    font-weight: bold;
	color: #1d3b73;
	border-left: 5px solid #172f5c;
	padding-left: 0.5em;
}

@media print, screen and (min-width:980px){
.h01{
	font-size:150%;
}
}

/* メイン下のお問い合わせ */
.main_contact{
	background: #fff url(../img/bg02.gif);
	padding: 6px;
	margin: 0 1rem 4rem 1rem;
}

.main_contact_body{
	text-align: center;
	background: #faf8f6;
	padding: 1.5rem;
}

.main_contact_body p.yugo{
	font-weight: bold;
	line-height: 1.4;
}

.main_contact_body .button{
	font-weight: bold;
	line-height: 1.2;
}

.main_contact_body .call_link{
	display: block;
	margin-top: 1.5rem;
}

@media print, screen and (min-width:980px){
.main_contact{
	width: 972px;
	margin: 0 auto 4rem auto;
}

.main_contact_body{
	background: #faf8f6 url(../img/ph01.jpg) no-repeat 100% 50%;
	background-size: contain;
	padding: 3rem;
	text-align: left;
}

.main_contact_body p{
	width: 60%;
}

.main_contact_body p.yugo{
	font-size: 150%;
}

.main_contact_body .button{
	vertical-align: top;
	margin-right: 0.5em;
}

.main_contact_body .call_link{
	display: inline;
	margin:0;
}
}

/* プロフィール写真 */
.prof_img{
	text-align: center;
}

.prof_img{
	display: block;
	margin: 0 auto 1rem auto;
}

.prof_name{
	color: #1d3b73;
	font-weight: bold;
	font-size: 150%;
	line-height: 1.5;
	margin-bottom: 1em;
}

.prof_name div{
	font-size: 80%;
}

/* 
	display:-webkit-box;
	display:-ms-flexbox;
	display: -webkit-flex;
	-js-display: flex;
	display: flex;
	justify-content:center;

/*eof*/