@charset "utf-8";
body {  }
.wrapper { width: 100%; }
.contents_wrap { width: 1280px; max-width: 90%; margin: 0 auto; }
.contsL { float: left; }
.contsR { float: right; }

.pc_only { display: inline-block; }
.sp_only { display: none; }

@media screen and (max-width: 640px) {
	.pc_only { display: none; }
	.sp_only { display: inline-block; }
}

.underline { text-decoration: underline;}
a:hover { opacity: .7; }
/*column layout*/
.column2:after{ content:"."; display: block; height:0; clear: both; visibility: hidden; }
.column2 > * { width: 47%; margin-bottom: 6%; float:left; display: inline-block; vertical-align: top; }
.column2 > *:nth-child(even) { margin-left: 6%; }

.column3:after{ content:"."; display: block; height:0; clear: both; visibility: hidden; }
.column3 > * { width: 32%; float: left; display: inline-block; margin-right: 2%; vertical-align: top; }
.column3 > *:nth-child(3n) { margin-right: 0; }

@media screen and (max-width: 640px) {
	.column2 > * { width: 100%; float:none; }
	.column2 > *:nth-child(even) { margin-left: 0; }
	.column3 > * { width: 100%; display: block; float: none; margin: 0 0 3% 0;}
}

/*-- 共通スタイル --*/
img { max-width: 100%; }
.logo { background: url(../img/logo.svg) no-repeat; background-size: auto 100%; background-position: center center; text-indent: 100%; white-space: nowrap; overflow: hidden; }

.bg_gray { background: #F7F7F7; }

.box_plain { margin: 50px auto; text-align: center; }
.box_plain .gohome { margin-top: 3rem; }


/*-- 見出し --*/
.title_headline { color: #333333; font-size: 2rem; text-align: center; margin-bottom: 1.5em; }
.title_headline span { color: #BBBBBB; font-size: .4em; display: block; margin-top:.6em; }

.title_lower_main { color: #FFF; font-size: 2rem; position: relative; text-align: center; }
.title_lower_main span { font-size: .7rem; display: block; margin-top: 3rem; }
/*.title_lower_main:after { content: ''; width: 1rem; height: 1px; display: block; background: #FFF; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; }
*/

.title_lower_main.bk { color: #000; }
.title_lower_main.bk span { color: #BABABA; }
.title_lower_main.bk:after { background: #000; }

.title_post_L { font-size: 1.8rem; margin-bottom: 1em; padding: .8em 1em; background: #F8F8F8; }
.title_post_L:before { content:''; width: 6px; height: 1em; display: inline-block; background: #004188; margin-right: 1em;}
.title_post_M { font-size: 1.8rem; margin-bottom: 1em; }
.title_post_S { font-weight: bold; }
.title_post_S.title_dot:before { content: '●'; }

.title_access { font-size: 1.2rem; margin-bottom: 1em; padding: .5em 0; border-bottom: 1px solid #DDD; }
.title_access:before { content:''; width: 1.5rem; height: 1.5rem; display: inline-block; vertical-align: bottom; margin-right: 1rem; background-repeat: no-repeat; background-position: center center; background-size: contain;}
.title_access.car:before { background-image: url(../img/icon-car.png); }
.title_access.train:before { background-image: url(../img/icon-train.png); }

.lead_post { margin-bottom: 4rem;  }
.lead_post img { max-width: 100%; height: auto; }
@media screen and (max-width: 640px) {
	.title_headline { font-size: 1.5rem; margin-bottom: 1em; }
	
	.title_lower_main { font-size: 1.5rem;  }
	.title_lower_main span { font-size: .7rem; display: block; margin-top: 1rem; }
	
	.title_post_L { font-size: 1.3rem; padding: .5em; }
}

/*テキスト*/


/*リンク*/
a.txt_link { color: #004087; text-decoration: underline; }
a.link_detail { display: inline-block; text-align: right; text-decoration: underline; }
a.link_detail:before { content: url(../img/icon-pdf.gif); margin-right: .5em; vertical-align: middle; }

.btn_block { color: #FFF; line-height: 3rem; background: #002F5E; padding: 0 2em; border-radius: 1.5em; display: inline-block;}
a.btn_block { color: #FFF; }
/*-- リスト --*/
.list_news li { margin-bottom: 1rem;  background: #FFF; padding: 1rem 2rem 1rem 2em; position: relative; }
.list_news li a { text-decoration: underline; }
.list_news li a:after { content:''; width: .6em; height: .6em; border-width: 3px 3px 0 0; border-style: solid; border-color: #AAA; -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; top: 1.5rem; right: 1.5rem; margin: auto; display: block;  }

.list_block { display:block; border-bottom: 1px solid #FFF; background: #F1F1F1;}
.list_block:after{ content:"."; display: block; height:0; clear: both; visibility: hidden; }
.list_block > * { padding: 1em; border-top: 1px solid #FFF; float: left; }
.list_block > dt { width: 20%; font-weight: bold; background: #F1F1F1;  }
.list_block > dd { width: 80% ; background: #F8F8F8; border-left: 1px solid #FFF;}

.list_history > dt { width: 14rem; letter-spacing: .1em; font-weight: bold; float: left; position: relative; padding: 1rem 0 1rem 1rem; }
.list_history > dd { padding: 1rem 1rem 1rem 14rem; background: #F8F8F8; margin-bottom: 2.5rem;  }
.list_history > dd + dt:before { content: ''; width: .6em; height: .6em; border-style: solid; border-width: 0 3px 3px 0; border-color: #004087; -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; bottom: 100%; left: 4rem; margin: auto auto 1rem; }

.contact-lead { text-align: center; margin-bottom: 50px; }

.contact-form { width: 70%; margin: 0 auto; border-top: 1px solid #B9B9B9; padding-top: 50px;}
.contact-form dt { font-weight : bold; width: 20rem; display: inline-block; float: left; padding-right: 5rem; position: relative; }

.contact-form dt.must:after { content: 'Required'; color: #FFF; background :#FF4D4D; width: 4rem; font-size: .8rem; line-height: 1.5rem; display: inline-block; text-align: center; position: absolute; top: .2rem; right: 1rem; }
.contact-form dd { padding-left: 20rem; margin-bottom: 2rem; }
.contact-form dd input[type="text"],
.contact-form dd input[type="tel"],
.contact-form dd input[type="email"],
.contact-form dd textarea { width: 100%; display: block; font-size: 1rem; padding: .5rem .8rem; background: #F5F5F5; border: none; outline: none; }
input[type="submit"] { width: 10rem; font-size: 1rem; height: 3rem; outline: none; border: none; margin: 1rem auto;  }
input[type="submit"]:hover { opacity: .7; }

.wpcf7-checkbox > * { width: 30%; display: inline-block; margin-left: 0; font-weight: bold;}
.wpcf7-list-item { margin-left: 0!important;}
input[type="checkbox"] { margin-right: .5rem; }

.submit_wrap { text-align: center; }

@media screen and (max-width: 960px) {
	.contact-form { width: 100%; }
	.contact-form dt { width: 15rem; }
	.contact-form dd { padding-left: 15rem; }
	.wpcf7-checkbox > * { width: 50%;}
}
@media screen and (max-width: 640px) {
	.list_block dt { width: 35%; }
	.list_block dd { width: 65%; }
	
	.list_history dt { width: 8rem; }
	.list_history dd { padding: 1rem 1rem 1rem 8rem; }
	
	.contact-form dt { width: 100%; float: none; padding-right: 0; }
	.contact-form dt.must:after { position: relative; top: auto; right: auto; margin: 0 .5rem .5rem; }
	.contact-form dd { padding-left: 0; }
}

.breadcrumb { padding: 1rem 0 2rem; }
.breadcrumb li { display: inline-block; }
.breadcrumb li a { text-decoration: underline; }
.breadcrumb li + li:before { content: '>'; display: inline-block; margin: 0 .2em; }

/*-- ヘッダー--*/
header { width: 100%; background: #004386; position: relative; z-index: 999; box-shadow: 0 5px 12px rgba(0,0,0,.3);}
header .header_wrap { width: 100%; max-width: 1280px; margin: 0 auto; }
header .logo { width: 7.5rem; height: 3.7rem; position: absolute; top: 1rem; left: 0; right: 0; margin: auto; }

#global_navi li { color: #FFF; font-size: .9rem; display: inline-block; }
#global_navi li a  { padding: 2rem 1rem; display: block; }
#global_navi > ul > li:last-child { display: none; }
#global_navi .sub_navi { width: 100%; background: #222222; position: absolute; top: 100%; left: 0; right: 0; margin :auto; display: none; }
#global_navi .sub_navi li a { padding: 1rem; }
#global_navi .sub_navi li a:before  { content: ''; width: .5em; height: .5em; display: inline-block; border-style: solid; border-width: 3px 3px 0 0 ; border-color: #004386; -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); margin-right: 1em;  margin-bottom: .2em; vertical-align: middle; }
#global_navi li:hover > .sub_navi { display: block; }
#global_navi a:hover { opacity: 1; }

#btn_gNavi { position: absolute; top: 10px; left: 5%; margin: auto; text-indent: 100%; white-space: nowrap; overflow: hidden; outline: none; z-index: 1000; display: none;}

header .contsR { margin-right: 5%;}
header .contsR > * { display: inline-block; vertical-align: middle; margin-top: 1.5rem; }

header .lang { margin-right: 1.5em;}
header .lang li { color: #FFF; display: inline-block; vartical-algin: middle; }
header .lang li + li:before { content: '|'; vertical-align: middle; margin: 0 .5em; }
@media screen and (max-width: 1200px) {
	#global_navi li a  { padding: 2rem .5rem; }
}
@media screen and (min-width: 960px) {
	#global_navi li:hover a { background: #222222; }
}
@media screen and (max-width: 960px) {
	header { padding: .5rem 0; }
	header .logo { width: 5rem; height: 2rem; position: relative; top: auto; left: auto; right: auto; }
	
	#btn_gNavi { display: block; }
	#global_navi { padding: 1rem 0; display: none; float: none; }
	#global_navi.open { display: block; }
	#global_navi li { width: 100%; display: block; float: none; padding: 0 5%; }
	#global_navi > ul > li:last-child { display: block; }
	#global_navi li a { padding: 1rem 0; }
	
	header .contsR { position: absolute; top: 0; right: 5%; margin-right: 0; }
	header .lang { margin: 0; padding: 1em 0;}
	header .contact { display: none; }
	
	#global_navi .sub_navi { position: relative; display: block; background: none; }
	#global_navi .sub_navi .contents_wrap { width: 100%; margin: 0; }
	#global_navi .sub_navi li a:before { border-color: #333; }
	
	.btn_humberger { font-size: .6rem; width: 3em; height: 5em; padding-top: 3em; border: none; background: none; position: relative; }
	.btn_humberger:before,
	.btn_humberger:after { content: ''; width: 3em; height: 1px; display: block; position: absolute; top: 1.9em; left: 0; right: 0; margin: auto; background: #FFF; -ms-transform-origin: center center; -webkit-transform-origin: center center; transform-origin: center center; -ms-transition: all .3s; -webkit-transition: all .3s; transition: all .3s;  }
	.btn_humberger:before { -ms-transform: translateY(-1em); -webkit-transform: translateY(-1em); transform: translateY(-1em); box-shadow: 0 .8em #FFF; }
	.btn_humberger:after  { -ms-transform: translateY(.6em); -webkit-transform: translateY(.6em); transform: translateY(.6em); }
	
	.btn_humberger.open:before { background: #FFF; -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); box-shadow: none; }
	.btn_humberger.open:after  { background: #FFF; -ms-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
}

/*-- フッター --*/
.pagetop { width: 100%; height: 4rem; text-indent: 100%; display: block; white-space: nowrap; overflow: hidden; position: relative;  }
.pagetop:before { content:''; width: 1rem; height: 1rem; display: block; border-style: solid; border-color: #CACACA; border-width: 3px 0 0 3px; -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; top: 0; right: 0; bottom: 0;  left: 0; margin: auto;}
footer { color: #FFF; width: 100%; padding: 2.5rem 0 0; background: #0064BD; }
footer .contsL { width: 35%; display: inline-block; margin-bottom: 2rem; padding-right: 1rem; }
footer h3:before { content:''; width: 4.5rem; height: 2rem; margin: 0 .5em .5em 0; background: url(../img/logo.svg) no-repeat left center; background-size: auto 100%; display: inline-block; vertical-align: middle; }
footer .address { font-size: .8rem; display: inline-block; }

.footer_navi { margin-top: 1.5rem; }
.footer_navi li { display: inline-block; vertical-align: middle; margin-right: 2rem; }
.footer_navi li:last-child { margin-right: 0; }

footer .copyright_wrap { background: #004584; }
footer .copyright { color: #FFF; text-align: center; font-size: .7rem; margin-bottom: 0; padding: 2rem; background: #004584; }

@media screen and (max-width: 960px) {
	footer .contsL { width: 100%; float:none; margin-bottom: 0; padding-right: 0; }
	footer .contsR { width:100%; float: none; margin-bottom: 2rem; }
	.footer_navi li { font-size: .8rem; margin-right: 1rem; }
}

/*clearfix*/
.clearfix:after{ content:"."; display: block; height:0; clear: both; visibility: hidden; }