@charset "UTF-8";
/*! Writen  by SCSS */
body .wrap::before {
  background: url("../images/bg.jpg") center/cover no-repeat; }

sup {
  font-size: 0.5em; }

.sec_lead {
  font-size: clamp(20px, 2.9vw, 36px);
  line-height: 1.8; }

.lead {
  font-size: clamp(14px, 1.61vw, 20px);
  line-height: 1.8; }
  @media screen and (max-width: 480px) {
    .lead {
      line-height: 1.6; } }

.read {
  font-size: clamp(13px, 1.29vw, 16px);
  line-height: 1.88; }

.ls_n01 {
  letter-spacing: -0.1em; }

.sec_main {
  position: relative; }
  .sec_main img {
    width: 100%; }

.sec02 {
  padding-top: clamp(25px, 3.34%, 40px); }

.sec01 .item_ttl_wrap {
  margin-bottom: clamp(25px, 3.34%, 40px); }
  .sec01 .item_ttl_wrap .head_img {
    max-width: 387px;
    width: 32.25%; }
    @media screen and (max-width: 480px) {
      .sec01 .item_ttl_wrap .head_img {
        width: 58.64%; } }
.sec01 .img101 {
  margin-bottom: clamp(60px, 8.34%, 100px); }
.sec01 .img102 {
  margin-bottom: clamp(25px, 3.34%, 40px); }
.sec01 .box01 {
  display: flex;
  justify-content: space-between;
  margin-bottom: clamp(60px, 8.34%, 100px); }
  @media screen and (max-width: 1000px) {
    .sec01 .box01 {
      max-width: 600px;
      margin: 0 auto;
      flex-direction: column;
      gap: 30px 0;
      margin-bottom: clamp(60px, 8.34%, 100px); } }
  .sec01 .box01 .l_cnt {
    width: calc(590%/12); }
    @media screen and (max-width: 1000px) {
      .sec01 .box01 .l_cnt {
        width: 100%; } }
    .sec01 .box01 .l_cnt .sec_ttl {
      display: flex;
      flex-direction: column;
      text-align: left; }
      .sec01 .box01 .l_cnt .sec_ttl .txt_bottm {
        padding-left: 5em; }
  .sec01 .box01 .r_cnt {
    width: calc(550%/12); }
    @media screen and (max-width: 1000px) {
      .sec01 .box01 .r_cnt {
        width: 100%; } }
    .sec01 .box01 .r_cnt .box_ttl {
      line-height: 0;
      padding-bottom: calc(25%/5.5);
      margin-bottom: calc(25%/5.5);
      border-bottom: 1px solid #56562e; }
    .sec01 .box01 .r_cnt .in_box {
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 600px) {
        .sec01 .box01 .r_cnt .in_box {
          flex-direction: column-reverse;
          gap: 20px 0; } }
      .sec01 .box01 .r_cnt .in_box .in_l {
        width: calc(370%/5.5); }
        @media screen and (max-width: 600px) {
          .sec01 .box01 .r_cnt .in_box .in_l {
            width: 100%; } }
      .sec01 .box01 .r_cnt .in_box .in_r {
        width: calc(160%/5.5); }
        @media screen and (max-width: 600px) {
          .sec01 .box01 .r_cnt .in_box .in_r {
            max-width: 160px;
            width: 100%;
            margin: 0 auto; } }
      .sec01 .box01 .r_cnt .in_box .in_ttl {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        color: #56562e;
        letter-spacing: 0.1em;
        font-size: clamp(13px, 1.29vw, 16px);
        font-feature-settings: "palt";
        margin-bottom: 0.8em; }
        .sec01 .box01 .r_cnt .in_box .in_ttl .txt1 {
          line-height: 1.25;
          font-size: clamp(13px, 1.29vw, 16px);
          font-feature-settings: "palt";
          letter-spacing: 0.05em; }
        .sec01 .box01 .r_cnt .in_box .in_ttl .txt2 {
          font-size: clamp(18px, 2.09vw, 26px);
          line-height: 1; }
      .sec01 .box01 .r_cnt .in_box .read {
        font-size: clamp(12px, 1.12vw, 14px);
        line-height: 1.78; }
.sec01 .box02 {
  margin-bottom: clamp(60px, 8.34%, 100px); }
  @media screen and (max-width: 1200px) {
    .sec01 .box02 {
      display: flex;
      flex-direction: column-reverse; } }
  .sec01 .box02 .sec_ttl {
    text-align: left;
    margin-top: 1.3em;
    line-height: 1; }
    @media screen and (max-width: 480px) {
      .sec01 .box02 .sec_ttl {
        text-align: center;
        line-height: 1.4;
        margin: 0 auto 1.3em; } }
  .sec01 .box02 .img04 {
    width: calc(1200%/14);
    margin-left: auto; }
    @media screen and (max-width: 1200px) {
      .sec01 .box02 .img04 {
        width: 100%; } }
.sec01 .box03 {
  display: flex;
  justify-content: space-around;
  width: calc(1300%/14);
  margin-bottom: clamp(60px, 8.34%, 100px); }
  @media screen and (max-width: 1000px) {
    .sec01 .box03 {
      flex-direction: column-reverse;
      width: 100%; } }
  .sec01 .box03 .l_cnt {
    width: calc(785%/14); }
    @media screen and (max-width: 1000px) {
      .sec01 .box03 .l_cnt {
        width: 100%; } }
    .sec01 .box03 .l_cnt .img05 .cap {
      right: 0; }
/*
      @media screen and (max-width: 680px) {
        .sec01 .box03 .l_cnt .img05 .cap {
          right: auto;
          left: 5px; } }
*/
  .sec01 .box03 .r_cnt {
    width: calc(480%/14); }
    @media screen and (max-width: 1000px) {
      .sec01 .box03 .r_cnt {
        width: calc(100% - 40px);
        max-width: 600px;
        margin: 0 auto;
        margin-bottom: clamp(50px, 6.67%, 80px);
        display: flex;
        flex-direction: column-reverse; } }
    .sec01 .box03 .r_cnt .img_box {
      position: relative;
      padding-bottom: calc(350%/4.8);
      margin-bottom: clamp(40px, 5%, 60px); }
      @media screen and (max-width: 1000px) {
        .sec01 .box03 .r_cnt .img_box {
          padding-bottom: 0;
          display: flex;
          justify-content: center;
          margin: 0 -20px;
          width: calc(100% + 40px); } }
      @media screen and (max-width: 1000px) {
        .sec01 .box03 .r_cnt .img_box figure {
          position: static !important; } }
      .sec01 .box03 .r_cnt .img_box .img06 {
        width: calc(200%/4.8);
        position: absolute;
        top: 0;
        left: 0; }
      .sec01 .box03 .r_cnt .img_box .img07 {
        width: calc(200%/4.8);
        position: absolute;
        top: calc(80%/3.5);
        right: 0; }
      .sec01 .box03 .r_cnt .img_box .img08 {
        width: calc(200%/4.8);
        position: absolute;
        bottom: 0;
        left: calc(10%/4.8); }
    .sec01 .box03 .r_cnt .txt_box {
      max-width: 470px;
      margin-left: auto; }
      @media screen and (max-width: 1000px) {
        .sec01 .box03 .r_cnt .txt_box {
          margin-bottom: clamp(25px, 3.34%, 40px);
          max-width: 100%; } }

.indent {
  text-indent: -1em;
  padding-left: 1em; }

.sec02 .sec_ttl {
  margin-bottom: clamp(50px, 6.67%, 80px); }
.sec02 .box04 {
  position: relative;
  padding-bottom: calc(730%/12);
  margin-bottom: clamp(40px, 5.84%, 70px); }
  @media screen and (max-width: 1000px) {
    .sec02 .box04 {
      padding-bottom: 0; } }
  .sec02 .box04 .img_ttl {
    width: calc(750%/12);
    position: absolute;
    top: 0;
    left: 0; }
    @media screen and (max-width: 1000px) {
      .sec02 .box04 .img_ttl {
        position: relative;
        text-align: center;
        margin: 0 auto 20px;
        margin-bottom: clamp(40px, 5%, 60px); } }
    .sec02 .box04 .img_ttl .txt03_2 {
      margin-top: calc(20%/7.5);
      width: calc(575%/7.5); }
      @media screen and (max-width: 1000px) {
        .sec02 .box04 .img_ttl .txt03_2 {
          margin: 10px auto 0; } }
  .sec02 .box04 .txt_box {
    width: calc(490%/12);
    position: absolute;
    left: 0;
    bottom: 0; }
    @media screen and (max-width: 1000px) {
      .sec02 .box04 .txt_box {
        position: relative;
        width: 100%;
        max-width: 490px;
        margin: 0 auto;
        margin-bottom: clamp(25px, 3.34%, 40px); } }
    .sec02 .box04 .txt_box .item {
      display: flex;
      justify-content: space-between; }
      .sec02 .box04 .txt_box .item .txts .ttl {
        font-size: clamp(16px, 1.61vw, 20px);
        color: #56562e;
        line-height: 1.4;
        margin-bottom: 0.5em; }
        .sec02 .box04 .txt_box .item .txts .ttl .min {
          display: block;
          font-size: 70%; }
      .sec02 .box04 .txt_box .item + .item {
        margin-top: calc(45%/4.9); }
      .sec02 .box04 .txt_box .item.item01 .txts {
        width: calc(343%/4.9); }
      .sec02 .box04 .txt_box .item.item01 .imgs {
        width: calc(150%/4.9);
        padding: 0 10px; }
        .sec02 .box04 .txt_box .item.item01 .imgs img {
          max-width: 101px;
          display: block;
          margin: 0 auto; }
      .sec02 .box04 .txt_box .item.item02 .txts {
        width: calc(244%/4.9); }
      .sec02 .box04 .txt_box .item.item02 .imgs {
        width: calc(255%/4.9);
        display: flex;
        justify-content: space-between;
        align-items: flex-end; }
        .sec02 .box04 .txt_box .item.item02 .imgs .img112 {
          width: calc(88%/2.55); }
          .sec02 .box04 .txt_box .item.item02 .imgs .img112 img {
            display: block;
            max-width: 55px;
            margin-left: auto;
            text-align: right; }
        .sec02 .box04 .txt_box .item.item02 .imgs .img113 {
          width: calc(155%/2.55); }
      .sec02 .box04 .txt_box .item.item03 .txts {
        width: calc(304%/4.9); }
      .sec02 .box04 .txt_box .item.item03 .imgs {
        width: calc(160%/4.9); }
  .sec02 .box04 .img110 {
    width: calc(751%/12);
    position: absolute;
    bottom: 0;
    right: 0; }
    @media screen and (max-width: 1000px) {
      .sec02 .box04 .img110 {
        position: relative;
        width: 100%;
        max-width: 751px;
        margin: 0 auto; } }
.sec02 .box05 {
  margin-bottom: clamp(25px, 3.34%, 40px); }
  .sec02 .box05 .box_ttl {
    position: relative;
    margin-bottom: 30px; }
    .sec02 .box05 .box_ttl::before {
      content: "";
      width: calc(100% - 430px);
      height: 1px;
      background: #333;
      position: absolute;
      right: 0;
      bottom: 3px; }
    .sec02 .box05 .box_ttl figure {
      max-width: 409px;
      padding-right: 20px; }
  .sec02 .box05 .in_box {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 1000px) {
      .sec02 .box05 .in_box {
        flex-direction: column;
        gap: 30px 0; } }
    .sec02 .box05 .in_box .in_l {
      width: calc(263%/12); }
      @media screen and (max-width: 1000px) {
        .sec02 .box05 .in_box .in_l {
          width: 100%; } }
      .sec02 .box05 .in_box .in_l .read {
        margin-bottom: 1em; }
    .sec02 .box05 .in_box .in_r {
      width: calc(910%/12); }
      @media screen and (max-width: 1000px) {
        .sec02 .box05 .in_box .in_r {
          width: 100%;
          max-width: 910px;
          margin: 0 auto; } }
      .sec02 .box05 .in_box .in_r .img {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        margin-bottom: calc(25%/9.1); }
        @media screen and (max-width: 680px) {
          .sec02 .box05 .in_box .in_r .img {
            flex-direction: column;
            gap: 15px 0; } }
        .sec02 .box05 .in_box .in_r .img .img115 {
          width: calc(453%/9.1); }
          @media screen and (max-width: 680px) {
            .sec02 .box05 .in_box .in_r .img .img115 {
              width: 100%; } }
        .sec02 .box05 .in_box .in_r .img .img116 {
          width: calc(453%/9.1); }
          @media screen and (max-width: 680px) {
            .sec02 .box05 .in_box .in_r .img .img116 {
              width: 100%; } }
.sec02 .img117 .slide_txt {
  display: none; }
  @media screen and (max-width: 680px) {
    .sec02 .img117 .slide_txt {
      display: block;
      width: 100%;
      text-align: center;
      font-size: 9px;
      position: relative;
      padding-bottom: 5px;
      border-bottom: 1px solid #333;
      margin-bottom: 25px; }
      .sec02 .img117 .slide_txt::after {
        content: "▼";
        font-size: 12px;
        position: absolute;
        left: 0;
        right: 0;
        line-height: 1;
        bottom: -11px; } }
@media screen and (max-width: 680px) {
  .sec02 .img117 {
    margin-top: 30px; }
    .sec02 .img117 .sp_slide {
      overflow-x: scroll; }
      .sec02 .img117 .sp_slide img {
        width: 640px;
        max-width: 640px; } }

        .gnavi li a .new {
          display: inline-block;
          background-color: #e60012;  /* 赤 */
          color: #fff;                /* 白文字 */
          font-size: 0.5rem;
          font-weight: bold;
          padding: 1px 3px;
          border-radius: 2px;
          margin-left: 3px;
          vertical-align: top;
          line-height: 1;
        }

/*# sourceMappingURL=style.css.map */
