@charset "UTF-8";

body { 
font-family: 'Josefin Sans', sans-serif, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "Yu Gothic", YuGothic, "メイリオ", Meiryo, sans-serif;
font-size: 16px;
background: #fff;
width: 100%;
box-sizing: border-box;
font-feature-settings : "palt";
line-height: 1.4;
}

header {
width: 100%;
position: fixed;
z-index: 1000;
background: linear-gradient(to bottom, rgba(0,0,0,.4), rgba(0,0,0,0) );
background: -moz-linear-gradient(top, rgba(0,0,0,.4), rgba(0,0,0,0));
background: -webkit-linear-gradient(top, rgba(0,0,0,.4), rgba(0,0,0,0));
}
.header_inner {
width: 1200px;
height: 64px;
box-sizing: border-box;
margin: 0 auto;
padding: 20px 0;
}
.header_inner h1 {
width: 628px;
height: 64px;
margin-top: 420px;
font-size: 3.5rem;
font-weight: normal;
color: #fff;
}
.header_inner p.subtitle {
margin-top:1em;
font-size: 1.5rem;
color: #fff;
}

.header_inner a {
display: block;
text-decoration: none;
color: #FFF;
}
.header_inner a.logo {
width: 100%;
}
.header_inner a.contact {
float: right;
font-size: 14px;
font-weight: 100;
border: 1px solid #fff;
padding:8px 20px;
color: #fff;
}
.header_inner a.contact:hover {
background-color: #fff;
color: #222;
transition: background-color .3s ease;
}
.header_inner a img {
width: 100%;
}
.header_inner:after {
display: block;
content: none;
clear: both;
}


header.smaller {
background: #222;
box-shadow: 0 2px 5px rgba(0,0,0,.3);
}
header.smaller .header_inner {
height: 46px;
padding: 10px 0;
}
header.smaller .header_inner h1 {
width: 280px;
height: 26px;
margin-top: 0;
font-size: 1.185rem;
color: #FFF;
}

header.smaller .header_inner p.subtitle {
display: none;

}
header.smaller .header_inner a.contact {
margin-top: 3px;
background-color: #222;
color: #fff;
padding: 0;
border: none;
position: relative;
}
header.smaller .header_inner a.contact:before {
position: absolute;
top: 1.3em;
left: 0;
content: "";
display: inline-block;
width: 0;
height: 2px;
background: #fff;
transition: .5s;
}
header.smaller .header_inner a.contact:hover:before {
width: 100%;
}


.main_visual {
width: 100%;
height: 600px;
overflow: hidden;
background-image: url('../img/mainimage.png');
/*background-position: 50% 50%;*/
background-size: 100%;
background-repeat: no-repeat;
position: relative;
z-index: 0;
}
.main_visual:before {
content: "";
position: absolute;
background-color: #222;
background-image: url('../img/mainimage.png');
/*background-position: 50% 50%;*/
background-size: 100%;
background-repeat: no-repeat;
-webkit-filter: blur(10px);
-moz-filter: blur(10px);
-o-filter: blur(10px);
-ms-filter: blur(10px);
filter: blur(10px);
top: -10px;
left: -10px;
right: -10px;
bottom: -10px;
z-index: -1;
display: none;
}


/* CONTACT */
#contact header {
width: 100%;
position:relative;
z-index: 0;
background: #222;
}
#contact header {
background: #222;
box-shadow: 0 2px 5px rgba(0,0,0,.3);
}
header .header_inner {
height: 46px;
padding: 10px 0;
}
#contact .header_inner h1 {
width: 280px;
height: 26px;
margin-top: 0;
font-size: 1.185rem;
color: #FFF;
}

#contact header .header_inner a.contact {
margin-top: 3px;
background-color: #222;
color: #fff;
padding: 0;
border: none;
position: relative;
}
#contact header .header_inner a.contact:before {
position: absolute;
top: 1.3em;
left: 0;
content: "";
display: inline-block;
width: 0;
height: 2px;
background: #fff;
transition: .5s;
}
#contact header .header_inner a.contact:hover:before {
width: 100%;
}

#contact main .mailtxt {
text-align: center;
margin: 50px auto ;
}
#contact main .mailtxt a:link {
margin: 50px;
color: #222;
text-decoration: none;
font-size: 1.25em;
}
#contact main .mailtxt a:before {
content: url(../img/ic_mail_outline_black_24px.svg);
width: 20px;
height: 16px;
margin: 10px;
position: relative;
top: 0px;
color: #222;
text-decoration: none;
}


#contact .lead_txt {
font-size: 0.875em;
text-align: center;
line-height: 1.7;
}

#contact footer {
position: fixed;
bottom:0;
}


/* CONTACTここまで */

footer {
margin: 0 auto ;
width: 100%;
background-color: #222;
}
footer p {
padding: 20px 0;
text-align: center;
font-size: 14px;
color: #fff;
}


/* コンテンツ */
h2 {
width: 800px;
margin: 90px auto 90px;
font-size: 1.5rem;
font-weight: 300;
text-align: center;
}
/*h2:after {
display: block;
content: "";
width: 50px;
height: 2px;
background: #222;
margin: 20px auto 0;
}*/
.fade_in {
transition: opacity 0.7s;
-moz-transition: opacity 0.7s;
-webkit-transition: opacity 0.7s;
-o-transition: opacity 0.7s;
transition: transform 0.7s;
-moz-transition: transform 0.7s;
-webkit-transition: transform 0.7s;
-o-transition: transform 0.7s;
}

p.lead_txt {
width: 480px;
font-size:1.5rem; 
line-height: 3.375rem;
margin: 0 auto;
font-feature-settings: normal;
}

/* MISSION */
.mission_box {
width: 480px;
margin: 0 auto;
}
.mission_box div {
width: 100%;
box-sizing: border-box;
padding:10px 0 ;
}

.imgarea {
display: flex;
justify-content: space-between;
width: 480px;
}

/* FEATURE */
.feature_box {
width: 800px;
margin: 0 auto;
display: flex;
justify-content: space-between;
}
.feature_box div {
box-sizing: border-box;
width: 32%;
height: 360px;
border: 1px solid #ccc;
padding: 30px 15px;
}
.feature_box div h3 {
width: 100%;
height: 45px;
text-align: center;
font-size: 26px;
font-weight: bold;
margin-bottom: 40px;
padding-top: 80px;
line-height: 1.1;
}
.feature_box div h3.travel {
background-image: url(../img/travel_icon.png);
background-position: top center;
background-size: 30%;
background-repeat: no-repeat;
}
.feature_box div h3.transit {
background-image: url(../img/transit_icon.png);
background-position: top center;
background-size: 30%;
background-repeat: no-repeat;
}
.feature_box div h3.plat {
background-image: url(../img/plat_icon.png);
background-position: top center;
background-size: 30%;
background-repeat: no-repeat;
}




/* COMPANY PROFILE */
.bg_box1 {
width: 100%;
margin: 96px 0 0 0;
padding: 20px 0 96px 0;
background-image: url('../img/mainimage.png');
background-size: cover;
position: relative;
z-index: 0;
overflow: hidden;/*ブラー効果でボヤけた部分を非表示*/
}
.bg_box1:before{
content: '';
background: inherit;/*設定した背景画像を継承する*/
-webkit-filter: blur(5px);
-moz-filter: blur(5px);
-o-filter: blur(5px);
-ms-filter: blur(5px);
filter: blur(5px);
position: absolute;
/*ブラー効果で画像の端がボヤけた分だけ位置を調整*/
top: -5px;
left: -5px;
right: -5px;
bottom: -5px;
z-index: -1;/*重なり順序を一番下にしておく*/
}

.bg_box1 h2 {
color: #fff;
}

.profile_box {
width: 800px;
margin: 0 auto;
table-layout: fixed;
box-sizing: border-box;
color: #FFF;
}
.profile_box th, .profile_box td {
box-sizing: border-box;
padding: 40px 10px;
text-align: left;
border-bottom: 1px solid #848484;
font-weight: normal;
}

.profile_box th {
width: 20%;
font-weight: bold;
}

.profile_box td {
font-size: 1.25rem;
}

.profile_box tr:last-child th, .profile_box tr:last-child td{
border: none;
}



.map {
width: 800px;
margin: 30px auto 0;
}




@media (max-width:1200px){
header {
background-size: cover;
}
.header_inner {
width: 100%;
box-sizing: border-box;
padding: 1%;
} 

.header_inner .contact {
margin-right: 1rem;
}
.main_visual {
height: 600px;
}   
.main_visual:before {
background-size: cover;
}
.main_visual h1 {
width: 96%;	
	margin-left: 1rem;
} 
.main_visual p {
width: 96%;
margin: 180px auto 0;
}    
h2 {
width: 96%;
margin: 120px auto 40px;
}
}



@media (max-width:801px) {
header {
box-sizing: border-box;
height: 48px;
padding: 10px 1% 0;
background-size: 100%;
}
.header_inner {
padding: 0 1%;
}


/*.header_inner a.logo {
width: 25%;
}*/
.header_inner .contact {
border: none !important;
padding: 0 !important;
text-indent: -9999px;
width: 36px;
height: 36px;
background-image: url(../img/mail.svg);
background-size: 100%;
background-position: 50%;
background-repeat: no-repeat;
}
header.smaller  {
padding: 0 1%;
}
header.smaller .header_inner {
height: 48px;
}
header.smaller .header_inner a.contact {
margin-top: 0;
width: 26px;
height: 26px;
background-size: 100%;
}
header.smaller .header_inner a.contact:before {
display: none;
} 
.main_visual {
height: 600px;
} 
.main_visual p {
font-size: 22px;
/*margin: 115px auto 0;*/
}
h2 {
font-size: 36px;
margin: 80px auto 30px;
}
h2:after {
margin-top: 10px;
}
p.lead_txt  {
width: 96%;
margin: 80px auto 30px;

}

.mission_box {
width:96%;
margin: 0 auto;
}
.mission_box div {
background-image:none;
padding: 0 1%;
}

.feature_box {
display: block;
width: 96%;
}

.feature_box div {
width:100%;
height: auto;
margin-bottom: 20px;
}

.feature_box div h3 {
height: 74px;
box-sizing: border-box;
text-align: left;
font-size: 26px;
font-weight: bold;
margin-bottom: 20px;
padding-top: 23px;
padding-left: 100px;
line-height: 1.1;
}
.feature_box div h3.travel, .feature_box div h3.transit, .feature_box div h3.plat {
background-position: left;
background-size: 10%;
}

.profile_box {
width: 96%;
margin: 0 auto;
}
.profile_box th, .profile_box td {
display: block;
width: 100%;
}
.profile_box th { padding: 25px 10px 10px; border-bottom: none; }
.profile_box td { padding: 0px 10px 25px 10px;}
.map {
width: 96%;
}
.map iframe {
width: 100% !important;
height: 250px;
}
}

@media (max-width:768px) {
#contact .header_inner .contact {
width: 26px;
height: 26px;
}
#contact header .header_inner {
	margin-top: 0;
    height: 46px;
    padding: 5px 0;
}

.main_visual {
height: 400px;
} 
.header_inner h1 {
width: 100%;
height: auto;
margin-top: 240px;
font-size: 2rem;
}
.header_inner p.subtitle {
font-size: 1rem;
font-weight: 100;

}

.feature_box div h3 {
padding-left: 0;
padding-top: 90px;
text-align: center;
height: 120px;
}
.feature_box div h3.travel, .feature_box div h3.transit, .feature_box div h3.plat {
background-position: top center;
background-size: 20%;
}

h2 {
font-size:1.5em;
margin: 80px auto 30px;
font-weight: normal;
}
h2:after {
margin-top: 10px;
}
p.lead_txt  {
width: 96%;
margin: 80px auto 30px;
}
.imgarea img {
width: 80px;
	height: 80px;
}
}
@media (max-width:600px) {

.main_visual {
height: 200px;
} 
.main_visual p {
font-size: 22px;
/*margin: 115px auto 0;*/
}
.header_inner h1 {
width: auto;
height: auto;
margin-top: 80px;
font-size: 1.375rem;
color: #fff;
}


.subtitle {
font-size: 0.625rem;
}
p.lead_txt br {
display: none;
}


}