/* Scss Document */
#sec1 {
  background: url("../img/concept/sec1_deco1.png") no-repeat -14vw 0/74%; }
  #sec1 .lead {
    position: relative;
    padding: 0 0; }
    #sec1 .lead h2 {
      position: absolute;
      top: 65vw;
      left: -4%;
      right: -2%;
      z-index: 1; }
    #sec1 .lead .photo1 {
      margin: 0 -56vw -10vw 30%; }
    #sec1 .lead .photo2 {
      margin: 0 16vw 0 -30vw; }

.sec-group {
  background: url("../img/concept/sec3_bg.png") no-repeat center 0/cover;
  padding: 15vw 5%; }
  .sec-group .sec-box {
    background-color: #fff; }

#sec2 {
  background: url("../img/concept/sec2_deco1.jpg") no-repeat right 0/45%, url("../img/concept/sec2_deco2.jpg") no-repeat 0 40vw/45%;
  padding: 15vw 0 0; }
  #sec2 h2 {
    text-align: center;
    font-size: 6vw;
    line-height: 1.5;
    font-weight: 500;
    padding-bottom: 0;
    letter-spacing: 0.2em;
    padding-bottom: 10vw; }
    #sec2 h2 .fnt-Noto {
      font-weight: 700; }
    #sec2 h2 .t1 {
      font-size: 6.5vw; }
    #sec2 h2 i {
      font-weight: 500;
      position: relative; }
      #sec2 h2 i:before {
        content: '';
        position: absolute;
        left: -5vw;
        right: -3vw;
        height: 4vw;
        bottom: 0;
        background-color: rgba(30, 30, 99, 0.25); }
      #sec2 h2 i span {
        font-size: 12vw; }
        #sec2 h2 i span.t3 {
          font-size: 9vw; }
  #sec2 .photo {
    position: relative;
    z-index: 1; }
    #sec2 .photo:before {
      content: '';
      position: absolute;
      top: -34vw;
      left: 31vw;
      border-left: 1px solid #dadada;
      transform: rotate(-45deg);
      height: 154vw; }

#sec3 {
  background: url("../img/concept/sec3_deco.jpg") no-repeat right 70vw/45%;
  padding: 10vw 0; }
  #sec3 h2 {
    width: 35%;
    margin: 0 auto 10vw; }
  #sec3 .js-fade .menu dl {
    position: relative; }
    #sec3 .js-fade .menu dl dt {
      overflow: hidden;
      margin: 5vw 0; }
      #sec3 .js-fade .menu dl dt span {
        font-size: 6vw;
        line-height: 1.8;
        border-bottom: 1px solid;
        font-weight: 500;
        letter-spacing: 0.2em; }
        #sec3 .js-fade .menu dl dt span.fnt-Noto {
          float: right;
          font-weight: 700;
          font-size: 8.6vw; }
          #sec3 .js-fade .menu dl dt span.fnt-Noto.ext {
            margin-right: 15vw; }
  #sec3 .bnr-shared {
    width: 90%;
    margin: 0 auto; }

.js-thumb {
  padding: 5vw 0 10vw; }
  .js-thumb .slick-track {
    transform: none !important;
    width: 100% !important;
    display: flex !important;
    gap: 5px; }
    .js-thumb .slick-track li {
      background-color: #000; }
    .js-thumb .slick-track img {
      opacity: 0.6; }
    .js-thumb .slick-track .slick-current li img {
      opacity: 1; }

.sec-gr2 {
  position: relative;
  z-index: 1; }

#sec4 {
  background: url("../img/concept/sec4_deco1.png") no-repeat 0 62vw/55%; }
  #sec4 .photo {
    height: 65vw;
    margin: 0 -5vw 10vw; }
  #sec4 .info {
    position: relative; }
    #sec4 .info h2 {
      width: 42%;
      position: absolute;
      top: 1vw;
      right: 4vw;
      z-index: 1; }
      #sec4 .info h2:before {
        content: '';
        border-left: 1px solid;
        position: absolute;
        left: 7vw;
        height: 7vw;
        bottom: -7vw; }
    #sec4 .info .deco {
      padding: 0 23vw 5vw 5vw; }

#sec5 {
  background: url("../img/concept/sec5_deco3.png") no-repeat right bottom/40%;
  padding: 15vw 0;
  position: relative; }
  #sec5:before {
    content: '';
    position: absolute;
    top: -74vw;
    right: 0vw;
    border-left: 1px solid #dadada;
    transform: rotate(45deg);
    height: 154vw; }
  #sec5 h2 {
    width: 15%;
    margin: 0 auto 10vw; }
  #sec5 .deco1 {
    width: 25%;
    position: absolute;
    top: 17vw;
    right: -2vw;
    z-index: 1; }
  #sec5 .menu .photo {
    position: relative; }
    #sec5 .menu .photo .sub {
      width: 30%;
      position: absolute;
      right: 0;
      top: 10vw;
      z-index: 1; }
  #sec5 .menu dl {
    padding: 5vw 0; }
    #sec5 .menu dl dt {
      line-height: 1.6;
      font-weight: 500;
      position: relative;
      padding: 16vw 0 0; }
      #sec5 .menu dl dt:after {
        content: "." !important;
        clear: both !important;
        display: block !important;
        height: 0 !important;
        visibility: hidden !important; }
      #sec5 .menu dl dt .fnt-Noto {
        font-weight: 700; }
      #sec5 .menu dl dt i {
        margin-bottom: 10px;
        border-bottom: 1px solid;
        display: inline-block;
        font-size: 6vw;
        width: 100%;
        font-weight: 500; }
        #sec5 .menu dl dt i .t {
          font-size: 8.6vw;
          font-weight: 700;
          letter-spacing: 0.2em; }
        #sec5 .menu dl dt i.w_a {
          width: auto;
          float: right; }
        #sec5 .menu dl dt i.w_a_l {
          width: auto; }
      #sec5 .menu dl dt .catch {
        position: absolute;
        top: 0;
        right: 0;
        background: url("../img/concept/sec5_catch.png") no-repeat center bottom/100%;
        font-size: 4.8vw;
        font-weight: 700;
        text-align: center;
        width: 59vw;
        letter-spacing: 0.15em;
        padding: 0px 0  8vw;
        white-space: nowrap; }
  #sec5 .link {
    width: 90%;
    margin: 0 auto; }
    #sec5 .link .bnr-shared a {
      padding-left: 10px;
      font-size: 17px;
      letter-spacing: 0; }

#sec6 {
  background: url("../img/concept/sec6_deco1.png") no-repeat right 78vw/46%;
  position: relative;
  padding-bottom: 10vw; }
  #sec6 .photo {
    height: 80vw;
    width: 90%;
    margin: 0 auto; }
  #sec6 .bnr-shared {
    width: 90%;
    margin: 10vw auto 0;
    position: relative; }
    #sec6 .bnr-shared:before {
      content: '';
      background: url("../img/concept/sec6_deco2.png") no-repeat 0 0/100%;
      width: 18vw;
      height: 39vw;
      position: absolute;
      right: -5vw;
      top: -3vw;
      z-index: 1;
      pointer-events: none; }
  #sec6 .info {
    padding: 10vw 5%; }
    #sec6 .info h2 {
      font-weight: 700;
      text-align: center;
      font-size: 8.6vw;
      line-height: 1.4;
      letter-spacing: 0.2em;
      margin-bottom: 5vw; }
      #sec6 .info h2 i {
        font-weight: 700;
        position: relative;
        z-index: 1; }
        #sec6 .info h2 i:before {
          content: '';
          position: absolute;
          left: -5vw;
          right: -3vw;
          height: 4vw;
          bottom: 0;
          background-color: rgba(30, 30, 99, 0.25);
          z-index: -1; }
      #sec6 .info h2 .t {
        font-size: 12vw; }
      #sec6 .info h2 span {
        letter-spacing: 0.2em; }
      #sec6 .info h2 .fnt-NotoSan {
        font-weight: 500;
        font-size: 6vw; }

.remodal {
  padding: 5vw 5%; }
  .remodal .wrap {
    padding: 5vw 0; }
  .remodal h2 {
    text-align: center;
    padding-bottom: 20px; }
    .remodal h2 span {
      display: inline-block;
      border-bottom: 2px solid;
      font-size: 20px;
      font-weight: 500;
      letter-spacing: 0.2em;
      padding: 0 10px 10px; }
    .remodal h2 i {
      font-size: 18px;
      letter-spacing: 0.2em;
      font-weight: 500; }
  .remodal .menu-shared {
    font-size: 13px;
    line-height: 22px; }
    .remodal .menu-shared .note {
      padding-bottom: 20px; }
    .remodal .menu-shared .f-note {
      padding: 20px 0; }
    .remodal .menu-shared .tit {
      text-align: left;
      border-bottom: 1px solid #c4c0bc;
      padding: 10px 0; }
    .remodal .menu-shared .total {
      background-color: rgba(64, 64, 64, 0.3);
      padding: 20px 0 20px 30px;
      text-align: left;
      max-width: 230px;
      margin: 0 auto; }
    .remodal .menu-shared .menu-list {
      width: 100%; }
      .remodal .menu-shared .menu-list dl {
        text-align: left;
        border-bottom: 1px solid #c4c0bc;
        padding: 10px 0;
        display: flex;
        letter-spacing: 0.15em;
        justify-content: space-between; }
        .remodal .menu-shared .menu-list dl.ext {
          align-items: flex-end; }
        .remodal .menu-shared .menu-list dl dd {
          text-align: right; }
      .remodal .menu-shared .menu-list ul li {
        border-bottom: 1px solid #c4c0bc;
        padding: 5px 0;
        text-align: left;
        margin-bottom: 10px; }
  .remodal .lead .f-price {
    font-size: 24px;
    padding-bottom: 40px; }
    .remodal .lead .f-price span {
      font-size: 16px; }
  .remodal .lead .mnlist {
    background-color: rgba(64, 64, 64, 0.3);
    padding: 20px;
    margin-bottom: 40px; }
    .remodal .lead .mnlist h3 {
      font-size: 18px;
      margin: -32px 0 30px; }
    .remodal .lead .mnlist li {
      font-size: 13px;
      text-align: left;
      line-height: 22px;
      padding-bottom: 5px;
      padding-left: 17px;
      text-indent: -17px; }

@media screen and (min-width: 768px) {
  #sec1 {
    background-size: auto;
    background-position: 0 0; }
    #sec1 .wrap {
      max-width: 1500px;
      padding: 895px 0 60px; }
    #sec1 .lead {
      position: static;
      padding: 0px 0; }
      #sec1 .lead h2 {
        top: 105px;
        left: 0;
        right: 0;
        text-align: center; }
      #sec1 .lead .photo1 {
        margin: 0;
        position: absolute;
        top: 0;
        left: calc(50% + 27px); }
      #sec1 .lead .photo2 {
        margin: 0;
        position: absolute;
        top: 389px;
        right: calc(50% - 17px);
        z-index: 3; }
    #sec1 .txt {
      width: 417px;
      margin-left: calc(50% + 83px); } }
    @media screen and (min-width: 768px) and (max-width: 1080px) {
      #sec1 .txt {
        margin-left: calc(50% + 50px); } }

@media screen and (min-width: 768px) {
  .sec-group {
    background: url("../img/concept/sec3_bg.png") no-repeat center 0/cover;
    padding: 47px 30px 100px; }
    .sec-group .sec-box {
      max-width: 1300px;
      margin: 0 auto;
      padding-bottom: 110px; }

  #sec2 {
    padding: 99px 20px 76px;
    background-size: auto;
    background-position: right 0,0 194px; }
    #sec2 h2 {
      font-size: 36px;
      line-height: 79px;
      padding-bottom: 104px; }
      #sec2 h2 span {
        letter-spacing: 0.1em; }
      #sec2 h2 .t1 {
        font-size: 42px; }
      #sec2 h2 i:before {
        left: -33px;
        right: -33px;
        height: 25px;
        bottom: -10px; }
      #sec2 h2 i span {
        font-size: 86px; }
        #sec2 h2 i span.t3 {
          font-size: 65px; }
    #sec2 .txt {
      width: 348px;
      margin: 0px 0 0 573px; }
    #sec2 .photo {
      position: absolute;
      top: 208px;
      right: calc(50%  - 55px); }
      #sec2 .photo:before {
        top: -373px;
        left: 219px;
        transform: rotate(-45deg);
        height: 1260px; }

  #sec3 {
    background-size: auto;
    background-position: right 326px;
    padding: 0 20px; }
    #sec3 h2 {
      width: auto;
      margin: 0;
      position: absolute;
      top: 0;
      right: 80px; }
    #sec3 .wrap {
      padding-top: 470px; }
    #sec3 .js {
      position: relative; }
    #sec3 .js-fade {
      padding-bottom: 20px;
      position: relative; }
      #sec3 .js-fade .menu {
        display: block !important;
        position: relative;
        box-sizing: border-box;
        padding: 179px 0 0 560px; }
        #sec3 .js-fade .menu dl dt {
          margin: 0 0 51px 10px;
          line-height: 94px; }
          #sec3 .js-fade .menu dl dt span {
            font-size: 36px;
            line-height: 45px;
            padding: 0 0 13px 0; }
            #sec3 .js-fade .menu dl dt span.fnt-Noto {
              padding-bottom: 21px;
              font-size: 48px; }
              #sec3 .js-fade .menu dl dt span.fnt-Noto.ext {
                margin-right: 70px; } }
        @media screen and (min-width: 768px) and (max-width: 1080px) {
          #sec3 .js-fade .menu dl dt span {
            font-size: 32px; }
            #sec3 .js-fade .menu dl dt span.fnt-Noto {
              font-size: 44px; }
              #sec3 .js-fade .menu dl dt span.fnt-Noto.ext {
                margin-right: 30px; } }
@media screen and (min-width: 768px) {
        #sec3 .js-fade .menu .photo {
          position: absolute;
          top: 0;
          left: 0; }
    #sec3 .bnr-shared {
      width: 430px; }

  .js-thumb {
    padding: 0;
    width: 500px;
    position: absolute;
    left: 0;
    top: 400px; }
    .js-thumb .slick-track {
      gap: 10px; }
    .js-thumb img:hover {
      opacity: 1; }

  .sec-gr2 {
    position: relative;
    z-index: 1; }

  .sec-gr2 {
    position: relative; }
    .sec-gr2:before {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      left: 50%;
      background-color: #fff; }

  #sec4 {
    background-size: auto;
    background-position: 0 0; }
    #sec4 .wrap {
      max-width: 1500px; }
    #sec4 .photo {
      height: 885px;
      margin: 0 0 52px 50%; }
    #sec4 .info {
      position: static; }
      #sec4 .info h2 {
        width: auto;
        top: 134px;
        right: calc(50%  - 45px); }
        #sec4 .info h2:before {
          left: 61px;
          height: 78px;
          bottom: -77px; }
      #sec4 .info .deco {
        padding: 0;
        position: absolute;
        top: 194px;
        right: calc(50% + 110px); }
    #sec4 .txt {
      width: 437px;
      margin-left: calc(50% + 76px); }

  #sec5 {
    background-size: auto;
    padding: 65px 0 127px; }
    #sec5:before {
      top: -20px;
      right: 0;
      transform: rotate(45deg);
      height: 200px; }
    #sec5 h2 {
      width: auto;
      margin: 0;
      position: absolute;
      top: 0;
      left: calc(50% + 283px); }
    #sec5 .wrap {
      padding-top: 162px;
      max-width: 1053px; }
    #sec5 .deco1 {
      width: auto;
      top: 132px;
      right: -273px; }
    #sec5 .js {
      position: relative; }
    #sec5 .js-fade {
      padding-bottom: 20px;
      position: relative; }
      #sec5 .js-fade .menu {
        display: block !important;
        position: relative;
        box-sizing: border-box;
        padding: 205px 20px 0 629px;
        padding-left: calc(50% + 105px); }
        #sec5 .js-fade .menu dl {
          padding: 0 0;
          max-width: 400px; }
          #sec5 .js-fade .menu dl dt {
            line-height: 50px;
            padding: 113px 0 0;
            white-space: nowrap; }
            #sec5 .js-fade .menu dl dt i {
              margin-bottom: 23px;
              font-size: 36px;
              padding-bottom: 13px; }
              #sec5 .js-fade .menu dl dt i .t {
                font-size: 48px; }
              #sec5 .js-fade .menu dl dt i.w_a {
                width: auto;
                float: right; }
              #sec5 .js-fade .menu dl dt i.w_a_l {
                width: auto; }
            #sec5 .js-fade .menu dl dt .catch {
              font-size: 24px;
              width: 268px;
              padding: 0px 0  40px 9px;
              right: 29px;
              box-sizing: border-box; }
              #sec5 .js-fade .menu dl dt .catch.ext1 {
                right: -2px; }
        #sec5 .js-fade .menu .photo {
          position: absolute;
          top: 0;
          left: 0; }
          #sec5 .js-fade .menu .photo .sub {
            width: auto;
            position: absolute;
            right: -87px;
            top: 3px;
            z-index: 1; }
    #sec5 .link {
      width: auto;
      margin: -96px 0 0 26px; }
      #sec5 .link .bnr-shared {
        width: 430px; }
        #sec5 .link .bnr-shared:nth-child(2) {
          margin: 40px 0 0 142px; }
          #sec5 .link .bnr-shared:nth-child(2) a {
            padding-left: 0; }
        #sec5 .link .bnr-shared a {
          padding-left: 36px;
          font-size: 20px;
          letter-spacing: 0.2em; }
          #sec5 .link .bnr-shared a:before {
            right: 40px;
            width: 15px; }

  #sec6 {
    background-size: auto;
    background-position: right 0;
    padding-bottom: 0px;
    padding-left: 50%; }
    #sec6 .photo {
      height: 100%;
      width: auto;
      position: absolute;
      top: 0;
      left: 0;
      right: 50%; }
    #sec6 .bnr-shared {
      width: 430px;
      margin: 0; }
      #sec6 .bnr-shared:before {
        width: 143px;
        height: 274px;
        right: -92px;
        top: -76px; }
    #sec6 .info {
      padding: 105px 0 120px;
      width: 430px;
      margin-left: 98px; }
      #sec6 .info h2 {
        font-size: 48px;
        line-height: 71px;
        margin-bottom: 33px; }
        #sec6 .info h2 i:before {
          left: -10px;
          right: -10px;
          height: 25px;
          bottom: 0; }
        #sec6 .info h2 .t {
          font-size: 65px; }
        #sec6 .info h2 .fnt-NotoSan {
          font-weight: 500;
          font-size: 36px; }
      #sec6 .info .txt {
        padding: 0 24px 29px 30px; }

  .remodal {
    padding: 101px 0; }
    .remodal .wrap {
      padding: 0; }
    .remodal h2 {
      padding-bottom: 30px;
      line-height: 45px; }
      .remodal h2 span {
        font-size: 40px;
        padding: 0 0px 20px; }
      .remodal h2 i {
        font-size: 26px; }
    .remodal .menu-shared {
      font-size: 15px;
      line-height: 24px; }
      .remodal .menu-shared .note {
        padding-bottom: 20px; }
      .remodal .menu-shared .f-note {
        padding: 43px 0; }
      .remodal .menu-shared .tit {
        padding: 10px 0; }
      .remodal .menu-shared .total {
        padding: 23px 0 24px 47px;
        text-align: left;
        max-width: 270px;
        margin: 0 auto; }
      .remodal .menu-shared .menu-list {
        width: 390px; }
        .remodal .menu-shared .menu-list dl {
          padding: 15px 0 7px; }
        .remodal .menu-shared .menu-list ul li {
          padding: 5px 0;
          margin-bottom: 10px; }
    .remodal .group {
      padding: 24px 0 0; }
      .remodal .group.four_col {
        padding: 24px 0 0; }
        .remodal .group.four_col .menu-list {
          width: 184px; }
      .remodal .group.group-mn {
        padding: 24px 103px 0 0; }
        .remodal .group.group-mn .menu-list dl dt {
          padding-left: 25px; }
    .remodal .lead {
      padding-bottom: 93px; }
      .remodal .lead .f-price {
        font-size: 40px;
        padding-bottom: 94px; }
        .remodal .lead .f-price span {
          font-size: 28px; }
      .remodal .lead .mnlist {
        padding: 20px 19px 18px;
        margin-bottom: 40px;
        max-width: 738px;
        margin: 0 auto;
        box-sizing: border-box; }
        .remodal .lead .mnlist h3 {
          font-size: 21px;
          margin: -35px 0 29px; }
        .remodal .lead .mnlist ul {
          padding: 0 0 0 99px; }
        .remodal .lead .mnlist li {
          font-size: 15px;
          line-height: 24px;
          padding-bottom: 13px;
          padding-left: 17px;
          text-indent: -17px; } }
