@charset "utf-8";
@import "font-awesome.css";

@font-face {
  font-family:"PlayfairDisplay-Regular";
  src: url("../fonts/PlayfairDisplay/PlayfairDisplay-Regular.eot?") format('eot'),
       url("../fonts/PlayfairDisplay/PlayfairDisplay-Regular.woff") format('woff');
}
@font-face {
  font-family: "Overpass-Regular";
  src: url("../fonts/Overpass/Overpass_Regular.eot?") format('eot'),
       url("../fonts/Overpass/Overpass_Regular.woff") format('woff');
}
@font-face {
  font-family: "Overpass-Bold";
  src: url("../fonts/Overpass/Overpass_Bold.eot?") format('eot'),
       url("../fonts/Overpass/Overpass_Bold.woff") format('woff');
}

/* ----------------------------------------

- RESET BROWSER EFFECT

---------------------------------------- */
abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;line-height:1}article,main,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,th,var{font-style:normal;}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%; font-weight:normal;}q:after,q:before{content:''}abbr,acronym{border:0}img{vertical-align:top}

/* ----------------------------------------

- MODULE

---------------------------------------- */

/* clearfix
---------------------------------------- */
*:first-child+html .clearfix{display:inline-block;} /* for IE7 */
.clearfix:after {content:" ";
    display:block;
    visibility:hidden;
    clear:both;
    height:.1px;
    font-size:.1em;
    line-height:0;}
* html .clearfix {display:inline-block;}
/* no ie mac \*/
* html .clearfix {height:1%;}
.clearfix {display:block; clear:both;}
/* */

/* tel
---------------------------------------- */
.pc a[href^="tel:"]{cursor:default; text-decoration:none; pointer-events:none;}

/* serif
---------------------------------------- */
.serif{font-family:"Yu Mincho", YuMincho, "游明朝体", serif;}


/* ----------------------------------------

- FORMAT

---------------------------------------- */
html{font-size:62.5%; width:100%; height:100%; background:#fff; overflow-y:scroll;}
body{color:#000; font-size:14px; font-size:1.4rem; font-family:"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", sans-serif; position:relative; -webkit-text-size-adjust:100%; text-size-adjust:100%; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; font-smoothing:antialiased; text-rendering:auto; width:100%; height:100%;}
a{text-decoration:none; outline:none; color:#000;}
a img{box-shadow:#000 0 0 0;}
._isPC{display:block!important;}
img._isPC{display:inline-block!important;}
._isSP{display:none!important;}
@media screen and (max-width:768px){
	._isPC,
	img._isPC{display:none!important;}
	._isSP{display:block!important;}
	img._isSP{display:inline-block!important;}
}

/* .wrapper
----------------------------------------------------- */
.wrapper{width:100%; height:100%; min-width:1200px;}
@media screen and (max-width:768px){
	.wrapper{min-width:initial;}
}

/* .header
----------------------------------------------------- */
.header{position:relative; z-index:2;}
.header-inner{position:fixed; top:30px; left:30px; width:48px;}
.header-inner h1{float:right;}
.header-inner p{color:#fff; font-family:"Overpass-Regular"; float:left;}
.gnav{position:fixed; top:30px; right:30px; text-align:right;}
.gnav li{margin-bottom:15px;}
.gnav a{color: #ccc; font-family:"Overpass-Bold"; font-size:15px; font-size:1.5rem; letter-spacing:.02em;}

.mv{width:100%; height:100%; background:url(../images/mv.jpg) no-repeat center center; background-size:cover; position:relative; overflow:hidden; z-index:1;}
.mv h2{position:absolute; width:800px; left:50%; top:50%; -webkit-transform:translate(-50%, -50%); transform:translate(-50%, -50%); z-index:2;}
.mv-diamond{width:1000px; height:1000px; background:#000; opacity:.2; -webkit-transform:rotate(45deg); -ms-transform:rotate(45deg); transform:rotate(45deg); position:absolute; left:0; right:0; top:0; bottom:0; margin:auto; z-index:1;}

.main{position:relative; z-index:1;}

.sec-message-inner{padding:100px 0 0; max-width:1350px; margin:0 auto;}
.sec-message-inner h2{float:right; writing-mode:vertical-rl; -ms-writing-mode:tb-rl; -webkit-writing-mode:vertical-rl;}
.sec-message-inner h2 small{display:block; font-family:"PlayfairDisplay-Regular"; font-size:80px; letter-spacing:.05em; margin-left:12px;}
.sec-message-inner h2 span{font-size:23px; letter-spacing:.02em; padding-top:4px;}
.sec-message-inner-img{float:left; padding:0 73px 117px 0; background:url(../images/message_bg.png) no-repeat right bottom; background-size:477px 600px; margin-right:50px;}
.sec-message-inner-img figure{width:472px}
.sec-message-inner-img figure img{width:100%; height:auto;}
.sec-message-inner-text h3{font-size:31px; letter-spacing:.05em; line-height:1.5; margin-bottom:10px;}
.sec-message-inner-text p{line-height:2.2; letter-spacing:.05em; margin-bottom:20px;}
.sec-message-inner-text div{font-size:23px; letter-spacing:.05em;}
.sec-message-inner-text div small{font-size:12px; margin-right:12px; display:inline-block; vertical-align:3px;}

.sec-service{height:1860px; width:100%; position:relative; overflow:hidden; margin-top:-220px; float:left;}
.sec-service-bg{width: 0;
height: 0;
    position:absolute; position:absolute; top:0; left:50%; -webkit-transform:translate(-50%, 0%); transform:translate(-50%, 0%); margin:0 0 0 445px;
border-style: solid;
border-width: 0 1900px 1900px 1900px;
border-color: transparent transparent #f7f7f7 transparent; z-index:1;}
.sec-service-inner{position:relative; z-index:2; max-width:1350px; margin:0 auto; padding:390px 0 0 0;}
.sec-service-list{position:relative;}
.sec-service h2{position:absolute; left:80px; top:87px;}
.sec-service h2 small{display:block; font-family:"PlayfairDisplay-Regular"; font-size:80px; letter-spacing:.05em; margin-bottom:5px;}
.sec-service h2 span{font-size:23px; letter-spacing:.02em; padding-top:4px;}
.sec-service-business{
  position: absolute;
}
.sec-service-business-title{
  width: 220px;
  height: 220px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin-left: 283px;
  position: relative;
  z-index: 10;
}
.sec-service-business-title-inner{
  font-size: 24px;
  letter-spacing:.05em;
  line-height: 1.46;
  display: inline-block;
  transform: translateY(2px);
}
.sec-service-business-title::before{
  content: '';
  width: 156px;
  height: 156px;
  background: rgba(255, 255, 255, .9);
  border: 1px solid #b6b6b6;
  display: block;
  box-sizing: border-box;
  margin: auto;
  position: absolute;
  inset: 0;
  transform: rotate(-45deg);
  z-index: -1;
}
.sec-service-business-image{
  position: absolute;
  left: 0;
  top: 0;
}
.sec-service-business-list{
  margin-top: 215px;
  margin-left: 440px;
  position: relative;
  z-index: 10;
}
.sec-service-business-list-item{
  list-style: none;
}
.sec-service-business-list-item + .sec-service-business-list-item{
  margin-top: 16px;
}
.sec-service-business-list-link{
  text-decoration: none;
  display: inline-block;
  padding-block: 10px;
  padding-left: 43px;
  position: relative;
  transition: opacity .4s ease;
}
.sec-service-business-list-link:hover{
  opacity: .8;
}
.sec-service-business-list-link::before{
  content: '';
  width: 26px;
  height: 26px;
  background: url("../images/service_ico_01.svg") no-repeat 0 0;
  background-size: 100% 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 7px;
  transition: transform .4s ease;
}
.sec-service-business-list-link:hover::before{
  transform: translateX(3px);
}
.sec-service-business-list-nolink{
  display: inline-block;
  padding-block: 10px;
  padding-left: 43px;
  position: relative;
}
.sec-service-business-list-nolink::before{
  content: '';
  width: 26px;
  height: 26px;
  background: url("../images/service_ico_02.svg") no-repeat 0 0;
  background-size: 100% 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 7px;
}
.sec-service-business-list-text{
  font-size: 20px;
  display: block;
}
.sec-service-business-list-subtext{
  color: #555;
  font-size: 14px;
  display: block;
  margin-top: 12px;
}
.sec-service-business-restaurant{
  left: 583px;
  top: 0;
}
.sec-service-business-helicopter{
  left: 15px;
  top: 393px;
}
.sec-service-business-helicopter .sec-service-business-title-inner{
  transform: translateY(9px);
}
.sec-service-business-helicopter .sec-service-business-list{
  margin-top: 220px;
  margin-left: 433px;
}
.sec-service-business-hotel{
  left: 583px;
  top: 759px;
}
.sec-service-business-hotel .sec-service-business-list{
  margin-top: 227px;
}

.sec-philosophy{clear:both; background:#f7f7f7;}
.sec-philosophy-header{height:114px; max-width:1350px; margin:0 auto; position:relative; z-index:2;}
.sec-philosophy-header h2{writing-mode:vertical-rl; -ms-writing-mode:tb-rl; -webkit-writing-mode:vertical-rl;}
.sec-philosophy-header h2 .en{display:block; font-family:"PlayfairDisplay-Regular"; font-size:80px; letter-spacing:.05em; color:#fff; margin-left:12px;}
.sec-philosophy-header h2 .en span{color:#000;}
.sec-philosophy-header h2 .serif{font-size:23px; letter-spacing:.02em; padding-top:4px;}
.sec-philosophy-block{width:100%; height:900px; background:url(../images/philosophy_bg.jpg) no-repeat center center; background-size:cover; position:relative; z-index:1;}
.sec-philosophy-block-inner{max-width:1350px; height:100%; margin:0 auto; text-align:center; display:flex; justify-content:center; align-items:center;}
.sec-philosophy-block-inner p{color:#fff; writing-mode:vertical-rl; -ms-writing-mode:tb-rl; -webkit-writing-mode:vertical-rl; font-size:23px; font-size:2.3rem; letter-spacing:.1em; line-height:2.2; display:inline-block; text-align:left;}
.sec-philosophy-block-inner .square{position:absolute; left:50%; top:50%; -webkit-transform:rotate(45deg); transform: rotate(45deg);}
.sec-philosophy-block-inner .square01{width:566px; height:566px; margin:-283px 0 0 -283px;}
.sec-philosophy-block-inner .square02{width:550px; height:550px; margin:-275px 0 0 -275px;}
.sec-philosophy-block-inner .square-inner{position:relative; width:100%; height:100%;}
.sec-philosophy-block-inner .square-inner span{display:block; position:absolute; background-color: rgba(255, 255, 255, .3);}
.sec-philosophy-block-inner .square-inner .l_t{width:1px; height:100%;}
.sec-philosophy-block-inner .square-inner .r_t{width:100%; height:1px;}
.sec-philosophy-block-inner .square-inner .r_b{width:1px; height:100%; position:absolute; right:0;}
.sec-philosophy-block-inner .square-inner .l_b{width:100%; height:1px; position:absolute; bottom:0;}

.sec-company{width:100%; position:relative;}
.sec-company:before,
.sec-company:after{content:""; display:block; position:absolute; background-position:center center; background-size:cover;}
.sec-company:before{width:301px; height:232px; background-image:url(../images/company_bg_01.png); right:0; top:47px;}
.sec-company:after{width:241px; height:231px; background-image:url(../images/company_bg_02.png); left:0; bottom:47px;}
.sec-company-inner{padding:80px 0 100px; max-width:1350px; margin:0 auto; position:relative; z-index:2;}
.sec-company-inner h2{text-align:center; margin-bottom:50px;}
.sec-company-inner h2 small{display:block; font-family:"PlayfairDisplay-Regular"; font-size:74px; letter-spacing:.05em; margin-bottom:10px;}
.sec-company-inner h2 span{font-size:23px; letter-spacing:.15em; padding-top:4px;}
.sec-company-inner table{width:630px; margin:0 auto; border-top:1px solid #d5d6dc;}
.sec-company-inner th,
.sec-company-inner td{line-height:1.85; border-bottom:1px solid #d5d6dc; padding:12px 1px; vertical-align:top;}

.sec-recruit{width:100%; height:750px; position:relative;}
.sec-recruit-inner{padding:198px 0 0; max-width:1350px; margin:0 auto; color:#fff; text-align:center; position:relative; z-index:1;}
.sec-recruit-inner h2{margin-bottom:30px;}
.sec-recruit-inner h2 small{display:block; font-family:"PlayfairDisplay-Regular"; font-size:74px; letter-spacing:.05em; margin-bottom:10px;}
.sec-recruit-inner h2 span{font-size:23px; letter-spacing:.15em;}
.sec-recruit-inner .text{font-size:18px; line-height:2; letter-spacing:.05em; text-shadow:0 0 5px rgba(0,0,0,0.5); margin-bottom:27px;}
.sec-recruit-inner .note{display:inline-block; height:42px; line-height:42px; background-color:rgba(0,0,0,.6); border-radius:22px; font-size:13px; letter-spacing:.1em; padding:0 30px;}
.sec-recruit-bg{position:absolute; left:0; top:0; width:100%; height:100%;}
.sec-recruit-bg-img{width:25%; height:100%; float:left; background-size:cover;}
.sec-recruit-bg-img_01{background-image:url(../images/recruit_bg_01.jpg);}
.sec-recruit-bg-img_02{background-image:url(../images/recruit_bg_02.jpg);}
.sec-recruit-bg-img_03{background-image:url(../images/recruit_bg_03.jpg);}
.sec-recruit-bg-img_04{background-image:url(../images/recruit_bg_04.jpg);}

.sec-contact{width:100%; position:relative; padding:100px 0 150px; background:#f7f7f7;}
.sec-contact-inner{width:780px; margin:0 auto; position:relative;}
.sec-contact-inner h2{float:left; margin-right:30px;}
.sec-contact-inner h2 small{display:block; font-family:"PlayfairDisplay-Regular"; font-size:74px; letter-spacing:.05em; margin-bottom:10px;}
.sec-contact-inner h2 span{font-size:23px; letter-spacing:.15em;}
.sec-contact-inner p{line-height:1.7; letter-spacing:.05em; float:left; padding-top:20px;}

.contact-form{clear:both; padding-top:50px;}

.contact-form form > ul > li{display:inline-block; width:50%; margin-bottom:25px; box-sizing:border-box; vertical-align:top;}
.contact-form form > ul > li:nth-child(odd){padding-right:20px;}
.contact-form form > ul > li:nth-child(even){padding-left:20px;}
.contact-form form > ul > li:last-of-type,
.contact-form form > ul > li:nth-last-of-type(2){width:100%; padding:0;}
.contact-form form > ul > li:last-of-type{margin-bottom:30px;}
.contact-form form > ul > li label{display:inline-block; font-size:15px; font-weight:700; letter-spacing:.07em; height:19px; margin-bottom:8px;}
.contact-form form > ul > li label small{display:inline-block; background:#26265f; color:#fff; margin-left:7px; width:45px; height:19px; text-align:center; line-height:19px; font-size:11px; font-weight:700; vertical-align:2px; border-radius:10px;}

input[type="text"],
input[type="submit"],
select,
textarea{-webkit-appearance:none!important; -moz-appearance:none!important; appearance:none!important; outline:none!important; background:transparent; border-radius:0; border:none; font-family:inherit!important; vertical-align:top; font-size:16px;}
input[type="text"]{width:100%; height:46px; padding:0 15px; box-sizing:border-box;}
textarea{width:100%; height:184px; padding:10px 15px; box-sizing:border-box; line-height:1.5;}
input[type="text"],
textarea{background-color:#fff; transition:0.15s; border:1px solid #c8cbd6;}
input[type="text"]:focus,
textarea:focus{background-color:rgba(255, 255, 255, 1);}

.jspContainer{overflow:hidden;position: relative;}
.jspPane{position:absolute;}
.jspVerticalBar{position:absolute; top:0; right:0px; width:6px; height:100%;}
.jspCap{display:none;}
.jspHorizontalBar .jspCap{float:left;}
.jspTrack{position:relative; background:#eee;}
.jspDrag{background:#26265f; position:relative; top:0; left:0; cursor:pointer; z-index:100; width:6px;}
.jspHorizontalBar .jspTrack,
.jspHorizontalBar .jspDrag{float:left; height:100%;}

.contact-form form > ul > li .privacy{padding:15px; height:184px; box-sizing:border-box; font-size:12px; margin-bottom:30px; background-color:#fff; border:1px solid #c8cbd6; margin-top:3px;}
.contact-form form > ul > li .privacy .privacyInner{overflow:hidden; height:154px; width:100%;}
.contact-form form > ul > li .privacy .privacyInner *{line-height:1.6;}
.contact-form form > ul > li .privacy .privacyInner dt{font-weight:700;}
.contact-form form > ul > li .privacy .privacyInner dd{margin-bottom:10px;}
.contact-form form > ul > li .privacy .privacyInner dd:last-of-type{margin-bottom:0;}

.contact-form form > ul > li #agreeWrapper{text-align:center;}
.contact-form form > ul > li #agreeWrapper input#agree{display:none;}
.contact-form form > ul > li #agreeWrapper label.agree{cursor:pointer;}
.contact-form form > ul > li #agreeWrapper label.agree:before{display:inline-block; content:""; width:20px; height:20px; border:1px solid #26265f; margin-right:11px; vertical-align:-4px; box-sizing:border-box; background:#fff;}
.contact-form form > ul > li #agreeWrapper label.agree.on:before{border-width:1px; background:#26265f; box-shadow:inset 0px 0px 0px 2px #fff;}
.contact-form form #msError{color:#ed1d23; margin-top:30px; text-align:center;}
.contact-form form #msError ul li{font-size:14px; line-height:1.8; letter-spacing:0.05em; text-indent:-1em; margin-left:1em;}
.contact-form form #msSend{margin-top:30px; font-size:14px; line-height:1.8; letter-spacing:0.05em; text-align:center;}


.contact-form-btn{text-align:center;}
.contact-form-btn a{display:inline-block; width:475px; height:80px; padding-top:22px; box-sizing:border-box; background:#26265f; color:#fff; position:relative;}
.contact-form-btn a:before{content:"\f105"; font-family:FontAwesome; font-size:25px; position:absolute; top:50%; right:15px; -webkit-transform:translate(0, -50%); transform:translate(0, -50%);}
.contact-form-btn a span{display:block; font-size:20px; font-weight:bold; letter-spacing:.1em; margin-bottom:5px;}
.contact-form-btn a small{display:block; font-family:"Overpass-Regular"; font-size:11px; letter-spacing:.1em;}





