@charset "utf-8";
/*------------------------------
style.css
------------------------------*/

html,body { height: 100%; }
html { font-size: 62.5%; }
body { background: #fff; }
body,
input,
textarea,
select,
button { 	
	color: #595656;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-size: 16px; font-size: 1.6rem; font-weight: 400; line-height: 1.7;
}
input,
textarea,
select { font-size: 1.6rem; }
a,
button { color: #595656; text-decoration: underline; }
a:hover,
button:hover { text-decoration: none; }

button { background: transparent; }
button:hover { cursor: pointer; }

@media screen and (max-width: 687px) {
	input,
	textarea,
	select { font-size: 1.5rem; }
}

/*
layout
-------------------*/
.wrapper { width: 90%; max-width: 980px; margin: auto; }
.wrapper-m { width: 90%; max-width: 690px; margin: auto; }
.wrapper-s { width: 90%; max-width: 700px; margin: auto; }
.wrapper .wrapper-m { width: 100%; }
.section-block { padding-top: 6rem; padding-bottom: 6rem; }
.section-block:first-of-type { padding-top: 12rem; }
.section-block:last-of-type { padding-bottom: 12rem; }
.sub-section { padding-top: 3rem; }
.sub-section:first-of-type { padding-top: 0; }

.clearfix { clear: both; zoom: 1; }
.clearfix:after {content: ""; height: 0; display: block; clear: both;}
.row { display: table; width: 100%; }
.inlineblock { display: inline-block; }
@media screen and (max-width: 687px) {
	.section-block { padding-top: 4rem; padding-bottom: 4rem; }
	.section-block:first-of-type { padding-top: 8rem; }
	.section-block:last-of-type { padding-bottom: 8rem; }
}

/*
parts
-------------------*/
.img-fix { width: 100%; height: auto; -webkit-backface-visibility: hidden; }
.img-fit { 
	width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; 
	font-family: "object-fit: cover;";/*IE対策*/
  -webkit-backface-visibility: hidden; }

.header-one { font-size: 3.6rem; font-weight: bold; text-align: center; margin-bottom: 1em; position: relative; margin-top: 20px; }
.header-one:after { 
	content: ""; display: block; position: absolute; 
	width: 100px; height: 0; top: -20px; left: 50%; margin-left: -50px;
	border-top: #c30d23 1px solid;
}

.header-two { font-size: 3rem; font-weight: bold; color: #014195; line-height: 1.3; text-align: center; }

.contents-paragraph { margin-top: 1.5em; }
.contents-paragraph:first-of-type { margin-top: 0; }

.fcf { color: #fff; }
.fce { color: #f00; }
.fcr { color: #e60012; }
.roboto { font-family: 'Roboto', sans-serif; }
.times { font-family: "Times New Roman", Times, "serif"; }

.anchor { 
	padding: 1em; text-decoration: none; display: block; text-align: center;
	position: relative; z-index: 1;
	color: #fff; transition: all 0.3s;
}
.anchor:before,
.anchor:after { content: ""; display: block; position: absolute; width: 100%; height: 100%; border-style: solid; border-width: 2px; transition: all 0.3s; }
.anchor:before { top: 5px; left: 5px; z-index: -1; }
.anchor:after { top: -2px; left: -2px; }
.anchor .fa { padding-right: 1em; }
.anchor:hover:before { top: -2px; left: -2px; }

.anchor.bbl:before { background-color: #005bac; border-color: #005bac; }
.anchor.bbl:after { border-color: #014195; }
.anchor.bbl:hover:before { background-color: #014195; border-color: #014195; }
.anchor.brd:before { background-color: #d33e50; border-color: #d33e50; }
.anchor.brd:after { border-color: #c30d23; }
.anchor.brd:hover:before { background-color: #c30d23; border-color: #c30d23; }

.dialbtn { display: block; text-decoration: none; cursor: text; }
@media screen and (max-width: 687px) {
	.dialbtn { 
		color: #014195; cursor: pointer;
		padding: 0.7em 0.5em; border: #014195 2px solid; text-align: center;
	}
}

/*
header
-------------------*/
.header { padding-top: 30px; padding-bottom: 30px; position: absolute; top: 0; left: 0; width: 100%; height: 85px; z-index: 5998; }
.header-logo { float: left; width: 200px; padding-top: 20px; }
.header-right { float: right; width: 645px; text-align: right; }
.global-nav { padding-top: 15px; }
.header-dial { line-height: 1.3; }
.header-dial-tel,
.header-dial-fax { display: inline-block; }
.header-dial-tel { padding-right: 20px; }
.header-dial-ttl { background: #014195; padding: 0.2em 1em; font-size: 1.2rem; font-weight: bold; color: #fff; }
.header-dial-num { font-size: 2.2rem; color: #fff; padding-left: 0.2em; position: relative; top: 0.1em; }
@media screen and (max-width: 989px) {
	.header { height: 40px; }
	.header-logo { width: 180px; padding-top: 0; }
	.header-right { display: none; }
}

/*
nav
-------------------*/
.global-nav-item { display: block; float: left; margin-right: 30px; position: relative; }
.global-nav-item::before { 
	content: ""; display: block; 
	width: 0; height: 100%; border-right: #b5b5b5 1px solid;
	position: absolute; top: 0; left: -15px; margin-top: -2px;
}
.global-nav-item:first-of-type::before { width: 0; height: 0; }
.global-nav-item:last-of-type { margin-right: 0; }
.global-nav-anchor { display: block; text-decoration: none; text-align: center; line-height: 1.3; transition: all 0.3s; opacity: 1; }
.global-nav-anchor:hover { opacity: 0.6; }
.global-nav-en,
.global-nav-ja { display: block; }
.global-nav-en { font-size: 2rem; color: #fff; }
.global-nav-ja { color: #d9d9d9; font-size: 1.2rem; }

/*
drawer nav
-------------------*/
.nav-wrapper { position: absolute; top: 0; left: 0; width: 100%; z-index: 6000; }
.drawer-overlay { background-color: rgba(12,21,41, 0.9); z-index: 5999; }
.drawer-nav { background-color: transparent; }

.menu-btn { position: absolute; top: 22px; right: 5%; width: 30px; height: 50px; transition: all 0.6s; z-index: 13; cursor: pointer; }
.hamburger-bar { 
  position: absolute; top: 50%; right: 0;
  display: block; height: 3px; background-color: #fff; width: 30px;
  -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); 
  -webkit-transition: right 0.6s, transform 0.6s, opacity 0.4s, width 0.2s; transition: right 0.6s, transform 0.6s, opacity 0.4s, width 0.2s; 
}
.hamburger-bar:nth-child(1) { margin-top: -10px; }
.hamburger-bar:nth-child(2) { margin-top: 0; opacity: 1; }
.hamburger-bar:nth-child(3) { margin-top: 10px; }
.menu-btn:hover .hamburger-bar:nth-child(2) { right: 0; }
.drawer-open .hamburger-bar:nth-child(1) { transform: rotate(45deg); margin-top: 0; }
.drawer-open .hamburger-bar:nth-child(2) { opacity: 0; }
.drawer-open .hamburger-bar:nth-child(3) { transform: rotate(-45deg); margin-top: 0; }

.drawer-nav-content { padding-top: 100px; padding-bottom: 30px; text-align: center; }
.drawer-nav-item a { color: #fff; display: block; font-size: 125%; padding: 0.7em 1em; text-decoration: none; }
.drawer-nav-en,
.drawer-nav-ja { display: block; line-height: 1.2; }
.drawer-nav-ja { font-size: 75%; }
.drawer-contact { margin-top: 2em; padding: 0 4.5%; }
.drawer-contact .dialbtn { color: #fff; border-color: #fff; padding-top: 0.2em; }
.drawer-contact-note { display: block; font-size: 1rem; }
@media screen and (min-width:990px){
  .menu-btn { display: none; }
}


/*
footer
-------------------*/
.footer { background: #000812; color: #d1d1d1; font-size: 1.4rem; padding-top: 50px; padding-bottom: 50px; }
.footer-anchor { float: right; width: 55%; text-align: right; }
.footer-pagetop { width: 50px; margin-left: auto; }
.footer-pagetopa { opacity: 1; transition: all 0.3s; }
.footer-pagetop a:hover { opacity: 0.6; }
.footer-nav { margin-top: 77px; }
.footer-nav-item { display: inline-block; padding-left: 1em; }
.footer-nav-item:first-of-type { padding-left: 0; }
.footer-nav-item a { color: #fff; text-decoration: none; }
.footer-nav-item a:hover { text-decoration: underline; }

.footer-info { float: left; width: 45%; }
.footer-logo { margin-bottom: 10px; }
.footer-address { line-height: 1.3; }
.footer-info-phone-header { font-size: 1.2rem; padding-right: 0.5em; }
.footer-info-phone { font-size: 1.8rem; padding-right: 1em; }
.footer-copy { margin-top: 80px; }
@media screen and (max-width: 989px) {
	.footer-info-phone::after { content: "\A"; white-space: pre; }
	.footer-anchor { width: 50px; }
	.footer-nav { display: none; }
	.footer-info { width: calc(95% - 50px); }
	.footer-copy { margin-top: 20px; font-size: 1rem; }
}

/*
page-ttl
-------------------*/
.page-ttl { 
	background-color: #027ae0; background-repeat: no-repeat; background-position: 50% 50%; background-size: cover;
	background-image: url(../img/cover_bg.jpg);
	color: #fff; text-align: center;
	padding-top: 145px;
}
.page-ttl-inner { background: rgba(1,65,149,0.3); padding-top: 60px; padding-bottom: 60px; border-top: #fff 1px solid; }
.page-ttl-en,
.page-ttl-ja { display: block; }
.page-ttl-en { line-height: 1.1; font-size: 2.4rem; margin-top: 0.5rem; }
.page-ttl-ja { line-height: 1.1; font-size: 4.8rem; font-weight: bold; }
@media screen and (max-width: 989px) {
	.page-ttl { padding-top: 100px; }
}
@media screen and (max-width: 687px) {
	.page-ttl-ja { font-size: 3.8rem; }
	.page-ttl-en { font-size: 2rem; }
}

/*
crumbs
-------------------*/
.crumbs { background: #014195; padding-top: 0.4em; padding-bottom: 0.4em; text-align: center; color: #fff; }
.crumbs-item { display: inline-block; white-space: nowrap; font-size: 1.3rem; }
.crumbs-item:before { content: "\f105"; font-family: "Font Awesome 5 Free"; font-weight: 900; padding: 0 1em; }
.crumbs-item:first-child:before { content: ""; padding: 0; font-family: inherit; }
.crumbs-item a { text-decoration: none; color: #fff; }
.crumbs-item a:hover { text-decoration: underline; }

/*
form
-------------------*/
.form-sub-ttl { display: inline-block; padding-right: 0.5rem; }
.form-sub-ttl.type2 { width: 2em; }
.form-sub-ttl.type4 { width: 4em; }
.form-req { background: #f00; color: #fff; display: inline-block; font-weight: bold; font-size: 85%; padding: 0 0.5em; margin-left: 0.4em; margin-right: 0.4em; }
.form-sep { padding-left: 0.6em; padding-right: 0.6em;}
.form-input { border: #d8d8d8 1px solid; background: #f8f8f8; box-sizing: border-box; padding: 0.4em; }
.form-input:focus { background: #fefefe; }
.text-s { width: 6em; }
.text-m { width: 80%; }
.text-l { width: 100%; }
.form-sub-ttl.type2 + .text-m { width: calc(80% - 2em - 1rem); }
.form-sub-ttl.type2 + .text-l { width: calc(100% - 2em - 1rem); }
.form-sub-ttl.type4 + .text-m { width: calc(80% - 4em - 1rem); }
.form-sub-ttl.type4 + .text-l { width: calc(100% - 4em - 1rem); }
.form-submit-block { text-align: center; margin-top: 2em; }
.formbtn { font-weight: bold; font-size: 1.8rem; padding-left: 3em; padding-right: 3em; }
@media screen and (max-width:687px){
	.text-s { width: 4em; }
	.text-m { width: 100%; }
	.text-l { width: 100%; }
	.form-sub-ttl.type2 + .text-m { width: calc(100% - 2em - 2rem); }
	.form-sub-ttl.type4 + .text-l { width: 100%; }
}

/*
inview
-------------------*/
.inview { 
	opacity: 0;
	-moz-transform: translateY(50px);
	-webkit-transform: translateY(50px);
	-o-transform: translateY(50px);
	-ms-transform: translateY(50px);
	transform: translateY(50px);
	  -webkit-transition: all .8s;
     -moz-transition: all .8s;
      -ms-transition: all .8s;
          transition: all .8s;
}
.inview.inview-start {
	opacity: 1;
	-moz-transform: translateY(0);
	-webkit-transform: translateY(0);
	-o-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
}