@charset "UTF-8";
/* Basic
------------------------------------------ */
section, header, footer, nav,
h1, h2, h3, h4, h5, h6,
form, fieldset,
pre, blockquote, th, td {
  margin: 0;
  padding: 0;
  font-size: 100%;
}

input, textarea {
  font-size: 100%;
  vertical-align: middle;
}

body, div, p, address,
figure,
dl, dt, dd, ul, ol, li {
  margin: 0;
  padding: 0;
}

img {
  display: inline-block;
  border: none;
  max-width: 100%;
  height: auto;
}

caption {
  text-align: left;
}

table {
  border-collapse: collapse;
  border: none;
  border-spacing: 0;
}

fieldset {
  border: 0;
}

input {
  line-height: 100%;
}

ol, ul {
  list-style-type: none;
}

label {
  cursor: pointer;
}

address {
  font-style: normal;
}

hr {
  display: none;
  visibility: hidden;
  height: 0;
  border: 0;
}

article, aside, header, hgroup, footer,
nav, section, dialog, figure {
  display: block;
}

a[name] {
  color: #000;
}

a[name]:hover {
  color: #000;
  text-decoration: none !important;
  outline: 0 !important;
}

a img {
  color: #000;
}

.navskip,
.hide {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  font-size: 0;
}

em {
  font-weight: bold;
  font-style: normal;
}

body {
  background: #F0F0F0!important;
  color: #5F5F5F;
  font-family: YakuHanJP,'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',"Hiragino Sans",Meiryo,'メイリオ',sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: left;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Link */
a {
  color: #070203;
  text-decoration: none;
  word-wrap: break-word;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

@media screen and (max-width: 767px) {
  a {
    -webkit-transition: none;
    transition: none;
  }
}

/* Form
------------------------------------------ */
button,
select,
textarea,
input {
  font-family: inherit;
}

/* IME : For Windows IE */
.imeA {
  ime-mode: active;
}

.imeD {
  ime-mode: disabled;
}

/* select */
select {
  outline: none;
}

/* password */
input[type="password"] {
  ime-mode: disabled;
}

/* button */
input[type="submit"],
input[type="reset"],
input[type="button"],
input[type="image"] {
  cursor: pointer;
}

/* radio */
input[type="checkbox"],
input[type="radio"] {
  margin: 0;
  padding: 0;
}

/* iOS style reset */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

/* Margin
------------------------------------------ */
.mgt0 {
  margin-top: 0 !important;
}

/* Padding
------------------------------------------ */
.pdt0 {
  padding-top: 0 !important;
}

/* animation
------------------------------------------ */
.text-translate {
  overflow: hidden;
  position: relative;
}

.text-translate .text-translate-firstEle {
  display: block;
  -webkit-animation-name: text-translate-first-in;
          animation-name: text-translate-first-in;
  -webkit-animation-duration: .6s;
          animation-duration: .6s;
  -webkit-animation-timing-function: cubic-bezier(0.32, 0.95, 0.6, 1);
          animation-timing-function: cubic-bezier(0.32, 0.95, 0.6, 1);
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.text-translate .text-translate-afterEle {
  display: block;
  -webkit-animation-name: text-translate-out;
          animation-name: text-translate-out;
  -webkit-animation-duration: .6s;
          animation-duration: .6s;
  -webkit-animation-timing-function: cubic-bezier(0.32, 0.95, 0.6, 1);
          animation-timing-function: cubic-bezier(0.32, 0.95, 0.6, 1);
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  opacity: 1;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  white-space: nowrap;
}

a:hover .text-translate .text-translate-firstEle {
  -webkit-animation-name: text-translate-first-out;
          animation-name: text-translate-first-out;
  -webkit-animation-duration: .6s;
          animation-duration: .6s;
  -webkit-animation-timing-function: cubic-bezier(0.32, 0.95, 0.6, 1);
          animation-timing-function: cubic-bezier(0.32, 0.95, 0.6, 1);
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

a:hover .text-translate .text-translate-afterEle {
  -webkit-animation-name: text-translate-in;
          animation-name: text-translate-in;
  -webkit-animation-duration: .6s;
          animation-duration: .6s;
  -webkit-animation-timing-function: cubic-bezier(0.32, 0.95, 0.6, 1);
          animation-timing-function: cubic-bezier(0.32, 0.95, 0.6, 1);
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  opacity: 1;
}

@-webkit-keyframes text-translate-in {
  0% {
    -webkit-transform: translate(-50%, 100%);
            transform: translate(-50%, 100%);
  }
  to {
    -webkit-transform: translate(-50%);
            transform: translate(-50%);
  }
}

@keyframes text-translate-in {
  0% {
    -webkit-transform: translate(-50%, 100%);
            transform: translate(-50%, 100%);
  }
  to {
    -webkit-transform: translate(-50%);
            transform: translate(-50%);
  }
}

@-webkit-keyframes text-translate-out {
  0% {
    -webkit-transform: translate(-50%);
            transform: translate(-50%);
  }
  to {
    -webkit-transform: translate(-50%, 100%);
            transform: translate(-50%, 100%);
  }
}

@keyframes text-translate-out {
  0% {
    -webkit-transform: translate(-50%);
            transform: translate(-50%);
  }
  to {
    -webkit-transform: translate(-50%, 100%);
            transform: translate(-50%, 100%);
  }
}

@-webkit-keyframes text-translate-first-in {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@keyframes text-translate-first-in {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@-webkit-keyframes text-translate-first-out {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  to {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    opacity: 0;
  }
}

@keyframes text-translate-first-out {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  to {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    opacity: 0;
  }
}

/* hover */
.hoverColorChange-inner {
  position: relative;
  z-index: 10;
}

.hoverColorChange-leftToRigth {
  overflow: hidden;
}

.hoverColorChange-leftToRigth::before {
  content: "";
  position: absolute;
  left: -100%;
  background: #D04000;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 1;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.hoverColorChange-leftToRigth:hover::before {
  left: 0;
}

/* Layout
------------------------------------------ */
.floatL {
  float: left;
}

.floatR {
  float: right;
}

.clearboth {
  clear: both;
}

br.clear {
  margin: 0;
  padding: 0;
  clear: both;
  line-height: 0;
  font-size: 0;
}

.alL {
  text-align: left !important;
}

.alC {
  text-align: center !important;
}

.alR {
  text-align: right !important;
}

.vaT {
  vertical-align: top !important;
}

.vaM {
  vertical-align: middle !important;
}

.vaB {
  vertical-align: bottom !important;
}

/* Clearfix
------------------------------------------ */
/* clearfix */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

/* Text
------------------------------------------ */
.nowrap {
  white-space: nowrap !important;
}

.bold {
  font-weight: bold !important;
}

.normal {
  font-weight: normal !important;
}

/* pc sp
------------------------------------------ */
.pc {
  display: block !important;
}

.pcInline {
  display: inline-block !important;
}

.spInline,
.sp {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .pcInline,
  .pc {
/*    display: none !important;*/
  }
  .sp {
    display: block !important;
  }
  .spInline {
    display: inline-block !important;
  }
}

/* wrapper
------------------------------------------ */
.wrapper {
  position: relative;
  overflow: hidden;
  width: 100%;
}

/* header
------------------------------------------ */
#header {
  position: fixed;
  width: 100%;
  height: 100px;
  z-index: 1000;
  pointer-events: none;
  top: -100px;
  -webkit-transition: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) 1.04s;
  transition: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) 1.04s;
}

.home #header {
  -webkit-transition: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) 1.24s;
  transition: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) 1.24s;
}

.-is-top-anime-start #header {
  top: 0;
}

#header a {
  color: #FFF;
  pointer-events: all;
}

#header .navHamberger a {
  pointer-events: none;
}

#header .-is-active .navHamberger a {
  pointer-events: all;
}

#header .logo01 {
  padding: 38.8px 0 0 43px;
  padding: 38.8px 0 0 3.30769vw;
  line-height: 0;
  z-index: 9999;
  position: relative;
}

#header .logo01 img {
  width: 136px;
  height: 22.35px;
}

body.legal #headerlogo {
  fill: #1C1C1C;
}

#header .nav01 {
  position: absolute;
  top: 36px;
  left: 249px;
  left: 19.15384vw;
}

#header .nav01 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

#header .nav01 ul li {
  font-size: 16px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  text-align: center;
  text-indent: 0.05em;
  letter-spacing: 0.05em;
  /* overflow: hidden; */
}

#header .nav01 ul li:not(:first-child) {
  margin-left: 21px;
  margin-left: 0.84615vw;
}

#header .nav01 ul li.contact {
  margin-left: calc(3.69230vw - 0.5em);
}

#header .nav01 ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  text-align: center;
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

#header .nav01 ul li.current a::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 50%;
  display: block;
  margin-left: -2px;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  width: 4px;
  height: 4px;
  background: #000;
}

#header .nav01 ul li a .enBlock {
  position: relative;
  display: inline-block;
  overflow: hidden;
  width:200px;
}

#header .nav01 ul li.contact a .enBlock {
  padding: 0 0.5em;
}

.reserve01 a .en,
#header .nav01 ul li a .en {
  display: block;
  -webkit-animation-name: menu-first-in;
          animation-name: menu-first-in;
  -webkit-animation-duration: .6s;
          animation-duration: .6s;
  -webkit-animation-timing-function: cubic-bezier(0.32, 0.95, 0.6, 1);
          animation-timing-function: cubic-bezier(0.32, 0.95, 0.6, 1);
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.reserve01 a .ja,
#header .nav01 ul li a .ja {
  display: block;
  -webkit-animation-name: menu-out;
          animation-name: menu-out;
  -webkit-animation-duration: .6s;
          animation-duration: .6s;
  -webkit-animation-timing-function: cubic-bezier(0.32, 0.95, 0.6, 1);
          animation-timing-function: cubic-bezier(0.32, 0.95, 0.6, 1);
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  opacity: 1;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  white-space: nowrap;
}

.reserve01 a:hover .en,
#header .nav01 ul li a:hover .en {
  -webkit-animation-name: menu-first-out;
          animation-name: menu-first-out;
  -webkit-animation-duration: .6s;
          animation-duration: .6s;
  -webkit-animation-timing-function: cubic-bezier(0.32, 0.95, 0.6, 1);
          animation-timing-function: cubic-bezier(0.32, 0.95, 0.6, 1);
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.reserve01 a:hover .ja,
#header .nav01 ul li a:hover .ja {
  -webkit-animation-name: menu-in;
          animation-name: menu-in;
  -webkit-animation-duration: .6s;
          animation-duration: .6s;
  -webkit-animation-timing-function: cubic-bezier(0.32, 0.95, 0.6, 1);
          animation-timing-function: cubic-bezier(0.32, 0.95, 0.6, 1);
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  opacity: 1;
}

.enBlock .multiline--2 {
  height: 4em;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.reserve01 a.-is-active .en {
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
  -webkit-animation: none;
          animation: none;
}

.reserve01 a.-is-active .ja {
  -webkit-transform: translate(-50%);
          transform: translate(-50%);
  opacity: 1;
  -webkit-animation: none;
          animation: none;
  display: block;
}

@-webkit-keyframes menu-in {
  0% {
    -webkit-transform: translate(-50%, 100%);
            transform: translate(-50%, 100%);
  }
  to {
    -webkit-transform: translate(-50%);
            transform: translate(-50%);
  }
}

@keyframes menu-in {
  0% {
    -webkit-transform: translate(-50%, 100%);
            transform: translate(-50%, 100%);
  }
  to {
    -webkit-transform: translate(-50%);
            transform: translate(-50%);
  }
}

@-webkit-keyframes menu-out {
  0% {
    -webkit-transform: translate(-50%);
            transform: translate(-50%);
  }
  to {
    -webkit-transform: translate(-50%, 100%);
            transform: translate(-50%, 100%);
  }
}

@keyframes menu-out {
  0% {
    -webkit-transform: translate(-50%);
            transform: translate(-50%);
  }
  to {
    -webkit-transform: translate(-50%, 100%);
            transform: translate(-50%, 100%);
  }
}

@-webkit-keyframes menu-first-in {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@keyframes menu-first-in {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@-webkit-keyframes menu-first-out {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  to {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    opacity: 0;
  }
}

@keyframes menu-first-out {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  to {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    opacity: 0;
  }
}

#header .nav01 ul li a .no01 {
  position: absolute;
  top: -13px;
  right: -17px;
  display: block;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  width: 20px;
  height: 20px;
  background: #E24D0A;
  font-size: 12px;
  line-height: 20px;
  text-align: center;
  text-indent: 0;
  letter-spacing: 0;
}

#header .menu01 {
  position: absolute;
  top: 0;
  right: 210px;
  line-height: 0;
  z-index: 9999;
}

body.office_detail #header .menu01 {
  right: 0;
}

#header .menu01 a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100px;
  height: 100px;
}

#header .menu01 a .circle01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  width: 48px;
  height: 48px;
}

#header .menu01 a .circle01::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(255, 255, 255, 0);
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

#header .menu01 a:hover .circle01::before {
  border-color: rgba(255, 255, 255, 0.6);
  -webkit-transform: scale(1);
          transform: scale(1);
}

#header .menu01 a .hamburger01 {
  position: relative;
  display: block;
  width: 16px;
  height: 12px;
}

#header .menu01 a .hamburger01 span {
  position: absolute;
  display: block;
  width: 16px;
  height: 2px;
  background: #FFF;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.figureList{
    margin-top:28px
}
.figureList>div{
    margin-bottom:28px;
}
.figureList .img{
    width:120px;
    height:155px;
    background-size:cover;
    -webkit-background-size:cover;
    float:left;
    margin-right:25px;
    background:#222
}
.figureList .des p{
    font-size:12px;
}

body.legal #header .menu01 a .hamburger01 span {
  background: #1C1C1C;
}

#header .menu01 a .hamburger01 span:nth-of-type(1) {
  top: 0;
}

#header .menu01 a .hamburger01 span:nth-of-type(2) {
  top: 5px;
}

#header .menu01 a .hamburger01 span:nth-of-type(3) {
  bottom: 0;
}

#header .menu01 a:hover .hamburger01 span:nth-of-type(1) {
  -webkit-transform: translate3d(0, -2px, 0);
  transform: translate3d(0, -2px, 0);
}

#header .menu01 a:hover .hamburger01 span:nth-of-type(3) {
  -webkit-transform: translate3d(0, 2px, 0);
  transform: translate3d(0, 2px, 0);
}

#header .menu01 a.-is-active .hamburger01 span:nth-of-type(1) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 42%;
}

#header .menu01 a.-is-active .hamburger01 span:nth-of-type(2) {
  opacity: 0;
}

#header .menu01 a.-is-active .hamburger01 span:nth-of-type(3) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 42%;
}

/* navHamberger */
.navHambergerBg {
  pointer-events: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100vw;
  height: 100vh;
  background-color: #1C1C1C;
  -webkit-animation-name: navHambergerBg-out;
          animation-name: navHambergerBg-out;
  -webkit-animation-duration: .6s;
          animation-duration: .6s;
  -webkit-animation-timing-function: cubic-bezier(0.32, 0.95, 0.6, 1);
          animation-timing-function: cubic-bezier(0.32, 0.95, 0.6, 1);
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.navHambergerBg.-is-active {
  -webkit-animation-name: navHambergerBg-in;
          animation-name: navHambergerBg-in;
  -webkit-animation-duration: .6s;
          animation-duration: .6s;
  -webkit-animation-timing-function: cubic-bezier(0.32, 0.95, 0.6, 1);
          animation-timing-function: cubic-bezier(0.32, 0.95, 0.6, 1);
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

body.-is-pc .navHambergerBg.-is-active.home {
  background-image: url(../img/index_img_mainvisual_01.jpg);
}

body.-is-pc .navHambergerBg.-is-active.office {
  background-image: url(../img/office_img_mainvisual_01.jpg);
}

body.-is-pc .navHambergerBg.-is-active.space {
  background-image: url(../img/space_img_mainvisual_01.jpg);
}

body.-is-pc .navHambergerBg.-is-active.company {
  background-image: url(../img/company_img_mainvisual_01.jpg);
}

body.-is-pc .navHambergerBg.-is-active.contact {
  background-image: url(../img/contact_img_mainvisual_01.jpg);
}

.navHambergerBg.-is-hover li:not(.-is-hover) a {
  color: rgba(255, 255, 255, 0.3) !important;
}

.navHambergerBg::after,
.navHambergerBg.-is-hover::after {
  content: "";
  display: block;
  width: 100vw;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  -webkit-animation-timing-function: cubic-bezier(0.32, 0.95, 0.6, 1);
          animation-timing-function: cubic-bezier(0.32, 0.95, 0.6, 1);
  -webkit-animation-duration: .4s;
          animation-duration: .4s;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.navHambergerBg::after {
  -webkit-animation-name: navHambergerBg-change-in;
          animation-name: navHambergerBg-change-in;
}

.navHambergerBg.-is-hover::after {
  background-color: black;
  -webkit-animation-name: navHambergerBg-change-out;
          animation-name: navHambergerBg-change-out;
}

@-webkit-keyframes navHambergerBg-out {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes navHambergerBg-out {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@-webkit-keyframes navHambergerBg-in {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes navHambergerBg-in {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@-webkit-keyframes navHambergerBg-change-in {
  0% {
    background-color: rgba(0, 0, 0, 0.7);
  }
  to {
    background-color: black;
  }
}

@keyframes navHambergerBg-change-in {
  0% {
    background-color: rgba(0, 0, 0, 0.7);
  }
  to {
    background-color: black;
  }
}

@-webkit-keyframes navHambergerBg-change-out {
  0% {
    background-color: black;
  }
  to {
    background-color: rgba(0, 0, 0, 0.7);
  }
}

@keyframes navHambergerBg-change-out {
  0% {
    background-color: black;
  }
  to {
    background-color: rgba(0, 0, 0, 0.7);
  }
}

.navHamberger {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 5% 0 0 27.5%;
  position: relative;
  z-index: 9999;
}

.navHamberger li {
  font-size: 38px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  text-align: left;
  text-indent: 0.05em;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-bottom: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.navHamberger li.current a {
  position: relative;
  left: -8px;
}

.js-hambergerGlobalMenu.-is-active a {
  pointer-events: auto;
}

.js-hambergerGlobalMenu.-is-active a span {
  word-break: keep-all;
}

.navHamberger li.current::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #E24D0A;
  display: block;
  position: relative;
  left: -17px;
}

/* reseve01 */
.reserve01 {
  position: fixed;
  top: -100px;
  right: 0;
  z-index: 1001;
  -webkit-transition: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) 1.04s;
  transition: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) 1.04s;
}

.home .reserve01 {
  -webkit-transition: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) 1.24s;
  transition: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) 1.24s;
}

.-is-top-anime-start .reserve01 {
  top: 0;
}

body.office_detail .reserve01 {
  display: none;
}

.reserve01 a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  width: 200px;
  height: 100px;
  background: #E24D0A;
  color: #FFF !important;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  text-indent: 0.1em;
  letter-spacing: 0.1em;
  overflow: hidden;
  z-index: 1001;
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.reserve01 a::before {
  content: "";
  position: absolute;
  bottom: -100px;
  background: #D04000;
  display: block;
  width: 200px;
  height: 100px;
  z-index: 12;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.reserve01 a.-is-active::before,
.reserve01 a:hover::before {
  bottom: 0;
}

.reserve01 a .enBlock {
  position: relative;
  width: 200px;
  text-align: center;
  overflow: hidden;
  z-index: 13;
}

.reserve01 .reserve01Inner {
  /* display: none; */
  -webkit-transition: .3s;
  transition: .3s;
  height: 0;
  overflow: hidden;
  background-color: #fff;
}

.reserve01 .reserve01Inner a {
  background: #fff;
  color: #222 !important;
  text-align: center;
}

.reserve01 .reserve01Inner a:hover {
  color: #E24D0A !important;
}

.reserve01 .reserve01Inner a:before {
  display: none;
}

.reserve01 .reserve01Inner.-is-visible {
  height: 200px;
}
.qr_mask{
    position:fixed;
    left:0;top:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.9);
    z-index:1000
}
.qr_mask img{
    display:block;
    width:330px;
    height:330px;
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
}
@media screen and (min-width: 1025px) and (max-width: 1100px) {
  #header .logo01 {
    padding-left: 3.84645vw;
  }
  #header .nav01 {
    left: 239px;
    left: 21.272727vw;
  }
  #header .nav01 ul li:not(:firs
t-child) {
    margin-left: 3.84645vw;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  #header .logo01 img {
    width: 135.94px;
    height: 22.34px;
  }
  #header .nav01 {
    display: none;
  }
  .navHamberger {
    padding: 5% 0 0 27%;
  }
}

@media screen and (max-width: 767px) {
  #header {
    height: 67px;
  }
  #header .logo01 {
    padding: 26px 0 0 25px;
    padding: .93333vw 0 0 6.66666vw;
  }
  #header .logo01 a:hover {
    opacity: 1;
  }
  #header .logo01 img {
    width: 109.53px;
    height: 18px;
  }
  #header .nav01 {
    display: none;
  }
  #header .menu01 {
    position: absolute;
    top: 0;
    right: 0;
  }
  #header .menu01 a {
    width: 68px;
    height: 68px;
  }
  .navHambergerBg {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .navHamberger {
    padding: 5% 0 0 0;
  }
  .navHamberger li {
    font-size: 26px;
  }
  .reserve01 {
    bottom: 0;
    top: unset;
    right: 0;
    position: fixed;
    z-index: 1001;
    opacity: 1;
  }
  .-is-top-anime-start .reserve01 {
    bottom: 0;
    top: unset;
  }
  .reserve01 a {
    width: 130px;
    height: 64px;
    font-size: 10px;
  }
  .reserve01 a:hover .en, #header .nav01 ul li a .en,
  .reserve01 a:hover .ja, #header .nav01 ul li a .ja {
    -webkit-animation: none;
            animation: none;
  }
  .reserve01 > a .en {
    display: none;
  }
  .reserve01 > a .ja {
    -webkit-animation: none;
            animation: none;
    position: relative;
  }
  #header .nav01 ul li a .ja {
    display: none;
  }
  .reserve01 .reserve01Inner {
    position: absolute;
    top: -128px;
    -webkit-transform: translateY(130px);
            transform: translateY(130px);
  }
  .reserve01 .reserve01Inner .scrollLineH--static {
    width: 8px;
    right: 10px;
  }
  .reserve01 .reserve01Inner.-is-visible {
    height: 128px;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

/* mainVisual
------------------------------------------ */
#mainVisual {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  padding: 0 0 0 10vw;
  height: 100vh;
  color: #FFF;
  line-height: 0;
  z-index: 1;
}

#mainVisual .parallax__wrap--mask {
  width: 100vw;
  position: absolute;
  height: 100vh;
  top: 0;
  left: 0;
}

.mainVisualMaskBlack::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 3;
}

.mainVisualMaskBlack-dark::before {
  background-color: rgba(0, 0, 0, 0.42);
}

#mainVisual .parallax__wrap--mask::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
}

#mainVisual .mainVisualBg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: no-repeat 50% 50%;
  background-size: cover;
}

#mainVisual .mainVisualText {
  position: relative;
  z-index: 10;
}

body.home #mainVisual .mainVisualBg {
  background-image: url(../img/index_img_mainvisual_02.jpeg);
}

body.office #mainVisual .mainVisualBg {
  background-image: url(../img/office_img_mainvisual_01.jpg);
}

body.office_detail #mainVisual {
  height: 500px;
}

body.office_detail #mainVisual .parallax__wrap--mask {
  height: 500px;
}

body.office_detail #mainVisual .mainVisualBg {
  height: 500px;
}

body.office_detail .jingumae6 #mainVisual .mainVisualBg {
  background-image: url(../img/jingumae6_img_mainvisual_01.jpg);
}

body.office_detail .roppongi-midtown-side #mainVisual .mainVisualBg {
  background-image: url(../img/roppongi_img_mainvisual_01.jpg);
}

body.space #mainVisual .mainVisualBg {
  background-image: url(../img/space_img_mainvisual_01.jpg);
}

body.company #mainVisual .mainVisualBg {
  background-image: url(../img/company_img_mainvisual_01.jpg);
}

body.legal #mainVisual {
  background-color: #F0F0F0;
  height: 400px;
  overflow: hidden;
}

#mainVisual .indexTxt01 {
  font-size: 137px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0;
}

#mainVisual .indexTxt01 > span {
  display: block;
}

#mainVisual .indexTxt01 > span.indexTxt0102 {
  color: transparent;
  -webkit-text-stroke: 2px #FFF;
}

#mainVisual .indexTxt01 > span.handWrite{
    font-size:36px;
    font-family: 'Long Cang', cursive;
/*    font-family: 'Zhi Mang Xing', cursive;*/
}

body.-is-ie #mainVisual .indexTxt01 > span.indexTxt0102 {
  text-shadow: #fff 1px 1px 0px, #fff -1px 1px 0px, #fff 1px -1px 0px, #E2E2E2 -1px -1px 0px;
}

#mainVisual .lowerTxt01 .en {
  display: block;
  font-size: 90px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
}

#mainVisual .lowerTxt01 .ja {
  display: block;
  margin-top: 15px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}

#mainVisual .detailTxt01 {
  font-size: 70px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

body.office_detail #mainVisual .detailTxt01 {
  text-transform: none;
}

#mainVisual .legalTxt01 {
  padding: 82px 0 0 0;
  color: #222;
}

#mainVisual .legalTxt01 .en {
  display: block;
  font-size: 50px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
}

#mainVisual .legalTxt01 .ja {
  display: block;
  margin-top: 11px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  body.office #mainVisual {
    height: 70vh;
  }
  body.office #mainVisual .parallax__wrap--mask {
    height: 70vh;
  }
  body.space #mainVisual {
    height: 70vh;
  }
  body.space #mainVisual .parallax__wrap--mask {
    height: 70vh;
  }
  body.company #mainVisual {
    height: 70vh;
  }
  body.company #mainVisual .parallax__wrap--mask {
    height: 70vh;
  }
}

@media screen and (max-width: 767px) {
  #mainVisual {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  body.home #mainVisual .mainVisualBg {
    background: url(../img/index_img_mainvisual_02.jpeg) no-repeat 40% 50%;
    background-size: cover;
  }
  body.office #mainVisual .mainVisualBg {
    background: url(../img/office_img_mainvisual_01_sp.jpg) no-repeat 87% 50%;
    background-size: cover;
  }
  body.office_detail .jingumae6 #mainVisual .mainVisualBg {
    background-image: url(../img/jingumae6_img_mainvisual_01_sp.jpg);
    background-size: cover;
  }
  body.office_detail .jingumae6 #mainVisual .mainVisualBg {
    background-image: url(../img/jingumae6_img_mainvisual_01_sp.jpg);
    background-size: cover;
  }
  body.office_detail .roppongi-midtown-side #mainVisual .mainVisualBg {
    background-image: url(../img/roppongi_img_mainvisual_01_sp.jpg);
    background-size: cover;
  }
  body.space #mainVisual .mainVisualBg {
    background: url(../img/space_img_mainvisual_01_sp.jpg) no-repeat 50% 50%;
    background-size: cover;
  }
  body.company #mainVisual .mainVisualBg {
    background: url(../img/company_img_mainvisual_01_sp.jpg) no-repeat 50% 50%;
    background-size: cover;
  }
  body.legal #mainVisual {
    height: 197px;
  }
  #mainVisual .indexTxt01 {
    padding-bottom: 42.2vw;
    font-size: 62px;
  }
  #mainVisual .indexTxt01 > span.indexTxt0102 {
    -webkit-text-stroke: 1px #FFF;
  }
  #mainVisual .lowerTxt01 {
    padding-bottom: 45.5vw;
  }
  #mainVisual .lowerTxt01 .en {
    font-size: 54px;
    line-height: 1.19;
  }
  #mainVisual .lowerTxt01 .ja {
    margin-top: 8px;
  }
  #mainVisual .detailTxt01 {
    padding-bottom: 91px;
    font-size: 40px;
    line-height: 1.6;
  }
  #mainVisual .legalTxt01 {
    padding: 0 0 38px 0;
  }
  #mainVisual .legalTxt01 .en {
    font-size: 24px;
  }
  #mainVisual .legalTxt01 .ja {
    margin-top: 12px;
    font-size: 16px;
  }
}

/* scrollBlock01
------------------------------------------ */
/* scrollBlock01 */
body.home .scrollBlock01 {
  position: absolute;
  top: 0;
  right: -5px;
  z-index: 100;
}

body.space .scrollBlock01,
body.office .scrollBlock01 {
  position: absolute;
  top: -21px;
  right: -5px;
  z-index: 100;
}

body.company .scrollBlock01 {
  position: absolute;
  top: -121px;
  right: calc((10% + 5px));
  z-index: 100;
}

@media screen and (max-width: 767px) {
  .scrollBlock01 {
    display: none;
  }
}

/* scrollTxt01 */
.scrollTxt01 {
  display: block;
  color: #FFF;
  font-size: 12px;
  line-height: 1;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 0.1em;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

/* scrollLine01 */
.scrollLine01 {
  position: relative;
  margin: 49px 0 0 37px;
  width: 1px;
  height: 30px;
  overflow: hidden;
  z-index: 4;
}

.scrollLine01:after,
.scrollLine01:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 1px;
  height: 100%;
}

.scrollLine01:before {
  background: #FFF;
  z-index: 10;
  -webkit-animation: scroll 2.4s infinite normal;
  animation: scroll 2.4s infinite normal;
}

.scrollLine01:after {
  background: transparent;
}

@-webkit-keyframes scroll {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
  }
  15% {
    -webkit-transform: translate3d(0, -98%, 0);
  }
  85% {
    -webkit-transform: translate3d(0, 98%, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 100%, 0);
  }
}

@keyframes scroll {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }
  15% {
    -webkit-transform: translate3d(0, -98%, 0);
            transform: translate3d(0, -98%, 0);
  }
  85% {
    -webkit-transform: translate3d(0, 98%, 0);
            transform: translate3d(0, 98%, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }
}

/* scrollLineH */
.scrollLineH--static {
  z-index: 4;
  position: absolute;
  display: block;
  margin-left: -5px;
  top: 50%;
  right: 14px;
  width: 20px;
  height: 1px;
  overflow: hidden;
}

.scrollLineH--static:after,
.scrollLineH--static:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 20px;
  height: 1px;
  background: #fff;
}

.scrollLineH--gray:after,
.scrollLineH--gray:before {
  background: #e5e5e5;
  -webkit-transition: .2s;
  transition: .2s;
}

a:hover .scrollLineH--gray:after,
a:hover .scrollLineH--gray:before {
  background: #E24D0A;
}

a:hover .scrollLineH--static:before {
  z-index: 10;
  -webkit-animation: scrollLineH-Hover 1.2s cubic-bezier(0.58, 0.3, 0.1, 1) 0s infinite forwards;
  animation: scrollLineH-Hover 1.2s cubic-bezier(0.58, 0.3, 0.1, 1) 0s infinite forwards;
}

a:hover .scrollLineH--static:after {
  background: transparent;
}

@keyframes scrollLineH-Hover {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}

@-webkit-keyframes scrollLineH-Hover {
  0% {
    -webkit-transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(100%);
  }
}

/* footer
------------------------------------------ */
#footer {
  padding: 13% 0;
  background: #1C1C1C;
  color: #767676;
  height: auto;
}

#footer a {
  color: #767676;
}

#footer a:hover {
  opacity: 0.7;
}

#footer .lo01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  opacity: 0;
  -webkit-transition: opacity .8s;
  transition: opacity .8s;
}

body.-is-ie #footer .lo01,
#footer .lo01.is-inview {
  opacity: 1;
}

#footer .lo01 .lo0102,
#footer .lo01 .lo0101 {
  width: 50%;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

#footer .lo01 .lo0101 {
  padding: 11px 0 0 10vw;
}

#footer .lo02 .lo0201 {
  line-height: 0;
}

#footer .lo02 .lo0201 img {
  width: 120px;
  height: auto;
}

#footer .lo02 .lo0202 {
  padding-top: 32px;
  font-size: 14px;
  letter-spacing: 0.1em;
}

#footer .lo02 .lo0202 p + p {
  margin-top: 6px;
}

#footer .nav01 {
  width: 500px;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 0.1em;
}

#footer .nav01 .nav01Ul01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#footer .nav01 .nav01Ul01 + .nav01Ul01 {
  padding-top: 44px;
}

#footer .nav01 .nav01Ul01:after {
  content: "";
  display: block;
  clear: both;
}

#footer .nav01 .nav01Ul01 > li:nth-child(2n+1) {
  width: 350px;
}

#footer .nav01 .nav01Ul01 > li .nav01Head01 {
  font-size: 15px;
  font-weight: 500;
}

#footer .nav01 .nav01Ul01 > li .nav01Head01 a {
  color: #FFF;
}

#footer .nav01 .nav01Ul01 > li .nav01Ul02 {
  margin-top: 10px;
}

#footer .nav01 .nav01Ul01 > li .nav01Ul02 > li {
  font-size: 12px;
}

#footer .nav01 .nav01Ul01 > li .nav01Ul02 > li + li {
  margin-top: 5px;
}

#footer .nav01 .nav01Ul03 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  margin-top: 27px;
}

#footer .nav01 .nav01Ul03 > li:not(:first-child) {
  margin-left: 20px;
}

#footer .nav01 .nav01Ul03 > li a {
  display: block;
  width: 34px;
  height: 34px;
  text-indent: -9999px;
  overflow: hidden;
}

#footer .nav01 .nav01Ul03 > li.facebook a {
  background: url(../img_cmn/btn_sns_fb_01.svg) no-repeat;
  background-size: 34px;
}

#footer .nav01 .nav01Ul03 > li.twitter a {
  background: url(../img_cmn/btn_sns_tw_01.svg) no-repeat;
  background-size: 34px;
}

@media screen and (min-width: 1001px) and (max-width: 1299px) {
  #footer .lo01 .lo0101 {
    width: 44.7%;
  }
  #footer .lo01 .lo0102 {
    width: 55.3%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1000px) {
  #footer .lo01 {
    display: block;
  }
  #footer .lo01 .lo0102,
  #footer .lo01 .lo0101 {
    width: auto;
  }
  #footer .lo01 .lo0102 {
    padding: 77px 0 0 10vw;
  }
  #footer .lo02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  #footer .lo02 .lo0201 {
    width: 100px;
  }
  #footer .lo02 .lo0202 {
    padding: 0 0 0 75px;
  }
  #footer .lo02 .lo0202 p:first-child {
    margin-top: -8px;
  }
  #footer .lo02 .lo0202 p + p {
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  #footer {
    padding: 54px 0 109px 0;
    padding: 14.4vw 0 29.06666vw 0;
  }
  #footer a:hover {
    opacity: 1;
  }
  #footer .lo01 {
    display: block;
  }
  #footer .lo01 .lo0102,
  #footer .lo01 .lo0101 {
    width: auto;
  }
  #footer .lo01 .lo0101 {
    padding: 0 10vw;
  }
  #footer .lo01 .lo0102 {
    padding: 44px 10vw 0 10vw;
  }
  #footer .lo02 .lo0201 {
    text-align: center;
  }
  #footer .lo02 .lo0202 {
    padding-top: 49px;
  }
  #footer .lo02 .lo0202 p + p {
    margin-top: -2px;
  }
  #footer .nav01 {
    width: auto;
  }
  #footer .nav01 .nav01Ul01 {
    display: block;
  }
  #footer .nav01 .nav01Ul01 > li {
    padding-top: 0;
  }
  #footer .nav01 .nav01Ul01 > li:nth-child(2n+1) {
    width: auto;
  }
  #footer .nav01 .nav01Ul01 > li + li {
    margin-top: 19px;
  }
  #footer .nav01 .nav01Ul01 > li .nav01Head01 {
    font-size: 15px;
    font-weight: 500;
  }
  #footer .nav01 .nav01Ul01 > li .nav01Head01 a {
    color: #FFF;
  }
  #footer .nav01 .nav01Ul01 > li .nav01Ul02 {
    margin-top: 10px;
  }
  #footer .nav01 .nav01Ul01 > li .nav01Ul02 > li {
    font-size: 12px;
  }
  #footer .nav01 .nav01Ul01 > li .nav01Ul02 > li + li {
    margin-top: 5px;
  }
  #footer .nav01 .nav01Ul03 {
    margin-top: 48px;
  }
}

/* common
------------------------------------------ */
/* listNoMod01 */
.listNoMod01 > li > .vessel {
  display: table;
  width: 100%;
}

.listNoMod01 > li > .vessel > .text,
.listNoMod01 > li > .vessel > .no {
  display: table-cell;
  vertical-align: top;
}

.listNoMod01 > li > .vessel > .no {
  width: 1em;
  white-space: nowrap;
}

.listNoMod01.no > li > .vessel > .no {
  width: 30px;
}

/* index
------------------------------------------ */
/* common */
.officeTag01 .scrollLine01 {
  z-index: 4;
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  margin-left: -5px;
  width: 1px;
  height: 30px;
  overflow: hidden;
}

.officeTag01 .scrollLine01::after,
.officeTag01 .scrollLine01:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 1px;
  height: 30px;
  background: rgba(124, 124, 124, 0.3);
}

a:hover .officeTag01 .scrollLine01:before {
  z-index: 10;
  -webkit-animation: scrollLineHover 2.4s infinite normal;
  animation: scrollLineHover 2.4s infinite normal;
}

a:hover .officeTag01 .scrollLine01:after {
  background: transparent;
}

@keyframes scrollLineHover {
  0% {
    -webkit-transform: translate3d(0, 0%, 0);
            transform: translate3d(0, 0%, 0);
  }
  15% {
    -webkit-transform: translate3d(0, 2%, 0);
            transform: translate3d(0, 2%, 0);
  }
  85% {
    -webkit-transform: translate3d(0, 98%, 0);
            transform: translate3d(0, 98%, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }
}

@-webkit-keyframes scrollLineHover {
  0% {
    -webkit-transform: translate3d(0, 0%, 0);
  }
  15% {
    -webkit-transform: translate3d(0, -2%, 0);
  }
  85% {
    -webkit-transform: translate3d(0, 98%, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 100%, 0);
  }
}

.box02:hover {
  opacity: 1;
}

.box02 .side01Txt01 {
  -webkit-transition: 0.2s cubic-bezier(0.32, 0.95, 0.6, 1);
  transition: 0.2s cubic-bezier(0.32, 0.95, 0.6, 1);
}

.box02:hover .side01Txt01 {
  letter-spacing: 0.4em;
}

.box02 .side01::before {
  content: "";
  position: absolute;
  left: -10vw;
  background: #000;
  display: block;
  width: 10vw;
  height: 100%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.box02:hover .side01::before {
  left: 0;
}

/* indexArea01 */
#indexArea01 {
  position: relative;
  padding-top: 1px;
  z-index: 1;
}

#indexArea01 .mask {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

#indexArea01 .mask.left {
  -webkit-clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%);
  clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%);
  overflow: hidden;
}

#indexArea01 .mask.center {
  -webkit-clip-path: polygon(50% 0, 90% 0, 90% 100%, 50% 100%);
  clip-path: polygon(50% 0, 90% 0, 90% 100%, 50% 100%);
  overflow: hidden;
}

#indexArea01 .mask.right {
  -webkit-clip-path: polygon(90% 0, 100% 0, 100% 100%, 90% 100%);
  clip-path: polygon(90% 0, 100% 0, 100% 100%, 90% 100%);
  overflow: hidden;
}

#indexArea01 .mask.center .bgTxt.bgTxt02,
#indexArea01 .mask.center .bgTxt.bgTxt01 {
  opacity: 0.08;
}

#indexArea01 .bgTxt {
  font-size: 150px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  letter-spacing: -0.02em;
  z-index: 2;
  -webkit-animation: marqueeLeft 70s linear infinite;
          animation: marqueeLeft 70s linear infinite;
}

@-webkit-keyframes marqueeLeft {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}

@keyframes marqueeLeft {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}

@-webkit-keyframes marqueeRight {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@keyframes marqueeRight {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes marqueeLeftDummy {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@keyframes marqueeLeftDummy {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

#indexArea01 .bgTxt.bgTxt01 {
  position: absolute;
  top: 74px;
  left: 0;
  color: #E5E5E5;
}

#indexArea01 .bgTxt.bgTxt02 {
  position: absolute;
  top: 261px;
  left: 0;
  color: transparent;
  -webkit-text-stroke: 2px #E2E2E2;
}

body.-is-ie #indexArea01 .bgTxt.bgTxt02 {
  color: #f0f0f0;
  text-shadow: #E2E2E2 1px 1px 0px, #E2E2E2 -1px 1px 0px, #E2E2E2 1px -1px 0px, #E2E2E2 -1px -1px 0px;
}

#indexArea01 .box01 {
  margin: -121px 0 0 50%;
  width: 40%;
  min-height: 552px;
  background: #1C1C1C;
  color: #FFF;
}

body.-is-ie #indexArea01 .box01,
body.-is-edge #indexArea01 .box01 {
  position: relative;
  z-index: 3;
}

#indexArea01 .box01 > .vessel {
  position: relative;
  padding: 28.8% 19.23076% 20% 19.23076%;
  z-index: 3;
}

#indexArea01 .box01 .subHead01 {
  font-size: 12px;
  font-family: 'Ubuntu', sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}

#indexArea01 .box01 .head01 {
  margin-top: 3px;
  font-size: 26px;
  font-weight: 400;
}

#indexArea01 .box01 .textBlock01 {
  margin-top: 72px;
  color: #E0E0E0;
  font-size: 16px;
}

#indexArea01 .box01 .textBlock01 p + p {
  margin-top: 18px;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  #indexArea01 .mask.left {
    -webkit-clip-path: polygon(0 0, 30% 0, 30% 100%, 0 100%);
    clip-path: polygon(0 0, 30% 0, 30% 100%, 0 100%);
  }
  #indexArea01 .mask.center {
    -webkit-clip-path: polygon(30% 0, 100% 0, 100% 100%, 30% 100%);
    clip-path: polygon(30% 0, 100% 0, 100% 100%, 30% 100%);
  }
  #indexArea01 .mask.right {
    display: none;
  }
  #indexArea01 .box01 {
    margin-left: 30%;
    width: 70%;
  }
}

@media screen and (max-width: 767px) {
  #indexArea01 .mask.left {
    -webkit-clip-path: polygon(0 0, 10% 0, 10% 100%, 0 100%);
    clip-path: polygon(0 0, 10% 0, 10% 100%, 0 100%);
  }
  #indexArea01 .mask.center {
    -webkit-clip-path: polygon(10% 0, 100% 0, 100% 100%, 10% 100%);
    clip-path: polygon(10% 0, 100% 0, 100% 100%, 10% 100%);
  }
  #indexArea01 .mask.right {
    display: none;
  }
  #indexArea01 .bgTxt {
    font-size: 74px;
  }
  #indexArea01 .bgTxt.bgTxt01 {
    position: absolute;
    top: 176px;
    left: 0;
  }
  #indexArea01 .bgTxt.bgTxt02 {
    position: absolute;
    top: 270px;
    left: 0;
  }
  #indexArea01 .box01 {
    margin: -20vw 0 0 10%;
    width: 90%;
    min-height: 482px;
  }
  #indexArea01 .box01 > .vessel {
    padding: 18.6vw 10vw 20vw 10vw;
  }
  #indexArea01 .box01 .head01 {
    margin-top: 13px;
    font-size: 18px;
    line-height: 2.05555;
    letter-spacing: 0;
  }
  #indexArea01 .box01 .textBlock01 {
    margin-top: 30px;
    font-size: 13px;
    letter-spacing: 0.05em;
  }
  #indexArea01 .box01 .textBlock01 p + p {
    margin-top: 11px;
  }
}

/* indexArea02
------------------------------------------ */
/* indexTxtLoMod01 */
.indexTxtLoMod01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.indexTxtLoMod01 > .lo0101 {
  padding: 0 20px 0 0;
}

@media screen and (max-width: 767px) {
  .indexTxtLoMod01 {
    display: block;
  }
  .indexTxtLoMod01 > .lo0101 {
    display: block;
    padding: 0;
  }
  .indexTxtLoMod01 > .lo0102 {
    display: block;
    padding: 6px 0 0 0;
  }
}

/* indexTxtMod01 */
.indexTxtMod01 {
  display: block;
  font-size: 36px;
  font-family: 'Montserrat', sans-serif;
  line-height: 1;
  letter-spacing: 0.05em;
}

.indexTxtMod01 em:nth-of-type(1) {
  color: #000;
  font-weight: 600;
}

.indexTxtMod01 em:nth-of-type(2) {
  margin-left: 9px;
  color: transparent;
  font-weight: 700;
  -webkit-text-stroke: 1px #434343;
}

@media screen and (max-width: 767px) {
  .indexTxtMod01 {
    font-size: 26px;
  }
  .indexTxtMod01 em:nth-of-type(2) {
    margin-left: 7px;
  }
}

/* indexTxtMod02 */
.indexTxtMod02 {
  display: block;
  margin-top: 11px;
  color: #222;
  font-size: 14px;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  .indexTxtMod02 {
    margin-top: 5px;
    letter-spacing: 0.1em;
  }
}

/* indexTxtMod03 */
.indexTxtMod03 {
  display: block;
  margin-top: 30px;
  color: #5F5F5F;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0;
}

.indexTxtMod03 > .p {
  display: block;
}

.indexTxtMod03 > .p + .p {
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .indexTxtMod03 {
    margin-top: 42px;
  }
}

/* indexArea02 */
#indexArea02 {
  position: relative;
  margin-top: 15%;
  z-index: 1;
}

#indexArea02 .mainImage01 {
  line-height: 0;
}

#indexArea02 .mainImage01 img {
  width: 100%;
  height: auto;
}

#indexArea02 .box01 {
  position: absolute;
  top: 284px;
  top: 21.6vw;
  left: 10%;
  width: 45%;
  height: 810px;
  height: 61.5vw;
  background-color: rgba(0, 0, 0, 0.29);
  overflow: hidden;
  z-index: 2;
}

#indexArea02 .box01 .box01Txt01 {
  position: absolute;
  bottom: 18.23vw;
  left: -23.1vw;
  display: block;
  color: rgba(255, 255, 255, 0.3);
  font-size: 180px;
  font-size: 13.8vw;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  line-height: 1;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

#indexArea02 .officeTag01 {
  position: absolute;
  top: 50px;
  left: 45px;
  display: block;
  padding-bottom: 144px;
  width: 2em;
  color: #969696;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

#indexArea02 .officeTag01 em {
  display: block;
  font-weight: 400;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

#indexArea02 .activeTxt01 {
  display: block;
  margin-bottom: 12px;
  color: #E24D0A;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.43;
}

#indexArea02 .box02 {
  position: relative;
  display: block;
  margin: -12.46153% 0 0 35%;
  width: 65%;
  background: #FFF;
  z-index: 3;
}

#indexArea02 .box02 > .vessel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  /* height: 670px; */
  /* max-height: 670px; */
}

#indexArea02 .box02 .main01 {
  padding: 5.2% 10% 5.2% 20.5%;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

#indexArea02 .box02 .side01 {
  overflow: hidden;
  width: 10vw;
  background: #1C2015;
  color: #FFF;
  text-align: center;
  letter-spacing: 0.1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}

#indexArea02 .box02 .side01::before {
  content: "";
  position: absolute;
  left: -10vw;
  background: #000;
  display: block;
  width: 10vw;
  height: 100%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

#indexArea02 .box02:hover .side01::before {
  left: 0;
}

#indexArea02 .box02 .side01 .side01Txt01 {
  display: inline-block;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  #indexArea02 .box01 {
    left: 5%;
  }
  #indexArea02 .box02 {
    margin-left: 10%;
    width: 90%;
  }
  #indexArea02 .box02 .side01 {
    width: 9.8vw;
  }
}

@media screen and (max-width: 767px) {
  #indexArea02 {
    margin-top: 20%;
  }
  #indexArea02 .box01 {
    display: none;
  }
  /* テキストが確定してから */
  #indexArea02 .officeTag01 {
    position: absolute;
    top: 20px;
    left: auto;
    right: 17px;
    display: block;
    padding-bottom: 144px;
    width: 2em;
    color: #969696;
    font-size: 12px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    letter-spacing: 0.1em;
    white-space: nowrap;
  }
  #indexArea02 .officeTag01::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    display: block;
    margin-left: -5px;
    width: 1px;
    height: 30px;
    background-color: rgba(124, 124, 124, 0.3);
  }
  #indexArea02 .officeTag01 em {
    display: block;
    font-weight: 400;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  /* /テキストが確定してから */
  #indexArea02 .activeTxt01 {
    margin-bottom: 5px;
    font-size: 12px;
    line-height: 1.5;
  }
  #indexArea02 .box02 {
    margin: -40px 0 0 0;
    width: 90%;
  }
  #indexArea02 .box02:hover {
    opacity: 1;
  }
  #indexArea02 .box02 > .vessel {
    display: block;
    width: auto;
    height: auto;
  }
  #indexArea02 .box02 .side01,
  #indexArea02 .box02 .main01 {
    display: block;
  }
  #indexArea02 .box02 .main01 {
    padding: 12.2vw 10vw 12.4vw 10vw;
  }
  #indexArea02 .box02 .side01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: auto;
    height: 80px;
    text-indent: 0.1em;
  }
  #indexArea02 .box02 .side01 .side01Txt01 {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}

/* indexArea03 */
#indexArea03 {
  position: relative;
  margin: 15% 0;
  z-index: 1;
}

#indexArea03 .mainImage01 {
  line-height: 0;
}

#indexArea03 .mainImage01 img {
  width: 100%;
  height: auto;
}

#indexArea03 .box01 {
  position: absolute;
  top: 274px;
  top: 20.8vw;
  right: 10%;
  width: 45%;
  height: 723px;
  height: 55vw;
  background-color: rgba(0, 0, 0, 0.29);
  overflow: hidden;
  z-index: 2;
}

#indexArea03 .box01 .box01Txt01 {
  position: absolute;
  bottom: 13.9vw;
  right: -20.8vw;
  display: block;
  color: rgba(255, 255, 255, 0.3);
  font-size: 13.8vw;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  line-height: 1;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

#indexArea03 .officeTag01 {
  position: absolute;
  top: 50px;
  left: 45px;
  display: block;
  padding-bottom: 166px;
  width: 2em;
  color: #969696;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

#indexArea03 .officeTag01::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  margin-left: -5px;
  width: 1px;
  height: 30px;
}

#indexArea03 .officeTag01 em {
  display: block;
  font-weight: 400;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

#indexArea03 .box02 {
  position: relative;
  display: block;
  margin: -21.76923% 0 0 0;
  width: 65%;
  background: #FFF;
  z-index: 3;
}

#indexArea03 .box02 > .vessel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  /* height: 670px; */
}

#indexArea03 .box02 .main01 {
  padding: 5.2% 10% 5.2% 20.5%;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

#indexArea03 .box02 .side01 {
  width: 10vw;
  position: relative;
  overflow: hidden;
  background: #1C1C1C;
  color: #FFF;
  text-align: center;
  vertical-align: middle;
  letter-spacing: 0.1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#indexArea03 .box02 .side01 .side01Txt01 {
  display: inline-block;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  #indexArea03 .box01 {
    right: 5%;
  }
  #indexArea03 .box02 {
    width: 90%;
  }
  #indexArea03 .box02 .side01 {
    width: 9.8vw;
  }
}

@media screen and (max-width: 767px) {
  #indexArea03 {
    margin-top: 20%;
  }
  #indexArea03 .box01 {
    display: none;
  }
  /* テキストが確定してから */
  #indexArea03 .officeTag01 {
    position: absolute;
    top: 20px;
    left: auto;
    right: 17px;
    display: block;
    padding-bottom: 166px;
    width: 2em;
    color: #969696;
    font-size: 12px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    letter-spacing: 0.1em;
    white-space: nowrap;
  }
  #indexArea03 .officeTag01::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    display: block;
    margin-left: -5px;
    width: 1px;
    height: 30px;
    background-color: rgba(124, 124, 124, 0.3);
  }
  #indexArea03 .officeTag01 em {
    display: block;
    font-weight: 400;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  /* /テキストが確定してから */
  #indexArea03 .box02 {
    margin: -40px 0 0 0;
    width: 90%;
  }
  #indexArea03 .box02:hover {
    opacity: 1;
  }
  #indexArea03 .box02 > .vessel {
    display: block;
    width: auto;
    height: auto;
  }
  #indexArea03 .box02 .side01,
  #indexArea03 .box02 .main01 {
    display: block;
  }
  #indexArea03 .box02 .main01 {
    padding: 12.2vw 10vw 12.4vw 10vw;
  }
  #indexArea03 .box02 .side01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: auto;
    height: 80px;
    text-indent: 0.1em;
  }
  #indexArea03 .box02 .side01 .side01Txt01 {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}

/* indexArea04 */
#indexArea04 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

#indexArea04 ul li {
  width: 50%;
}

#indexArea04 ul li a {
  position: relative;
  display: block;
  height: 30.5vw;
  color: #FFF;
  overflow: hidden;
  z-index: 1;
}

#indexArea04 ul li a::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 2;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

#indexArea04 ul li a:hover::before {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

#indexArea04 ul li.company a,
#indexArea04 ul li.company a::before {
  background: url(../img_cmn/bg_nav_company_01.jpg) no-repeat 50% 50%;
  background-size: cover;
}

#indexArea04 ul li.contact a,
#indexArea04 ul li.contact a::before {
  background: url(../img_cmn/bg_nav_contact_01.jpg) no-repeat 50% 50%;
  background-size: cover;
}

#indexArea04 ul li a .en {
  position: relative;
  display: block;
  padding: 12.6% 0 0 12.30769%;
  font-size: 28px;
  font-family: 'Montserrat', sans-serif;
  line-height: 1;
  letter-spacing: 0.05em;
  z-index: 3;
}

#indexArea04 ul li a .ja {
  position: relative;
  display: block;
  padding: 3px 0 0 12.30769%;
  font-size: 14px;
  letter-spacing: 0.1em;
  z-index: 3;
}

@media screen and (max-width: 767px) {
  #indexArea04 {
    margin-top: 30%;
  }
  #indexArea04 ul {
    display: block;
  }
  #indexArea04 ul li {
    width: auto;
  }
  #indexArea04 ul li a {
    display: table;
    width: 100%;
  }
  #indexArea04 ul li a::before {
    display: none;
  }
  #indexArea04 ul li a:hover::before {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  #indexArea04 ul li a .vessel {
    display: table-cell;
    height: 61.33333vw;
    vertical-align: middle;
  }
  #indexArea04 ul li a .en {
    display: block;
    padding: 0 0 0 12vw;
    font-size: 24px;
  }
  #indexArea04 ul li a .ja {
    display: block;
    padding: 4px 0 0 12vw;
    font-size: 12px;
  }
}

/* OFFICE
------------------------------------------ */
/* conceptTxtmod01 */
.conceptTxtmod01 {
  position: absolute;
  top: -40px;
  left: 45px;
  left: 3.4vw;
  display: block;
  padding-bottom: 78px;
  width: 2em;
  color: #2E2E2E;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

body.office_detail .conceptTxtmod01 {
  z-index: 4;
}

.conceptTxtmod01::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  margin-left: -4px;
  width: 1px;
  height: 30px;
  background-color: rgba(46, 46, 46, 0.3);
}

.conceptTxtmod01 em {
  display: block;
  font-weight: 600;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

@media screen and (max-width: 767px) {
  .conceptTxtmod01 {
    position: absolute;
    top: -17px;
    left: 10px;
    padding-bottom: 61px;
    font-size: 10px;
  }
  body.office_detail .conceptTxtmod01 {
    top: 14.6vw;
  }
  .conceptTxtmod01::after {
    content: "";
    margin-left: -3px;
    height: 20px;
  }
}

/* featureTxtmod01 */
.featureTxtmod01 {
  position: absolute;
  top: 0;
  left: 45px;
  left: 3.4vw;
  display: block;
  padding-bottom: 80px;
  width: 2em;
  color: #2E2E2E;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

#spaceArea02 .featureTxtmod01 {
  position: absolute;
  top: 10px;
}

.featureTxtmod01::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  margin-left: -4px;
  width: 1px;
  height: 30px;
  background-color: rgba(46, 46, 46, 0.3);
}

.featureTxtmod01 em {
  display: block;
  font-weight: 600;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

@media screen and (max-width: 767px) {
  .featureTxtmod01 {
    position: absolute;
    top: 0;
    left: 10px;
    padding-bottom: 60px;
    font-size: 10px;
  }
  .featureTxtmod01::after {
    content: "";
    margin-left: -3px;
    height: 20px;
  }
}

/* projectTxtmod01 */
.projectTxtmod01 {
  position: absolute;
  top: 50px;
  left: 45px;
  left: 3.4vw;
  display: block;
  padding-bottom: 109px;
  width: 2em;
  color: #FFF;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 0.1em;
  white-space: nowrap;
  z-index: 10;
}

.projectTxtmod01::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  margin-left: -4px;
  width: 1px;
  height: 30px;
  background-color: rgba(255, 255, 255, 0.3);
}

.projectTxtmod01 em {
  display: block;
  font-weight: 600;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

@media screen and (max-width: 767px) {
  .projectTxtmod01 {
    position: absolute;
    top: 25px;
    left: 10px;
    padding-bottom: 85px;
    font-size: 10px;
  }
  .projectTxtmod01::after {
    content: "";
    margin-left: -3px;
    height: 20px;
  }
}

/* nextpageTxtmod01 */
.nextpageTxtmod01 {
  pointer-events: none;
  position: absolute;
  top: 50px;
  left: 45px;
  display: block;
  padding-bottom: 98px;
  width: 2em;
  color: #FFF;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 0.1em;
  white-space: nowrap;
  z-index: 10;
}

.nextpageTxtmod01 > .nextpageTxtmod01Border {
  display: block;
}

.nextpageTxtmod01 > .nextpageTxtmod01Border,
.nextpageTxtmod01 > .nextpageTxtmod01Border::before {
  width: 1px;
  height: 30px;
}

.nextpageTxtmod01 > .nextpageTxtmod01Border {
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -4px;
  overflow: hidden;
}

.nextpageTxtmod01 > .nextpageTxtmod01Border::before {
  content: "";
  background: #FFF;
  z-index: 10;
  display: block;
  -webkit-animation: scroll 2.4s infinite normal;
  animation: scroll 2.4s infinite normal;
}

.nextpageTxtmod01 em {
  display: block;
  font-weight: 600;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

@media screen and (max-width: 767px) {
  .nextpageTxtmod01 {
    position: absolute;
    top: 30px;
    left: 10px;
    padding-bottom: 74px;
    font-size: 10px;
  }
  .nextpageTxtmod01::after {
    content: "";
    margin-left: -3px;
    height: 20px;
  }
}

/* officeArea01 */
#officeArea01 {
  position: relative;
  padding-top: 5%;
  z-index: 2;
}

#officeArea01 .imageBlock01 {
  position: absolute;
  top: -100px;
  right: 10%;
  width: 35%;
  line-height: 0;
  z-index: 4;
}

#officeArea01 .imageBlock01 img {
  width: 100%;
  height: auto;
}

#officeArea01 .box01 {
  position: relative;
  padding: 8.4vw 14.8vw 150px 14.8vw;
  width: 70%;
  min-height: 740px;
  background: #FFF;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  z-index: 3;
}

#officeArea01 .box01::before {
  content: "POLUS";
  position: absolute;
  bottom: 14.3vw;
  left: -18.92vw;
  display: block;
  color: #f0f0f0;
  font-size: 11.53vw;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  line-height: 1;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  z-index: 4;
}

#officeArea01 .box01 .textBlock01 {
  margin-bottom: 10.2vw;
  color: #222;
  font-size: 16px;
  line-height: 2.375;
  letter-spacing: 0;
}

#officeArea01 .box01 .textBlock01 p + p {
  margin-top: 38px;
}

#officeArea01 .taglineWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  position: relative;
  margin-top: -11.53vw;
  padding: 0 4.8% 0 0;
  z-index: 10;
}

#officeArea01 .tagline {
  position: relative;
}

#officeArea01 .tagline .taglineFor01 {
  position: relative;
  line-height: 0;
  width: 14.46vw;
  z-index: 13;
}

#officeArea01 .tagline .taglineFor01 img {
  width: 100%;
  height: auto;
}

#officeArea01 .tagline .taglineTxt {
  padding: 0 0 0 5.8vw;
  color: #222;
  font-size: 12.3vw;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.05em;
}

#officeArea01 .tagline .taglineTxt.taglineTxt01 {
  position: relative;
  margin-top: -5.38vw;
  z-index: 12;
}

#officeArea01 .tagline .taglineTxt.taglineTxt02 {
  position: relative;
  margin-top: -5.38vw;
  color: transparent;
  -webkit-text-stroke: 2px #FFF;
  z-index: 11;
}

body.-is-ie #officeArea01 .tagline .taglineTxt.taglineTxt02 {
  color: #f0f0f0;
  text-shadow: #FFF 1px 1px 0px,  #FFF -1px 1px 0px, #FFF 1px -1px 0px,  #FFF -1px -1px 0px;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  #officeArea01 .imageBlock01 {
    position: absolute;
    top: -7.6vw;
    right: 0;
  }
  #officeArea01 .box01 {
    padding: 14.4vw 20.8vw 150px 14.8vw;
    width: 80%;
    min-height: 0;
  }
  #officeArea01 .box01 .textBlock01 {
    margin-bottom: 5vw;
    font-size: 14px;
  }
}

@media screen and (max-width: 767px) {
  #officeArea01 {
    padding-top: 0;
  }
  #officeArea01 .imageBlock01 {
    position: relative;
    top: auto;
    right: auto;
    margin: -20% 0 0 20%;
    width: 80%;
  }
  #officeArea01 .box01 {
    margin-top: -45.6%;
    padding: 45.6vw 10vw 56px 20vw;
    width: 90%;
    min-height: 0;
  }
  #officeArea01 .box01.tableWrap{
        margin-top: 15.6%;
        padding:20px .8vw!important;
  }
    #officeArea01 .box01.tableWrap .hintText{
        font-size:11px;
        color:#E24D0A;
        text-align:center;
        padding:1rem 0;
    }
  #officeArea01 .box01::before {
    display: none;
  }
  #officeArea01 .box01 .textBlock01 {
    padding-top: 20.6vw;
    margin-bottom: 20.8vw;
    font-size: 14px;
    line-height: 2;
  }
  #officeArea01 .box01 .textBlock01 p + p {
    margin-top: 28px;
  }
  #officeArea01 .taglineWrap {
    margin-top: -56px;
    padding: 0 2.2vw 0 0;
  }
  #officeArea01 .tagline .taglineFor01 img {
    width: 75px;
    height: 50px;
  }
  #officeArea01 .tagline .taglineTxt {
    padding: 0 0 0 30px;
    font-size: 61px;
  }
  #officeArea01 .tagline .taglineTxt.taglineTxt01 {
    margin-top: -27px;
  }
  #officeArea01 .tagline .taglineTxt.taglineTxt02 {
    margin-top: -24px;
    -webkit-text-stroke: 1px #FFF;
  }
}

/* tabSwitchMod01 */
.tabSwitchMod01 {
  position: absolute;
  top: 50px;
  right: 41px;
}

.tabSwitchMod01 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.tabSwitchMod01 ul li + li {
  margin-left: 21px;
}

.tabSwitchMod01 ul li a {
  position: relative;
  display: block;
  width: 26px;
  height: 26px;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.tabSwitchMod01 ul li a:hover {
  opacity: 0.7;
}

.tabSwitchMod01 ul li a.current:hover {
  opacity: 1;
  cursor: default;
}

.tabSwitchMod01 ul li a.current,
.tabSwitchMod01 ul li a.current:after {
  border-radius: 50%;
  width: 26px;
  height: 26px;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.tabSwitchMod01 ul li a.current {
  position: relative;
  text-indent: -9999em;
  border-top: 1px solid #EBEBEB;
  border-right: 1px solid #EBEBEB;
  border-bottom: 1px solid #EBEBEB;
  border-left: 1px solid #1C1C1C;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}

@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}

@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

.tabSwitchMod01 ul li a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  margin: -4px 0 0 -4px;
  border: 2px solid #1C1C1C;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  width: 8px;
  height: 8px;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.tabSwitchMod01 ul li a.current::before {
  content: "";
  margin: -3px 0 0 -3px;
  width: 6px;
  height: 6px;
  background: #1C1C1C;
}

.tabSwitchMod01 ul li a span {
  display: block;
  text-indent: -9999px;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .tabSwitchMod01 {
    position: relative;
    top: auto;
    right: auto;
    margin-top: 32px;
  }
  .tabSwitchMod01 ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .tabSwitchMod01 ul li {
    margin-left: 5.5px;
    margin-right: 5.5px;
  }
  .tabSwitchMod01 ul li + li {
    margin-left: 5.5px;
    margin-right: 5.5px;
  }
  .tabSwitchMod01 ul li a {
    position: relative;
    display: block;
    width: 26px;
    height: 26px;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
  }
  .tabSwitchMod01 ul li a:hover {
    opacity: 1;
  }
  .tabSwitchMod01 ul li a.current,
  .tabSwitchMod01 ul li a.current:after {
    border-radius: 50%;
    width: 26px;
    height: 26px;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
  }
  .tabSwitchMod01 ul li a.current {
    position: relative;
    text-indent: -9999em;
    border-top: 1px solid #EBEBEB;
    border-right: 1px solid #EBEBEB;
    border-bottom: 1px solid #EBEBEB;
    border-left: 1px solid #1C1C1C;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation: load8 1.1s infinite linear;
    animation: load8 1.1s infinite linear;
  }
  .tabSwitchMod01 ul li a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    margin: -4px 0 0 -4px;
    border: 2px solid #1C1C1C;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    width: 8px;
    height: 8px;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
  }
  .tabSwitchMod01 ul li a.current::before {
    content: "";
    margin: -3px 0 0 -3px;
    width: 6px;
    height: 6px;
    background: #1C1C1C;
  }
  .tabSwitchMod01 ul li a span {
    display: block;
    text-indent: -9999px;
    overflow: hidden;
  }
}

/* officeArea02 */
#officeArea02 {
  position: relative;
  margin-top: 9%;
}

@media screen and (max-width: 767px) {
  #officeArea02 {
    margin-top: 18.8%;
  }
}

/* aspectImgMod01 */
.aspectImgMod01 {
  position: relative;
  width: 100%;
  line-height: 0;
  overflow: hidden;
}

.aspectImgMod01:before {
  content: "";
  display: block;
  padding-top: 66.66666%;
}

.aspectImgMod01 > .vessel {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.aspectImgMod01 > .vessel img {
  margin-top: -5%;
  width: 112.5%;
  max-width: 112.5%;
  height: auto;
}

.HOLDER-jingumae-6 .aspectImgMod01 > .vessel img {
  margin-top: -5%;
  width: 112.5%;
  max-width: 112.5%;
  height: auto;
}

.HOLDER-roppongi-midtown-side .aspectImgMod01 > .vessel img {
  margin-top: -5%;
  width: 112.5%;
  max-width: 112.5%;
  height: auto;
}

.aspectImgMod01 .head01 {
  position: absolute;
  bottom: 7.9%;
  left: 8.1%;
  color: #FFF;
  font-size: 70px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  line-height: 1.15;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .aspectImgMod01 .head01 {
    position: absolute;
    bottom: 26%;
    left: 10%;
    font-size: 50px;
  }
}

@media screen and (max-width: 767px) {
  .aspectImgMod01:before {
    content: "";
    padding-top: 146.66666%;
  }
  .aspectImgMod01 > .vessel {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
  }
  .aspectImgMod01 > .vessel img {
    margin-top: 0;
    width: 215%;
    max-width: 215%;
  }
  .HOLDER-jingumae-6 .aspectImgMod01 > .vessel img {
    margin-top: 0;
    margin-left: -44%;
    width: 215%;
    max-width: 215%;
  }
  .HOLDER-roppongi-midtown-side .aspectImgMod01 > .vessel img {
    margin-top: 0;
    margin-left: -50%;
    width: 230%;
    max-width: 230%;
  }
  .aspectImgMod01 .head01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    font-size: 28px;
    line-height: 1.43;
    letter-spacing: 0;
    text-align: center;
  }
}

/* iconMod01 */
.iconMod01 {
  display: inline-block;
  padding: 0 9px;
  height: 28px;
  background: #E24D0A;
  color: #FFF;
  font-size: 12px;
  font-weight: 700;
  line-height: 28px;
  text-indent: 0.05em;
  letter-spacing: 0.05em;
}

body.office .iconMod01 {
  vertical-align: 2px;
}

.iconMod01.full {
  padding: 0 17px;
  background: #C7C7C7;
}

@media screen and (max-width: 767px) {
  body.office .iconMod01 {
    padding: 0 9px;
    height: 22px;
    font-size: 10px;
    line-height: 22px;
    vertical-align: baseline;
  }
  .iconMod01.full {
    padding: 0 10px;
  }
}

/* moreMod01 */
.moreMod01,
a.moreMod01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  padding: 0 44px 0 0;
  height: 35px;
  color: #BCBCBC;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  line-height: 1;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

a:hover .moreMod01,
a.moreMod01:hover {
  padding: 0 52px 0 0;
  color: #E24D0A;
}

.moreMod01 .circle01,
a.moreMod01 .circle01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  border: 1px solid rgba(235, 235, 235, 0);
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  width: 35px;
  height: 35px;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
}

a:hover .moreMod01 .circle01,
a.moreMod01:hover .circle01 {
  -webkit-transform: translate3d(4px, -4px, 0);
  transform: translate3d(4px, -4px, 0);
  width: 43px;
  height: 43px;
  border-color: #ebebeb;
}

.moreMod01 .dotBlock,
a.moreMod01 .dotBlock {
  position: absolute;
  top: 16px;
  right: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  width: 15px;
  height: 3px;
}

.moreMod01--center,
a:hover .moreMod01--center,
a.moreMod01--center:hover {
  padding: 0;
}

.moreMod01--center .circle01,
.moreMod01--center .dotBlock {
  right: 0;
  left: 0;
  margin: 0 auto;
  -webkit-transform: none;
          transform: none;
}

a:hover .moreMod01.moreMod01--center .circle01,
a.moreMod01:hover.moreMod01--center .circle01 {
  -webkit-transform: translate3d(4px, 0, 0);
  transform: translate3d(0, -4px, 0);
}

.moreMod01 .dotBlock span,
a.moreMod01 .dotBlock span {
  border-radius: 1.5px;
  -webkit-border-radius: 1.5px;
  -moz-border-radius: 1.5px;
  width: 3px;
  height: 3px;
  background: #1C1C1C;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

a:hover .moreMod01 .dotBlock span,
a.moreMod01:hover .dotBlock span {
  background: #E24D0A;
}

a:hover .moreMod01 .dotBlock.dotBlock--white span,
a.moreMod01:hover .dotBlock.dotBlock--white span {
  background: #fff;
}

a:hover .moreMod01 .dotBlock span:nth-of-type(1),
a.moreMod01:hover .dotBlock span:nth-of-type(1) {
  -webkit-transform: translate3d(-3px, 0, 0);
  transform: translate3d(-3px, 0, 0);
}

a:hover .moreMod01 .dotBlock span:nth-of-type(3),
a.moreMod01:hover .dotBlock span:nth-of-type(3) {
  -webkit-transform: translate3d(3px, 0, 0);
  transform: translate3d(3px, 0, 0);
}

@media screen and (max-width: 767px) {
  a:hover .moreMod01,
  a.moreMod01:hover {
    padding: 0 44px 0 0;
    color: #BCBCBC;
  }
  a:hover .moreMod01 .circle01,
  a.moreMod01:hover .circle01 {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    width: 35px;
    height: 35px;
  }
  a:hover .moreMod01 .dotBlock span,
  a.moreMod01:hover .dotBlock span {
    background: #1C1C1C;
  }
  a:hover .moreMod01 .dotBlock span:nth-of-type(1),
  a.moreMod01:hover .dotBlock span:nth-of-type(1) {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  a:hover .moreMod01 .dotBlock span:nth-of-type(3),
  a.moreMod01:hover .dotBlock span:nth-of-type(3) {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

/* moreMod02 */
a.moreMod02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  padding: 0 44px 0 0;
  height: 35px;
  color: #FFF;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  line-height: 1;
}

a.moreMod02:hover {
  padding: 0 52px 0 0;
  color: #E24D0A;
}

a.moreMod02 .moreMod02MarkWrap {
  width: 35px;
  height: 35px;
  position: relative;
  margin-left: 10px;
}

a.moreMod02 .circle01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
  border: 1px solid #EBEBEB;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  width: 35px;
  height: 35px;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

a.moreMod02:hover .circle01 {
  width: 43px;
  height: 43px;
  -webkit-transform: translate3d(-4px, -4px, 0);
  transform: translate3d(-4px, -4px, 0);
}

a.moreMod02 .dotBlock {
  position: absolute;
  top: 16px;
  right: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  width: 15px;
  height: 3px;
}

a.moreMod02 .dotBlock span {
  border-radius: 1.5px;
  -webkit-border-radius: 1.5px;
  -moz-border-radius: 1.5px;
  width: 3px;
  height: 3px;
  background: #FFF;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

a.moreMod02:hover .dotBlock span {
  background: #E24D0A;
}

a.moreMod02:hover .circle01 {
  border-color: #E24D0A;
}

a.moreMod02:hover .dotBlock span:nth-of-type(1) {
  -webkit-transform: translate3d(-3px, 0, 0);
  transform: translate3d(-3px, 0, 0);
}

a.moreMod02:hover .dotBlock span:nth-of-type(3) {
  -webkit-transform: translate3d(3px, 0, 0);
  transform: translate3d(3px, 0, 0);
}

@media screen and (max-width: 767px) {
  a.moreMod02 {
    padding: 0;
    text-indent: -99999px;
  }
  a.moreMod02:hover {
    padding: 0;
    color: #BCBCBC;
  }
  a.moreMod02:hover .circle01 {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    width: 35px;
    height: 35px;
    border-color: #fff;
  }
  a.moreMod02:hover .dotBlock span {
    background: #FFF;
  }
  a.moreMod02:hover .dotBlock span:nth-of-type(1) {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  a.moreMod02:hover .dotBlock span:nth-of-type(3) {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

/* officeArea03 */
.officeArea03 {
  position: relative;
  margin-top:0;
  padding-top: 10%;
  z-index: 1;
}

.officeArea03 + .officeArea03 {
  margin-top: 10%;
}

.officeArea03.HOLDER-roppongi-midtown-side .aspectImgMod01::before {
  background-color: rgba(0, 0, 0, 0.2);
  position: relative;
  z-index: 2;
}

.officeArea03 .imageBlock01 {
  position: absolute;
  top: 0;
  left: 0;
  width: 80%;
  z-index: 2;
}

.officeArea03 .box01 {
  display: block;
  position: relative;
  margin: 0 0 0 50%;
  padding: 10vw 6vw 9.8vw 6vw;
  width: 40%;
  background: #FFF;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  z-index: 3;
}

.officeArea03 .box01 .activeTxt01 {
  margin-bottom: 4px;
  color: #E24D0A;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.43;
}

.officeArea03 .aspectImgMod01 .head01 {
  z-index: 3;
}

.officeArea03 .box01 .head01 .en {
  display: inline-block;
  margin-right: 14px;
  color: #222;
  font-size: 20px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.officeArea03 .box01 .textBlock01 {
  margin-top: 33px;
  color: #222;
  letter-spacing: 0;
}

.officeArea03 .box01 .tableBlock01 {
  margin-top: 36px;
  border-top: 1px solid #E3E3E3;
  color: #222;
  letter-spacing: 0;
}

.officeArea03 .box01 .tableBlock01 > dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  border-bottom: 1px solid #E3E3E3;
}

.officeArea03 .box01 .tableBlock01 > dl > dt {
  padding: 19px 0 17px 0;
  width: 83px;
}

.officeArea03 .box01 .tableBlock01 > dl > dd {
  -ms-flex: 1;
  -webkit-box-flex: 1;
  flex: 1;
  padding: 19px 0 17px 0;
}

.officeArea03 .box01 .moreBlock01 {
  position: absolute;
  top: 40px;
  right: 40px;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .officeArea03 {
    padding-top: 55.98%;
  }
  .officeArea03 .imageBlock01 {
    width: 100%;
  }
  .officeArea03 .box01 {
    margin: 0 0 0 10%;
    padding: 10vw 10vw 9.8vw 10vw;
    width: 90%;
  }
}

@media screen and (max-width: 767px) {
  .officeArea03 {
    margin-top: 30%;
    padding-top: 0;
  }
  .officeArea03 + .officeArea03 {
    margin-top: 20%;
  }
  .officeArea03 .imageBlock01 {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
  }
  .officeArea03 .box01 {
    position: relative;
    margin: -10vw 0 0 10vw;
    padding: 16.2vw 10vw 10vw 10vw;
    width: 90%;
  }
  .officeArea03 .box01 .iconMod01 {
    position: absolute;
    top: 20px;
    right: 20px;
  }
  .officeArea03 .box01 .activeTxt01 {
    margin-bottom: 11px;
    font-size: 12px;
    line-height: 1.5;
  }
  .officeArea03 .box01 .activeTxt01 em {
    padding-bottom: 5px;
  }
  .officeArea03 .box01 .head01 .en {
    margin-right: 0;
    font-size: 18px;
    line-height: 1.67;
  }
  .officeArea03 .box01 .textBlock01 {
    margin-top: 31px;
    font-size: 13px;
  }
  .officeArea03 .box01 .tableBlock01 {
    margin-top: 33px;
    font-size: 12px;
    line-height: 1.84;
  }
  .officeArea03 .box01 .tableBlock01 > dl > dt {
    padding: 18px 0 17px 0;
    width: 53px;
  }
  .officeArea03 .box01 .tableBlock01 > dl > dd {
    padding: 18px 0 19px 0;
  }
  .officeArea03 .box01 .moreBlock01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    position: relative;
    top: auto;
    right: auto;
    margin-top: 10vw;
  }
  .officeArea03 .box01 .moreBlock01 a:hover {
    opacity: 1;
  }
}

/* nextPage */
#nextPage {
  position: relative;
  margin-top: 15%;
  overflow: hidden;
  z-index: 1;
  z-index: 100;
}

#nextPage .c-fixed_wrapper {
  background-color: rgba(0, 0, 0, 0.3);
}

#nextPage .c-fixed_wrapper.mask-dark {
  background-color: rgba(0, 0, 0, 0.42);
}

#nextPage .nextPageLinkWrap {
  position: absolute;
  left: 0;
  top: 0;
}

#nextPage .nextPageLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  width: 100vw;
  height: 100vh;
  color: #FFF;
  z-index: 2;
}

#nextPage .nextPageLink span {
  -webkit-transition: .3s;
  transition: .3s;
}

#nextPage .nextPageLink:hover .en {
  letter-spacing: 0.06em;
}

#nextPage .nextPageLinkBg {
  opacity: 1;
  background: no-repeat 50% 50%;
  background-size: cover;
  mix-blend-mode: normal;
  z-index: -1;
}

body:not(.-is-pc) #nextPage .nextPageLinkBg {
  top: 0;
}

#nextPage.space .nextPageLinkBg {
  background-image: url(../img/space_img_mainvisual_01.jpg);
}

#nextPage.company .nextPageLinkBg {
  background-image: url(../img/company_img_mainvisual_01.jpg);
}

#nextPage.roppongims .nextPageLinkBg {
  background-image: url(../img/roppongi_img_mainvisual_01.jpg);
}

#nextPage.jingumae6 .nextPageLinkBg {
  background-image: url(../img/jingumae6_img_mainvisual_01.jpg);
}

#nextPage a > .vessel {
  position: relative;
  display: block;
  text-align: center;
  z-index: 4;
}

#nextPage a .en,
body.office_detail #nextPage a .ja {
  display: block;
  font-size: 70px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  line-height: 1;
  text-indent: 0.02em;
  letter-spacing: 0.02em;
}

#nextPage a .ja {
  display: block;
  margin-top: 16px;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  #nextPage {
    margin-top: 30%;
  }
  #nextPage a {
    height: 80vh;
    background-size: cover;
  }
  #nextPage .nextPageLinkBg {
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
  }
  #nextPage.space .nextPageLinkBg {
    background-image: url(../img/space_img_mainvisual_01_sp.jpg);
  }
  #nextPage.company .nextPageLinkBg {
    background-image: url(../img/company_img_mainvisual_01_sp.jpg);
  }
  #nextPage.roppongims .nextPageLinkBg {
    background-image: url(../img/roppongi_img_mainvisual_01_sp.jpg);
  }
  #nextPage.jingumae6 .nextPageLinkBg {
    background-image: url(../img/jingumae6_img_mainvisual_01_sp.jpg);
  }
  #nextPage.roppongims,
  #nextPage.jingumae6 {
    height: 80vh;
  }
  #nextPage a .en {
    font-size: 35px;
  }
  #nextPage a .ja {
    margin-top: 15px;
    font-size: 12px;
  }
  #nextPage a .en, body.office_detail #nextPage a .ja {
    font-size: 35px;
    margin-top: 0;
    line-height: 1.1;
  }
}

/* SPACE
------------------------------------------ */
/* spaceArea01 */
#spaceArea01 {
  position: relative;
  padding-top: 15%;
  z-index: 2;
}

#spaceArea01 .imageBlock01 {
  position: absolute;
  top: -100px;
  right: 10%;
  width: 35%;
  line-height: 0;
  z-index: 4;
}

#spaceArea01 .imageBlock01 img {
  width: 100%;
  height: auto;
}

#spaceArea01 .box01 {
  position: relative;
  padding: 14.4vw 14.8vw 150px 14.8vw;
  width: 70%;
  min-height: 740px;
  background: #FFF;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  z-index: 3;
}

#spaceArea01 .box01::before {
  content: "SPACE";
  position: absolute;
  bottom: 12.38vw;
  left: -16.84vw;
  display: block;
  color: #F0F0F0;
  font-size: 11.53vw;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  line-height: 1;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  z-index: 4;
}

#spaceArea01 .box01 .textBlock01 {
  margin-bottom: 10.2vw;
  color: #222;
  font-size: 16px;
  line-height: 2.375;
  letter-spacing: 0;
}

#spaceArea01 .box01 .textBlock01 p + p {
  margin-top: 38px;
}

#spaceArea01 .taglineWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  position: relative;
  margin-top: -11.53vw;
  padding: 0 3.3% 0 0;
  z-index: 10;
}

#spaceArea01 .tagline {
  position: relative;
}

#spaceArea01 .tagline .taglineFor01 {
  position: relative;
  width: 14.46vw;
  line-height: 0;
  z-index: 13;
}

#spaceArea01 .tagline .taglineFor01 img {
  width: 100%;
  height: auto;
}

#spaceArea01 .tagline .taglineTxt {
  padding: 0 0 0 3.76vw;
  color: #b01d2d;
  font-size: 12.3vw;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.05em;
}

#spaceArea01 .tagline .taglineTxt.taglineTxt01 {
  position: relative;
  margin-top: -5.076vw;
  z-index: 12;
}

#spaceArea01 .tagline .taglineTxt.taglineTxt02 {
  position: relative;
  margin-top: -9.38vw;
  color: transparent;
  -webkit-text-stroke: 2px #FFF;
  z-index: 11;
}

body.-is-ie #spaceArea01 .tagline .taglineTxt.taglineTxt02 {
  color: #f0f0f0;
  text-shadow: #FFF 1px 1px 0px,  #FFF -1px 1px 0px, #FFF 1px -1px 0px,  #FFF -1px -1px 0px;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  #spaceArea01 .imageBlock01 {
    position: absolute;
    top: -7.6vw;
    right: 0;
  }
  #spaceArea01 .box01 {
    padding: 14.4vw 20.8vw 150px 14.8vw;
    width: 80%;
    min-height: 0;
  }
  #spaceArea01 .box01 .textBlock01 {
    margin-bottom: 5vw;
    font-size: 14px;
  }
}

@media screen and (max-width: 767px) {
  #spaceArea01 {
    padding-top: 0;
  }
  #spaceArea01 .imageBlock01 {
    position: relative;
    top: auto;
    right: auto;
    margin: -20% 0 0 20%;
    width: 80%;
  }
  #spaceArea01 .box01 {
    margin-top: -45.6%;
    padding: 45.6vw 10vw 58px 20vw;
    width: 90%;
    min-height: 0;
  }
  #spaceArea01 .box01::before {
    display: none;
  }
  #spaceArea01 .box01 .textBlock01 {
    padding-top: 20.6vw;
    margin-bottom: 20.8vw;
    font-size: 14px;
    line-height: 2;
  }
  #spaceArea01 .box01 .textBlock01 p + p {
    margin-top: 28px;
  }
  #spaceArea01 .taglineWrap {
    margin-top: -58px;
    padding: 0 3.8vw 0 0;
  }
  #spaceArea01 .tagline .taglineFor01 img {
    width: 62px;
    height: 59px;
  }
  #spaceArea01 .tagline .taglineTxt {
    padding: 0 0 0 18px;
    font-size: 50px;
    letter-spacing: -0.035em;
  }
  #spaceArea01 .tagline .taglineTxt.taglineTxt01 {
    margin-top: -30px;
  }
  #spaceArea01 .tagline .taglineTxt.taglineTxt02 {
    margin-top: -22px;
    -webkit-text-stroke: 1px #FFF;
  }
}

/* spaceArea02 */
#spaceArea02 {
  position: relative;
  margin-top: 7.7%;
  z-index: 1;
}

#spaceArea02 .mainBlock01 {
  padding: 0 15%;
}

#spaceArea02 .mainBlock01 > .vessel:after {
  content: "";
  display: block;
  clear: both;
}

#spaceArea02 .mainBlock01 .items {
  position: relative;
  float: left;
  margin-left: 14.3%;
  width: 42.85%;
}

#spaceArea02 .mainBlock01 .items:nth-of-type(5),
#spaceArea02 .mainBlock01 .items:nth-of-type(3),
#spaceArea02 .mainBlock01 .items:nth-of-type(1) {
  margin-left: 0;
}

#spaceArea02 .mainBlock01 .items:nth-of-type(2) {
  margin-top: 11.6vw;
}

#spaceArea02 .mainBlock01 .items:nth-of-type(2),
#spaceArea02 .mainBlock01 .items:nth-of-type(1) {
  margin-bottom: 13vw;
}

#spaceArea02 .mainBlock01 .items:nth-of-type(3) {
  margin-top: -10vw;
}

#spaceArea02 .mainBlock01 .items .no01 {
  z-index: 2;
  line-height: 0;
}

#spaceArea02 .mainBlock01 .items.items01 .no01 {
  position: absolute;
  top: 35px;
  left: -64px;
}

#spaceArea02 .mainBlock01 .items.items01 .no01 img {
  width: 225.948px;
  height: 154px;
}

#spaceArea02 .mainBlock01 .items.items02 .no01 {
  position: absolute;
  top: 76px;
  right: -36px;
}

#spaceArea02 .mainBlock01 .items.items02 .no01 img {
  width: 225.948px;
  height: 154px;
}

#spaceArea02 .mainBlock01 .items.items03 .no01 {
  position: absolute;
  top: 52px;
  left: -62px;
}

#spaceArea02 .mainBlock01 .items.items03 .no01 img {
  width: 227.92px;
  height: 154px;
}

#spaceArea02 .mainBlock01 .items.items04 .no01 {
  position: absolute;
  top: 178px;
  right: -55px;
}

#spaceArea02 .mainBlock01 .items.items04 .no01 img {
  width: 248.16px;
  height: 154.22px;
}

#spaceArea02 .mainBlock01 .items.items05 .no01 {
  position: absolute;
  top: 52px;
  left: -62px;
}

#spaceArea02 .mainBlock01 .items.items05 .no01 img {
  width: 227.92px;
  height: 154px;
}

#spaceArea02 .mainBlock01 .items .head01 {
  position: relative;
  padding: 65px 0 0 0;
  background-size: 54px 54px;
  color: #222;
  font-size: 22px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0;
  z-index: 3;
}

#spaceArea02 .mainBlock01 .items.items02 .head01 {
  background-size: 54px 54px;
}

#spaceArea02 .mainBlock01 .items.items03 .head01 {
  background-size: 54px 54px;
}

#spaceArea02 .mainBlock01 .items.items04 .head01 {
  background-size: 54px 54px;
}

#spaceArea02 .mainBlock01 .items .textBlock01 {
  position: relative;
  margin-top: 35px;
  color: #525252;
  font-size: 14px;
  line-height: 1.86;
  letter-spacing: 0;
  z-index: 3;
}

@media screen and (max-width: 767px) {
  #spaceArea02 {
    margin-top: 30%;
  }
  #spaceArea02 .mainBlock01 {
    padding: 0;
    margin-left: 10vw;
    overflow: hidden;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
  }
  #spaceArea02 .mainBlock01 > .vessel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    width: calc((60vw * 4) + (8vw * 3) + 10vw);
  }
  #spaceArea02 .mainBlock01 .items {
    position: relative;
    float: none;
    margin-left: 8vw;
    width: 60vw;
    white-space: normal;
  }
  #spaceArea02 .mainBlock01 .items:nth-of-type(1) {
    margin-left: 0;
  }
  #spaceArea02 .mainBlock01 .items:nth-of-type(5),
    #spaceArea02 .mainBlock01 .items:nth-of-type(3) {
    margin-left: 8vw;
  }
  #spaceArea02 .mainBlock01 .items:nth-of-type(2) {
    margin-top: 0;
  }
  #spaceArea02 .mainBlock01 .items:nth-of-type(2),
  #spaceArea02 .mainBlock01 .items:nth-of-type(1) {
    margin-bottom: 0;
  }
  #spaceArea02 .mainBlock01 .items:nth-of-type(5),
    #spaceArea02 .mainBlock01 .items:nth-of-type(3) {
    margin-top: 0;
  }
  #spaceArea02 .mainBlock01 .items.items01 .no01 {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -59.215px;
  }
  #spaceArea02 .mainBlock01 .items.items01 .no01 img {
    width: 118.43px;
    height: 100px;
  }
  #spaceArea02 .mainBlock01 .items.items02 .no01 {
    position: absolute;
    top: 0;
    right: auto;
    left: 50%;
    margin-left: -73.355px;
  }
  #spaceArea02 .mainBlock01 .items.items02 .no01 img {
    width: 146.71px;
    height: 100px;
  }
  #spaceArea02 .mainBlock01 .items.items05 .no01,
    #spaceArea02 .mainBlock01 .items.items03 .no01 {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -74px;
  }
  #spaceArea02 .mainBlock01 .items.items03 .no01 img {
    width: 148px;
    height: 100px;
  }
  #spaceArea02 .mainBlock01 .items.items04 .no01 {
    position: absolute;
    top: 0;
    right: auto;
    left: 50%;
    margin-left: -80.455px;
  }
  #spaceArea02 .mainBlock01 .items.items05 .no01 img,
    #spaceArea02 .mainBlock01 .items.items04 .no01 img {
    width: 160.91px;
    height: 100px;
  }
  #spaceArea02 .mainBlock01 .items .head01 {
    padding: 68px 0 0 0;
    background-position: 50% 11px;
    font-size: 16px;
  }
  #spaceArea02 .mainBlock01 .items.items04 .head01,
  #spaceArea02 .mainBlock01 .items.items03 .head01,
  #spaceArea02 .mainBlock01 .items.items02 .head01 {
    background-position: 50% 11px;
  }
  #spaceArea02 .mainBlock01 .items .textBlock01 {
    margin-top: 21px;
    font-size: 13px;
    line-height: 1.77;
  }
}

/* spaceTxtmod01 */
.spaceTxtmod01 {
  position: absolute;
  top: 100px;
  left: 40px;
  display: block;
  padding-bottom: 63px;
  width: 2em;
  color: #2E2E2E;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.spaceTxtmod01::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  margin-left: -4px;
  width: 1px;
  height: 30px;
  background-color: rgba(46, 46, 46, 0.3);
}

.spaceTxtmod01 em {
  display: block;
  font-weight: 600;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

@media screen and (max-width: 767px) {
  .spaceTxtmod01 {
    position: absolute;
    top: 10vw;
    left: 2.6666vw;
    padding-bottom: 46px;
    font-size: 10px;
  }
  .spaceTxtmod01::after {
    content: "";
    margin-left: -3px;
    height: 20px;
  }
}

/* spaceArea03 */
.spaceArea03 {
  position: relative;
  margin-top: 15%;
  padding: 12.3% 0 0 0;
  z-index: 1;
}

.spaceArea03 .mainImage01 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 50vw;
  overflow: hidden;
  line-height: 0;
  z-index: 2;
}

.spaceArea03 .mainImage01 img {
  width: 100%;
  height: auto;
}

.spaceArea03 .layout01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  position: relative;
  z-index: 3;
}

.spaceArea03 .mainBlock01,
.spaceArea03 .headBlock01 {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.spaceArea03 .headBlock01 {
  position: relative;
  padding: 0 0 0 6%;
  width: 32%;
  min-width: 32%;
  color: #FFF;
}

.spaceArea03 .headBlock01 .main01 {
  position: relative;
  min-height: 354px;
}

.spaceArea03 .headBlock01 .head01 {
  padding: 1px 0 0 0;
  font-size: 42px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.02em;
}

.spaceArea03 .headBlock01 .text01 {
  margin-top: 34px;
  font-size: 14px;
  line-height: 2.29;
}

.spaceArea03 .headBlock01 .moreBlock01 {
  position: absolute;
  bottom: 0;
  left: 0;
}

.spaceArea03 .mainBlock01 {
  -ms-flex: 1;
  -webkit-box-flex: 1;
  flex: 1;
  position: relative;
  padding: 100px 0 136px 100px;
  background: #FFF;
  overflow: hidden;
}

.spaceArea03 .mainBlock01 .swiper-slide {
  width: 63.77%;
}

.spaceArea03 .mainBlock01 .swiper-wrapper .swiper-slide:last-child {
  margin-right: 100vw;
}

.spaceArea03 .mainBlock01 .slideBox01 .image01 {
  line-height: 0;
}

.spaceArea03 .mainBlock01 .slideBox01 .image01 img {
  width: 100%;
  height: auto;
}

.spaceArea03 .mainBlock01 .slideBox01 .headLo01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  margin-top: 25px;
}

.spaceArea03 .mainBlock01 .slideBox01 .headLo01 .headLo0102,
.spaceArea03 .mainBlock01 .slideBox01 .headLo01 .headLo0101 {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.spaceArea03 .mainBlock01 .slideBox01 .headLo01 .headLo0101 {
  color: #222;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.1em;
}

.spaceArea03 .mainBlock01 .slideBox01 .headLo01 .headLo0102 {
  margin-left: auto;
  color: #959595;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
}

.spaceArea03 .mainBlock01 .slideBox01 .textBlock01 {
  margin-top: 21px;
  color: #848484;
  font-size: 14px;
  line-height: 1.86;
  letter-spacing: 0;
}

.spaceArea03 .mainBlock01 .slideNavBox01 {
  position: relative;
  display: block;
  border: 1px solid #EBEBEB;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  overflow: hidden;
}

.spaceArea03 .mainBlock01 .slideNavBox01:before {
  content: "";
  display: block;
  padding-top: 61.6%;
}

.spaceArea03 .mainBlock01 .slideNavBox01:after {
  content: "";
  position: absolute;
  bottom: -100%;
  background: #E24D0A;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 1;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
}

.spaceArea03 .mainBlock01 .slideNavBox01:hover::after {
  bottom: 0;
  opacity: 1;
}

.spaceArea03 .mainBlock01 .slideNavBox01 > .vessel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 10;
}

.spaceArea03 .mainBlock01 .slideNavBox01 > .vessel > .inner {
  display: block;
  margin-top: 36px;
  background-size: 36px 35px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.86;
  letter-spacing: 0;
}

.spaceArea03 .mainBlock01 .slideNavBox01 > .vessel .innerText {
  display: inline-block;
  margin-top: 10px;
  -webkit-transition: .2s;
  transition: .2s;
}

.spaceArea03 .mainBlock01 .slideNavBox01:hover > .vessel > .inner {
  color: #FFF;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .spaceArea03 {
    padding: 0;
  }
  .spaceArea03 .mainImage01 {
    height: 59vw;
  }
  .spaceArea03 .mainImage01 img {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .spaceArea03 .layout01 {
    display: block;
  }
  .spaceArea03 .headBlock01 {
    position: relative;
    padding: 0 0 0 10vw;
    width: auto;
    min-width: 0;
  }
  .spaceArea03 .headBlock01 .main01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-height: 44vw;
  }
  .spaceArea03 .headBlock01 .head01 {
    padding: 0 60px 0 0;
    font-size: 34px;
  }
  .spaceArea03 .headBlock01 .head01 br.pcInline {
    display: none;
  }
  .spaceArea03 .headBlock01 .text01 {
    margin-top: 5px;
  }
  .spaceArea03 .headBlock01 .text01 br.pcInline {
    display: none;
  }
  .spaceArea03 .headBlock01 .moreBlock01 {
    position: absolute;
    bottom: auto;
    top: 50%;
    left: auto;
    right: 40px;
    margin-top: -17.5px;
  }
  .spaceArea03 .mainBlock01 {
    margin-left: 10%;
  }
}

@media screen and (max-width: 767px) {
  .spaceArea03 {
    margin-top: 30%;
    padding: 0;
  }
  .spaceArea03 .mainImage01 {
    height: 100vh;
  }
  .spaceArea03 .mainImage01 img {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .spaceArea03 .layout01 {
    display: block;
  }
  .spaceArea03 .headBlock01 {
    position: relative;
    padding: 0 0 0 10vw;
    width: auto;
    min-width: 0;
  }
  .spaceArea03 .headBlock01 .main01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-height: 57.3333vw;
    /* 215px */
  }
  .spaceArea03 .headBlock01 .head01 {
    padding: 0 60px 0 0;
    font-size: 18px;
    line-height: 1.27777;
  }
  .spaceArea03 .headBlock01 .text01 {
    margin-top: 16px;
    padding: 0 60px 0 0;
    font-size: 12px;
    line-height: 2;
  }
  .spaceArea03 .headBlock01 .moreBlock01 {
    position: absolute;
    bottom: auto;
    top: 50%;
    left: auto;
    right: 20px;
    margin-top: -17.5px;
  }
  .spaceArea03 .mainBlock01 {
    margin-left: 10%;
    padding: 10vw 10vw 50px 10vw;
  }
  .spaceArea03 .mainBlock01 .swiper-wrapper {
    display: block;
  }
  .spaceArea03 .mainBlock01 .swiper-slide {
    width: auto;
  }
  .spaceArea03 .mainBlock01 .swiper-wrapper .swiper-slide:not(:first-child) {
    margin-top: 45px;
  }
  .spaceArea03 .mainBlock01 .swiper-wrapper .swiper-slide:last-child {
    margin: 50px 0 0 0;
  }
  .spaceArea03 .mainBlock01 .slideBox01 .headLo01 {
    display: block;
    margin-top: 17px;
  }
  .spaceArea03 .mainBlock01 .slideBox01 .headLo01 .headLo0101 {
    font-size: 14px;
    line-height: 1.43;
  }
  .spaceArea03 .mainBlock01 .slideBox01 .headLo01 .headLo0102 {
    margin: 0;
    font-size: 11px;
  }
  .spaceArea03 .mainBlock01 .slideBox01 .textBlock01 {
    margin-top: 11px;
    font-size: 13px;
    line-height: 1.77;
  }
  .spaceArea03 .mainBlock01 .slideNavBox01 {
    border: none;
    background: #E24D0A;
  }
  .spaceArea03 .mainBlock01 .slideNavBox01:hover {
    background: #E24D0A;
  }
  .spaceArea03 .mainBlock01 .slideNavBox01:before {
    padding-top: 0;
  }
  .spaceArea03 .mainBlock01 .slideNavBox01 > .vessel {
    position: relative;
    height: 90px;
  }
  .spaceArea03 .mainBlock01 .slideNavBox01 > .vessel > .inner {
    margin-top: 0;
    padding: 0 0 0 0;
    background-image: none;
    color: #FFF;
    line-height: 1;
    text-indent: 0.1em;
    letter-spacing: 0.1em;
  }
  .spaceArea03 .mainBlock01 .slideNavBox01:hover > .vessel > .inner {
    background-image: none;
  }
  .spaceArea03 .mainBlock01 .slideNavBox01 .en {
    margin-bottom: 9px;
    font-size: 14px;
    font-family: 'Montserrat', sans-serif;
    text-indent: 0.02em;
    letter-spacing: 0.02em;
  }
  .spaceArea03 .mainBlock01 .slideNavBox01 .en.sp {
    font-size: 11px;
  }
}

/* Company
------------------------------------------ */
/* companyTxtmod01 */
.companyTxtmod01 {
  position: absolute;
  top: 9.9vw;
  left: 10.5vw !important;
  display: block;
  padding-bottom: 150px;
  width: 2em;
  color: #2E2E2E;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.companyTxtmod01::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  margin-left: -4px;
  width: 1px;
  height: 30px;
  background-color: rgba(46, 46, 46, 0.3);
}

.companyTxtmod01 em {
  display: block;
  font-weight: 600;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

@media screen and (max-width: 767px) {
  .companyTxtmod01 {
    position: absolute;
    top: 12.2vw;
    left: 5vw !important;
    padding-bottom: 124px;
    font-size: 10px;
  }
  .companyTxtmod01::after {
    content: "";
    margin-left: -3px;
    height: 20px;
  }
}

/* companyTxtmod02 */
.companyTxtmod02 {
  position: absolute;
  top: 9.9vw;
  left: 10.5vw !important;
  display: block;
  padding-bottom: 78px;
  width: 2em;
  color: #2E2E2E;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.companyTxtmod02::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  margin-left: -4px;
  width: 1px;
  height: 30px;
  background-color: rgba(46, 46, 46, 0.3);
}

.companyTxtmod02 em {
  display: block;
  font-weight: 600;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

@media screen and (max-width: 767px) {
  .companyTxtmod02 {
    position: absolute;
    top: 15vw;
    left: 5vw !important;
    padding-bottom: 61px;
    font-size: 10px;
  }
  .companyTxtmod02::after {
    content: "";
    margin-left: -3px;
    height: 20px;
  }
}

/* companyTxtmod03 */
.companyTxtmod03 {
  position: absolute;
  top: 9.9vw;
  left: 10.5vw !important;
  display: block;
  padding-bottom: 109px;
  width: 2em;
  color: #2E2E2E;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.companyTxtmod03::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  margin-left: -4px;
  width: 1px;
  height: 30px;
  background-color: rgba(46, 46, 46, 0.3);
}

.companyTxtmod03 em {
  display: block;
  font-weight: 600;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

@media screen and (max-width: 767px) {
  .companyTxtmod03 {
    position: absolute;
    top: 12.26vw;
    left: 5vw !important;
    padding-bottom: 83px;
    font-size: 10px;
  }
  .companyTxtmod03::after {
    content: "";
    margin-left: -3px;
    height: 20px;
  }
}

/* companyArea01 */
#companyArea01 {
  position: relative;
  padding: 8.6% 0 19.6vw 0;
  z-index: 2;
}

#companyArea01 .box01 {
  position: relative;
  margin: 0 0 0 25%;
  padding: 7.6vw 9.8vw 10vw 19.8vw;
  background: #FFF;
}

#companyArea01 .box01 .tableBlock01 table {
  width: 100%;
  font-size: 14px;
  line-height: 1.43;
  letter-spacing: 0.1em;
  border-collapse: collapse;
}

#companyArea01 .box01 .tableBlock01 table tr {
  border-bottom: 1px solid #DBDBDB;
}

#companyArea01 .box01 .tableBlock01 table td,
#companyArea01 .box01 .tableBlock01 table th {
  text-align: left;
  vertical-align: top;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

#companyArea01 .box01 .tableBlock01 table th {
  padding: 32px 0 28px 0;
  width: 160px;
  color: #9D9D9D;
  font-weight: 400;
}

#companyArea01 .box01 .tableBlock01 table td {
  padding: 32px 0 28px 0;
  color: #222;
}

#companyArea01 .box01 .tableBlock01 table td a {
  text-decoration: underline;
}

#companyArea01 .box01 .tableBlock01 table td a:hover {
  text-decoration: none;
}

#companyArea01 .box02 {
  position: relative;
  margin: 10% 0 0 25%;
  padding: 15vw 9.8vw 10vw 19.8vw;
  background: #FFF;
}

#companyArea01 .box02 .leadBlock01 {
  color: #474340;
  letter-spacing: 0;
}

#companyArea01 .box02 .wantedlyBlock01 {
  margin: 65px auto 0 auto;
  width: 450px;
}

#companyArea01 .box03 {
  position: relative;
  margin: 10% 0 0 25%;
  padding: 15vw 9.8vw 1px 19.8vw;
  background: #FFF;
}

#companyArea01 .box03 .leadBlock01 {
  color: #474340;
  letter-spacing: 0;
}

#companyArea01 .box03 .contactBlock01 {
  margin: 7.4vw -9.8vw -6vw 0;
}

#companyArea01 .box03 .contactBlock01 ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  height: 240px;
  background-size: 20px 18px;
  color: #FFF;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  background: #1C1C1C;
}

#companyArea01 .box03 .contactBlock01 .scrollLineH--static {
  top: 50%;
  right: 6.65vw;
  margin-top: -0.5px;
  left: auto;
}

#companyArea01 .box03 .contactBlock01 .scrollLineH--static:after,
#companyArea01 .box03 .contactBlock01 .scrollLineH--static:before {
  -webkit-transition: .2s;
  transition: .2s;
  background: #575757;
}

#companyArea01 .box03 .contactBlock01 ul li a:hover .scrollLineH--static:after {
  opacity: 0;
}

#companyArea01 .box03 .contactBlock01 ul li a:hover .scrollLineH--static:before {
  background: #fff;
}

#companyArea01 .box03 .contactBlock01 .hoverColorChange-leftToRigth::before {
  background: #000;
}

#companyArea01 .box03 .contactBlock01 ul li a .hoverColorChange-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 9.2vw 0 11vw;
  width: 100%;
  height: 100%;
  background: url(../img_cmn/icn_emal_01.svg) no-repeat 6.5vw 50%;
}

#companyArea01 .box03 .contactBlock01 ul li a em {
  font-size: 20px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}

#companyArea01 .box03 .contactBlock01 ul li.tel a {
  background: #2B2B2B;
}

#companyArea01 .box03 .contactBlock01 ul li.tel a .hoverColorChange-inner {
  background: url(../img_cmn/icn_tel_01.png) no-repeat 6.7vw 50%;
  background-size: 16px 26px;
}

#companyArea01 .box03 .contactBlock01 ul li.tel a .lo0101 {
  display: inline-block;
  padding-right: 18px;
}

#companyArea01 .box03 .contactBlock01 ul li.tel a .lo0102 {
  display: inline-block;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  #companyArea01 {
    padding: 10vw 0;
  }
  #companyArea01 .box03,
  #companyArea01 .box02,
  #companyArea01 .box01 {
    margin-left: 10vw;
  }
}

@media screen and (max-width: 1024px) {
  #companyArea01 .box03 .contactBlock01 ul li a .hoverColorChange-inner {
    padding: 0 8vw 0 20.26666vw;
    background-position: 10.13333vw 50%;
  }
  #companyArea01 .box03 .contactBlock01 ul li.tel a .hoverColorChange-inner {
    background-position: 10.6666vw 50%;
  }
}

@media screen and (max-width: 767px) {
  #companyArea01 {
    padding: 24.53vw 0 45vw 0;
  }
  #companyArea01 .box01 {
    margin: 0;
    padding: 9.8vw 10vw 14.8vw 20vw;
  }
  #companyArea01 .box01 .tableBlock01 table {
    font-size: 12px;
    line-height: 1.67;
  }
  #companyArea01 .box01 .tableBlock01 table th {
    padding: 18px 0 18px 0;
    width: 95px;
  }
  #companyArea01 .box01 .tableBlock01 table td {
    padding: 18px 0 18px 0;
  }
  #companyArea01 .box02 {
    margin: 20vw 0 0 0;
    padding: 12vw 10vw 15vw 20vw;
  }
  #companyArea01 .box02 .leadBlock01 {
    font-size: 13px;
  }
  #companyArea01 .box02 .wantedlyBlock01 {
    margin: 38px 0 0 0;
    width: 100%;
    max-width: 260px;
  }
  #companyArea01 .box03 {
    margin: 20vw 0 0 0;
    padding: 12vw 10vw 1px 20vw;
  }
  #companyArea01 .box03 .leadBlock01 {
    font-size: 13px;
  }
  #companyArea01 .box03 .contactBlock01 {
    margin: 10vw -10vw -15.2vw 0;
  }
  #companyArea01 .box03 .contactBlock01 ul li a {
    /* padding: 0 30px 0 76px;
        padding: 0 8vw 0 20.26666vw; */
    height: 175px;
  }
  #companyArea01 .box03 .contactBlock01 ul li a:hover {
    opacity: 1;
  }
  #companyArea01 .box03 .contactBlock01 ul li a::after {
    content: "";
    position: absolute;
    right: 5.3333vw;
    width: 10px;
  }
  #companyArea01 .box03 .contactBlock01 ul li a em {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  #companyArea01 .box03 .contactBlock01 ul li.tel a .lo0101 {
    display: block;
    padding-right: 0;
  }
  #companyArea01 .box03 .contactBlock01 ul li.tel a .lo0102 {
    display: block;
    margin-top: 6px;
    font-size: 11px;
  }
}

/* anchorNav */
#anchorNav {
  position: absolute;
  top: 100vh;
  left: 9%;
  width: 24%;
  z-index: 1;
  pointer-events: none;
}

#anchorNav a {
  pointer-events: auto;
}

body.-is-ie #anchorNav {
  z-index: 10;
}

#js-scroll-container #anchorNav {
  display: block !important;
}

#anchorNav.-is-fixed {
  position: fixed;
  top: 160px !important;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
}

#anchorNav.-is-hide {
  opacity: 0;
}

#anchorNav.-is-hide a {
  pointer-events: none;
}

#anchorNav .box01 {
  margin-top: -60px;
  padding: 5.3vw 5vw;
  background: #1C1C1C;
}

#anchorNav .box01 ul {
  border-top: 1px solid #343434;
}

#anchorNav .box01 ul li {
  border-bottom: 1px solid #343434;
}

#anchorNav .box01 ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  height: 80px;
  color: #888;
  font-size: 14px;
  line-height: 1.43;
  letter-spacing: 0.1em;
}

#anchorNav .box01 ul li a:hover {
  color: #FFF;
}

#anchorNav .scrollLineH--static {
  width: 10px;
}

#anchorNav .scrollLineH--static:after,
#anchorNav .scrollLineH--static:before {
  background: #888;
}

#anchorNav a:hover .scrollLineH--static:after {
  opacity: 0;
}

#anchorNav a:hover .scrollLineH--static:before,
#anchorNav .-is-current .scrollLineH--static:after {
  background: #fff;
}

#anchorNav .box01 ul li a.-is-current {
  color: #FFF;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  #anchorNav {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  #anchorNav {
    position: absolute;
    left: 10vw;
    width: 90vw;
    z-index: 10;
    display: none;
  }
  #anchorNav.-is-fixed {
    top: 0 !important;
    -webkit-animation: btnFadeIn .2s 1 forwards;
            animation: btnFadeIn .2s 1 forwards;
  }
  #anchorNav .box01 {
    margin-top: 0;
    padding: 0 10vw;
    height: 23vw;
  }
  #anchorNav.fixed .box01 {
    margin-top: 0;
    height: 80px;
  }
  #anchorNav .box01 ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    border-top: none;
  }
  #anchorNav .box01 ul li {
    border-bottom: none;
  }
  #anchorNav .box01 ul li a {
    height: 23vw;
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
  #anchorNav.fixed .box01 ul li a {
    height: 80px;
  }
  #anchorNav .box01 ul li a::after {
    content: "";
    position: absolute;
    top: auto;
    bottom: 30px;
    bottom: 8vw;
    right: auto;
    left: 50%;
    margin: 0 0 0 -0.5px;
    width: 1px;
    height: 6px;
  }
  #anchorNav.fixed .box01 ul li a::after {
    content: "";
    position: absolute;
    bottom: 13px;
  }
}

/* OFFICE DETAIL
------------------------------------------ */
/* detailNav01 */
#detailNav01 {
  position: absolute;
  top: 500px;
  right: 0;
  width: 80%;
  z-index: 2;
}

#detailNav01 .box01 {
  margin-top: -55px;
  padding: 0 7vw 0 9.7vw;
  min-width: 1040px;
  height: 110px;
  background: #1C1C1C;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

#detailNav01 .box01 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

#detailNav01 .box01 ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  height: 110px;
  color: #888;
  font-size: 14px;
  font-family: 'Montserrat', sans-serif;
  line-height: 1.43;
  letter-spacing: 0.1em;
}

#detailNav01 .box01 ul li a:hover {
  color: #FFF;
}

#detailNav01 .box01 ul li.current a {
  color: #FFF;
}

#detailNav01 .box01 ul li a::after {
  content: "";
  position: absolute;
  bottom: 24px;
  left: 50%;
  display: block;
  margin: 0 0 0 -0.5px;
  width: 1px;
  height: 10px;
  background: #343434;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

#detailNav01 .box01 ul li a:hover::after {
  background: #FFF;
}

#detailNav01 .box01 ul li.current a::after {
  background: #FFF;
}

@media screen and (max-width: 1280px) {
  .-is-pc #detailNav01 {
    display: block;
    width: 100%;
    top: auto;
  }
  #detailNav01 .box01 {
    padding: 0 4vw;
    min-width: auto;
  }
  #detailNav01 .box01 ul li:not(:first-child) {
    margin-left: 30px;
  }
  .-is-pc #detailNav01 .box01 ul {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 80%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 auto;
  }
  .-is-pc #detailNav01 .box01 ul li a {
    font-size: 12px;
  }
}

@media screen and (max-width: 1024px) {
  #detailNav01 {
    display: none;
  }
  .-is-pc #detailNav01 {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .-is-pc #detailNav01 .box01 ul {
    width: 100%;
  }
  .-is-pc #detailNav01 .box01 ul li:not(:first-child) {
    margin-left: 0;
  }
  .-is-pc #detailNav01 .box01 ul li a {
    font-size: 10px;
  }
  /* #detailNav01 {
        position: absolute;
        top: 420px;
        right: 0;
        width: 90%;
    }
    #detailNav01 .box01 {
        padding: 0 39px 0 39px;
    } */
  /* #detailNav01 .box01 ul {
        justify-content: flex-start;
    }
    #detailNav01 .box01 ul li:not(:first-child) {
        margin-left: 30px;
    }
    #detailNav01 .box01 ul li a {
        font-size: 12px;
    } */
}

/* galleryTxtmod01 */
.galleryTxtmod01 {
  position: absolute;
  top: 0;
  left: 45px;
  left: 3.4vw;
  display: block;
  padding-bottom: 79px;
  width: 2em;
  color: #2E2E2E;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 0.1em;
  white-space: nowrap;
  z-index: 10;
}

.galleryTxtmod01::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  margin-left: -4px;
  width: 1px;
  height: 30px;
  background-color: rgba(46, 46, 46, 0.3);
}

.galleryTxtmod01 em {
  display: block;
  font-weight: 600;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

@media screen and (max-width: 767px) {
  .galleryTxtmod01 {
    position: absolute;
    top: 0;
    left: 10px;
    padding-bottom: 61px;
    font-size: 10px;
  }
  .galleryTxtmod01::after {
    content: "";
    margin-left: -3px;
    height: 20px;
  }
}

/* officeTxtmod01 */
.officeTxtmod01 {
  position: absolute;
  top: 0;
  left: 45px;
  left: 3.4vw;
  display: block;
  padding-bottom: 67px;
  width: 2em;
  color: #2E2E2E;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 0.1em;
  white-space: nowrap;
  z-index: 10;
}

.officeTxtmod01::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  margin-left: -4px;
  width: 1px;
  height: 30px;
  background-color: rgba(46, 46, 46, 0.3);
}

.officeTxtmod01 em {
  display: block;
  font-weight: 600;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

@media screen and (max-width: 767px) {
  .officeTxtmod01 {
    position: absolute;
    top: 3px;
    left: 10px;
    padding-bottom: 48px;
    font-size: 10px;
  }
  .officeTxtmod01::after {
    content: "";
    margin-left: -3px;
    height: 20px;
  }
}

/* loungeTxtmod01 200121 Fujimaki */
.loungeTxtmod01 {
  position: absolute;
  top: 20vw;
  left: 45px;
  left: 3.4vw;
  display: block;
  padding-bottom: 77px;
  width: 2em;
  color: #FFF;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 0.1em;
  white-space: nowrap;
  z-index: 10;
}

.loungeTxtmod01::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  margin-left: -4px;
  width: 1px;
  height: 30px;
  background-color: rgba(255, 255, 255, 0.3);
}

.loungeTxtmod01 em {
  display: block;
  font-weight: 600;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

@media screen and (max-width: 767px) {
  .loungeTxtmod01 {
    position: absolute;
    top: 28.8vw;
    left: 10px;
    padding-bottom: 58px;
    font-size: 10px;
  }
  .loungeTxtmod01::after {
    content: "";
    margin-left: -3px;
    height: 20px;
  }
}

/* facilityTxtmod01 */
.facilityTxtmod01 {
  position: absolute;
  top: 0;
  left: 45px;
  left: 3.4vw;
  display: block;
  padding-bottom: 77px;
  width: 2em;
  color: #2E2E2E;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 0.1em;
  white-space: nowrap;
  z-index: 10;
}

.facilityTxtmod01::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  margin-left: -4px;
  width: 1px;
  height: 30px;
  background-color: rgba(46, 46, 46, 0.3);
}

.facilityTxtmod01 em {
  display: block;
  font-weight: 600;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

@media screen and (max-width: 767px) {
  .facilityTxtmod01 {
    position: absolute;
    top: 0;
    left: 10px;
    padding-bottom: 58px;
    font-size: 10px;
  }
  .facilityTxtmod01::after {
    content: "";
    margin-left: -3px;
    height: 20px;
  }
}

/* memberTxtmod01 */
.memberTxtmod01 {
  position: absolute;
  top: 0;
  left: 45px;
  left: 3.4vw;
  display: block;
  padding-bottom: 77px;
  width: 2em;
  color: #2E2E2E;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 0.1em;
  white-space: nowrap;
  z-index: 10;
}

.memberTxtmod01::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  margin-left: -4px;
  width: 1px;
  height: 30px;
  background-color: rgba(46, 46, 46, 0.3);
}

.memberTxtmod01 em {
  display: block;
  font-weight: 600;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

@media screen and (max-width: 767px) {
  .memberTxtmod01 {
    position: absolute;
    top: 0;
    left: 10px;
    padding-bottom: 58px;
    font-size: 10px;
  }
  .memberTxtmod01::after {
    content: "";
    margin-left: -3px;
    height: 20px;
  }
}

/* outlineTxtmod01 */
.outlineTxtmod01 {
  position: absolute;
  top: 0;
  left: 45px;
  left: 3.4vw;
  display: block;
  padding-bottom: 78px;
  width: 2em;
  color: #2E2E2E;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.outlineTxtmod01::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  margin-left: -4px;
  width: 1px;
  height: 30px;
  background-color: rgba(46, 46, 46, 0.3);
}

.outlineTxtmod01 em {
  display: block;
  font-weight: 600;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

@media screen and (max-width: 767px) {
  .outlineTxtmod01 {
    position: absolute;
    top: 0;
    left: 10px;
    padding-bottom: 58px;
    font-size: 10px;
  }
  .outlineTxtmod01::after {
    content: "";
    margin-left: -3px;
    height: 20px;
  }
}

/* aboutTxtmod01 */
.aboutTxtmod01 {
  position: absolute;
  top: 0;
  left: 45px;
  left: 3.4vw;
  display: block;
  padding-bottom: 129px;
  width: 2em;
  color: #2E2E2E;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.aboutTxtmod01::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  margin-left: -4px;
  width: 1px;
  height: 30px;
  background-color: rgba(46, 46, 46, 0.3);
}

.aboutTxtmod01 em {
  display: block;
  font-weight: 600;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

@media screen and (max-width: 767px) {
  .aboutTxtmod01 {
    position: absolute;
    top: 0;
    left: 10px;
    padding-bottom: 100px;
    font-size: 10px;
  }
  .aboutTxtmod01::after {
    content: "";
    margin-left: -3px;
    height: 20px;
  }
}

/* officeDetailArea01 */
.officeDetailArea01 {
  position: relative;
  margin-top: 10%;
  z-index: 1;
}

.officeDetailArea01 .box01 {
  position: relative;
  padding: 9.4% 10% 10% 15%;
  width: 70%;
  background: #FFF;
  color: #333;
  font-size: 16px;
  line-height: 2.375;
  letter-spacing: 0;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  z-index: 3;
}

.officeDetailArea01 .box01 p + p {
  margin-top: 38px;
}

.officeDetailArea01 .bgTxt {
  color: #E5E5E5;
  font-size: 150px;
  font-size: 11.53vw;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  letter-spacing: -0.02em;
  z-index: 2;
}

.officeDetailArea01 .bgTxt.bgTxt01 {
  position: absolute;
  top: 35%;
  left: 30%;
  color: #E5E5E5;
}

.officeDetailArea01 .bgTxt.bgTxt02 {
  position: absolute;
  top: 55%;
  left: 7.3%;
  color: transparent;
  -webkit-text-stroke: 2px #E2E2E2;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .officeDetailArea01 .box01 {
    width: 80%;
  }
}

@media screen and (max-width: 1024px) {
  .officeDetailArea01 {
    max-width: 100vw;
  }
}

@media screen and (max-width: 767px) {
  .officeDetailArea01 {
    margin-top: 81px;
  }
  .officeDetailArea01 .box01 {
    position: relative;
    padding: 13.8vw 10vw 12vw 15vw;
    width: auto;
    font-size: 14px;
    line-height: 2;
  }
  .officeDetailArea01 .box01 p + p {
    margin-top: 28px;
  }
  .officeDetailArea01 .bgTxt {
    color: #E5E5E5;
    font-size: 150px;
    font-size: 11.53vw;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
    letter-spacing: -0.02em;
    z-index: 2;
  }
  .officeDetailArea01 .bgTxt.bgTxt01 {
    position: absolute;
    top: 35%;
    left: 30%;
    color: #E5E5E5;
  }
  .officeDetailArea01 .bgTxt.bgTxt02 {
    position: absolute;
    top: 55%;
    left: 7.3%;
    color: transparent;
    -webkit-text-stroke: 2px #E2E2E2;
  }
}

/* officeDetailArea02 */
.officeDetailArea02 {
  position: relative;
  z-index: 1;
}

.officeDetailArea02::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 70%;
  height: 17.75vw;
  background: #FFF;
  z-index: 2;
}

.officeDetailArea02 .mainBlock01 {
  position: relative;
  z-index: 3;
}

.officeDetailArea02 .mainBlock01 .swiper-container {
  padding-left: 15vw;
  padding-bottom: 74px;
}

.officeDetailArea02 .mainBlock01 .swiper-slide {
  margin-right: 5vw;
  width: 60vw;
}

.officeDetailArea02 .mainBlock01 .slideBox01 .image01 {
  line-height: 0;
}

.officeDetailArea02 .mainBlock01 .slideBox01 .image01 img {
  width: 100%;
  height: auto;
}

.officeDetailArea02 .mainBlock01 .slideBox01 .caption01 {
  margin-top: 12px;
  color: #333;
  font-size: 14px;
  letter-spacing: 0;
}

.officeDetailArea02 .mainBlock01 .swiper-scrollbar {
  top: auto;
  bottom: 4px;
  left: 15vw;
  width: 60vw;
  height: 40px;
  cursor: -webkit-grab;
  cursor: grab;
  background-color: transparent;
}

.officeDetailArea02 .mainBlock01 .-is-drag .swiper-scrollbar {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.officeDetailArea02 .swiper-scrollbar-inner {
  background-color: #DBDBDB;
  width: 100%;
  height: 3px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}

.officeDetailArea02 .mainBlock01 .swiper-scrollbar-drag {
  background-color: #1C1C1C;
  height: 3px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}

@media screen and (max-width: 1024px) {
  .officeDetailArea02 {
    max-width: 100vw;
    overflow: hidden;
  }
}

@media screen and (max-width: 767px) {
  .officeDetailArea02::before {
    content: "";
    width: 1000%;
    height: 20vw;
  }
  .officeDetailArea02 .mainBlock01 .swiper-container {
    padding-bottom: 23px;
  }
  .officeDetailArea02 .mainBlock01 .slideBox01 .caption01 {
    margin-top: 1px;
    font-size: 12px;
  }
}

/* officeDetailArea03 */
.officeDetailArea03 {
  position: relative;
  margin-top: 13%;
  z-index: 1;
}

.officeDetailArea03 .headBlock01 {
  margin: 0 auto;
  width: 70%;
}

.officeDetailArea03 .headBlock01 .head01 {
  margin-top: -3px;
  color: #333;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.1875;
  letter-spacing: 0;
}

.officeDetailArea03 .headBlock01 .leadBlock01 {
  margin-top: 50px;
  color: #333;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0;
}

.officeDetailArea03 .mainBlock01 {
  margin: 61px 10% 0 10%;
}

.officeDetailArea03 .officeList01:after {
  content: "";
  display: block;
  clear: both;
}

.officeDetailArea03 .officeList01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.officeDetailArea03 .officeList01 li {
  margin: 5vw 0 0 4vw;
  width: calc((100% - 4vw) / 2);
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.officeDetailArea03 .officeList01 li:nth-of-type(2),
.officeDetailArea03 .officeList01 li:nth-of-type(1) {
  margin-top: 0;
}

.officeDetailArea03 .officeList01 li:nth-child(2n+1) {
  margin-left: 0;
}

.officeDetailArea03 .officeList01 li .box01 {
  background: #FFF;
}

.officeDetailArea03 .officeList01 li .box01 .image01 {
  line-height: 0;
}

.officeDetailArea03 .officeList01 li .box01 .image01 img {
  width: 100%;
  height: auto;
}

.officeDetailArea03 .officeList01 li .box01 .dataBlock01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  padding: 35px;
  padding: 7%;
}

.officeDetailArea03 .officeList01 li .box01 .dataBlock01 .dataBlock0102 {
  margin-left: auto;
}

.officeDetailArea03 .officeList01 li .box01 .dataBlock02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  height: 50px;
}

.officeDetailArea03 .officeList01 li .box01 .dataBlock02 .dataBlock0201 {
  width: 71px;
  color: #333;
  font-size: 32px;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
}

.officeDetailArea03 .officeList01 li .box01 .dataBlock02 .dataBlock0202 {
  padding-top: 6px;
  color: #333;
  font-size: 14px;
  letter-spacing: 0.055em;
  line-height: 1.7;
}

.officeDetailArea03 .officeList01 li .box01 .button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 130px;
  height: 50px;
}

.officeDetailArea03 .officeList01 li .box01 a.button:hover {
  opacity: 0.7;
}

.officeDetailArea03 .officeList01 li .box01 .button.button01 {
  background: #E24D0A;
  color: #FFF;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  text-indent: 0.1em;
  letter-spacing: 0.1em;
}

.officeDetailArea03 .officeList01 li .box01 .button.button02 {
  background: #D3D3D3;
  color: #FFF;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  text-indent: 0.05em;
  letter-spacing: 0.05em;
}

.officeDetailArea03 .floorList01 {
  margin-top: 100px;
}

.officeDetailArea03 .floorList01 > li + li {
  margin-top: 90px;
}

.officeDetailArea03 .floorList01 .lo01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.officeDetailArea03 .floorList01 .lo01 .lo0101 {
  width: 300px;
  min-width: 300px;
}

body.office_detail .roppongi-midtown-side .officeDetailArea03 .floorList01 .lo01 .lo0101 {
  width: 50%;
  padding-right: 2vw;
}

body.office_detail .roppongi-midtown-side .officeDetailArea03 .floorList01 .lo01 .lo0101 .table01 {
  width: 80%;
}

body.office_detail .roppongi-midtown-side .officeDetailArea03 .floorList01 .lo01 .lo0102 {
  padding-left: 2vw;
}

body.office_detail .jingumae6 .officeDetailArea03 .floorList01 .lo01 .lo0101 {
  width: 40%;
  padding-right: 2vw;
}

body.office_detail .jingumae6 .officeDetailArea03 .floorList01 .lo01 .lo0102 {
  padding-left: 2vw;
  padding-top: 70px;
}

.officeDetailArea03 .floorList01 .lo01 .lo0102 {
  -ms-flex: 1;
  -webkit-box-flex: 1;
  flex: 1;
  line-height: 0;
}

.officeDetailArea03 .floorList01 .lo01 .lo0102 img {
  width: 100%;
  height: auto;
}

.officeDetailArea03 .floorList01 .head01 {
  width: 100px;
  height: 100px;
  background: #2B2B2B;
  color: #FFF;
  text-align: center;
}

.officeDetailArea03 .floorList01 .head01 .floor01 {
  padding-top: 24px;
  font-size: 32px;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  line-height: 1;
  text-indent: 0.1em;
  letter-spacing: 0.1em;
}

.officeDetailArea03 .floorList01 .head01 .size01 {
  margin-top: 12px;
  font-size: 12px;
  line-height: 1;
  text-indent: 0.03em;
  letter-spacing: 0.03em;
}

.officeDetailArea03 .floorList01 .table01 {
  color: #2E2E2E;
  font-size: 14px;
  line-height: 1.29;
  letter-spacing: 0.02em;
}

.officeDetailArea03 .floorList01 .table01 table {
  width: 100%;
  border-collapse: collapse;
}

.officeDetailArea03 .floorList01 .table01 table tr {
  border-bottom: 1px solid #DBDBDB;
}

.officeDetailArea03 .floorList01 .table01 table td,
.officeDetailArea03 .floorList01 .table01 table th {
  text-align: left;
  vertical-align: middle;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.officeDetailArea03 .floorList01 .table01 table th {
  padding: 19px 5px 20px 0;
  width: 93px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
}

.officeDetailArea03 .floorList01 .table01 table td {
  padding: 19px 0 20px 0;
}

.officeDetailArea03 .floorList01 .table01 table td:nth-of-type(1) {
  padding-right: 5px;
  width: 87px;
}

.officeDetailArea03 .floorList01 .table01 table td .tdSub01 {
  margin-top: 3px;
  font-size: 12px;
  line-height: 1.5;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .officeDetailArea03 .officeList01 li .box01 .dataBlock02 {
    display: block;
    height: auto;
  }
  .officeDetailArea03 .officeList01 li .box01 {
    height: 100%;
  }
  .officeDetailArea03 .officeList01 li .box01 .dataBlock02 .dataBlock0201 {
    width: auto;
    font-size: 24px;
  }
  .officeDetailArea03 .officeList01 li .box01 .dataBlock02 .dataBlock0202 {
    font-size: 12px;
  }
}

@media screen and (max-width: 767px) {
  .officeDetailArea03 {
    margin-top: 20vw;
  }
  .officeDetailArea03 .headBlock01 {
    margin: 0 10vw;
    width: auto;
  }
  .officeDetailArea03 .headBlock01 .head01 {
    margin-top: 0;
    font-size: 16px;
  }
  .officeDetailArea03 .headBlock01 .leadBlock01 {
    margin-top: 19px;
    font-size: 12px;
    line-height: 1.84;
  }
  .officeDetailArea03 .mainBlock01 {
    margin: 24px 10% 0 10%;
  }
  .officeDetailArea03 .officeList01 li {
    float: none;
    margin: 10vw 0 0 0;
    width: auto;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
  }
  .officeDetailArea03 .officeList01 li:nth-of-type(2) {
    margin-top: 10vw;
  }
  .officeDetailArea03 .officeList01 li .box01 .dataBlock01 {
    padding: 8.3%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .officeDetailArea03 .officeList01 li .box01 .dataBlock01 .dataBlock0102 {
    margin-left: auto;
  }
  .officeDetailArea03 .officeList01 li .box01 .dataBlock02 {
    display: block;
    height: auto;
  }
  .officeDetailArea03 .officeList01 li .box01 .dataBlock02 .dataBlock0201 {
    width: auto;
    font-size: 24px;
  }
  .officeDetailArea03 .officeList01 li .box01 .dataBlock02 .dataBlock0202 {
    padding-top: 4px;
    font-size: 12px;
    line-height: 1.7;
  }
  .officeDetailArea03 .officeList01 li .box01 .button {
    width: 100px;
    height: 44px;
  }
  .officeDetailArea03 .officeList01 li .box01 a.button:hover {
    opacity: 1;
  }
  .officeDetailArea03 .officeList01 li .box01 .button.button01 {
    font-size: 12px;
  }
  .officeDetailArea03 .officeList01 li .box01 .button.button02 {
    font-size: 12px;
  }
  .officeDetailArea03 .floorList01 {
    margin-top: 23.2vw;
  }
  .officeDetailArea03 .floorList01 > li + li {
    margin-top: 23.2vw;
  }
  .officeDetailArea03 .floorList01 .lo01 {
    display: block;
  }
  .officeDetailArea03 .floorList01 .lo01 .lo0101 {
    width: auto;
    min-width: 0;
  }
  .officeDetailArea03 .floorList01 .lo01 .lo0102 {
    margin-top: 10vw;
  }
  body.office_detail .roppongi-midtown-side .officeDetailArea03 .floorList01 .lo01 .lo0101 {
    width: 100%;
    padding-right: 0;
  }
  body.office_detail .roppongi-midtown-side .officeDetailArea03 .floorList01 .lo01 .lo0101 .table01 {
    width: 100%;
  }
  body.office_detail .roppongi-midtown-side .officeDetailArea03 .floorList01 .lo01 .lo0102 {
    padding-left: 0;
  }
  body.office_detail .jingumae6 .officeDetailArea03 .floorList01 .lo01 .lo0101 {
    width: 100%;
    padding-right: 0vw;
  }
  body.office_detail .jingumae6 .officeDetailArea03 .floorList01 .lo01 .lo0102 {
    padding-left: 0vw;
    padding-top: 0;
  }
}

/* officeDetailArea04 */
.officeDetailArea04 {
  position: relative;
  margin-top: 15%;
  z-index: 1;
}

.officeDetailArea04 .headBlock01 {
  margin: 0 auto;
  width: 70%;
}

.officeDetailArea04 .headBlock01 .head01 {
  margin-top: -3px;
  color: #333;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.1875;
  letter-spacing: 0;
}

.officeDetailArea04 .headBlock01 .leadBlock01 {
  margin-top: 50px;
  color: #333;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0;
}

.officeDetailArea04 .mainBlock01 {
  margin: 61px 10% 0 10%;
}

.officeDetailArea04 .facilityList01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.officeDetailArea04 .facilityList01:after {
  content: "";
  display: block;
  clear: both;
}

.officeDetailArea04 .facilityList01 li {
  float: left;
  margin: 5.4vw 0 0 4vw;
  width: calc((100% - 4vw) / 2);
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.officeDetailArea04 .facilityList01 li:nth-of-type(2),
.officeDetailArea04 .facilityList01 li:nth-of-type(1) {
  margin-top: 0;
}

.officeDetailArea04 .facilityList01 li:nth-child(2n+1) {
  margin-left: 0;
}

.officeDetailArea04 .facilityList01 li .image01 {
  line-height: 0;
}

.officeDetailArea04 .facilityList01 li .image01 img {
  width: 100%;
  height: auto;
}

.officeDetailArea04 .facilityList01 li .head01 {
  margin-top: 26px;
  color: #333;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0;
}

.officeDetailArea04 .facilityList01 li .textBlock01 {
  margin-top: 22px;
  color: #333;
  font-size: 14px;
  line-height: 1.86;
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  .officeDetailArea04 {
    margin-top: 20vw;
  }
  .officeDetailArea04 .headBlock01 {
    margin: 0 10vw;
    width: auto;
  }
  .officeDetailArea04 .headBlock01 .head01 {
    margin-top: 0;
    font-size: 16px;
  }
  .officeDetailArea04 .headBlock01 .leadBlock01 {
    margin-top: 19px;
    font-size: 12px;
    line-height: 1.84;
  }
  .officeDetailArea04 .mainBlock01 {
    margin: 37px 10% 0 10%;
  }
  .officeDetailArea04 .facilityList01 li {
    float: none;
    margin: 12vw 0 0 0vw;
    width: auto;
  }
  .officeDetailArea04 .facilityList01 li:nth-of-type(2) {
    margin-top: 12vw;
  }
  .officeDetailArea04 .facilityList01 li .head01 {
    margin-top: 16px;
    font-size: 14px;
  }
  .officeDetailArea04 .facilityList01 li .textBlock01 {
    margin-top: 5px;
    font-size: 12px;
    line-height: 1.84;
  }
}

/* officeDetailArea05 */
.officeDetailArea05 {
  position: relative;
  margin-top: 15%;
  z-index: 1;
}

.officeDetailArea05 .mainBlock01 {
  margin: 0 10%;
}

.officeDetailArea05 .mainBlock01 .headMain01 {
  color: #333;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

.officeDetailArea05 .memberList01 {
  margin-top: 68px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.officeDetailArea05 .memberList01:after {
  content: "";
  display: block;
  clear: both;
}

.officeDetailArea05 .memberList01 li {
  margin: 5.2vw 0 0 4vw;
  width: calc((100% - 4vw) / 2);
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.officeDetailArea05 .memberList01 li:nth-of-type(2),
.officeDetailArea05 .memberList01 li:nth-of-type(1) {
  margin-top: 0;
}

.officeDetailArea05 .memberList01 li:nth-child(2n+1) {
  margin-left: 0;
}

.officeDetailArea05 .memberList01 li .image01 {
  line-height: 0;
}

.officeDetailArea05 .memberList01 li .image01 a:hover {
  opacity: 0.7;
}

.officeDetailArea05 .memberList01 li .image01 img {
  width: 100%;
  height: auto;
}

.officeDetailArea05 .memberList01 li .head01 {
  margin-top: 16px;
  color: #333;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.625;
}

.officeDetailArea05 .memberList01 li .head01 a {
  color: #333;
}

.officeDetailArea05 .memberList01 li .head01 a:hover {
  text-decoration: underline;
}

.officeDetailArea05 .memberList01 li .textBlock01 {
  margin-top: 10px;
  color: #7B7B7B;
  font-size: 14px;
  line-height: 1.86;
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  .officeDetailArea05 {
    margin-top: 20vw;
  }
  .officeDetailArea05 .mainBlock01 {
    margin: 0 10vw;
  }
  .officeDetailArea05 .mainBlock01 .headMain01 {
    font-size: 16px;
  }
  .officeDetailArea05 .memberList01 {
    margin-top: 26px;
  }
  .officeDetailArea05 .memberList01 li {
    float: none;
    margin: 10vw 0 0 0;
    width: auto;
  }
  .officeDetailArea05 .memberList01 li:nth-of-type(2) {
    margin-top: 10vw;
  }
  .officeDetailArea05 .memberList01 li .image01 a:hover {
    opacity: 1;
  }
  .officeDetailArea05 .memberList01 li .head01 {
    margin-top: 14px;
    font-size: 14px;
  }
  .officeDetailArea05 .memberList01 li .textBlock01 {
    margin-top: 9px;
    font-size: 12px;
    line-height: 1.84;
  }
}

/* mapMod01 */
.mapMod01 {
  position: relative;
  padding-bottom: 61.53846%;
  height: 0;
  overflow: hidden;
}

.mapMod01 iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

/* officeDetailArea06 */
.officeDetailArea06 {
  position: relative;
  margin-top: 15%;
  z-index: 1;
}

.officeDetailArea06 .mainBlock01 {
  margin: 0 10%;
}

.officeDetailArea06 .mainBlock01 .headMain01 {
  color: #333;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

.officeDetailArea06 .mainBlock01 .box01 {
  margin-top: 67px;
  margin-top: 5vw;
  padding: 9.7vw 9.8vw 9.8vw 9.8vw;
  background: #FFF;
}

.officeDetailArea06 .mainBlock01 .box01 > .vessel {
  margin: 0 auto;
  width: 50vw;
  min-width: 560px;
}

.officeDetailArea06 .mainBlock01 .box01 .head01 {
  color: #333;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.625;
}

.officeDetailArea06 .mainBlock01 .box01 .table01 {
  margin-top: 62px;
  border-top: 1px solid #DBDBDB;
  font-size: 14px;
  line-height: 1.43;
  letter-spacing: 0.1em;
}

.officeDetailArea06 .mainBlock01 .box01 .table01 > dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  border-bottom: 1px solid #DBDBDB;
}

.officeDetailArea06 .mainBlock01 .box01 .table01 > dl > dt {
  padding: 20px 10px 20px 0;
  width: 175px;
  min-width: 175px;
  color: #9D9D9D;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.officeDetailArea06 .mainBlock01 .box01 .table01 > dl > dd {
  -ms-flex: 1;
  -webkit-box-flex: 1;
  flex: 1;
  padding: 20px 0 20px 0;
  color: #222;
}

.officeDetailArea06 .mainBlock01 .box01 .map01 {
  margin-top: 66px;
  margin-top: 5.1vw;
}

@media screen and (max-width: 767px) {
  .officeDetailArea06 {
    margin-top: 20vw;
  }
  .officeDetailArea06 .mainBlock01 {
    margin: 0 10vw;
  }
  .officeDetailArea06 .mainBlock01 .headMain01 {
    font-size: 16px;
  }
  .officeDetailArea06 .mainBlock01 .box01 {
    margin-top: 6.8vw;
    padding: 9vw 10vw 10vw 10vw;
  }
  .officeDetailArea06 .mainBlock01 .box01 > .vessel {
    width: auto;
    min-width: 0;
  }
  .officeDetailArea06 .mainBlock01 .box01 .head01 {
    font-size: 15px;
  }
  .officeDetailArea06 .mainBlock01 .box01 .table01 {
    margin-top: 17px;
    font-size: 12px;
    line-height: 1.5;
  }
  .officeDetailArea06 .mainBlock01 .box01 .table01 > dl {
    display: block;
  }
  .officeDetailArea06 .mainBlock01 .box01 .table01 > dl > dt {
    padding: 20px 0 0 0;
    width: auto;
    min-width: 0;
  }
  .officeDetailArea06 .mainBlock01 .box01 .table01 > dl > dd {
    padding: 4px 0 20px 0;
  }
  .officeDetailArea06 .mainBlock01 .box01 .map01 {
    margin-top: 10vw;
  }
}

/* flowMod01 */
.flowMod01 > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  position: relative;
  height: 100px;
  background: #888;
  color: #FFF;
}

.flowMod01 > li::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 39px;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 6px 0 6px;
  border-color: #888 transparent transparent transparent;
}

.flowMod01 > li:nth-of-type(1) {
  z-index: 5;
}

.flowMod01 > li:nth-of-type(2) {
  background: #666;
  z-index: 4;
}

.flowMod01 > li:nth-of-type(2)::after {
  border-color: #666 transparent transparent transparent;
}

.flowMod01 > li:nth-of-type(3) {
  background: #444;
  z-index: 3;
}

.flowMod01 > li:nth-of-type(3)::after {
  border-color: #444 transparent transparent transparent;
}

.flowMod01 > li:nth-of-type(4) {
  background: #222;
  z-index: 2;
}

.flowMod01 > li:nth-of-type(4)::after {
  border-color: #222 transparent transparent transparent;
}

.flowMod01 > li:nth-of-type(5) {
  background: #000;
  z-index: 1;
}

.flowMod01 > li:nth-of-type(5)::after {
  display: none;
}

.flowMod01 > li .flowHead01 {
  padding: 0 0 0 35px;
  width: 107px;
  font-size: 16px;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.flowMod01 > li .flowTxt01 {
  -ms-flex: 1;
  -webkit-box-flex: 1;
  flex: 1;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.72;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .flowMod01 > li {
    height: 58px;
  }
  .flowMod01 > li::after {
    content: "";
    position: absolute;
    left: 20px;
  }
  .flowMod01 > li .flowHead01 {
    padding: 0 0 0 17px;
    width: 45px;
    font-size: 14px;
  }
  .flowMod01 > li .flowTxt01 {
    font-size: 12px;
  }
}

/* officeDetailArea07 */
.officeDetailArea07 {
  position: relative;
  margin-top: 15%;
  z-index: 1;
}

.officeDetailArea07 .mainBlock01 {
  margin: 0 10%;
}

.officeDetailArea07 .mainBlock01 .headMain01 {
  color: #333;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

.officeDetailArea07 .mainBlock01 .box01 {
  margin-top: 67px;
  margin-top: 5vw;
  padding: 9.8vw;
  background: #FFF;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 {
  border-bottom: 1px solid #DBDBDB;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01:first-child {
  border-top: 1px solid #DBDBDB;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dt {
  position: relative;
  padding: 3.5vw 60px 3.5vw 13px;
  max-height: 120px;
  color: #333;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.625;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dt:hover {
  opacity: 0.7;
  cursor: pointer;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dt::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 13px;
  display: block;
  margin-top: -19px;
  width: 38px;
  height: 38px;
  background: url(../img_cmn/icn_plus_01.svg) no-repeat;
  background-size: 38px;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dt.opened::after {
  background: url(../img_cmn/icn_minus_01.svg) no-repeat;
  background-size: 38px;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd {
  display: none;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd > .vessel {
  padding: 0 5vw 4vw 5vw;
  color: #222;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .head01 {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.72;
  letter-spacing: 0.1em;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .flowMod01 + .head01 {
  margin-top: 49px;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .textBlock01 + .head01 {
  margin-top: 44px;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .table01 + .head01 {
  margin-top: 49px;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .head01 span {
  display: inline-block;
  padding-bottom: 2px;
  border-bottom: 2px solid #222;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .textBlock01 {
  font-size: 14px;
  line-height: 1.86;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .textBlock01 p + p {
  margin-top: 26px;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .head01 + .textBlock01 {
  margin-top: 30px;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .table01 {
  border-top: 1px solid #DBDBDB;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .head01 + .table01 {
  margin-top: 30px;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .textBlock01 + .table01 {
  margin-top: 40px;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .table01 > table {
  width: 100%;
  border-collapse: collapse;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .table01 > table tr {
  border-bottom: 1px solid #DBDBDB;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .table01 > table tr th {
  padding: 23px 0 20px 0;
  width: 197px;
  color: #666;
  font-weight: 700;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .table01 > table tr td {
  padding: 23px 0 20px 0;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .table01 > table tr td .table02 {
  width: auto;
  border-collapse: collapse;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .table01 > table tr td .table02 tr {
  border-bottom: none;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .table01 > table tr td .table02 tr th {
  padding: 0 30px 0 0;
  width: auto;
  color: #222;
  font-weight: 400;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .table01 > table tr td .table02 tr td {
  padding: 0 0 0 0;
  text-align: right;
}

.officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .listNoMod01 > li + li {
  margin-top: 6px;
}

@media screen and (max-width: 767px) {
  .officeDetailArea07 {
    margin-top: 20vw;
  }
  .officeDetailArea07 .mainBlock01 {
    margin: 0 0 0 10vw;
  }
  .officeDetailArea07 .mainBlock01 .headMain01 {
    font-size: 16px;
  }
  .officeDetailArea07 .mainBlock01 .box01 {
    margin-top: 6vw;
    padding: 11.2vw 6vw 12.8vw 6vw;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 3.5vw 30px 3.5vw 0;
    min-height: 77px;
    font-size: 14px;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dt:hover {
    opacity: 1;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dt::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -13px;
    width: 26px;
    height: 26px;
    background: url(../img_cmn/icn_plus_01.svg) no-repeat;
    background-size: 26px;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dt.opened::after {
    background: url(../img_cmn/icn_minus_01.svg) no-repeat;
    background-size: 26px;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd > .vessel {
    padding: 0 0 30px 0;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .head01 {
    font-size: 12px;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .flowMod01 + .head01 {
    margin-top: 25px;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .textBlock01 + .head01 {
    margin-top: 22px;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .table01 + .head01 {
    margin-top: 26px;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .head01 span {
    padding-bottom: 1px;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .textBlock01 {
    font-size: 12px;
    line-height: 1.84;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .textBlock01 p + p {
    margin-top: 13px;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .head01 + .textBlock01 {
    margin-top: 14px;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .table01 {
    font-size: 12px;
    line-height: 1.84;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .head01 + .table01 {
    margin-top: 17px;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .textBlock01 + .table01 {
    margin-top: 26px;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .table01 > table tr th {
    padding: 15px 0 15px 0;
    width: 102px;
    vertical-align: top;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .table01.table01Spb > table tr th {
    display: block;
    padding: 15px 0 0 0;
    width: auto;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .table01 > table tr td {
    padding: 15px 0 18px 0;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .table01.table01Spb > table tr td {
    display: block;
    padding: 13px 0 18px 0;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .table01 > table tr td .table02 {
    width: auto;
    border-collapse: collapse;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .table01 > table tr td .table02 tr {
    border-bottom: none;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .table01 > table tr td .table02 tr th {
    padding: 0 12px 0 0;
  }
  .officeDetailArea07 .mainBlock01 .box01 .accDl01 > dd .listNoMod01 > li + li {
    margin-top: 6px;
  }
}

/* loungeBtnMod01 200121 Fujimaki */
.loungeBtnMod01 {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 10;
  opacity: 1;
  -webkit-animation: btnFadeIn .2s 1 forwards;
          animation: btnFadeIn .2s 1 forwards;
}

.loungeBtnMod01.-is-hidden {
  -webkit-animation: btnFadeOut .2s 1 forwards;
          animation: btnFadeOut .2s 1 forwards;
  pointer-events: none;
}

@-webkit-keyframes btnFadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes btnFadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@-webkit-keyframes btnFadeOut {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes btnFadeOut {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

.loungeBtnMod01 a {
  display: block;
  width: 260px;
  height: 100px;
  background: #E24D0A;
  color: #FFF;
  text-align: center;
}

.loungeBtnMod01 a:hover {
  opacity: 0.7;
}

.loungeBtnMod01 a .text01 {
  display: block;
  padding: 26px 0 0 0;
  line-height: 0;
  text-align: center;
}

.loungeBtnMod01 a .text01 em {
  display: inline-block;
  padding: 0 11px;
  height: 22px;
  background: #FFF;
  color: #E24D0A;
  font-size: 13px;
  font-weight: 700;
  line-height: 22px;
  text-indent: 0.05em;
  letter-spacing: 0.05em;
}

.loungeBtnMod01 a .text02 {
  display: block;
  margin-top: 2px;
  font-size: 16px;
  font-weight: 700;
  text-indent: 0.05em;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
  .loungeBtnMod01 a {
    width: 160px;
    height: 64px;
  }
  .loungeBtnMod01 a:hover {
    opacity: 1;
  }
  .loungeBtnMod01 a .text01 {
    padding: 14px 0 0 0;
  }
  .loungeBtnMod01 a .text01 em {
    padding: 0 7px;
    height: 18px;
    font-size: 11px;
    line-height: 18px;
  }
  .loungeBtnMod01 a .text02 {
    margin-top: 1px;
    font-size: 12px;
    line-height: 1.5;
  }
}

/* officeDetailAreaLounge 200121 Fujimaki */
.officeDetailAreaLounge {
  position: relative;
  margin-top: 15%;
  padding: 20% 0;
  background: #1C1C1C;
  color: #FFF;
  overflow: hidden;
  z-index: 1;
}

.officeDetailAreaLounge .bgTxt {
  color: #E5E5E5;
  font-size: 200px;
  font-size: 15.38vw;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  letter-spacing: -0.02em;
  z-index: 2;
}

.officeDetailAreaLounge .bgTxt.bgTxt01 {
  position: absolute;
  top: -2.8vw;
  left: 3.4%;
  color: transparent;
  -webkit-text-stroke: 1px #414141;
  -webkit-animation: marqueeLeft 150s linear infinite;
          animation: marqueeLeft 150s linear infinite;
}

.officeDetailAreaLounge .bgTxt.bgTxt02 {
  position: absolute;
  bottom: -3vw;
  left: 100%;
  color: transparent;
  -webkit-text-stroke: 1px #414141;
  -webkit-animation: marqueeRight 150s linear infinite;
          animation: marqueeRight 150s linear infinite;
}

.officeDetailAreaLounge .bgTxt.bgTxt01,
.officeDetailAreaLounge .bgTxt.bgTxt02 {
  color: #1C1C1C;
  text-shadow: #414141 1px 1px 0px,  #414141 -1px 1px 0px, #414141 1px -1px 0px,  #414141 -1px -1px 0px;
}

.officeDetailAreaLounge .sliderBlock01 {
  margin-left: 15%;
}

.officeDetailAreaLounge .sliderBlock01 .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.officeDetailAreaLounge .sliderBlock01 .swiper-slide {
  width: 38vw;
}

.officeDetailAreaLounge .sliderBlock01 .swiper-slide .image01 {
  line-height: 0;
}

.officeDetailAreaLounge .sliderBlock01 .swiper-slide .image01 img {
  width: 100%;
  height: auto;
}

.officeDetailAreaLounge .headBlock01 {
  margin: 73px 15% 0 15%;
}

.officeDetailAreaLounge .headBlock01 .head01 {
  font-size: 18px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
}

.officeDetailAreaLounge .headBlock01 .head02 {
  margin-top: 4px;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
}

.officeDetailAreaLounge .headBlock01 .head02 strong {
  margin-right: 14px;
}

.officeDetailAreaLounge .headBlock01 .head02 .sub01 {
  display: inline-block;
  padding: 0 10px;
  height: 34px;
  background: #FFF;
  color: #1C1C1C;
  font-size: 16px;
  line-height: 34px;
  text-indent: 0.05em;
  letter-spacing: 0.05em;
  vertical-align: 5px;
}

.officeDetailAreaLounge .mainBlock01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  margin: 43px 15% 0 15%;
  font-size: 14px;
  line-height: 1.86;
}

.officeDetailAreaLounge .mainBlock01 .mainBlock0101 {
  width: 24vw;
}

.officeDetailAreaLounge .mainBlock01 .mainBlock0102 {
  width: 40vw;
}

.officeDetailAreaLounge .mainBlock01 .mainBlock0101 .buttonBlock01 {
  margin-top: 54px;
  text-align: center;
}

.officeDetailAreaLounge .mainBlock01 .loungeBtn01 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 236px;
  height: 60px;
  background: #E24D0A;
  color: #FFF;
  font-size: 14px;
  font-weight: 700;
  text-indent: 0.1em;
  letter-spacing: 0.1em;
}

.officeDetailAreaLounge .mainBlock01 .loungeBtn01:hover {
  opacity: 0.7;
}

.officeDetailAreaLounge .mainBlock01 .mainBlock0102 .appHead01 {
  font-weight: 700;
}

.officeDetailAreaLounge .mainBlock01 .mainBlock0102 .appBody01 {
  margin-top: 23px;
  border-top: 1px solid #414141;
  letter-spacing: 0;
}

.officeDetailAreaLounge .mainBlock01 .mainBlock0102 .appBody01 > dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  border-bottom: 1px solid #414141;
}

.officeDetailAreaLounge .mainBlock01 .mainBlock0102 .appBody01 > dl > dt {
  padding: 16px 0 16px 0;
  width: 120px;
  color: #B2B2B2;
}

.officeDetailAreaLounge .mainBlock01 .mainBlock0102 .appBody01 > dl > dd {
  -ms-flex: 1;
  -webkit-box-flex: 1;
  flex: 1;
  padding: 16px 0 16px 0;
}

.officeDetailAreaLounge .mainBlock01 .mainBlock0102 .appBody01 > dl > dd p + p {
  margin-top: 3px;
}

.officeDetailAreaLounge .mainBlock01 .mainBlock0102 .buttonBlock01 {
  display: none;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .officeDetailAreaLounge .bgTxt {
    font-size: 200px;
  }
  .officeDetailAreaLounge .bgTxt.bgTxt01 {
    position: absolute;
    top: -40px;
  }
  .officeDetailAreaLounge .bgTxt.bgTxt02 {
    position: absolute;
    bottom: -40px;
  }
  .officeDetailAreaLounge .headBlock01 {
    margin-top: 39px;
  }
  .officeDetailAreaLounge .mainBlock01 {
    display: block;
    margin-top: 26px;
  }
  .officeDetailAreaLounge .mainBlock01 .mainBlock0101 {
    width: auto;
  }
  .officeDetailAreaLounge .mainBlock01 .mainBlock0102 {
    margin-top: 39px;
    width: auto;
  }
  .officeDetailAreaLounge .mainBlock01 .mainBlock0101 .buttonBlock01 {
    display: none;
  }
  .officeDetailAreaLounge .mainBlock01 .mainBlock0102 .buttonBlock01 {
    display: block;
    margin-top: 50px;
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .officeDetailAreaLounge {
    margin-top: 20vw;
    padding: 28.8vw 0 33.6vw 0;
  }
  .officeDetailAreaLounge .bgTxt {
    font-size: 70px;
    font-size: 18.6666vw;
  }
  .officeDetailAreaLounge .bgTxt.bgTxt01 {
    position: absolute;
    top: -5vw;
    left: 9vw;
  }
  .officeDetailAreaLounge .bgTxt.bgTxt02 {
    position: absolute;
    bottom: -3.7vw;
    left: -45vw;
  }
  .officeDetailAreaLounge .sliderBlock01 {
    margin-left: 10vw;
  }
  .officeDetailAreaLounge .sliderBlock01 .swiper-slide {
    width: 60vw;
  }
  .officeDetailAreaLounge .headBlock01 {
    margin: 18px 10vw 0 10vw;
  }
  .officeDetailAreaLounge .headBlock01 .head01 {
    font-size: 14px;
  }
  .officeDetailAreaLounge .headBlock01 .head02 {
    font-size: 16px;
  }
  .officeDetailAreaLounge .headBlock01 .head02 strong {
    margin-right: 12px;
  }
  .officeDetailAreaLounge .headBlock01 .head02 .sub01 {
    padding: 0 9px;
    height: 24px;
    font-size: 12px;
    line-height: 24px;
    vertical-align: 1px;
  }
  .officeDetailAreaLounge .mainBlock01 {
    display: block;
    margin: 23px 10vw 0 10vw;
  }
  .officeDetailAreaLounge .mainBlock01 .mainBlock0101 {
    width: auto;
  }
  .officeDetailAreaLounge .mainBlock01 .mainBlock0102 {
    margin-top: 22px;
    width: auto;
  }
  .officeDetailAreaLounge .mainBlock01 .mainBlock0101 .leadBlock01 {
    line-height: 1.58;
    letter-spacing: 0;
  }
  .officeDetailAreaLounge .mainBlock01 .mainBlock0101 .buttonBlock01 {
    display: none;
  }
  .officeDetailAreaLounge .mainBlock01 .loungeBtn01:hover {
    opacity: 1;
  }
  .officeDetailAreaLounge .mainBlock01 .mainBlock0102 .appBody01 {
    margin-top: 15px;
  }
  .officeDetailAreaLounge .mainBlock01 .mainBlock0102 .appBody01 > dl.others {
    display: block;
  }
  .officeDetailAreaLounge .mainBlock01 .mainBlock0102 .appBody01 > dl > dt {
    padding: 16px 2em 16px 0;
    width: 84px;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
  }
  .officeDetailAreaLounge .mainBlock01 .mainBlock0102 .appBody01 > dl.others > dt {
    padding: 16px 0 0 0;
    width: auto;
  }
  .officeDetailAreaLounge .mainBlock01 .mainBlock0102 .appBody01 > dl.others > dd {
    padding: 12px 0 16px 0;
  }
  .officeDetailAreaLounge .mainBlock01 .mainBlock0102 .buttonBlock01 {
    display: block;
    margin-top: 40px;
    text-align: center;
  }
}

/* placeholder */
::-webkit-input-placeholder {
  color: #B4B4B4;
}

::-moz-placeholder {
  color: #B4B4B4;
}

:-ms-input-placeholder {
  color: #B4B4B4;
}

:focus::-webkit-input-placeholder {
  color: transparent;
}

:focus::-moz-placeholder {
  color: transparent;
}

:focus:-ms-input-placeholder {
  color: transparent;
}

/* inputMod01 */
.inputMod01 {
  display: inline-block;
  border: none;
  padding: 0 12px;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  width: 100%;
  height: 44px;
  background: #F4F4F4;
  color: #333;
  font-size: 14px;
  line-height: 44px;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  outline: none;
}

/* textareaMod01 */
.textareaMod01 {
  padding: 10px 12px;
  border: none;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  width: 100%;
  background: #F4F4F4;
  color: #333;
  font-size: 14px;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  outline: none;
  resize: vertical;
}

/* selectMod01 */
.selectMod01 {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 44px;
  vertical-align: middle;
  overflow: hidden;
}

.selectMod01::after {
  content: " ";
  position: absolute;
  top: 50%;
  right: 5px;
  display: block;
  margin-top: -2px;
  width: 6px;
  height: 4px;
  background: url(../img_cmn/icn_select_01.svg) no-repeat;
  background-size: 6px 4px;
  pointer-events: none;
}

.selectMod01 select {
  display: inline-block;
  padding: 0 28px 0 12px;
  border: none;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  width: 100%;
  height: 44px;
  background: #F4F4F4;
  color: #333;
  font-size: 14px;
  cursor: pointer;
  outline: none;
  text-overflow: ellipsis;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-shadow: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.selectMod01 select::-ms-expand {
  display: none;
}

/* submitLoMod01 */
@media screen and (max-width: 1024px) {
  .submitLoMod01 {
    text-align: center;
  }
}

/* submitMod01 */
.submitMod01 {
  display: inline-block;
  border: none;
  width: 240px;
  height: 60px;
  background: #E24D0A;
  color: #FFF;
  font-size: 14px;
  font-weight: 700;
  line-height: 60px;
  text-align: center;
  letter-spacing: 0;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
}

.submitMod01[disabled] {
  background: #D3D3D3;
}

.submitMod01:hover {
  opacity: 0.7;
}

.submitMod01Mask {
  position: fixed;
  width: 100vw;
  height: 100vh;
  z-index: 999999;
  background-color: rgba(100, 100, 100, 0.5);
}

@media screen and (max-width: 767px) {
  .submitMod01:hover {
    opacity: 1;
  }
}

/* formMod01 */
.formMod01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.formMod01 + .formMod01 {
  margin-top: 15px;
}

#pj-booking input + .formMod01 {
  margin-top: 39px;
}

.formMod01 > dt {
  padding: 8px 5px 0 0;
  width: 178px;
  min-width: 178px;
  font-weight: 700;
  letter-spacing: 0;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.formMod01 > dd {
  -ms-flex: 1;
  -webkit-box-flex: 1;
  flex: 1;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .formMod01 {
    display: block;
  }
  .formMod01 + .formMod01 {
    margin-top: 27px;
  }
  #pj-booking .leadBlock01 + .formMod01 {
    margin-top: 23px;
  }
  .formMod01 > dt {
    padding: 0;
    width: auto;
    min-width: 0;
  }
  .formMod01 > dd {
    padding-top: 7px;
  }
}

@media screen and (max-width: 767px) {
  .formMod01 {
    display: block;
  }
  .formMod01 + .formMod01 {
    margin-top: 15px;
  }
  #pj-booking .leadBlock01 + .formMod01 {
    margin-top: 20px;
  }
  .formMod01 > dt {
    padding: 0;
    width: auto;
    min-width: 0;
  }
  .formMod01 > dd {
    padding-top: 3px;
  }
}

/* formBottomMod01 */
.formBottomMod01 {
  margin-top: 30px;
  padding: 0 0 0 178px;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .formBottomMod01 {
    padding: 0;
  }
}

@media screen and (max-width: 767px) {
  .formBottomMod01 {
    padding: 0;
  }
}

/* formNotesMod01 */
.formNotesMod01 {
  margin-top: 15px;
  font-size: 12px;
  line-height: 1.83;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .formNotesMod01 {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .formNotesMod01 {
    margin-top: 28px;
  }
}

/* icnRequiredMod01 */
.icnRequiredMod01 {
  display: inline-block;
  margin-left: 12px;
  border-radius: 2px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  padding: 0 5px;
  width: auto;
  height: 18px;
  background: #E24D0A;
  color: #FFF;
  font-size: 11px;
  font-weight: 400;
  line-height: 18px;
  text-align: center;
  letter-spacing: 0;
  vertical-align: 1px;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

/* datePickLoMod01 */
.datePickLoMod01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.datePickLoMod01 > li {
  width: calc((100% - 14px) / 3);
}

.datePickLoMod01 > li:not(:first-child) {
  margin-left: 7px;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .datePickLoMod01 > li {
    width: calc((100% - 20px) / 3);
  }
  .datePickLoMod01 > li:not(:first-child) {
    margin-left: 10px;
  }
}

@media screen and (max-width: 767px) {
  .datePickLoMod01 {
    display: block;
  }
  .datePickLoMod01 > li {
    width: auto;
  }
  .datePickLoMod01 > li:not(:first-child) {
    margin: 5px 0 0 0;
  }
}

/* #pj-booking */
#pj-booking {
  display: none;
  position: fixed;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: 9999;
}

#modalBg {
  position: absolute;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.15);
}

#pj-booking .box01 {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 800px;
  background: #fff;
  box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.1);
  max-height: 98vh;
  overflow: hidden;
  overflow-y: auto;
}

#pj-booking .box01 > .vessel {
  position: relative;
  padding: 65px 93px 72px 93px;
  color: #333;
}

#pj-booking .box01 .close01 {
  position: absolute;
  top: 13px;
  right: 15px;
}

#pj-booking .box01 .close01 a {
  display: block;
  width: 40px;
  height: 40px;
  background: url(../img_cmn/btn_close_01.svg) no-repeat;
  background-size: 40px 40px;
  text-indent: -9999px;
  overflow: hidden;
}

#pj-booking .box01 .close01 a:hover {
  opacity: 0.7;
}

#pj-booking .box01 .headMain01 {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.56;
  letter-spacing: 0;
}

#pj-booking .box01 .leadBlock01 {
  margin-top: 2px;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  #pj-booking .box01 {
    width: 620px;
  }
  #pj-booking .box01 > .vessel {
    padding: 60px 40px 72px 40px;
  }
  #pj-booking .box01 .close01 {
    position: absolute;
    top: 20px;
    right: 20px;
  }
  #pj-booking .box01 .leadBlock01 {
    margin-top: 15px;
    line-height: 1.58;
  }
}

@media screen and (max-width: 767px) {
  #pj-booking .box01 {
    position: absolute;
    /* top: 0;
        left: 0;
        transform: translate(0,0); */
    width: 100%;
    background: transparent;
  }
  #pj-booking .box01 > .vessel {
    margin: 10px;
    padding: 51px 20px 33px 20px;
    background: #FFF;
  }
  #pj-booking .box01 .close01 {
    position: absolute;
    top: 10px;
    right: 10px;
  }
  #pj-booking .box01 .close01 a:hover {
    opacity: 1;
  }
  #pj-booking .box01 .headMain01 {
    font-size: 16px;
  }
  #pj-booking .box01 .leadBlock01 {
    margin-top: 11px;
    font-size: 12px;
    line-height: 1.84;
  }
}

/* legal
------------------------------------------ */
/* privacyTxtmod01 */
.privacyTxtmod01 {
  position: absolute;
  top: 0;
  left: 45px;
  left: 3.4vw;
  display: block;
  padding-bottom: 137px;
  width: 2em;
  color: #2E2E2E;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.privacyTxtmod01::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  margin-left: -4px;
  width: 1px;
  height: 30px;
  background-color: rgba(46, 46, 46, 0.3);
}

.privacyTxtmod01 em {
  display: block;
  font-weight: 600;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

@media screen and (max-width: 767px) {
  .privacyTxtmod01 {
    display: none;
  }
}

/* tosTxtmod01 */
.tosTxtmod01 {
  position: absolute;
  top: 0;
  left: 45px;
  left: 3.4vw;
  display: block;
  padding-bottom: 137px;
  width: 2em;
  color: #2E2E2E;
  font-size: 12px;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.tosTxtmod01::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  margin-left: -4px;
  width: 1px;
  height: 30px;
  background-color: rgba(46, 46, 46, 0.3);
}

.tosTxtmod01 em {
  display: block;
  font-weight: 600;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

@media screen and (max-width: 767px) {
  .tosTxtmod01 {
    display: none;
  }
}

/* legalArea01 */
#legalArea01 {
  position: relative;
  padding: 0 0 15vw 0;
  z-index: 2;
}

#legalArea01 .box01 {
  position: relative;
  margin: 0 0 0 10%;
  padding: 9.7vw 15vw 10vw 15vw;
  background: #FFF;
  color: #474340;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0;
}

#legalArea01 .box01 .textBlock01 p + p,
#legalArea01 .box01 .textBlock01 .listNoMod01 > li + li {
  margin-top: 19px;
}

#legalArea01 .box01 .textBlock01 + .textBlock01 {
  margin-top: 78px;
}

#legalArea01 .box01 .head01 + .textBlock01 {
  margin-top: 20px;
}

#legalArea01 .box01 .head01 {
  font-size: 18px;
  font-weight: 700;
}

#legalArea01 .box01 .textBlock01 + .head01 {
  margin-top: 78px;
}

@media screen and (max-width: 767px) {
  #legalArea01 {
    padding: 0 0 30vw 0;
  }
  #legalArea01 .box01 {
    margin: 0;
    padding: 9.4vw 10vw 10vw 10vw;
    font-size: 14px;
    line-height: 1.86;
  }
  #legalArea01 .box01 .textBlock01 p + p,
  #legalArea01 .box01 .textBlock01 .listNoMod01 > li + li {
    margin-top: 15px;
  }
  #legalArea01 .box01 .textBlock01 + .textBlock01 {
    margin-top: 30px;
  }
  #legalArea01 .box01 .head01 + .textBlock01 {
    margin-top: 15px;
  }
  #legalArea01 .box01 .head01 {
    font-size: 14px;
  }
  #legalArea01 .box01 .textBlock01 + .head01 {
    margin-top: 30px;
  }
}

/* objectFit For IE and Edge
------------------------------------------ */
/* objectFit--cover */
.objectFit--cover {
  -o-object-fit: cover;
     object-fit: cover;
  font-family: 'object-fit: cover;';
}

/* objectFit--contain */
.objectFit--contain {
  -o-object-fit: contain;
     object-fit: contain;
  font-family: 'object-fit: contain;';
}

/* Print
------------------------------------------ */
@media print {
  /* All */
  html {
    overflow: visible;
  }
}
