@charset "UTF-8";
@media screen and (max-width: 767px) {
    /*===================*/
    .section-inner {
        padding: 60px 0;
    }
    .bg-blue {
        background: #264e8c url(../img/bg_blue.jpg) repeat-y center top;
        background-size: 100% auto;
    }
    /*===================*/
    .m-header {
        display: none;
    }
    .s-header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 55px;
        background: #fff;
        box-shadow: 0 0 3px rgba(0, 0, 0, .5);
    }
    .s-header .s-header-inner {
        background: none;
        border-radius: 0px;
        box-shadow: none;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        box-sizing: border-box;
        height: 55px;
        padding: 0px 45px 0px 10px;
        letter-spacing: 1px;
    }
    .s-header .logo {
        width: auto;
    }
    .s-header .logo img {
        width: auto;
        height: 40px;
    }
    .s-header .ttl {
        margin-left: 10px;
    }
    .s-header .ttl .t1 {
        font-size: 15px;
        line-height: 1.1;
        margin-bottom: 2px;
    }
    .s-header .ttl .t2 {
        font-size: 11px;
        line-height: 1.1;
    }
    .s-header .ttl .t3 {
        font-size: 12px;
        line-height: 1.1;
        letter-spacing: 0;
    }
    .s-nav {
        border-top: 1px solid #000;
        position: absolute;
        top: 55px;
        left: 0;
        background: #fff;
        width: 100%;
        display: none;
    }
    .s-nav-in {
        display: block;
    }
    .s-header nav {
        margin-left: 0px;
    }
    .s-nav-in ul {
        padding-top: 0;
    }
    /*
    .list-nav p {
      display: block;
      float: none;
      border: none;
      margin-left: 0;
      font-size: 16px;
    }

    .list-nav p:first-child {
      margin-left: 30px;
    }

    .list-nav p.osaka {
      border: none;
      color: #234ca4;
    }
    .list-nav p.nagoya {
      border: none;
      color: #1b7281;
    }

    .list-nav p.kyoto {
      border: none;
      color: #9b7027;
    }
    .list-nav p:first-child {
      margin-left: 0;
    }

    .list-nav p a {
      padding: 12px 15px 11px;
      border-bottom: 1px solid #E6E6E6;
    }

    .list-nav p a:hover {
      opacity: 0.7
    }

    */
    .s-header nav ul {
        display: block;
    }
    .s-header nav ul li {
        border-bottom: 1px solid #E6E6E6;
    }
    .s-header nav ul li a {
        padding: 12px 15px 11px;
        box-sizing: border-box;
    }
    .s-header nav ul li a::after {
        display: none;
    }
    .s-header nav ul li .t1 {
        display: inline-block;
        font-size: 16px;
    }
    .s-header nav ul li .t2 {
        display: inline-block;
        font-size: 13px;
        padding-left: 10px;
    }
    .s-header .tel {
        margin-left: 0px;
        padding: 10px 15px;
        text-align: center;
    }
    .s-header .tel .t1 {
        font-size: 30px;
    }
    .s-header .tel .t2 dl {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .s-header .tel .t2 dl dt {
        background: #233256;
        padding: 3px 7px;
    }
    .s-header .tel .t2 dl dd {
        margin-left: 10px;
        font-size: 13px;
        line-height: 1.3;
        text-align: left;
    }
    .s-header .btn {
        margin-left: 0px;
        background: #F2F4F7;
        border-top: 1px solid #E6E6E6;
        display: flex;
        justify-content: space-around;
        align-items: center;
        padding: 20px 0;
    }
    .s-header .btn a {
        background: #254D89;
        border: 1px solid #1E3E6C;
        border-radius: 5px;
        width: calc(50% - 15px);
        height: 50px;
        font-size: 16px;
    }
    .s-header .btn a.amazon {
        height: 80px;
    }
    .s-header .btn a span {
        display: inline-block;
        padding-left: 22px;
        margin-right: 5px;
        background: url(../img/ico_document.svg) no-repeat left center;
        background-size: 15px 20px;
    }
    .s-header .btn a.amazon span {
        display: inline-block;
        /*padding-left: 22px;
                margin-right: 5px;
                background: url(../img/ico_document.svg) no-repeat left center;
                background-size: 15px 20px; */
    }
    .s-header .btn .s1 {
        display: flex;
        align-items: center;
        justify-content: center;
        background: #47AFAC;
        border: 1px solid #3D9492;
        border-radius: 5px;
        width: calc(50% - 15px);
        box-sizing: border-box;
        font-size: 16px;
        color: #fff;
    }
    .s-header .btn .s1 span {
        display: inline-block;
        padding: 0 0px 0 24px;
        background: url(../img/ico_semi.png) no-repeat left center;
        background-size: 20px 16px;
    }
    .s-header .btn form {
        display: flex;
        justify-content: center;
        width: 50%;
    }
    .s-header .btn form>div {
        display: flex;
        justify-content: center;
        width: 100%;
    }
    .s-header .s-menu {
        width: 50px;
        height: 50px;
        position: absolute;
        top: 2px;
        right: 2px;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .s-header .s-menu span {
        display: block;
        width: 32px;
        height: 2px;
        background: #254D89;
        position: relative;
    }
    .s-header .s-menu span::before {
        content: "";
        width: 32px;
        height: 2px;
        background: #254D89;
        position: absolute;
        left: 0;
        top: -9px;
    }
    .s-header .s-menu span::after {
        content: "";
        width: 32px;
        height: 2px;
        background: #254D89;
        position: absolute;
        left: 0;
        top: 9px;
    }
    .s-nav .ttl {
        display: block;
    }
    .s-nav .ttl span {
        margin: 10px 0;
        font-size: 16px;
    }
    .s-nav .list-nav {
        background: #01203F;
        padding: 10px 10px 20px;
    }
    
    .s-nav .list-nav .list-menu .ttl {
        border: none;
        padding-right: 0;
        margin-right: 0;
        color: #fff;
        width: 100%;
        margin-bottom: 6px;
    }
    .header .nav-sp {
        display: none;
        position: absolute;
        top: 55px;
        left: 0;
        background: #01203F;
        width: 100%;
        box-sizing: border-box;
        padding: 10px 10px 20px;
        border-top: 1px solid rgba(255, 255, 255, 0.2);
    }
    .s-nav ul li .list-nav .list-menu {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: wrap;
        margin-left: -3px;
    }
    .s-nav ul li .list-nav .list-menu .list-area {
        width: calc(25% - 3px);
        margin-right: 0px;
        margin-left: 3px;
    }
    .s-nav ul li .list-nav .list-menu.col3 .list-area {
        width: calc(33% - 10px);
        margin-right: 0px;
        margin-left: 10px;
        margin-top: 7px;
    }
    .s-nav ul li .list-nav .list-menu .list-area a {
        display: block;
        width: auto;
        padding: 9px 5px 8px;
        font-size: 16px;
        color: #fff;
        box-sizing: border-box;
        text-align: center;
        position: relative;
        transition: .2s;
        height: 44px;
    }
    .s-nav ul li .list-nav .list-menu .list-area a::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        background: #01203F;
        border: 1px solid #01203F;
        box-sizing: border-box;
        border-radius: 3px;
        z-index: 2;
        transition: .2s;
    }
    .s-nav ul li .list-nav .list-menu .list-area a::after {
        display: block;
        transform: none;
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        background: rgba(35, 76, 164, 1);
        background: -moz-linear-gradient(-71deg, rgba(35, 76, 164, 1) 50%, rgba(29, 59, 131, 1) 53%);
        background: -webkit-linear-gradient(-71deg, rgba(35, 76, 164, 1) 50%, rgba(29, 59, 131, 1) 53%);
        background: linear-gradient(161deg, rgba(35, 76, 164, 1) 50%, rgba(29, 59, 131, 1) 53%);
        border: 1px solid #01203F;
        box-sizing: border-box;
        border-radius: 3px;
        z-index: 1;
    }
    .s-nav ul li .list-nav .list-menu .list-area a span {
        position: relative;
        z-index: 4;
    }
    .s-nav ul li .list-nav .list-menu .list-area a::before {
        opacity: 0;
    }
    .s-nav ul li .list-nav .list-menu .list-area a::after {
        border: 1px solid #6688D2;
    }
    .s-nav ul li .list-nav .list-menu .list-area.nagoya a::before {
        background: #143538;
        border: 1px solid #143538;
    }
    .s-nav ul li .list-nav .list-menu .list-area.nagoya a::after {
        background: rgba(32, 136, 154, 1);
        background: -moz-linear-gradient(-71deg, rgba(32, 136, 154, 1) 50%, rgba(27, 114, 129, 1) 53%);
        background: -webkit-linear-gradient(-71deg, rgba(32, 136, 154, 1) 50%, rgba(27, 114, 129, 1) 53%);
        background: linear-gradient(161deg, rgba(32, 136, 154, 1) 50%, rgba(27, 114, 129, 1) 53%);
        filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#20889A', endColorstr='#1B7281', GradientType=0);
        border: 1px solid #4AC4D9;
    }
    .s-nav ul li .list-nav .list-menu .list-area.nagoya a:hover::after {
        border: 1px solid #4AC4D9;
    }
    .s-nav ul li .list-nav .list-menu .list-area.kyoto a::before {
        background: #2B2310;
        border: 1px solid #2B2310;
    }
    .s-nav ul li .list-nav .list-menu .list-area.kyoto a::after {
        background: rgba(155, 112, 32, 1);
        background: -moz-linear-gradient(-71deg, rgba(155, 112, 32, 1) 50%, rgba(129, 94, 27, 1) 53%);
        background: -webkit-linear-gradient(-71deg, rgba(155, 112, 32, 1) 50%, rgba(129, 94, 27, 1) 53%);
        background: linear-gradient(161deg, rgba(155, 112, 32, 1) 50%, rgba(129, 94, 27, 1) 53%);
        filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#20889A', endColorstr='#1B7281', GradientType=0);
        border: 1px solid #D9AD4A;
    }
    .s-nav ul li .list-nav .list-menu .list-area.kyoto a:hover::after {
        border: 1px solid #D9AD4A;
    }
    .s-nav ul li .list-nav .list-menu .list-area.kobe a::before {
        background: #552020;
        border: 1px solid #552020;
    }
    .s-nav ul li .list-nav .list-menu .list-area.kobe a::after {
        background: rgba(154, 32, 32, 1);
        background: -moz-linear-gradient(-71deg, rgba(154, 32, 32, 1) 50%, rgba(129, 27, 27, 1) 53%);
        background: -webkit-linear-gradient(-71deg, rgba(154, 32, 32, 1) 50%, rgba(129, 27, 27, 1) 53%);
        background: linear-gradient(161deg, rgba(154, 32, 32, 1) 50%, rgba(129, 27, 27, 1) 53%);
        filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#20889A', endColorstr='#1B7281', GradientType=0);
        border: 1px solid #D94A4A;
    }
    .s-nav ul li .list-nav .list-menu .list-area.kobe a:hover::after {
        border: 1px solid #D94A4A;
    }
    .s-nav ul li .list-nav .list-menu .list-area.tokyo a::before {
        background: #252525;
        border: 1px solid #252525;
    }
    .s-nav ul li .list-nav .list-menu .list-area.tokyo a::after {
        background: rgb(107, 107, 107);
        background: -moz-linear-gradient(-71deg, rgb(107, 107, 107) 50%, rgb(69, 69, 69) 53%);
        background: -webkit-linear-gradient(-71deg, rgb(107, 107, 107) 50%, rgb(69, 69, 69) 53%);
        background: linear-gradient(161deg, rgb(107, 107, 107) 50%, rgb(69, 69, 69) 53%);
        filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#20889A', endColorstr='#1B7281', GradientType=0);
        border: 1px solid #848484;
    }
    .s-nav ul li .list-nav .list-menu .list-area.tokyo a:hover::after {
        border: 1px solid #848484;
    }
    .s-nav ul li .list-nav .list-menu .list-area.yokohama a::before {
        background: #331334;
        border: 1px solid #331334;
    }
    .s-nav ul li .list-nav .list-menu .list-area.yokohama a::after {
        background: rgba(98,36,138,1);
        background: -moz-linear-gradient(-71deg,  rgba(98,36,138,1) 50%, rgba(73,37,111,1) 53%);
        background: -webkit-linear-gradient(-71deg,  rgba(98,36,138,1) 50%,rgba(73,37,111,1) 53%);
        background: linear-gradient(161deg,  rgba(98,36,138,1) 50%,rgba(73,37,111,1) 53%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#62248A', endColorstr='#49256F',GradientType=0 );
        border: 1px solid #9562A6;
    }
    .s-nav ul li .list-nav .list-menu .list-area.yokohama a:hover::after {
        border: 1px solid #9562A6;
    }
    /*===================*/
    .s-footer {
        padding: 0px 0 50px;
        letter-spacing: 0;
    }
    .s-footer .nav-area {
        display: block;
        margin-bottom: 0px;
    }
    .s-footer .nav-area a {
        display: block;
    }
    .s-footer .nav-area .nav1 {
        font-size: 15px;
        width: calc(100% + 10px);
        margin-left: -5px;
    }
    .s-footer .nav-area .nav1 ul {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        margin-bottom: 0;
    }
    .s-footer .nav-area .nav1 li {
        width: 50%;
        box-sizing: border-box;
        margin-bottom: 0px;
        border-bottom: 1px solid #3A4961;
        margin-right: 0;
    }
    .s-footer .nav-area .nav1 li:nth-child(even) {
        border-left: 1px solid #3A4961;
    }
    .s-footer .nav-area .nav1 li a {
        padding: 11px 15px 9px;
    }
    .s-footer .nav-area .nav2 {
        font-size: 14px;
        padding: 20px 5px 15px;
        line-height: 1.2;
    }
    .s-footer .nav-area .nav2 li {
        margin-bottom: 8px;
    }
    .s-footer .nav-area .nav2 li a {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        box-sizing: border-box;
        width: 100%;
        height: 44px;
        padding: 5px 10px 5px 35px;
        background: #313F53 url(../img/ico_blank.svg) no-repeat 12px center;
        background-size: 15px 11px;
        border-radius: 22px;
    }
    .s-footer .data {
        font-size: 13px;
        width: calc(100% + 10px);
        margin-left: -5px;
        margin-bottom: 30px;
        box-sizing: border-box;
        padding: 20px;
    }
    .s-footer .data span {
        display: inline-flex;
        align-items: center;
        font-size: 12px;
        border: 1px solid #BBC6D7;
        padding: 2px 10px;
    }
    .s-footer .area {
        border-top: 1px solid #3A4961;
        border-bottom: 1px solid #3A4961;
        font-size: 13px;
        margin-bottom: 0px;
        padding: 20px 15px 10px;
    }
    .s-footer .area dl {
        display: block;
        margin-bottom: 20px;
    }
    .s-footer .area dl dt {
        white-space: nowrap;
        padding-right: 0px;
        width: auto;
        box-sizing: border-box;
    }
    .s-footer .copy {
        font-size: 12px;
        padding: 10px 15px 30px;
    }
}

@media screen and (max-width: 767px) {
  .f-footer .s-nav.sp {
      display: none !important;
  }
  .f-footer.is-menu-open .s-nav.sp {
      display: block !important;
  }
  .f-footer .s-nav {
      border-top: 1px solid #000;
      position: fixed;
      top: auto;
      bottom: 60px;
      right: 0;
      background: #fff;
      width: 100%;
      height: calc(100dvh - 130px);
      min-height: calc(100vh - 130px);
      overflow-y: auto;
      padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 24px);
      z-index: 20;
      max-width: 420px;
      left: auto;
      background: #FFF;
      font-family: YuMincho, 'Yu Mincho', 'Noto Serif JP', serif;
      font-weight: bold;
  }
  .f-footer .s-nav a {
      color: inherit;
      text-decoration: none;
  }
  .f-footer .s-nav nav {
      margin-left: 0px;
      margin-right: 0;
  }
  .f-footer .s-nav.sp .s-nav-in {
      display: block;
      width: 100%;
  }
  .f-footer .s-nav.sp nav,
  .f-footer .s-nav.sp .tel {
      width: 100%;
  }
  .f-footer .s-nav ul {
      padding-top: 0;
  }
  .f-footer .s-nav.sp > .s-nav-in > nav > ul {
      display: block;
  }
  .f-footer .s-nav.sp > .s-nav-in > nav > ul > li {
      border-top: none;
      border-bottom: 1px solid #E6E6E6;
  }
  .f-footer .s-nav.sp > .s-nav-in > nav > ul > li > a {
      display: block;
      padding: 10px 10px;
      min-width: 80px;
      box-sizing: border-box;
      position: relative;
      border: none;
  }
  .f-footer .s-nav.sp > .s-nav-in > nav > ul > li > a::after {
      display: none;
  }
  .f-footer .s-nav.sp > .s-nav-in > nav > ul > li > a .t1 {
      display: block;
      font-size: 10px;
      color: #000;
      text-align: center;
      letter-spacing: 0;
      white-space: nowrap;
  }
  .f-footer .s-nav.sp > .s-nav-in > nav > ul > li > a .t2 {
      display: block;
      font-size: 18px;
      padding-left: 0;
      text-align: center;
      color: #B6A148;
      white-space: nowrap;
      letter-spacing: 0;
  }
  .f-footer .s-nav.sp .tel {
      display: block;
      margin-left: 0px;
      padding: 10px 15px;
      text-align: center;
  }
  .f-footer .s-nav.sp .tel .t1 {
      height: auto;
      font-size: 30px;
      margin-top: 10px;
      color: #B6A148;
      line-height: 1;
  }
  .f-footer .s-nav.sp .tel .t1 span {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding-left: 35px;
      background: url(../img/ico_tel.svg) no-repeat left center;
      background-size: 25px 30px;
      white-space: nowrap;
      min-height: 32px;
  }
  .f-footer .s-nav.sp .tel .t2 {
      color: #000;
      margin-top: 10px;
  }
  .f-footer .s-nav.sp .tel .t2 dl {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
  }
  .f-footer .s-nav.sp .tel .t2 dl dt {
      padding: 3px 7px;
  }
  .f-footer .s-nav.sp .tel .t2 dl dd {
      margin-left: 10px;
      font-size: 13px;
      line-height: 1.3;
      text-align: left;
  }
  .f-footer .s-nav.sp .tel .request-info {
      position: static;
      width: 137px;
      margin: 20px auto 25px;
      font-size: 18px;
  }
  .f-footer .s-nav.sp .tel .request-info a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 42px;
      padding: 0 18px;
      background: #B6A148;
      color: #fff;
      box-sizing: border-box;
  }
  .f-footer .s-nav.sp .tel .request-info a span {
      display: inline-block;
      padding-left: 25px;
      background: url(../img/ico_document.svg) no-repeat left center;
      background-size: 15px 28px;
      white-space: nowrap;
  }
  .f-footer .s-nav.sp .ttl {
      display: block;
      flex-grow: 1;
  }
  .f-footer .s-nav.sp .ttl span {
      margin: 10px 0;
      font-size: 16px;
  }
  .f-footer .s-nav.sp .list-nav {
      background: #01203F;
      padding: 10px 10px 20px;
  }
  .f-footer .s-nav.sp .list-nav .list-menu .ttl {
      border: none;
      padding-right: 0;
      margin-right: 0;
      color: #fff;
      width: 100%;
      margin-bottom: 6px;
      text-align: center;
      line-height: 1.6;
  }
  .f-footer .s-nav.sp ul li .list-nav .list-menu {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap;
      margin-left: 0;
      margin-right: 0;
      gap: 7px 10px;
  }
  .f-footer .s-nav.sp ul li .list-nav .list-menu .list-area {
      width: calc(25% - 3px);
      margin-right: 0;
  }
  .f-footer .s-nav.sp ul li .list-nav .list-menu.col3 .list-area {
      width: calc(33% - 10px);
  }
  .f-footer .s-nav.sp ul li .list-nav .list-menu .list-area a {
      display: block;
      width: auto;
      padding: 9px 5px 8px;
      font-size: 16px;
      color: #fff;
      box-sizing: border-box;
      text-align: center;
      position: relative;
      transition: .2s;
      height: 44px;
  }
  .f-footer .s-nav.sp ul li .list-nav .list-menu .list-area a::before {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background: #01203F;
      border: 1px solid #01203F;
      box-sizing: border-box;
      border-radius: 3px;
      z-index: 2;
      transition: .2s;
      opacity: 0;
  }
  .f-footer .s-nav.sp ul li .list-nav .list-menu .list-area a::after {
      display: block;
      transform: none;
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background: rgba(35, 76, 164, 1);
      background: linear-gradient(161deg, rgba(35, 76, 164, 1) 50%, rgba(29, 59, 131, 1) 53%);
      border: 1px solid #6688D2;
      box-sizing: border-box;
      border-radius: 3px;
      z-index: 1;
  }
  .f-footer .s-nav.sp ul li .list-nav .list-menu .list-area a span {
      position: relative;
      z-index: 4;
  }
  .f-footer .s-nav.sp ul li .list-nav .list-menu .list-area.nagoya a::before {
      background: #143538;
      border: 1px solid #143538;
  }
  .f-footer .s-nav.sp ul li .list-nav .list-menu .list-area.nagoya a::after {
      background: linear-gradient(161deg, rgba(32, 136, 154, 1) 50%, rgba(27, 114, 129, 1) 53%);
      border: 1px solid #4AC4D9;
  }
  .f-footer .s-nav.sp ul li .list-nav .list-menu .list-area.kyoto a::before {
      background: #2B2310;
      border: 1px solid #2B2310;
  }
  .f-footer .s-nav.sp ul li .list-nav .list-menu .list-area.kyoto a::after {
      background: linear-gradient(161deg, rgba(155, 112, 32, 1) 50%, rgba(129, 94, 27, 1) 53%);
      border: 1px solid #D9AD4A;
  }
  .f-footer .s-nav.sp ul li .list-nav .list-menu .list-area.kobe a::before {
      background: #552020;
      border: 1px solid #552020;
  }
  .f-footer .s-nav.sp ul li .list-nav .list-menu .list-area.kobe a::after {
      background: linear-gradient(161deg, rgba(154, 32, 32, 1) 50%, rgba(129, 27, 27, 1) 53%);
      border: 1px solid #D94A4A;
  }
  .f-footer .s-nav.sp ul li .list-nav .list-menu .list-area.tokyo a::before {
      background: #252525;
      border: 1px solid #252525;
  }
  .f-footer .s-nav.sp ul li .list-nav .list-menu .list-area.tokyo a::after {
      background: linear-gradient(161deg, rgb(107, 107, 107) 50%, rgb(69, 69, 69) 53%);
      border: 1px solid #848484;
  }
  .f-footer .s-nav.sp ul li .list-nav .list-menu .list-area.yokohama a::before {
      background: #331334;
      border: 1px solid #331334;
  }
  .f-footer .s-nav.sp ul li .list-nav .list-menu .list-area.yokohama a::after {
      background: linear-gradient(161deg, rgba(98, 36, 138, 1) 50%, rgba(73, 37, 111, 1) 53%);
      border: 1px solid #9562A6;
  }
  .f-footer ul li.l6 .s-menu-footer.is-open span {
      background: transparent;
  }
  .f-footer ul li.l6 .s-menu-footer.is-open span::before {
      top: 0;
      transform: rotate(45deg);
  }
  .f-footer ul li.l6 .s-menu-footer.is-open span::after {
      top: 0;
      transform: rotate(-45deg);
  }
  .f-footer .s-nav ul li .list-nav .list-menu.col3 .list-area {
      margin-left: 0;
      margin-top: 0;
  }
  .f-footer {
      display: none;
      position: fixed;
      z-index: 10;
      right: 0;
      bottom: 0;
      background: #212A37;
      border-top: 1px solid #fff;
      border-left: 1px solid #fff;
      width: auto;
      min-width: 0;
  }
  .f-footer > ul {
      width: auto;
      display: flex;
      align-items: stretch;
  }
  .f-footer > ul > li {
      display: block;
      flex-grow: 1;
  }
  .f-footer > ul > li > a {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 60px;
      line-height: 1;
      width: 100%;
      box-sizing: border-box;
      padding: 0;
  }
  .f-footer > ul > li.l4 {
      width: 55px;
      padding: 0;
  }
  .f-footer > ul > li.l4 > a {
      width: 55px;
      background: linear-gradient(to bottom, rgba(17, 17, 17, 1) 0%, rgba(3, 34, 65, 1) 100%);
      position: relative;
      border: none;
  }
  .f-footer > ul > li.l6 {
      width: 55px;
      flex-basis: 55px;
  }
  .f-footer > ul > li.l6 .s-menu-footer {
      width: 55px;
      height: 55px;
      display: block;
      background: linear-gradient(to bottom, rgba(17, 17, 17, 1) 0%, rgba(3, 34, 65, 1) 100%);
      border: none;
      line-height: 1;
      padding: 0;
      position: relative;
      cursor: pointer;
      vertical-align: top;
      appearance: none;
      border-radius: 0;
  }
  .f-footer > ul > li.l6 .s-menu-footer span {
      display: block;
      width: 28px;
      height: 2px;
      background: #B6A148;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
  }
  .f-footer > ul > li.l6 .s-menu-footer span::before,
  .f-footer > ul > li.l6 .s-menu-footer span::after {
      content: "";
      width: 28px;
      height: 2px;
      background: #B6A148;
      position: absolute;
      left: 0;
  }
  .f-footer > ul > li.l6 .s-menu-footer span::before {
      top: -8px;
  }
  .f-footer > ul > li.l6 .s-menu-footer span::after {
      top: 8px;
  }
  .f-footer > ul > li.l5 {
      width: auto;
  }
  .f-footer > ul > li.l5 > a {
      /*background: rgba(182, 161, 72, 0.5);
      border: none;*/
      padding: 0 20px;
  }
  .f-footer > ul > li.l3 {
      width: auto;
  }
  .f-footer > ul > li.l3 > a {
      background: #B6A148;
      border: none;
      color: #fff;
      padding: 0 20px;
  }
  .f-footer > ul > li > a span {
      display: flex;
      align-items: center;
      height: 100%;
      line-height: 1.2;
      padding-top: 0;
      padding-bottom: 0;
      min-height: unset;
  }
  .f-footer > ul > li.l5 > a span {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0 0 0 25px;
      background: url(../img/ico_blu.svg) no-repeat left center;
      background-size: 20px 20px;
      font-size: 20px;
      line-height: 1;
  }
  .f-footer > ul > li.l3 > a span {
      height: auto;
      display: inline-block;
      padding: 0 0 0 22px;
      background: url(../img/ico_document.svg) no-repeat left center;
      background-size: 12px 16px;
      font-size: 16px;
  }
    .f-footer > ul > li.l2 form>div {
        display: flex;
        flex-grow: 1;
    }
    .f-footer > ul > li.l2 button {
        height: 60px;
        padding: 0 2px;
        flex-grow: 1;
    }
    .f-footer .pc{
        display: none !important;
    }
    .f-footer .sp{
        display: block !important;
    }
    .f-footer {
        width: 100%;
        min-width: 100%;
        left: 0;
        right: 0;
        border-left: none;
    }
    .f-footer > ul {
        width: 100%;
    }
    .f-footer > ul > li {
        flex-grow: 0;
        flex-shrink: 0;
    }
    .f-footer > ul > li > a {
        height: 55px;
    }
    .f-footer > ul > li.l5 {
        width: calc((100% - 55px) / 2);
    }
    .f-footer > ul > li.l5 > a {
        padding: 0;
        width: 100%;
        border-left: none;
        border-right: none;
    }
    .f-footer > ul > li.l5 > a span {
        font-size: 15px;
    }
    .f-footer > ul > li.l3 {
        width: calc((100% - 55px) / 2);
    }
    .f-footer > ul > li.l3 > a {
        padding: 0;
    }
    .f-footer > ul > li.l2 button {
        height: 55px;
    }
    /*soldout時の記述*/
    .soldout {
        top: 150px;
    }
    .soldout .soldout-txt {
        width: 94%;
        font-size: 50px;
        padding: 50px 0;
        letter-spacing: 16px;
        font-weight: bold;
    }
    .soldout .soldout-txt span {
        font-size: 21px;
    }
    .soldout .soldout-txt p.message {
        font-size: 16px;
        line-height: 1.5em;
        margin-top: 20px;
    }
    /*===================*/
    .main-img {
        position: relative;
    }
    .main-img .img-area {
        position: absolute;
        width: 100%;
        height: 600px;
        overflow: hidden;
        text-align: center;
        z-index: 2;
    }
    .main-img .img-area .img {
        height: 600px;
        position: relative;
    }
    .main-img .img-area img {
        height: 600px;
        width: auto;
        max-width: none;
        position: relative;
    }
    .main-img .txt-area {
        position: relative;
        width: 100%;
        height: 600px;
        left: 0;
        top: 0;
        z-index: 3;
        padding: 30px 0 0;
    }
    .main-img .txt-area .wrap {
        height: 100%;
    }
    .main-img .txt-area .main-img-txt {
        height: 100%;
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        align-items: flex-end;
        position: static;
        padding: 0 10px 80px;
        z-index: 3;
    }
    .main-img .main-txt {
        font-size: 45px;
        color: #fff;
        line-height: 1.0;
        font-weight: 400;
        margin-bottom: 200px;
        position: absolute;
        left: 0;
        top: 0;
        padding: 0 15px;
        text-shadow: 2px 2px 4px rgba(0, 0, 0, .5);
    }
    .main-img .txt-area .txt-box {
        width: auto;
        box-sizing: border-box;
        padding: 20px;
        color: #fff;
        background: rgba(0, 0, 0, .6);
    }
    .main-img .txt-area .txt-box .t1 {
        display: block;
        margin-bottom: 15px;
    }
    .main-img .txt-area .txt-box .t1 .t1-1 {
        width: auto;
        font-size: 22px;
        margin-bottom: 15px;
    }
    .main-img .txt-area .txt-box .t1 .t1-2 {
        flex-wrap: wrap;
        width: auto;
        border-left: none;
        font-size: 22px;
        padding-bottom: 0px;
    }
    .main-img .txt-area .txt-box .t1 .t1-2>div {
        display: inline-block;
    }
    .main-img .txt-area .txt-box .t1 .t1-2 .t1-2-1 span {
        font-size: 35px;
    }
    .main-img .txt-area .txt-box .t1 .t1-2 .t1-2-2 {
        font-size: 18px;
    }
    .main-img .txt-area .txt-box .t2 {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .main-img .txt-area .txt-box .t2 .date {
        justify-content: center;
        flex-wrap: wrap;
        font-size: 14px;
        margin-bottom: 10px;
    }
    .main-img .txt-area .txt-box .t2 .date>div {
        margin: 2px 5px;
    }
    .main-img .txt-area .txt-box .t2 .date span {
        display: inline-block;
        color: #fff;
        background: #000000;
        width: 80px;
        margin-right: 10px;
        font-size: 12px;
        border-radius: 10px;
        padding: 1px 0;
        letter-spacing: 0;
    }
    .main-img .txt-area .txt-box .t2 .price dl {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .main-img .txt-area .txt-box .t2 .price dl dt {
        font-size: 16px;
        padding: 5px 10px;
        letter-spacing: 0;
        line-height: 1.2;
        text-align: center;
    }
    .main-img .txt-area .txt-box .t2 .price dl dt span {
        font-size: 13px;
        display: inline-block;
    }
    .main-img .txt-area .txt-box .t2 .price dl dd {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        line-height: 1.2;
        margin-left: 20px;
    }
    .main-img .txt-area .txt-box .t2 .price dl dd .p1 {
        font-size: 17px;
        white-space: nowrap;
    }
    .main-img .txt-area .txt-box .t2 .price dl dd .p2 {
        font-size: 18px;
        margin-left: 10px;
        white-space: nowrap;
    }
    .main-img .txt-area .txt-box .t2 .price dl dd .p2 span {
        font-size: 34px;
        letter-spacing: 0;
    }
    .main-img .txt-area .txt-box .t2 .price.p2 {
        margin-bottom: 10px;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        position: relative;
        padding-left: 5em;
    }
    .main-img .txt-area .txt-box .t2 .price.p2 dl {
        margin-left: 0;
    }
    .main-img .txt-area .txt-box .t2 .price.p2 dl dt {
        font-size: 14px;
        padding: 3px 5px 2px;
    }
    .main-img .txt-area .txt-box .t2 .price.p2 dl dd .p2 {
        font-size: 15px;
    }
    .main-img .txt-area .txt-box .t2 .price.p2 dl dd .p2 span {
        font-size: 26px;
    }
    .main-img .txt-area .txt-box .t2 .price .p3 {
        position: absolute;
        top: 50%;
        left: 0;
        margin-left: 0px;
        margin-bottom: 0px;
        text-align: center;
        font-size: 14px;
        transform: translateY(-50%);
    }
    .main-img .txt-area .txt-box .t2 .price .p3 span {
        display: block;
        margin-left: 0px;
    }
    .main-img .txt-area2 {
        height: 150px;
        z-index: 2;
        position: relative;
    }
    .main-img .txt-area2 .wrap {
        width: calc(100% + 10px);
        margin-left: -5px;
        box-sizing: border-box;
    }
    .main-img .txt-area2 .txt {
        width: auto;
        font-size: 14px;
        box-sizing: border-box;
        position: relative;
        z-index: 2;
        height: 150px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        background: #020E1C;
        padding: 0 15px;
        padding-right: 50px;
    }
    .main-img .txt-area2 .txt::after {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0 150px 50px;
        border-color: transparent transparent #ffffff transparent;
        position: absolute;
        right: 0px;
        top: 0;
        z-index: 2;
    }
    .main-img .txt-area2 .txt .ttl {
        position: absolute;
        bottom: 135px;
        left: 0;
        font-size: 26px;
        line-height: 1.1;
        white-space: nowrap;
        padding: 0 15px;
        box-sizing: border-box;
    }
    .main-img .txt-area2 .txt p {
        padding-top: 5px;
        letter-spacing: 0;
    }
    .main-img .txt-area2 .img {
        width: 100%;
        height: 150px;
        background: none;
        position: absolute;
        bottom: 0;
        left: 0;
        right: auto;
        z-index: 1;
    }
    .main-img .txt-area2 .img::before {
        display: none;
    }
    .main-img .txt-area2 .img::after {
        display: none;
    }
    .main-img .txt-area2 .img img {
        max-width: none;
        width: 700px;
        bottom: 150px;
        left: calc(50% - 320px);
        right: auto;
        z-index: 1;
    }
    .main-img .txt-area2 .wrap::after {
        display: none;
    }
    .main-img.sp_s2 {}
    .main-img.sp_s2 .img-area {
        position: relative;
        width: 100%;
        height: 380px;
    }
    .main-img.sp_s2 .img-area .img {
        height: 100%;
    }
    .main-img.sp_s2 .sp_s2-txt {
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        bottom: 0;
        z-index: 2;
    }
    .main-img.sp_s2 .sp_s2-txt .build-img {
        position: absolute;
        width: 100%;
        height: 400px;
        bottom: 0;
        left: 0;
        z-index: 2;
    }
    .main-img.sp_s2 .sp_s2-txt .build-img img {
        height: 400px;
        position: absolute;
        transform: translate(-50%, 0);
        -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
        left: calc(50% + 20px);
        bottom: -13px;
    }
    .main-img.sp_s2 .sp_s2-txt .main-txt {
        position: absolute;
        font-size: 45px;
        top: auto;
        bottom: 25px;
        left: 10px;
        margin-bottom: 0;
        z-index: 2;
    }
    .main-img.sp_s2 .txt-area {
        position: relative;
        width: auto;
        height: auto;
        box-sizing: border-box;
        padding: 20px 10px;
        background: #020E1C;
    }
    .main-img.sp_s2 .txt-area .main-img-txt {
        padding: 0;
    }
    .main-img.sp_s2 .txt-area .main-img-txt .main-txt {
        display: none;
    }
    .main-img.sp_s2 .txt-area .txt-box {
        background: none;
        padding: 0 0 10px;
    }
    .main-img.sp_s2 .txt-area .txt-box .t1 {
        text-align: left;
    }
    .main-img.sp_s2 .txt-area .txt-box .t1 .t1-1 {
        font-size: 20px;
    }
    .main-img.sp_s2 .txt-area2 {
        height: auto;
        padding-bottom: 20px;
    }
    .main-img.sp_s2 .txt-area2 .txt {
        flex-direction: column;
        align-items: flex-start;
        height: auto;
        padding: 0 15px;
    }
    .main-img.sp_s2 .txt-area2 .txt::after {
        display: none;
    }
    .main-img.sp_s2 .txt-area2 .txt .ttl {
        position: static;
        padding: 0;
        font-size: 22px;
        margin-bottom: 5px;
    }
    .main-img.sp_s2 .txt-area2 .img img {
        display: none;
    }
    /*===================*/
    .main-img2 {
        margin-bottom: 100px;
    }
    .main-img2 .main-img2-img {
        position: relative;
    }
    .main-img2 .main-img2-img .txt-0 {
        position: absolute;
        width: 100%;
        top: 50%;
        left: 0;
        text-align: center;
        font-size: 30px;
        z-index: 1;
        transform: translateY(-50%);
    }
    .main-img2 .main-img2-img .txt-0 span {
        display: inline-block;
    }
    .main-img2 .main-img2-img .img {
        position: relative;
        z-index: 2;
        height: 470px;
        overflow: hidden;
    }
    .main-img2 .main-img2-img .img div {
        position: absolute;
        width: 750px;
        height: 470px;
        left: 0;
        top: 0;
    }
    .main-img2 .main-img2-img .img img {
        position: absolute;
        width: 750px;
        height: 470px;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
    }
    .main-img2 .main-img2-img .txt {
        position: absolute;
        width: 100%;
        top: 60px;
        left: 20px;
        z-index: 3;
    }
    .main-img2 .main-img2-img .txt .t1 {
        color: #efb817;
        font-size: 60px;
        font-weight: 700;
        line-height: 1;
    }
    .main-img2 .main-img2-img .txt .t1>div {
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }
    .main-img2 .main-img2-img .txt .t2 {
        font-size: 21px;
        color: #26405b;
        line-height: 1.3;
        font-weight: 500;
        padding-top: 15px;
        margin-left: 20px;
    }
    .main-img2 .main-img2-txt {
        padding: 30px 10px 40px;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
    .main-img2 .main-img2-txt .t1 {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        margin-bottom: 15px;
    }
    .main-img2 .main-img2-txt .t1 .t1-1 {
        width: auto;
        font-size: 21px;
        margin-bottom: 20px;
    }
    .main-img2 .main-img2-txt .t1 .date {
        justify-content: flex-start;
        flex-wrap: wrap;
        font-size: 14px;
        margin-left: -30px;
    }
    .main-img2 .main-img2-txt .t1 .date>div {
        margin: 2px 5px 2px 30px;
    }
    .main-img2 .main-img2-txt .t1 .date span {
        width: 80px;
        font-size: 12px;
        padding: 1px 0;
    }
    .main-img2 .main-img2-txt .t2 {
        display: block;
        margin-bottom: 20px;
    }
    .main-img2 .main-img2-txt .t2 .date {
        justify-content: flex-start;
        flex-wrap: wrap;
        font-size: 14px;
        margin-left: -30px;
    }
    .main-img2 .main-img2-txt .t2 .date>div {
        margin: 2px 5px 2px 30px;
    }
    .main-img2 .main-img2-txt .t2 .date span {
        width: 80px;
        font-size: 12px;
        padding: 1px 0;
    }
    .main-img2 .main-img2-txt .t2 .price {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-wrap: wrap;
        margin-left: -30px;
    }
    .main-img2 .main-img2-txt .t2 .price dl {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-left: 30px;
    }
    .main-img2 .main-img2-txt .t2 .price dl dt {
        font-size: 16px;
        padding: 5px 30px;
        font-weight: 600;
    }
    .main-img2 .main-img2-txt .t2 .price dl dt span {
        font-size: 14px;
    }
    .main-img2 .main-img2-txt .t2 .price dl dd {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        line-height: 1.2;
        margin-left: 20px;
    }
    .main-img2 .main-img2-txt .t2 .price dl dd .p1 {
        font-size: 17px;
        white-space: nowrap;
    }
    .main-img2 .main-img2-txt .t2 .price dl dd .p2 {
        font-size: 18px;
        margin-left: 10px;
        white-space: nowrap;
    }
    .main-img2 .main-img2-txt .t2 .price dl dd .p2 span {
        font-size: 34px;
        letter-spacing: 0;
    }
    .main-img2 .main-img2-txt .t2 .price.p2 {
        margin-left: 0px;
        margin-bottom: 10px;
        flex-direction: column;
        align-items: flex-start;
    }
    .main-img2 .main-img2-txt .t2 .price.p2 dl {
        margin-left: 0px;
    }
    .main-img2 .main-img2-txt .t2 .price.p2 dl dt {
        font-size: 14px;
        padding: 3px 5px 3px;
    }
    .main-img2 .main-img2-txt .t2 .price.p2 dl dd {
        margin-left: 10px;
    }
    .main-img2 .main-img2-txt .t2 .price.p2 dl dd .p2 {
        font-size: 15px;
        margin-left: 0px;
    }
    .main-img2 .main-img2-txt .t2 .price.p2 dl dd .p2 span {
        font-size: 26px;
        margin-right: 5px;
    }
    .main-img2 .main-img2-txt .t2 .price .p3 {
        position: static;
        top: 0;
        left: 0;
        margin-left: 5px;
        margin-bottom: 10px;
        text-align: left;
        font-size: 14px;
    }
    .main-img2 .main-img2-txt .t2 .price .p3 span {
        display: inline-block;
        margin-left: 5px;
    }
    /*===================*/
    .block-ttl {
        margin-bottom: 30px;
    }
    .block-ttl .main {
        font-size: 40px;
    }
    .block-ttl .sub {
        font-size: 18px;
    }
    .block-ttl.border::before {
        height: 100px;
        top: -130px;
    }
    /*===================*/
    .tabs {
        display: none;
        justify-content: flex-start;
        flex-wrap: wrap;
        margin-left: -5px;
    }
    .tabs li {
        color: #fff;
        background: #000;
        padding: 12px 20px 11px;
        border-radius: 5px 5px 5px 5px;
        margin-left: 5px;
        margin-bottom: 2px;
        font-size: 16px;
        line-height: 1.4;
        letter-spacing: 0;
        cursor: pointer;
        width: 100%;
        box-sizing: border-box;
    }
    .tabs li.active {
        background: #47AFAC;
    }
    .tab-body {
        height: auto;
        padding: 0 30px;
    }
    .tab-body-arrow {
        width: 40px;
        height: 80px;
        top: 150px;
    }
    .tab-body-arrow.prev {
        left: 0px;
    }
    .tab-body-arrow.next {
        right: 0px;
    }
    .tab-body-arrow::after {
        width: 35px;
        height: 35px;
    }
    .tab-body-arrow.prev::after {
        left: 15px;
    }
    .tab-body-arrow.next::after {
        right: 15px;
    }
    .tab-body .txt-img {
        height: auto;
    }
    .tab-body .txt-img .img-area>div {
        flex-grow: 1;
        padding: 0px 0 30px;
    }
    .location-ti {
        padding: 0 10px 0px;
    }
    .location-ti .txt-img {
        padding: 0 20px;
    }
    .location-ti .txt-img .img-area {
        padding: 0 20px;
    }
    /*===================*/
    .location-slide {
        margin-bottom: 80px;
    }
    .location-slide .main {
        background: #F2F4F7;
        position: relative;
    }
    .location-slide .main::before {
        content: "";
        box-sizing: border-box;
        width: calc(100% - 16px);
        height: calc(100% - 16px);
        border: 1px solid #D9DADF;
        position: absolute;
        top: 8px;
        left: 8px;
    }
    .location-slide .main li {
        display: block;
        display: flex;
        align-items: stretch;
        height: auto;
    }
    .location-slide .main li .l-in {
        display: block;
    }
    .location-slide .main li::before,
    .location-slide .main li::after,
    .location-slide .main li .l-in::before,
    .location-slide .main li .l-in::after {
        display: none;
    }
    .location-slide .main li .img {
        width: 100%;
    }
    .location-slide .main li .txt {
        width: 100%;
        box-sizing: border-box;
        padding: 20px;
    }
    .location-slide .main li .txt .ttl-area {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        margin-bottom: 20px;
    }
    .location-slide .main li .txt .ttl-area .time {
        width: 70px;
        height: 70px;
        border-radius: 35px;
        font-size: 17px;
        line-height: 65px;
    }
    .location-slide .main li .txt .ttl-area .time span {
        font-weight: 700;
        font-size: 32px;
    }
    .location-slide .main li .txt .ttl-area .ttl {
        width: calc(100% - 70px);
        padding-left: 15px;
        font-size: 20px;
    }
    .location-slide .main li .txt .ttl-area .ttl .t1 {
        margin-bottom: 8px;
    }
    .location-slide .main li .txt .ttl-area .ttl .t2 {
        letter-spacing: 0;
    }
    .location-slide .main li .txt p {
        letter-spacing: 0;
        font-size: 14px;
    }
    .location-slide .list {
        overflow: hidden;
        padding: 3px 3px 0;
    }
    .location-slide .list ul {
        width: 100%;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        margin-left: -3px;
        padding: 0 0px;
        box-sizing: border-box;
    }
    .location-slide .list ul li {
        margin-left: 3px;
        position: relative;
        width: calc(20% - 3px);
    }
    .location-slide .list ul li img {
        height: auto;
        opacity: .2;
        transition: .2s;
    }
    .location-slide .list ul li:hover img,
    .location-slide .list ul li.active img {
        opacity: 1;
    }
    .location-slide .list ul li .txt {
        display: none;
    }
    /*===================*/
    .txt-img-bg {
        padding-top: 140px;
        background-repeat: none;
        background-position: top center;
        background-size: 100% auto;
    }
    .txt-img-bg.bg-right {
        background-repeat: none;
        background-position: center right;
        background-size: auto;
    }
    .txt-img {
        display: block;
    }
    .txt-img.f-end {
        justify-content: flex-end;
    }
    .txt-img .txt-area {
        width: 100%;
        padding: 0 15px;
    }
    .txt-img .img-area {
        display: flex;
        align-items: center;
    }
    .txt-img .img-area-bg {
        position: relative;
        z-index: 1;
        width: 100%;
    }
    .txt-img .img-area-bg>div {
        position: static;
        width: 100%;
        height: auto;
        left: 0;
        background-size: auto;
        background-position: center left;
        justify-content: center;
    }
    .txt-img .img-area-bg.absolute>div {
        position: absolute;
        width: 2000px;
        height: 1000px;
        left: -120px;
        bottom: -20px;
        background-size: auto;
        background-position: bottom left;
    }
    .txt-img .img-area-bg.absolute2 {}
    .txt-img .img-area-bg.absolute2>div {
        position: absolute;
        width: 2000px;
        height: 1000px;
        left: auto;
        right: 0;
        bottom: 0;
        background-size: auto;
        background-position: bottom right;
    }
    .txt-img .vertical-txt {
        position: absolute;
        top: -120px;
        left: 0;
        flex-grow: 1;
        font-size: 28px;
        width: 100%;
        box-sizing: border-box;
        padding: 0 15px;
        writing-mode: horizontal-tb;
        line-height: 1.6;
        padding-top: 0px;
    }
    .txt-img.i680 .img-area {
        width: auto;
    }
    .txt-img.i680 .txt-area {
        width: auto;
        padding: 0;
    }
    .txt-img.t680 .txt-area {
        width: auto;
    }
    .txt-img.t680 .img-area,
    .txt-img.t680 .img-area-bg {
        width: auto;
    }
    .txt-img.t620 .txt-area {
        width: auto;
    }
    .txt-img.t620 .img-area-bg {
        width: auto;
    }
    .txt-img.t500 .txt-area {
        width: auto;
    }
    .txt-img.t500 .img-area-bg {
        width: auto;
    }
    .txt-img.half .txt-area {
        width: auto;
    }
    .txt-img.half .img-area {
        width: auto;
    }
    .txt-img.i740 .img-area {
        width: auto;
    }
    .txt-img.i740 .txt-area {
        width: auto;
        padding: 0;
    }
    .txt-img .btn {
        display: flex;
        justify-content: flex-start;
        position: relative;
        z-index: 5;
    }
    .txt-img .btn>div {
        border: 1px solid #1E3E6C;
        border-radius: 1px;
        width: 280px;
        text-align: center;
        box-sizing: border-box;
        padding: 5px;
        color: #1F3F6C;
        letter-spacing: 0;
        cursor: pointer;
        background: #fff;
    }
    .txt-img .btn>div.detail span {
        display: inline-block;
        background: url(../img/ico_detail.svg) no-repeat left center;
        background-size: 26px 26px;
        padding: 5px 10px 5px 35px;
    }
    /*===================*/
    .sub-ttl {
        font-size: 18px;
        padding-left: 25px;
    }
    .sub-ttl::before {
        top: 3px;
    }
    .sub-ttl.c2 {
        font-size: 18px;
    }
    .sub-ttl.c2::before {
        top: 7px;
    }
    .sub-ttl.border {
        border-bottom: 2px solid #47AFAC;
        padding-bottom: 10px;
    }
    .sub-ttl2 {
        font-size: 17px;
        margin-bottom: 20px;
    }
    .sub-ttl2::before {
        left: -110px;
    }
    .sub-ttl2 .bg {
        display: inline-block;
        background: #254D89;
        color: #fff;
        padding: 0 15px;
        margin-left: 20px;
    }
    .c-txt.bg-img {
        background-position: right top;
        background-repeat: no-repeat;
    }
    .c-table {
        margin-bottom: 30px;
    }
    .c-table table {
        background: #fff;
    }
    .c-table table th {
        padding: 12px 10px;
    }
    .c-table table td {
        font-size: 20px;
    }
    .c-table::after {
        height: 35px;
        bottom: -5px;
        right: -5px;
    }
    .c-img {
        margin-bottom: 10px;
    }
    .c-img img {
        height: auto;
    }
    /*===================*/
    .location-txt-list {
        padding: 20px 0;
    }
    .location-txt-list .list {
        display: block;
        margin-left: 0px;
    }
    .location-txt-list .list ul {
        margin-left: 0px;
    }
    .location-txt-list li {
        padding: 12px;
        font-size: 16px;
    }
    .location-txt-list.border-none {
        padding: 0;
        border-top: none;
    }
    .txt-img .txt-area .location-txt-list li {
        font-size: 15px;
    }
    /*===================*/
    .company-list {
        display: block;
        width: 100%;
    }
    .company-list .ttl {
        width: auto;
        box-sizing: border-box;
        padding: 10px 20px;
        font-size: 17px;
        line-height: 1.4;
        letter-spacing: 0;
    }
    .company-list .list {
        width: auto;
        border: 1px solid #243257;
        background: #f3f4f8;
        display: block;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: wrap;
        font-size: 14px;
        letter-spacing: 0;
        padding: 20px 20px 20px 20px;
    }
    .company-list .list ul {
        flex-grow: 1;
    }
    .company-list .list ul li {
        margin: 5px 0;
    }
    .company-list .list .more-btn {
        display: block;
        border: 1px solid #254D89;
        font-size: 16px;
        padding: 5px;
        width: 200px;
        margin: 20px auto 0;
        text-align: center;
        border-radius: 20px;
        cursor: pointer;
        position: relative;
    }
    .company-list .list .more-btn::after {
        content: "";
        position: absolute;
        display: block;
        width: 6px;
        height: 6px;
        border-bottom: 1px solid #254D89;
        border-right: 1px solid #254D89;
        box-sizing: border-box;
        top: calc(50% - 0px);
        right: 15px;
        transform: translateY(-50%) rotate(45deg);
    }
    .company-list .list .s-ac {
        display: none;
    }
    .company-list .list .s-ac-in {
        display: block;
    }
    /*===================*/
    .access-txt-area {}
    .access-txt {
        font-size: 28px;
        margin-bottom: 40px;
        padding: 0px 10px;
    }
    .access-txt:last-child {
        margin-bottom: 0;
    }
    .access-txt .sub {
        font-size: 18px;
        line-height: 1.2;
        margin-bottom: 5px;
    }
    .access-txt .num {
        font-size: 50px;
        font-weight: 500;
        line-height: 0;
    }
    .access-txt-area.column {
        margin-left: 0px;
        padding-top: 40px;
        margin-top: 30px;
        box-sizing: border-box;
    }
    .access-txt-area.column .access-txt {
        flex-grow: 1;
        width: auto;
        box-sizing: border-box;
        font-size: 18px;
        padding-left: 10px;
    }
    .access-txt-area.column .access-txt .sub {
        font-size: 16px;
    }
    .access-txt-area.column .access-txt .num {
        font-size: 32px;
    }
    .access-box {
        background: #08172D url(../img/access_box.png) no-repeat center right;
        padding: 15px 20px;
        text-shadow: 2px 2px 3px rgba(0, 0, 0, .5);
    }
    .access-box .ttl {
        font-weight: 600;
        font-size: 18px;
        letter-spacing: 0;
        margin-bottom: 15px;
    }
    .access-box .access-txt {
        font-size: 18px;
        margin-bottom: 20px;
        padding: 0;
    }
    .access-box .access-txt:last-child {
        margin-bottom: 0;
    }
    .access-box .access-txt .sub {
        margin-bottom: 10px;
        font-size: 16px;
    }
    .access-box .access-txt .num {
        font-size: 30px;
    }
    /*===================*/
    .map-area {
        margin-bottom: 5px;
    }
    .map-list {
        padding: 0 40px;
        position: relative;
    }
    .map-list .slick-track {
        width: auto;
    }
    .map-list ul {
        margin-left: 0px;
        display: flex;
        justify-content: center;
        align-items: flex-start;
    }
    .map-list ul li {
        width: auto !important;
        padding: 0 10px;
        box-sizing: border-box;
    }
    .map-list ul li .img {
        margin-bottom: 5px;
    }
    .map-list ul li .ttl {
        padding-left: 25px;
        font-size: 17px;
        background: url(../img/ico_maker.svg) no-repeat left 3px;
        background-size: 15px 24px;
    }
    .map-list ul li p {
        padding-left: 25px;
        font-size: 13px;
    }
    /*===================*/
    .bg-tri {
        transform: skewY(12deg);
        transform-origin: bottom left;
        position: relative;
        z-index: 2;
        padding-top: 80px;
        background: #fff;
        margin-top: -70px;
        height: 850px;
    }
    .bg-tri .bg-tri-in {
        transform: skewY(-12deg);
        transform-origin: bottom left;
        position: relative;
    }
    .bg-tri .bg-tri-img {
        transform: skewY(-12deg);
        transform-origin: bottom left;
        width: 100%;
        height: 850px;
        background: url(../img/main_build.png) no-repeat calc(50% + 80px) bottom;
        background-size: auto 550px;
        position: absolute;
        top: auto;
        bottom: 0;
        left: 0;
        z-index: 1;
    }
    .bg-tri2 {
        margin-top: -0;
        position: relative;
        z-index: 3;
        background: #000;
        background-size: auto;
    }
    .bg-tri2::before {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0 60px 100vw;
        border-color: transparent transparent #000000 transparent;
        position: absolute;
        top: -60px;
        left: 0;
    }
    .bg-tri2 .txt-img {
        padding: 30px 0 0px;
    }
    .bg-tri2 .txt-img .img-area {
        width: calc(100% + 10px);
        margin-left: -5px;
    }
    .tri-next-p {
        box-sizing: border-box;
    }
    /*===================*/
    .plan-column-outer {
        border-top: 1px solid #B9C6D8;
        border-bottom: 1px solid #B9C6D8;
        background: none;
    }
    .plan-column {
        display: block;
        width: calc(100% + 10px);
        margin-left: -5px;
    }
    .plan-column .column {
        width: auto;
        text-align: center;
        padding: 20px 0;
        position: relative;
        display: flex;
        align-items: flex-start;
        justify-content: space-around;
    }
    .plan-column .column:nth-child(odd) {
        background: #B9C6D8;
    }
    .plan-column .column .txt-area {
        width: calc(100% - 170px);
        box-sizing: border-box;
        padding: 30px 20px;
        flex-grow: 1;
    }
    .plan-column .column .img {
        width: 170px;
        flex-grow: 1;
    }
    .plan-column .column .img img {
        height: auto;
    }
    .plan .ttl {
        font-size: 26px;
        margin-bottom: 30px;
        white-space: nowrap;
        letter-spacing: 0;
    }
    .plan .ttl span {
        font-size: 36px;
    }
    .plan .data {
        margin-bottom: 30px;
        display: flex;
        justify-content: center;
    }
    .plan .data ul li::before {
        top: 4px;
    }
    .plan .btn {
        width: 100%;
        margin: 0 auto;
        box-sizing: border-box;
        padding: 15px;
    }
    .pop-block .plan-column .column {
        width: 100%;
        padding: 20px 0;
        background: none;
        display: block;
    }
    .pop-block .plan .txt-area {
        display: block;
        margin-bottom: 40px;
        width: auto;
        padding: 0;
        text-align: center;
    }
    .pop-block .plan .ttl {
        font-size: 30px;
        margin-bottom: 20px;
    }
    .pop-block .plan .data {
        margin-bottom: 0px;
        justify-content: center;
    }
    .pop-block .plan .data ul li {
        margin: 3px 0;
        padding-left: 20px;
    }
    .pop-block .data ul li::before {
        background: #222;
    }
    .plan-column .column .btn {
        width: 100%;
        max-width: 270px;
        margin-bottom: 20px;
    }
    .pop-block .plan .img {
        text-align: center;
        width: 100%;
        box-sizing: border-box;
        padding: 0 10px;
    }
    .plan .color {
        padding: 15px 20px;
        text-align: left;
    }
    .plan .color .color-ttl {
        color: #47AFAC;
        font-size: 22px;
        margin-bottom: 20px;
    }
    .plan .color dl {
        display: block;
    }
    .plan .color dl:last-child {
        margin-bottom: 0;
    }
    .plan .color dl dt {
        width: auto;
        padding-bottom: 10px;
    }
    .plan .color dl dd {
        width: auto;
    }
    .plan .color dl dd ul {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
    }
    .plan .color dl dd ul li {
        width: 25%;
        text-align: center;
    }
    .plan .color dl dd .color-img {
        display: block;
        margin: 0 auto 5px;
    }
    .plan .color dl dd .color-txt {
        letter-spacing: 0;
    }
    .pop-ti-outer {
        margin-bottom: 50px;
    }
    .pop-ti-outer:last-child {
        margin-bottom: 0;
    }
    .pop-ti-ttl {
        font-size: 20px;
        margin-bottom: 15px;
    }
    .pop-ti .pop-ti-img {
        position: relative;
        width: 120px;
    }
    .pop-ti .pop-ti-txt {
        width: calc(100% - 120px);
    }
    .pop-ti.i34 .pop-ti-txt {
        width: calc(100% - 140px);
    }
    .pop-ti.i34 .pop-ti-img {
        width: 140px;
    }
    .pop-ti.i21 .pop-ti-txt {
        width: calc(100% - 140px);
    }
    .pop-ti.i21 .pop-ti-img {
        width: 140px;
    }
    .pop-ti .pop-ti-img p {
        font-size: 11px;
        line-height: 1;
        position: absolute;
        right: 3px;
        bottom: 3px;
        color: #fff;
    }
    .pop-ti .pop-ti-txt {
        padding: 20px 0 20px 20px;
        font-size: 14px;
        letter-spacing: 0;
        width: calc(100% - 150px);
        box-sizing: border-box;
    }
    .pop-ti .pop-ti-txt .txt-ttl {
        margin-bottom: 20px;
        font-size: 18px;
    }
    .pop-close-btn {
        background: #233256;
        color: #fff;
        border: 1px solid #212A37;
        margin: 0 auto 30px;
        width: 280px;
        cursor: pointer;
    }
    .pop-close-btn span {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        width: 100%;
        height: 60px;
        font-size: 20px;
    }
    .pop-close-btn span::before {
        content: "";
        width: 50px;
        height: 1px;
        background: #fff;
        position: absolute;
        left: 10px;
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
    }
    .pop-close-btn span::after {
        content: "";
        width: 50px;
        height: 1px;
        background: #fff;
        position: absolute;
        left: 10px;
        top: 50%;
        transform: translateY(-50%) rotate(-45deg);
    }
    /*===================*/
    .iot-list {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        align-items: flex-start;
        margin-left: -15px;
    }
    .iot-list .item {
        width: calc(50% - 15px);
        margin-left: 15px;
    }
    .iot-list .item .img {
        margin-bottom: 10px;
    }
    .iot-list .item .img p {
        text-align: right;
        font-size: 11px;
    }
    .iot-list .item dl {
        letter-spacing: 0;
    }
    .iot-list .item dl dt {
        padding-bottom: 8px;
        padding-left: 18px;
        font-size: 16px;
        margin-bottom: 10px;
        line-height: 1.4;
    }
    .iot-list .item dl dt::before {
        top: 7px;
    }
    .iot-list .item dl dd {
        font-size: 15px;
    }
    .iot .c-txt.w390 {
        width: 100%;
    }
    /*===================*/
    .quad-list {
        margin-bottom: 40px;
    }
    .quad-list ul {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
        margin-left: -10px;
    }
    .quad-list ul li {
        margin-left: 10px;
        width: calc(50% - 10px);
        margin-bottom: 30px;
    }
    .quad-list ul li .img {
        margin-bottom: 10px;
    }
    .quad-list ul li .txt {
        line-height: 1.4;
        font-size: 13px;
    }
    /*===================*/
    .half-column {
        display: block;
    }
    .half-column .column {
        width: auto;
    }
    /*===================*/
    .c-box {
        padding: 30px 20px;
    }
    .c-box .box-ttl {
        padding: 16px 0 14px;
        font-size: 19px;
        margin-bottom: 15px;
        line-height: 1.4;
    }
    /*===================*/
    .b-c-sk-end {
        min-width: 0px;
        height: 50px;
        bottom: -50px;
    }
    .b-c-sk-end>div {
        border-width: 50px 50vw 0 0;
    }
    .b-c-sk-end::after {
        border-width: 0 50vw 50px 0;
    }
    .b-c-sk-end::before {
        border-width: 50px 70vw 0 0;
    }
    /*===================*/
    .b-c-archive {}
    .archive-txt {
        width: calc(100% - 40px);
        margin: 0 auto 30px;
    }
    .border-ttl {
        display: inline-block;
        min-width: 80%;
        box-sizing: border-box;
        padding: 10px 20px 9px;
        font-size: 28px;
        margin-bottom: 50px;
    }
    /*===================*/
    .archive-ico {
        margin-bottom: 40px;
    }
    .archive-ico ul {
        display: flex;
        justify-content: center;
        align-items: flex-start;
        flex-wrap: wrap;
    }
    .archive-ico ul li {
        margin: 0 5px 10px;
        width: calc(50% - 10px);
    }
    /*===================*/
    .archive-list {
        padding: 0 15px;
    }
    .archive-list ul {
        display: block;
        margin-top: 0;
        margin-left: 0px;
    }
    .archive-list ul li {
        width: auto;
        margin: 0 0 60px;
        padding-bottom: 45px;
    }
    .archive-list ul li .link {
        margin-bottom: 15px;
    }
    .archive-list ul li .link a .img-area {
        width: 90px;
    }
    .archive-list ul li .link a .txt-area {
        width: calc(100% - 90px);
        padding: 10px 20px 10px 10px;
    }
    .archive-list ul li .link a .txt-area .tag {
        font-size: 15px;
    }
    .archive-list ul li .link a .txt-area .ttl {
        font-size: 18px;
    }
    .archive-list #a-slide {
        padding: 0 25px;
        position: relative;
    }
    .archive-list #a-slide .slick-prev {
        left: -25px;
    }
    .archive-list #a-slide .slick-next {
        right: -25px;
    }

    .sec-information-area {
      margin-top: 35px;
      padding: 40px 20px 45px;
      background: #F2F4F7;
    }

    .sec-information-list__item {
      width: 100%;
    }

    .sec-information-list__item + .sec-information-list__item {
      margin-top: 15px;
    }

    .sec-information-list__text {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      padding: 10px;
      width: 49.71429%;
      color: #fff;
      background: -webkit-gradient(linear, left top, right top, from(#0650AA), to(#1066C1));
      background: -webkit-linear-gradient(left, #0650AA, #1066C1);
      background: linear-gradient(to right, #0650AA, #1066C1);
    }

    .sec-information-list__text .icon {
      display: block;
      margin-left: auto;
      width: 12px;
      height: 12px;
      background: url(/assets/images/urban/index/area_icon.svg) no-repeat center center/contain;
    }

    .sec-information-list__img {
      width: 50%;
    }

    .sec-information-list__img::after {
      content: '';
      display: block;
      width: 100%;
      padding-top: 78.40909%;
      background: url(/assets/images/urban/index/area_img01_sp@2x.jpg) no-repeat center center/cover;
    }

    .sec-information-list__img.img02::after {
      background-image: url(/assets/images/urban/index/area_img02_sp@2x.jpg);
    }

    .sec-information-list__img.img03::after {
      background-image: url(/assets/images/urban/index/area_img03_sp@2x.jpg);
    }

    .sec-information-list__img.img04::after {
      background-image: url(/assets/images/urban/index/area_img04_sp@2x.jpg);
    }

    .sec-information-list__img.img05::after {
      background-image: url(/assets/images/urban/index/area_img05_sp@2x.jpg);
    }

    .sec-information-list__img.img06::after {
      background-image: url(/assets/images/urban/index/area_img06_sp@2x.jpg);
    }
    /*===================*/
    .inq-area {
        padding: 0 10px;
    }
    .inq-area .btn {
        display: block;
        color: #fff;
        margin: 20px 0 20px 0;
        padding: 0 10px;
    }
    .inq-area .btn a {
        display: inline-block;
        width: 100%;
        margin: 0 0px 15px;
        padding: 15px 20px;
        font-size: 20px;
    }
    .inq-area .btn button {
        display: inline-block;
        width: 100%;
        margin: 0 0px 15px;
        padding: 15px 20px;
        font-size: 20px;
    }
    .inq-area .tel {
        font-size: 40px;
        line-height: 1;
        color: #254D89;
        margin-bottom: 20px;
        letter-spacing: 0;
    }
    .inq-area .tel span {
        display: inline-block;
        padding: 0 20px 0 45px;
        background: url(../img/ico_tel.svg) no-repeat left 12px;
        background-size: 35px 22px;
    }
    .inq-area .date {
        line-height: 1.5;
        letter-spacing: 0;
        position: relative;
        padding-left: 100px;
        display: inline-block;
        text-align: left;
        margin-right: 0 !important;
    }
    .inq-area .date::before {
        position: absolute;
        left: 0;
        top: -6px;
        display: block;
        padding: 0 10px;
        margin-right: 10px;
        line-height: 36px;
        width: 90px;
        text-align: center;
    }
    .inq-area .n_siryo img {
        width: 100%;
    }
    /*===================*/
    .out-line {
        padding: 0 10px;
    }
    .out-line .half-column .column {
        width: 100%;
    }
    .out-line-table {}
    .out-line-table .ttl {
        font-size: 19px;
    }
    .out-line-table .table {
        font-size: 14px;
        line-height: 1.4;
    }
    .out-line-table .table table {
        letter-spacing: 0;
        width: 100%;
    }
    .out-line-table .table table th {
        min-width: 130px;
        padding: 0 0 10px 0px;
    }
    .out-line-table .table table td {
        padding: 0 0 10px 10px;
    }
    .out-line-table .table2 {
        line-height: 1.4;
    }
    .out-line-table .table2 table {
        letter-spacing: 0;
        width: 100%;
    }
    .out-line-table .table2 table th {
        white-space: nowrap;
        padding: 10px 10px;
        font-size: 16px;
    }
    .out-line-table .table2 table td {
        padding: 10px 10px;
        font-size: 14px;
    }
    .out-line-table .table2.s-over {
        overflow-x: scroll;
    }
    .out-line-table .table2.s-over table {
        width: 100%;
        min-width: 900px;
    }
    .out-line-table .list {
        font-size: 15px;
        line-height: 1.5;
        border: 1px solid #7C95B6;
        padding: 20px 20px;
        display: block;
        align-items: flex-start;
        justify-content: flex-start;
        margin-bottom: 10px;
    }
    .out-line-table .list .list-block {
        margin-left: 0px;
    }
    .out-line-table .list dl {
        display: flex;
        padding: 5px 0;
    }
    .out-line-table .list dl dt {
        color: #254C88;
        padding-right: 30px;
    }
    /* pop---------*/
    .pop-block {
        background: rgba(0, 0, 0, 0.8);
    }
    .pop-block .pop-block-in {
        padding: 70px 0;
    }
    .pop-block .box {
        padding: 30px 20px 10px;
    }
    /* スマホ用フッターアコーディオン*/
  .footer-accordion__tab {
    position: relative;
    margin: 0 0 9px 0;
  }
  .footer-accordion__tab::after,.footer-accordion__tab::before{
    content: '';
    position: absolute;
    right: 15px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    background-color: #BBC6D7;
    width: 15px;
    height: 1px;
    transition: all 0.3s;
  }

  .footer-accordion__tab::after  {
    transform: rotate(90deg);
  }
  .footer-accordion__tab.active::before {
    content: '';
    position: absolute;
    right: 15px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    background-color: #BBC6D7;
    width: 15px;
    height: 1px;
    transition: all 0.3s;
  }
  .footer-accordion__tab.active::after {
    transform: rotate(180deg);
  }

  .footer-accordion__content {
    display: none;
  }

  .footer-accordion__content.active {
    display: block;
  }

  .footer-accordion__content p span {
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    border: 1px solid #BBC6D7;;
    padding: 2px 10px;
    margin-left: 10px;
  }
}


/*=====================================================================*/

@media screen and (max-width: 1280px) {
  .s-header2 {
      display: flex;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 55px;
  }
  .s-header2::after {
      content: none;
  }
  .s-header2 .s-header-inner {
      background: none;
      border-radius: 0px;
      box-shadow: none;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      box-sizing: border-box;
      height: 55px;
      padding: 0px 45px 0px 10px;
      margin: 0;
      letter-spacing: 1px;
  }
  .s-header2 .s-header-inner .ttl {
      margin-left: 10px;
  }
  .s-header2 .s-header-inner .sp .ttl {
      margin-left: 10px;
  }
  .s-header2 .logo {
      width: auto;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      padding: 0 0 0 5px;
  }

  .s-header2 .logo::after {
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 55px 15px 0 0;
      border-color: #FFF transparent transparent transparent;
      position: absolute;
      right: -15px;
      top: 0;
      z-index: 2;
  }
  .s-header2 .logo img {
      width: auto;
      height: 30px;
  }
  .s-header2 .ttl {
      margin-left: 10px;
  }
  .s-header2 .ttl .t1 {
      font-size: 14px;
      line-height: 1.1;
      margin-bottom: 2px;
  }
  .s-header2 .ttl .t2 {
      font-size: 11px;
      line-height: 1.1;
  }
  .s-header2 .ttl .t3 {
      font-size: 12px;
      line-height: 1.1;
      letter-spacing: 0;
  }
  .s-header2 .s-nav {
      display: none;
      border-top: none;
  }
  .s-header2 nav {
      margin-left: 0px;
      margin-right: 0;
  }
  .s-header2 .s-nav-in {
    display: block;
    background: #FFF;
  }
  .s-header2 .s-nav-in ul {
      padding-top: 0;
  }
  .s-header2 nav ul {
      display: block;
  }
  .s-header2 nav ul li {
      border-bottom: 1px solid #E6E6E6;
  }
  .s-header2 nav ul li a {
      padding: 5px 0;
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
  }
  .s-header2 nav ul li a::after {
      display: none;
  }
  .s-header2 nav ul li .t1 {
      display: inline-block;
      font-size: 10px;
      color: #000;
  }
  .s-header2 nav ul li .t2 {
      display: inline-block;
      font-size: 18px;
      padding-left: 10px;
  }
  .s-header2 .tel {
      margin-left: 0px;
      padding: 10px 15px;
      text-align: center;
  }
  .s-header2 .tel .t1 {
      height: auto;
      font-size: 30px;
      margin-top: 20px;
  }
  .s-header2 .tel .t1 span {
      background: url(../img/ico_tel.svg) no-repeat;
      background-size: 25px 30px;
      display: inline-block;
      padding-left: 35px;
  }
  .s-header2 .tel .t2 {
    color: #000;
    margin-top: 15px;
  }
  .s-header2 .tel .t2 dl {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
  }
  .s-header2 .tel .t2 dl dt {
      padding: 3px 7px;
  }
  .s-header2 .tel .t2 dl dd {
      margin-left: 10px;
      font-size: 13px;
      line-height: 1.3;
      text-align: left;
  }
  .s-header2 .tel .request-info {
      position: static;
      width: 270px;
      margin: 20px auto 25px;
      font-size: 18px;
  }
  .s-header2 .tel .request-info a span {
      padding-left: 25px;
      background-size: 15px 28px;
  }
  .s-header2 .btn {
      margin-left: 0px;
      background: #F2F4F7;
      border-top: 1px solid #E6E6E6;
      display: flex;
      justify-content: space-around;
      align-items: center;
      padding: 20px 0;
  }
  .s-header2 .s-menu {
      width: 50px;
      height: 50px;
      position: absolute;
      top: 2px;
      right: 2px;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
  }
  .s-header2 .s-menu span {
      display: block;
      width: 32px;
      height: 2px;
      background: #B6A148;
      position: relative;
  }
  .s-header2 .s-menu span::before {
      content: "";
      width: 32px;
      height: 2px;
      background: #B6A148;
      position: absolute;
      left: 0;
      top: -9px;
  }
  .s-header2 .s-menu span::after {
      content: "";
      width: 32px;
      height: 2px;
      background: #B6A148;
      position: absolute;
      left: 0;
      top: 9px;
  }
  .s-header2 .s-nav {
      border-top: 1px solid #000;
      position: fixed;
      top: 55px;
      left: 0;
      right: 0;
      background: #fff;
      width: 100%;
      display: none;
      height: calc(100dvh - 55px);
      min-height: calc(100vh - 55px);
      overflow-y: auto;
      padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 60px);
      z-index: 20;
  }
  .s-header2 nav {
      margin-left: 0px;
  }
  .s-header2 .s-nav .ttl {
      display: block;
  }
  .s-header2 .s-nav .ttl span {
      margin: 10px 0;
      font-size: 16px;
  }
  .s-header2 .s-nav .list-nav {
      background: #01203F;
      padding: 10px 10px 20px;
  }
  .s-header2 .s-nav .list-nav .list-menu .ttl {
      border: none;
      padding-right: 0;
      margin-right: 0;
      color: #fff;
      width: 100%;
      margin-bottom: 6px;
  }
  .s-header2 .header .nav-sp {
      display: none;
      position: absolute;
      top: 55px;
      left: 0;
      background: #01203F;
      width: 100%;
      box-sizing: border-box;
      padding: 10px 10px 20px;
      border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
  .s-header2 .s-nav ul li .list-nav .list-menu {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      flex-wrap: wrap;
      margin-left: -3px;
  }
  .s-header2 .s-nav ul li .list-nav .list-menu .list-area {
      width: calc(25% - 3px);
      margin-right: 0px;
      margin-left: 3px;
  }
  .s-header2 .s-nav ul li .list-nav .list-menu.col3 .list-area {
      width: calc(33% - 10px);
      margin-right: 0px;
      margin-left: 10px;
      margin-top: 7px;
  }
  .s-header2 .s-nav ul li .list-nav .list-menu .list-area a {
      display: block;
      width: auto;
      padding: 9px 5px 8px;
      font-size: 16px;
      color: #fff;
      box-sizing: border-box;
      text-align: center;
      position: relative;
      transition: .2s;
      height: 44px;
  }
  .s-header2 .s-nav ul li .list-nav .list-menu .list-area a::before {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background: #01203F;
      border: 1px solid #01203F;
      box-sizing: border-box;
      border-radius: 3px;
      z-index: 2;
      transition: .2s;
  }
  .s-header2 .s-nav ul li .list-nav .list-menu .list-area a::after {
      display: block;
      transform: none;
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background: rgba(35, 76, 164, 1);
      background: -moz-linear-gradient(-71deg, rgba(35, 76, 164, 1) 50%, rgba(29, 59, 131, 1) 53%);
      background: -webkit-linear-gradient(-71deg, rgba(35, 76, 164, 1) 50%, rgba(29, 59, 131, 1) 53%);
      background: linear-gradient(161deg, rgba(35, 76, 164, 1) 50%, rgba(29, 59, 131, 1) 53%);
      border: 1px solid #01203F;
      box-sizing: border-box;
      border-radius: 3px;
      z-index: 1;
  }
  .s-header2 .s-nav ul li .list-nav .list-menu .list-area a span {
      position: relative;
      z-index: 4;
  }
  .s-header2 .s-nav ul li .list-nav .list-menu .list-area a::before {
      opacity: 0;
  }
  .s-header2 .s-nav ul li .list-nav .list-menu .list-area a::after {
      border: 1px solid #6688D2;
  }
  .s-header2 .s-nav ul li .list-nav .list-menu .list-area.nagoya a::before {
      background: #143538;
      border: 1px solid #143538;
  }
  .s-header2 .s-nav ul li .list-nav .list-menu .list-area.nagoya a::after {
      background: rgba(32, 136, 154, 1);
      background: -moz-linear-gradient(-71deg, rgba(32, 136, 154, 1) 50%, rgba(27, 114, 129, 1) 53%);
      background: -webkit-linear-gradient(-71deg, rgba(32, 136, 154, 1) 50%, rgba(27, 114, 129, 1) 53%);
      background: linear-gradient(161deg, rgba(32, 136, 154, 1) 50%, rgba(27, 114, 129, 1) 53%);
      filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#20889A', endColorstr='#1B7281', GradientType=0);
      border: 1px solid #4AC4D9;
  }
  .s-header2 .s-nav ul li .list-nav .list-menu .list-area.nagoya a:hover::after {
      border: 1px solid #4AC4D9;
  }
  .s-header2 .s-nav ul li .list-nav .list-menu .list-area.kyoto a::before {
      background: #2B2310;
      border: 1px solid #2B2310;
  }
  .s-header2 .s-nav ul li .list-nav .list-menu .list-area.kyoto a::after {
      background: rgba(155, 112, 32, 1);
      background: -moz-linear-gradient(-71deg, rgba(155, 112, 32, 1) 50%, rgba(129, 94, 27, 1) 53%);
      background: -webkit-linear-gradient(-71deg, rgba(155, 112, 32, 1) 50%, rgba(129, 94, 27, 1) 53%);
      background: linear-gradient(161deg, rgba(155, 112, 32, 1) 50%, rgba(129, 94, 27, 1) 53%);
      filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#20889A', endColorstr='#1B7281', GradientType=0);
      border: 1px solid #D9AD4A;
  }
  .s-header2 .s-nav ul li .list-nav .list-menu .list-area.kyoto a:hover::after {
      border: 1px solid #D9AD4A;
  }
  .s-header2 .s-nav ul li .list-nav .list-menu .list-area.kobe a::before {
      background: #552020;
      border: 1px solid #552020;
  }
  .s-header2 .s-nav ul li .list-nav .list-menu .list-area.kobe a::after {
      background: rgba(154, 32, 32, 1);
      background: -moz-linear-gradient(-71deg, rgba(154, 32, 32, 1) 50%, rgba(129, 27, 27, 1) 53%);
      background: -webkit-linear-gradient(-71deg, rgba(154, 32, 32, 1) 50%, rgba(129, 27, 27, 1) 53%);
      background: linear-gradient(161deg, rgba(154, 32, 32, 1) 50%, rgba(129, 27, 27, 1) 53%);
      filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#20889A', endColorstr='#1B7281', GradientType=0);
      border: 1px solid #D94A4A;
  }
  .s-header2 .s-nav ul li .list-nav .list-menu .list-area.kobe a:hover::after {
      border: 1px solid #D94A4A;
  }
  .s-header2 .s-nav ul li .list-nav .list-menu .list-area.tokyo a::before {
      background: #252525;
      border: 1px solid #252525;
  }
  .s-header2 .s-nav ul li .list-nav .list-menu .list-area.tokyo a::after {
      background: rgb(107, 107, 107);
      background: -moz-linear-gradient(-71deg, rgb(107, 107, 107) 50%, rgb(69, 69, 69) 53%);
      background: -webkit-linear-gradient(-71deg, rgb(107, 107, 107) 50%, rgb(69, 69, 69) 53%);
      background: linear-gradient(161deg, rgb(107, 107, 107) 50%, rgb(69, 69, 69) 53%);
      filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#20889A', endColorstr='#1B7281', GradientType=0);
      border: 1px solid #848484;
  }
  .s-header2 .s-nav ul li .list-nav .list-menu .list-area.tokyo a:hover::after {
      border: 1px solid #848484;
  }
  .s-header2 .s-nav ul li .list-nav .list-menu .list-area.yokohama a::before {
      background: #331334;
      border: 1px solid #331334;
  }
  .s-header2 .s-nav ul li .list-nav .list-menu .list-area.yokohama a::after {
      background: rgba(98,36,138,1);
      background: -moz-linear-gradient(-71deg,  rgba(98,36,138,1) 50%, rgba(73,37,111,1) 53%);
      background: -webkit-linear-gradient(-71deg,  rgba(98,36,138,1) 50%,rgba(73,37,111,1) 53%);
      background: linear-gradient(161deg,  rgba(98,36,138,1) 50%,rgba(73,37,111,1) 53%);
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#62248A', endColorstr='#49256F',GradientType=0 );
      border: 1px solid #9562A6;
  }
  .s-header2 .s-nav ul li .list-nav .list-menu .list-area.yokohama a:hover::after {
      border: 1px solid #9562A6;
  }
  .f-footer ul li .list-nav .list-menu.col3 {
      display: none;
  }
}
@media screen and (max-width: 767px) {
  .s-header3 {
      display: flex;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 55px;
  }
  .s-header3::after {
      content: none;
  }
  .s-header3 .s-header-inner {
      background: none;
      border-radius: 0px;
      box-shadow: none;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      box-sizing: border-box;
      height: 55px;
      padding: 0px 45px 0px 10px;
      margin: 0;
      letter-spacing: 1px;
  }
  .s-header3.old .s-header-inner {
      padding: 0px 45px 0px 20px;
  }
  .s-header3 .s-header-inner .ttl {
      margin-left: 0;
  }
  .s-header3 .logo {
      width: auto;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      padding: 0 0 0 8px;
  }

  .s-header3 .logo::after {
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 55px 15px 0 0;
      border-color: #FFF transparent transparent transparent;
      position: absolute;
      right: -15px;
      top: 0;
      z-index: 2;
  }
  .s-header3 .logo img {
      width: 100px;
      height: auto;
  }
  .s-header3 .ttl {
      margin-left: 10px;
      display: flex;
      align-items: center;
  }
  .s-header3 .ttl .t1 {
      font-size: 14px;
      line-height: 1.1;
      margin-bottom: 2px;
  }
  .s-header3 .ttl .project-logo {
      display: inline-flex;
      align-items: center;
      flex-shrink: 0;
      margin-right: 6px;
  }
  .s-header3 .ttl .project-logo img {
      height: 33px;
      width: auto;
      max-width: none;
      flex-shrink: 0;
  }
  .s-header3 .ttl .t2 {
      font-size: 11px;
      line-height: 1.1;
  }
  .s-header3 .ttl .t3 {
      font-size: 12px;
      line-height: 1.1;
      letter-spacing: 0;
  }
  .s-header3 .pc {
      display: none !important;
  }
  .s-header3 .sp {
      display: block;
  }
  .s-header3 .s-nav.pc {
      display: none !important;
  }
  .f-footer .s-nav {
      border-top: none;
      left: 0;
      max-width: none;
      bottom: 55px;
      height: calc(100dvh - 110px);
      min-height: calc(100vh - 110px);
  }
  .s-header3 .s-nav-in {
    display: none;
  }
  .s-header3 .s-nav {
    display: none;
    background: none;
  }
}
@media screen and (min-width: 1281px) {
  .s-header2 .sp-none {
    display: none !important;
  }
  .s-header3 .sp-none {
    display: none !important;
  }
}
