/*! Writen  by SCSS */
.inner_head,
.gnavi_bottom_outer,
footer {
  position: relative;
  z-index: 2; }

.contents_wrap::before {
  content: "";
  display: block;
  position: fixed;
  inset: 0;
  background: url("../images/common/bg.jpg") center/cover no-repeat; }

.inner {
  max-width: 1320px; }

.sec01 {
  border-bottom: 3px solid;
  border-image: linear-gradient(90deg, #ecd29c 0%, #b67520 28%, #f8bf49 70%, #c5a881 100%);
  border-image-slice: 1;
  position: relative;
  z-index: 2; }

.lead {
  letter-spacing: 0.1em; }

.read {
  line-height: 2.25;
  letter-spacing: 0.05em; }
  @media screen and (max-width: 960px) {
    .read {
      line-height: 2; } }
  @media screen and (max-width: 768px) {
    .read {
      line-height: 1.8; } }
  @media screen and (max-width: 480px) {
    .read {
      letter-spacing: 0; } }

.sec01_main_wrap {
  position: relative; }
  .sec01_main_wrap .lead {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: absolute;
    z-index: 2;
    color: #fff;
    line-height: 2.24;
    top: 10%;
    right: 6.25%;
    transition-property: transform,opacity;
    transition-duration: 0.8s;
    transition-timing-function: ease-in-out;
    opacity: 0;
    transform: translateY(30px); }
    @media screen and (max-width: 480px) {
      .sec01_main_wrap .lead {
        transform: translateY(20px);
        line-height: 1.6;
        top: 10px;
        right: 15px; } }
    .loaded .sec01_main_wrap .lead {
      opacity: 1;
      transform: translateY(0px); }
    .sec01_main_wrap .lead .text_bottom {
      margin-left: 3em; }
  @media screen and (max-width: 480px) {
    .sec01_main_wrap .sec01_image {
      aspect-ratio: 8 / 5.5; } }
  @media screen and (max-width: 480px) {
    .sec01_main_wrap .sec01_image img {
      height: 100%;
      object-fit: cover;
      object-position: 70% top; } }

.sec01_read {
  background: rgba(217, 212, 193, 0.25);
  padding-top: clamp(25px, 3.34%, 40px);
  padding-bottom: clamp(30px, 5%, 60px); }
  @media screen and (max-width: 480px) {
    .sec01_read {
      padding-top: 40px;
      padding-bottom: 40px; } }

.sec02 {
  background: #3e3a39; }
  .sec02::after {
    content: "";
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, #b4721e, #f1d277, #fbe6b8, #f1d277, #b4721e); }

.ses2_ttl_wrap {
  background: #000; }
  .ses2_ttl_wrap .ses2_ttl {
    font-size: clamp(18px, 1.83vw, 26px);
    color: #fff;
    line-height: 1;
    padding: 0.9em 0; }
    @media screen and (max-width: 480px) {
      .ses2_ttl_wrap .ses2_ttl {
        text-align: center;
        padding: 1.2em 0; } }

.sec02_wrap {
  padding: calc(90% / 13.6) 0;
  position: relative;
  z-index: 3; }
  @media screen and (max-width: 480px) {
    .sec02_wrap {
      padding-bottom: 0; } }
  .sec02_wrap .fig {
    position: absolute;
    bottom: 0;
    right: calc(50% - 50vw);
    width: calc((880% / 13.2) + (50vw - 50%)); }
    @media screen and (max-width: 1000px) {
      .sec02_wrap .fig {
        width: calc((780% / 13.2) + (50vw - 50%)); } }
    @media screen and (max-width: 767px) {
      .sec02_wrap .fig {
        position: relative;
        width: calc(100% + 70px);
        margin: 0 -20px 0 -50px; } }
  .sec02_wrap .read {
    position: relative;
    z-index: 5;
    text-align: left;
    color: #fff; }
    @media screen and (max-width: 767px) {
      .sec02_wrap .read {
        text-align: center;
        margin-bottom: 15px; } }

.sec03 {
  background: #3e3a39; }
  .sec03 .main {
    position: relative; }
    .sec03 .main .copy {
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      padding-bottom: calc(50% / 16); }
      .sec03 .main .copy p {
        font-size: clamp(15px, 1.54vw, 22px);
        text-shadow: 0 0 6px rgba(0, 0, 0, 0.8);
        text-align: center;
        color: #fff; }
  .sec03 .box {
    padding: calc(50% / 13.2) 0;
    color: #fff;
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 480px) {
      .sec03 .box {
        padding: 30px 0;
        display: block; } }
    .sec03 .box .ttl {
      width: calc(150% / 11);
      display: flex;
      align-items: center; }
      .sec03 .box .ttl p {
        font-size: clamp(18px, 1.83vw, 26px);
        line-height: 1.4; }
      @media screen and (max-width: 480px) {
        .sec03 .box .ttl {
          width: 100%;
          text-align: center;
          margin-bottom: 15px;
          display: block; } }
    .sec03 .box .line {
      width: 1px;
      background: #9a9290; }
      @media screen and (max-width: 480px) {
        .sec03 .box .line {
          width: 100%;
          height: 1px;
          margin-bottom: 15px; } }
    .sec03 .box .txt {
      width: calc(810% / 11);
      display: flex;
      align-items: center; }
      @media screen and (max-width: 480px) {
        .sec03 .box .txt {
          width: 100%;
          display: block; } }

.sec04 {
  position: relative; }
  @media screen and (max-width: 480px) {
    .sec04 {
      padding: 30px 0; } }
  .sec04::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    padding-bottom: calc(160% / 16);
    background: #3e3a39; }
    @media screen and (max-width: 480px) {
      .sec04::before {
        display: none; } }
  .sec04::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    padding-bottom: calc(160% / 16);
    background: #3e3a39; }
    @media screen and (max-width: 480px) {
      .sec04::after {
        display: none; } }

.sec04_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 5; }
  @media screen and (max-width: 480px) {
    .sec04_wrap {
      display: block; } }
  .sec04_wrap .txt {
    width: calc(380% / 13.2);
    font-size: clamp(15px, 1.54vw, 22px); }
    @media screen and (max-width: 480px) {
      .sec04_wrap .txt {
        width: 100%;
        margin-bottom: 18px;
        text-align: center; } }
  .sec04_wrap .img {
    margin-right: calc(50% - 50vw);
    width: calc((910% / 13.2) + (50vw - 50%)); }
    @media screen and (max-width: 480px) {
      .sec04_wrap .img {
        display: block;
        width: 100%;
        margin: 0; } }

.sec05 {
  background: #3e3a39;
  padding-top: clamp(60px, 8.34%, 100px);
  padding-bottom: clamp(60px, 8.34%, 100px); }

.sec05_wrap {
  position: relative; }
  .sec05_wrap::after {
    content: "";
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    width: calc(700% / 13.2);
    height: 0;
    padding-bottom: calc(700% / 13.2);
    background: url("../images/design/sec5_bg.jpg") center center/cover;
    transform: translate(-50%, -50%); }
    @media screen and (max-width: 480px) {
      .sec05_wrap::after {
        width: 80%;
        padding-bottom: 120%; } }
  .sec05_wrap .box {
    position: relative;
    z-index: 5;
    display: flex;
    color: #fff; }
    @media screen and (max-width: 480px) {
      .sec05_wrap .box {
        display: block; } }
    .sec05_wrap .box .ttl {
      font-size: clamp(18px, 1.83vw, 26px);
      padding-top: 1.2em;
      padding-bottom: 0.6em;
      margin-bottom: 0.6em;
      position: relative; }
      .sec05_wrap .box .ttl::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        height: 3px;
        width: 100%;
        background: linear-gradient(90deg, #fbe6b8, #f1d277, #b4721e); }
    .sec05_wrap .box.box1 {
      margin-bottom: clamp(60px, 8.34%, 100px); }
      .sec05_wrap .box.box1 .txt {
        width: calc(700% / 13.2); }
        .sec05_wrap .box.box1 .txt p {
          padding-left: calc(70% / 7); }
        @media screen and (max-width: 480px) {
          .sec05_wrap .box.box1 .txt {
            width: 70%;
            margin: 15px 0 0 auto; }
            .sec05_wrap .box.box1 .txt p {
              padding: 0; } }
      .sec05_wrap .box.box1 .img {
        width: calc(620% / 13.2); }
        @media screen and (max-width: 480px) {
          .sec05_wrap .box.box1 .img {
            width: 100%; } }
    .sec05_wrap .box.box2 {
      margin: 0 auto;
      max-width: 1200px; }
      .sec05_wrap .box.box2 .txt {
        width: calc(600% / 12); }
        .sec05_wrap .box.box2 .txt p {
          padding-left: 20px; }
        @media screen and (max-width: 480px) {
          .sec05_wrap .box.box2 .txt {
            width: 70%;
            margin: 0 auto 15px 0; }
            .sec05_wrap .box.box2 .txt p {
              padding: 0; } }
      .sec05_wrap .box.box2 .img {
        width: calc(600% / 12); }
        @media screen and (max-width: 480px) {
          .sec05_wrap .box.box2 .img {
            width: 100%; } }

.cap_wrap {
  position: relative;
  z-index: 2;
  background: #fff; }

/*# sourceMappingURL=design.css.map */
