@charset "UTF-8";
/*! Writen  by SCSS */
.en_ttls p {
  font-weight: 600; }

.en_ttls {
  text-align: center;
  font-size: clamp(15px, calc(36vw / 9.6), 36px);
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: bold; }
  @media screen and (max-width: 480px) {
    .en_ttls {
      font-size: calc(20vw / 3.9); } }
  .en_ttls .min {
    display: block;
    font-size: 60%;
    line-height: 1;
    font-weight: 700;
    margin-bottom: 0.5em; }
    @media screen and (max-width: 480px) {
      .en_ttls .min {
        font-size: 70%; } }

.img_cap .cap {
  font-size: 9px; }
  @media screen and (max-width: 480px) {
    .img_cap .cap {
      font-size: 8px; } }
  .img_cap .cap .lg {
    font-size: 160%; }
    @media screen and (max-width: 480px) {
      .img_cap .cap .lg {
        font-size: 120%; } }

.main .img.fig101 {
  mask-image: linear-gradient(180deg, #eaf6fd 74%, rgba(234, 246, 253, 0) 100%); }

.contarea {
  padding-bottom: 1px;
  padding-bottom: 0;
  transition: all 0.3s ease-in-out 0s; }
  body.k .contarea {
    /*background: #a3b1bd;*/
    background: #94b8d8; }
  body.g .contarea {
    background: #eaf6fd; }

.bold {
  font-weight: bold; }

.txt01 {
  /*PCのみ*/ }
  @media screen and (min-width: 960px) {
    .txt01 {
      line-height: 2; } }

.txt02 {
  /*PCのみ*/ }
  @media screen and (min-width: 960px) {
    .txt02 {
      line-height: 2.2;
      font-size: clamp(12px, calc(17vw / 9.6), 17px); } }

.sec0 {
  max-width: 100%;
  padding: 0;
  padding-top: 70px; }
  @media screen and (max-width: 767px) {
    .sec0 {
      padding-top: 30px; } }

.inner_1060 {
  max-width: 1060px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: content-box; }

.inner900 {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: content-box; }

.sec0 {
  margin-bottom: 100px; }
  @media screen and (max-width: 480px) {
    .sec0 {
      margin-bottom: 60px; } }

.sec1 {
  margin-bottom: 110px;
  padding-top: 70px; }
  @media screen and (max-width: 767px) {
    .sec1 {
      padding-top: 30px;
      margin-bottom: 60px; } }

.sec2 {
  margin-bottom: 110px; }
  @media screen and (max-width: 480px) {
    .sec2 {
      margin-bottom: 60px; } }

.sec3 {
  margin-bottom: 135px; }
  @media screen and (max-width: 480px) {
    .sec3 {
      margin-bottom: 60px; } }

.shadow_w {
  text-shadow: 0px 0px 0px white, 0px 0px 1px white, 0px 0px 2px white, 0px 0px 3px white, 0px 0px 4px white, 0px 0px 5px white, 0px 0px 6px white, 0px 0px 7px white, 0px 0px 8px white, 0px 0px 9px white, 0px 0px 10px white, 0px 0px 11px white, 0px 0px 12px white; }

.sec1 {
  max-width: 1600px;
  width: calc(100% - 40px);
  margin-inline: auto;
  padding-left: 0;
  padding-right: 0; }
  @media screen and (max-width: 1000px) {
    .sec1 .img_item {
      position: relative !important;
      inset: 0 !important; } }
  @media screen and (max-width: 1000px) {
    .sec1 .img_item.pc {
      display: none; } }
  .sec1 .img_item.sp {
    display: none; }
    @media screen and (max-width: 1000px) {
      .sec1 .img_item.sp {
        display: block; } }
  .sec1 .img_item .nm2 {
    text-align: right;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 55px;
    aspect-ratio: 1;
    background-image: url("../img/location/nmbg2.png");
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: left bottom;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    padding: 0 5px 2px 0; }
    @media screen and (max-width: 480px) {
      .sec1 .img_item .nm2 {
        width: 33px;
        font-size: 12px; } }
  .sec1 .box10 {
    position: relative;
    padding-bottom: calc(1500%/16);
    margin-bottom: 60px; }
    @media screen and (max-width: 1000px) {
      .sec1 .box10 {
        padding-bottom: 0;
        margin-bottom: 0; } }
    @media screen and (max-width: 1000px) {
      .sec1 .box10 .in_box {
        max-width: 700px;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        align-items: stretch;
        position: relative;
        z-index: 3; }
        .sec1 .box10 .in_box .img_item {
          width: 48%; }
          .sec1 .box10 .in_box .img_item .img_wrap {
            width: 100%;
            height: 100%; }
          .sec1 .box10 .in_box .img_item figure {
            width: 100%;
            height: 100%;
            overflow: hidden; }
            .sec1 .box10 .in_box .img_item figure img {
              width: 100%;
              height: 100%;
              object-fit: cover; }
        .sec1 .box10 .in_box.in_box01 {
          margin-top: 40px; }
        .sec1 .box10 .in_box.in_box02 {
          gap: 60px 0; } }
    .sec1 .box10 .txt1 {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      margin: auto;
      z-index: 20; }
      @media screen and (max-width: 1000px) {
        .sec1 .box10 .txt1 {
          position: static; } }
    .sec1 .box10 .line {
      position: absolute;
      left: calc(80% / 7.5);
      bottom: calc(-428% / 4.4);
      width: 18px;
      display: flex;
      height: 100%;
      max-width: 400px;
      z-index: -5;
      border-left: 2px solid #a1b6c3;
      border-right: 2px solid #a1b6c3; }
      .sec1 .box10 .line span {
        display: block;
        width: 2px;
        height: 100%;
        max-width: 400px;
        margin: auto;
        border: none;
        border-right: 2px solid #a1b6c3; }
      @media screen and (max-width: 480px) {
        .sec1 .box10 .line {
          display: none; } }
    .sec1 .box10 .item01 {
      width: calc(750%/16);
      position: absolute;
      left: 0;
      top: calc(150%/15);
      z-index: 2; }
    .sec1 .box10 .item02 {
      width: calc(700%/16);
      position: absolute;
      right: calc(65%/16);
      top: calc(320%/15); }
    .sec1 .box10 .item03 {
      width: calc(440%/16);
      position: absolute;
      left: calc(218%/16);
      top: calc(645%/15); }
      @media screen and (max-width: 1500px) {
        .sec1 .box10 .item03 {
          left: calc(150%/16); } }
    .sec1 .box10 .item04 {
      width: calc(400%/16);
      position: absolute;
      right: calc(293%/16);
      top: calc(905%/15); }
    .sec1 .box10 .item05 {
      width: calc(460%/16);
      position: absolute;
      left: calc(60%/16);
      top: calc(1002%/15);
      z-index: 3; }
    .sec1 .box10 .item06 {
      width: calc(460%/16);
      position: absolute;
      left: calc(60%/16);
      bottom: 0; }
    .sec1 .box10 .item07 {
      width: calc(520%/16);
      position: absolute;
      right: calc(50%/16);
      bottom: 0; }
      @media screen and (max-width: 1500px) {
        .sec1 .box10 .item07 {
          right: 0; } }
    .sec1 .box10 .item_txt1, .sec1 .box10 .item_txt2 {
      font-size: clamp(14px, calc(18vw / 9.6), 18px); }
      @media screen and (max-width: 480px) {
        .sec1 .box10 .item_txt1, .sec1 .box10 .item_txt2 {
          font-size: calc(14vw / 3.9); } }
    .sec1 .box10 .item_txt1 {
      width: fit-content;
      position: absolute;
      right: calc(184%/16);
      right: calc(124%/16);
      top: calc(750%/15);
      z-index: 20; }
      @media screen and (max-width: 1000px) {
        .sec1 .box10 .item_txt1 {
          width: 100%;
          position: relative;
          inset: 0;
          padding: 40px 0;
          text-align: center; } }
    .sec1 .box10 .item_txt2 {
      width: fit-content;
      position: absolute;
      left: calc(580%/16);
      left: calc(590%/16);
      bottom: 0;
      z-index: 20; }
      @media screen and (max-width: 1000px) {
        .sec1 .box10 .item_txt2 {
          width: 100%;
          position: relative;
          inset: 0;
          padding: 40px 0;
          text-align: center; } }
  .sec1 .box11 .img_col4 {
    max-width: 1400px;
    margin: 0 auto 70px;
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 1000px) {
      .sec1 .box11 .img_col4 {
        max-width: 600px;
        flex-wrap: wrap;
        gap: 20px 0;
        margin-bottom: 40px; } }
    .sec1 .box11 .img_col4 .img_item {
      position: relative;
      width: calc(320%/14); }
      @media screen and (max-width: 1000px) {
        .sec1 .box11 .img_col4 .img_item {
          width: 48%; } }
  .sec1 .box12 {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    max-width: 1500px;
    margin-left: auto; }
    @media screen and (max-width: 1000px) {
      .sec1 .box12 {
        margin: 0 auto;
        width: 100%;
        max-width: 600px; } }
    .sec1 .box12 .l_cnt {
      width: calc(700%/15);
      display: flex;
      align-items: flex-start;
      flex-wrap: wrap;
      gap: calc(14 / 700 * 100vw) calc(26 / 700 * 100vw);
      column-gap: 5%; }
      @media screen and (max-width: 1000px) {
        .sec1 .box12 .l_cnt {
          width: 100%;
          gap: 20px 0;
          justify-content: space-between; } }
      .sec1 .box12 .l_cnt .txts {
        display: flex;
        gap: 0 8px;
        width: 30%; }
        @media screen and (max-width: 1000px) {
          .sec1 .box12 .l_cnt .txts {
            width: calc(100%/3); } }
        @media screen and (max-width: 680px) {
          .sec1 .box12 .l_cnt .txts {
            width: 48%; } }
        .sec1 .box12 .l_cnt .txts p:not(.nm) {
          font-size: clamp(11px, calc(14vw / 16), 14px);
          line-height: 1.85;
          line-height: 1.2;
          letter-spacing: 0.08em; }
          @media screen and (max-width: 480px) {
            .sec1 .box12 .l_cnt .txts p:not(.nm) {
              font-size: calc(10vw/3.75);
              line-height: 1.4; } }
          .sec1 .box12 .l_cnt .txts p:not(.nm) .min {
            font-size: 85%;
            display: inline-block;
            margin-top: 0.7em; }
        .sec1 .box12 .l_cnt .txts .nm {
          width: 1.7em;
          height: 1.7em;
          font-size: clamp(11px, calc(14vw / 16), 14px);
          line-height: 1;
          color: #fff;
          background: #94822d;
          border-radius: 50%;
          display: flex;
          justify-content: center;
          align-items: center;
          aspect-ratio: 1 / 1; }
          @media screen and (max-width: 480px) {
            .sec1 .box12 .l_cnt .txts .nm {
              font-size: calc(10vw/3.75);
              padding: 0.4em 0.05em 0.2em 0;
              padding-bottom: 0.5em; } }
    .sec1 .box12 .r_cnt {
      width: calc(752%/15);
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 1000px) {
        .sec1 .box12 .r_cnt {
          display: none; } }
      .sec1 .box12 .r_cnt .img_item12 {
        width: calc(500%/7.52); }
        .sec1 .box12 .r_cnt .img_item12 .img_item {
          position: relative; }
      .sec1 .box12 .r_cnt .img_item13 {
        width: calc(240%/7.52); }

.sec2 {
  max-width: 100%; }
  .sec2 .flex_item {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 60px; }
    @media screen and (max-width: 767px) {
      .sec2 .flex_item {
        flex-direction: column-reverse;
        gap: 20px 0; } }
    .sec2 .flex_item .txt02 {
      text-align: left;
      line-height: 2.1; }
      @media screen and (max-width: 767px) {
        .sec2 .flex_item .txt02 {
          text-align: center;
          margin-inline: -20px; } }
    .sec2 .flex_item .img_301 {
      max-width: 312px; }
      @media screen and (max-width: 767px) {
        .sec2 .flex_item .img_301 {
          max-width: 260px;
          margin: 0 auto; } }
  .sec2 .box30 {
    max-width: 1120px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 40px 0; }
    .sec2 .box30 .item {
      width: calc(340%/11.2); }
      @media screen and (max-width: 767px) {
        .sec2 .box30 .item {
          width: 48%; } }
      @media screen and (max-width: 767px) {
        .sec2 .box30 .item.wide {
          width: 100%; }
          .sec2 .box30 .item.wide .txt_wrap .flex {
            flex-direction: row; }
            .sec2 .box30 .item.wide .txt_wrap .flex .txt02 {
              width: 71%;
              width: 79%;
              font-size: 13px; }
              .sec2 .box30 .item.wide .txt_wrap .flex .txt02.car {
                width: 77%; }
            .sec2 .box30 .item.wide .txt_wrap .flex .time {
              margin: 0 !important; } }
      .sec2 .box30 .item .img_wrap {
        position: relative; }
        .sec2 .box30 .item .img_wrap.img3 {
          display: flex;
          flex-wrap: wrap;
          padding: 10px 0;
          background: #000;
          gap: 6px; }
          .sec2 .box30 .item .img_wrap.img3 figure {
            width: calc(50% - 3px); }
            .sec2 .box30 .item .img_wrap.img3 figure img {
              width: 100%; }
            .sec2 .box30 .item .img_wrap.img3 figure.col2 {
              width: 100%; }
              .sec2 .box30 .item .img_wrap.img3 figure.col2 img {
                width: 100%; }
              @media screen and (max-width: 480px) {
                .sec2 .box30 .item .img_wrap.img3 figure.col2 {
                  aspect-ratio: 1.43/2; }
                  .sec2 .box30 .item .img_wrap.img3 figure.col2 img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover; } }
            .sec2 .box30 .item .img_wrap.img3 figure:nth-child(1) {
              width: 100%; }
              @media screen and (max-width: 767px) {
                .sec2 .box30 .item .img_wrap.img3 figure:nth-child(1) {
                  width: calc(63% - 3px); } }
            @media screen and (max-width: 767px) {
              .sec2 .box30 .item .img_wrap.img3 figure:nth-child(2) {
                width: calc(36.5% - 3px);
                position: absolute;
                top: 10px;
                right: 0; } }
            @media screen and (max-width: 767px) {
              .sec2 .box30 .item .img_wrap.img3 figure:nth-child(3) {
                width: calc(36.5% - 3px);
                position: absolute;
                bottom: 10px;
                right: 0; } }
        .sec2 .box30 .item .img_wrap .nm {
          position: absolute;
          left: 0;
          bottom: 0;
          width: 33px;
          height: 33px;
          background-image: url("../img/location/nmbg.png");
          background-size: 100% auto;
          background-repeat: no-repeat;
          background-position: left bottom;
          color: #fff;
          font-size: 12px;
          font-weight: bold;
          line-height: 1;
          display: flex;
          align-items: flex-end;
          padding: 0 0 2px 5px; }
      .sec2 .box30 .item .txt_wrap .txt01 {
        text-align: center;
        color: #94822c;
        line-height: 1.4;
        margin: 0.8em auto 0.3em; }
        .sec2 .box30 .item .txt_wrap .txt01.ex1 {
          letter-spacing: 0.08em;
          font-weight: 400; }
        .sec2 .box30 .item .txt_wrap .txt01.bold {
          font-weight: 600; }
          @media screen and (max-width: 480px) {
            .sec2 .box30 .item .txt_wrap .txt01.bold {
              font-weight: 900; } }
        @media screen and (max-width: 480px) {
          .sec2 .box30 .item .txt_wrap .txt01 {
            font-size: calc(14vw / 3.9);
            letter-spacing: 0.02em; } }
        @media screen and (max-width: 480px) {
          .sec2 .box30 .item .txt_wrap .txt01.ls1 {
            letter-spacing: -0.06em; } }
      .sec2 .box30 .item .txt_wrap .flex {
        display: flex;
        justify-content: space-between; }
        @media screen and (max-width: 767px) {
          .sec2 .box30 .item .txt_wrap .flex {
            flex-direction: column-reverse;
            gap: 5px 0; } }
        .sec2 .box30 .item .txt_wrap .flex .time {
          width: calc(119%/3.4); }
          @media screen and (max-width: 767px) {
            .sec2 .box30 .item .txt_wrap .flex .time {
              width: calc(100%/1.6559);
              width: 80%;
              margin: 0 auto; } }
          @media screen and (max-width: 767px) {
            .sec2 .box30 .item .txt_wrap .flex .time.wide {
              width: calc(100%/3.54);
              width: calc(100%/4.2);
              margin: 0 auto; } }
        .sec2 .box30 .item .txt_wrap .flex .txt02 {
          width: 63.24%;
          width: 73%;
          margin-right: -8%;
          font-size: clamp(12px, calc(14vw / 9.6), 14px);
          line-height: 1.66;
          letter-spacing: 0; }
          .sec2 .box30 .item .txt_wrap .flex .txt02.car {
            width: 68%; }
            @media screen and (max-width: 480px) {
              .sec2 .box30 .item .txt_wrap .flex .txt02.car {
                width: 100%; } }
          @media screen and (max-width: 480px) {
            .sec2 .box30 .item .txt_wrap .flex .txt02 {
              width: 100%; } }
      .sec2 .box30 .item:nth-last-child(1) .txt_wrap .flex .txt02 {
        margin-right: 0;
        width: 64.94%;
        width: 63%; }
        @media screen and (max-width: 480px) {
          .sec2 .box30 .item:nth-last-child(1) .txt_wrap .flex .txt02 {
            width: 100%; } }

.sec3 {
  max-width: 100%; }
  .sec3 .flex_item {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 60px; }
    @media screen and (max-width: 767px) {
      .sec3 .flex_item {
        flex-direction: column-reverse;
        gap: 20px 0; } }
    .sec3 .flex_item .img_401 {
      max-width: 312px; }
      @media screen and (max-width: 767px) {
        .sec3 .flex_item .img_401 {
          max-width: 260px;
          margin: 0 auto; } }
    .sec3 .flex_item .txt02 {
      text-align: left;
      line-height: 2.1; }
      @media screen and (max-width: 767px) {
        .sec3 .flex_item .txt02 {
          text-align: center; } }
  .sec3 .box30 {
    max-width: 1120px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 40px calc(50%/11.2); }
    @media screen and (max-width: 767px) {
      .sec3 .box30 {
        gap: 40px 0;
        justify-content: space-between; } }
    .sec3 .box30 .item {
      width: calc(340%/11.2); }
      @media screen and (max-width: 767px) {
        .sec3 .box30 .item {
          width: 48%; } }
      @media screen and (max-width: 767px) {
        .sec3 .box30 .item.wide {
          width: 100%; } }
      .sec3 .box30 .item .img_wrap {
        position: relative; }
        .sec3 .box30 .item .img_wrap.img3 {
          display: flex;
          flex-wrap: wrap;
          padding: 10px 0;
          padding: 10px;
          background: #000;
          gap: 6px; }
          @media screen and (max-width: 767px) {
            .sec3 .box30 .item .img_wrap.img3 {
              flex-direction: row;
              padding: 10px 0; } }
          .sec3 .box30 .item .img_wrap.img3 figure {
            width: calc(50% - 3px);
            /*&:nth-child(1) {
            	@include mq($br_sp){
            		display: none;
            	}	
            }*/ }
            @media screen and (max-width: 767px) {
              .sec3 .box30 .item .img_wrap.img3 figure {
                display: none; } }
            @media screen and (max-width: 767px) {
              .sec3 .box30 .item .img_wrap.img3 figure.sp {
                display: block;
                width: calc(50% - 3px);
                aspect-ratio: 18/18.55; }
                .sec3 .box30 .item .img_wrap.img3 figure.sp img {
                  width: 100%;
                  height: 100%;
                  object-fit: cover; } }
            .sec3 .box30 .item .img_wrap.img3 figure.w {
              width: 100%; }
              @media screen and (max-width: 767px) {
                .sec3 .box30 .item .img_wrap.img3 figure.w {
                  display: block;
                  width: calc(50% - 3px);
                  aspect-ratio: 18/18.55; }
                  .sec3 .box30 .item .img_wrap.img3 figure.w img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover; } }
            .sec3 .box30 .item .img_wrap.img3 figure.w1 {
              width: 100%; }
              @media screen and (max-width: 767px) {
                .sec3 .box30 .item .img_wrap.img3 figure.w1 {
                  aspect-ratio: 18/18.55; }
                  .sec3 .box30 .item .img_wrap.img3 figure.w1 img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover; } }
        .sec3 .box30 .item .img_wrap .nm {
          position: absolute;
          left: 0;
          bottom: 0;
          width: 33px;
          height: 33px;
          background-image: url("../img/location/nmbg.png");
          background-size: 100% auto;
          background-repeat: no-repeat;
          background-position: left bottom;
          color: #fff;
          font-size: 12px;
          font-weight: bold;
          line-height: 1;
          display: flex;
          align-items: flex-end;
          padding: 0 0 2px 3px; }
      .sec3 .box30 .item .txt_wrap .txt01 {
        text-align: center;
        color: #94822c;
        line-height: 1.4;
        margin: 0.8em auto 0.3em; }
        @media screen and (max-width: 480px) {
          .sec3 .box30 .item .txt_wrap .txt01 {
            font-size: calc(14vw / 3.9);
            letter-spacing: 0.02em; } }
        .sec3 .box30 .item .txt_wrap .txt01 .min {
          display: block;
          font-size: 85%;
          color: #333; }
          @media screen and (max-width: 480px) {
            .sec3 .box30 .item .txt_wrap .txt01 .min {
              font-size: 70%; } }
          .sec3 .box30 .item .txt_wrap .txt01 .min .min_in {
            /*pcのみ*/ }
            @media screen and (min-width: 960px) {
              .sec3 .box30 .item .txt_wrap .txt01 .min .min_in {
                font-size: 50%;
                vertical-align: middle; } }
      .sec3 .box30 .item .txt_wrap .txt02 {
        text-align: center;
        font-size: clamp(12px, calc(14vw / 9.6), 14px);
        line-height: 1.66; }
        @media screen and (max-width: 480px) {
          .sec3 .box30 .item .txt_wrap .txt02 {
            font-size: calc(12vw / 3.9);
            letter-spacing: 0.02em;
            text-align: left; } }
        .sec3 .box30 .item .txt_wrap .txt02.ls06 {
          letter-spacing: 0.06em !important; }
        .sec3 .box30 .item .txt_wrap .txt02.ls0 {
          letter-spacing: 0 !important; }
      .sec3 .box30 .item .txt_wrap .border_txt {
        padding-top: 0.6em;
        margin-top: 0.6em;
        text-align: center;
        border-top: 1px solid #333;
        letter-spacing: 0.1em;
        font-size: clamp(12px, calc(14vw / 9.6), 14px); }
      @media screen and (max-width: 480px) {
        .sec3 .box30 .item:nth-last-child(1), .sec3 .box30 .item:nth-last-child(2) {
          width: 100%;
          display: flex;
          justify-content: space-between;
          align-items: flex-end; }
          .sec3 .box30 .item:nth-last-child(1) .img_wrap, .sec3 .box30 .item:nth-last-child(1) .txt_wrap, .sec3 .box30 .item:nth-last-child(2) .img_wrap, .sec3 .box30 .item:nth-last-child(2) .txt_wrap {
            width: 48%; } }

.sec4 {
  padding: 0;
  max-width: 100%;
  background: rgba(163, 184, 197, 0.2);
  position: relative; }
  @media screen and (max-width: 767px) {
    .sec4 {
      padding-bottom: 10px; } }
  .sec4::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: #fff;
    padding-bottom: 180px; }
    @media screen and (max-width: 1200px) {
      .sec4::before {
        padding-bottom: calc(180%/12); } }
    @media screen and (max-width: 600px) {
      .sec4::before {
        padding-bottom: 90px; } }
  .sec4 .img_501 {
    max-width: 374px;
    margin: 0 auto 40px;
    padding: 15px;
    position: relative;
    z-index: 2;
    border: 1px solid #bfbcb6; }
    @media screen and (max-width: 1200px) {
      .sec4 .img_501 {
        width: calc(374%/11.2); } }
    @media screen and (max-width: 600px) {
      .sec4 .img_501 {
        width: 180px;
        padding: 8px;
        margin-bottom: 20px; } }
  .sec4 .msn-headlineCopy {
    margin-bottom: 70px; }
    @media screen and (max-width: 767px) {
      .sec4 .msn-headlineCopy {
        margin-bottom: 30px; } }
  .sec4 .inner_1120 {
    max-width: 1120px;
    width: calc(100% - 40px);
    margin: 0 auto; }
    .sec4 .inner_1120 .box40 {
      display: flex;
      flex-direction: column;
      gap: 55px 0; }
      @media screen and (max-width: 480px) {
        .sec4 .inner_1120 .box40 .txt01 {
          font-size: calc(14vw / 3.9); } }
  .sec4 .box_ttl {
    line-height: 0;
    margin-bottom: 20px; }
    .sec4 .box_ttl .ttl_01 {
      width: calc(337%/11.2);
      margin-bottom: 15px; }
      @media screen and (max-width: 767px) {
        .sec4 .box_ttl .ttl_01 {
          width: calc(337%/7.67); } }
      @media screen and (max-width: 480px) {
        .sec4 .box_ttl .ttl_01 {
          width: calc(337%/4.7); } }
    .sec4 .box_ttl .ttl_02 {
      width: calc(267%/11.2); }
      @media screen and (max-width: 767px) {
        .sec4 .box_ttl .ttl_02 {
          width: calc(267%/7.67); } }
      @media screen and (max-width: 480px) {
        .sec4 .box_ttl .ttl_02 {
          width: calc(267%/4.7); } }
    .sec4 .box_ttl .ttl_03 {
      width: calc(469%/11.2); }
      @media screen and (max-width: 767px) {
        .sec4 .box_ttl .ttl_03 {
          width: calc(469%/7.67); } }
      @media screen and (max-width: 480px) {
        .sec4 .box_ttl .ttl_03 {
          width: calc(469%/4.7); } }
  .sec4 .items {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 30px 0; }
    .sec4 .items.col4 .item {
      width: calc(265%/11.2); }
      @media screen and (max-width: 900px) {
        .sec4 .items.col4 .item {
          width: 48%; } }
    .sec4 .items .item {
      width: calc(360%/11.2);
      position: relative; }
      @media screen and (max-width: 680px) {
        .sec4 .items .item {
          width: 48%; } }
      .sec4 .items .item .item_cap {
        background: rgba(0, 0, 0, 0.5);
        color: #fff;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 10px 0;
        text-align: center;
        letter-spacing: -0.05em;
        line-height: 1;
        font-size: clamp(10px, calc(12vw / 11.2), 13px); }
        @media screen and (max-width: 480px) {
          .sec4 .items .item .item_cap {
            letter-spacing: 0.02em;
            line-height: 1.4;
            padding: 4px 0; } }

/*-------------------------------------------
ライフインフォ
-------------------------------------------*/
.life_info .li_wrap {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between; }
  @media screen and (max-width: 900px) {
    .life_info .li_wrap {
      width: calc(100% - 40px);
      margin: 0 auto;
      display: block;
      display: flex;
      flex-direction: column-reverse; } }
  .life_info .li_wrap .map {
    width: calc(940% / 16);
    width: calc(950% / 16); }
    @media screen and (max-width: 1600px) {
      .life_info .li_wrap .map {
        width: calc(954% / 16); } }
    @media screen and (max-width: 900px) {
      .life_info .li_wrap .map {
        width: 100%; } }
  .life_info .li_wrap .lifeinfo {
    width: calc(570% / 16);
    margin-right: calc(40% / 16); }
    @media screen and (max-width: 1600px) {
      .life_info .li_wrap .lifeinfo {
        width: calc(560% / 16);
        margin-right: calc(40% / 16); } }
    @media screen and (max-width: 1400px) {
      .life_info .li_wrap .lifeinfo {
        margin-right: 20px; } }
    @media screen and (max-width: 900px) {
      .life_info .li_wrap .lifeinfo {
        width: 100%; } }
@media screen and (max-width: 900px) {
  .life_info .li_wrap .img_col4 {
    margin-bottom: 30px; }
  .life_info .li_wrap .img_col4 li {
    width: 48%; } }
@media screen and (max-width: 900px) {
  .life_info .li_wrap .map {
    margin-bottom: 30px;
    margin-bottom: 20px; }
  .life_info .li_wrap .map .inn {
    width: calc(100% + 40px);
    margin: 0 -20px; } }
.life_info .lifeinfo .minutesList {
  width: 100%;
  margin-bottom: 15px;
  display: flex;
  column-gap: 10px;
  column-gap: 15px; }
  @media screen and (max-width: 1200px) {
    .life_info .lifeinfo .minutesList {
      flex-direction: column; } }
  .life_info .lifeinfo .minutesList .minutesList_ttl {
    width: 135px; }
    @media screen and (max-width: 1600px) {
      .life_info .lifeinfo .minutesList .minutesList_ttl {
        width: calc(135%/5.6); } }
    @media screen and (max-width: 1200px) {
      .life_info .lifeinfo .minutesList .minutesList_ttl {
        width: 100%; } }
    .life_info .lifeinfo .minutesList .minutesList_ttl .life_img {
      width: 100%;
      line-height: 0;
      padding-bottom: 10px;
      border-bottom: 1px solid #877637; }
      @media screen and (max-width: 900px) {
        .life_info .lifeinfo .minutesList .minutesList_ttl .life_img {
          border-bottom: 0; } }
      .life_info .lifeinfo .minutesList .minutesList_ttl .life_img.ttl01 img {
        width: calc(82%/1.35); }
        @media screen and (max-width: 900px) {
          .life_info .lifeinfo .minutesList .minutesList_ttl .life_img.ttl01 img {
            max-width: 82px;
            width: calc(82%/4.6); } }
      .life_info .lifeinfo .minutesList .minutesList_ttl .life_img.ttl02 img {
        width: calc(131%/1.35); }
        @media screen and (max-width: 900px) {
          .life_info .lifeinfo .minutesList .minutesList_ttl .life_img.ttl02 img {
            max-width: 131px;
            width: calc(131%/4.6); } }
      .life_info .lifeinfo .minutesList .minutesList_ttl .life_img.ttl03 img {
        width: calc(115%/1.35); }
        @media screen and (max-width: 900px) {
          .life_info .lifeinfo .minutesList .minutesList_ttl .life_img.ttl03 img {
            max-width: 115px;
            width: calc(115%/4.6); } }
      .life_info .lifeinfo .minutesList .minutesList_ttl .life_img.ttl04 img {
        width: calc(59%/1.35); }
        @media screen and (max-width: 900px) {
          .life_info .lifeinfo .minutesList .minutesList_ttl .life_img.ttl04 img {
            max-width: 59px;
            width: calc(59%/4.6); } }
      .life_info .lifeinfo .minutesList .minutesList_ttl .life_img.ttl05 img {
        width: calc(108%/1.35); }
        @media screen and (max-width: 900px) {
          .life_info .lifeinfo .minutesList .minutesList_ttl .life_img.ttl05 img {
            max-width: 108px;
            width: calc(108%/4.6); } }
      .life_info .lifeinfo .minutesList .minutesList_ttl .life_img.ttl06 img {
        width: calc(85%/1.35); }
        @media screen and (max-width: 900px) {
          .life_info .lifeinfo .minutesList .minutesList_ttl .life_img.ttl06 img {
            max-width: 171px;
            width: calc(171%/4.6); } }
  .life_info .lifeinfo .minutesList .dl_wrap {
    width: calc(100% - 150px); }
    @media screen and (max-width: 1600px) {
      .life_info .lifeinfo .minutesList .dl_wrap {
        width: calc(423%/5.6); } }
    @media screen and (max-width: 1200px) {
      .life_info .lifeinfo .minutesList .dl_wrap {
        width: 100%; } }
.life_info .lifeinfo .minutesList .minutesList_ttl {
  position: relative;
  color: #8a599b;
  font-size: clamp(12px, calc(17vw / 13.4), 17px);
  font-size: clamp(12px, calc(17vw / 13.9), 17px);
  letter-spacing: 0.1em;
  line-height: 1;
  line-height: 1.6;
  margin-bottom: 0.4em;
  font-weight: 500; }
.life_info .lifeinfo .minutesList .list {
  display: flex;
  justify-content: space-between;
  font-size: clamp(11px, calc(15vw / 13.4), 15px);
  font-size: clamp(11px, calc(15vw / 13.9), 15px);
  letter-spacing: -0.03em;
  line-height: 1.42;
  line-height: 1.8;
  color: #333333; }
  @media screen and (max-width: 900px) {
    .life_info .lifeinfo .minutesList .list {
      font-size: calc(14vw/4.6);
      padding: 0.2em 0; } }
.life_info .lifeinfo .minutesList .list::after {
  content: "";
  order: 2;
  flex: 1;
  height: 1px;
  border-bottom: dotted 1px #333;
  align-self: center;
  margin: 0 8px; }
@media screen and (max-width: 900px) {
  .life_info .lifeinfo .minutesList .list::after {
    border-bottom: none; }
  .life_info .lifeinfo .minutesList .list dt.ls {
    letter-spacing: -0.06em; } }
.life_info .lifeinfo .minutesList .list dt {
  order: 1; }
.life_info .lifeinfo .minutesList .list dd.by {
  width: 3em !important; }
.life_info .lifeinfo .minutesList .list dd:nth-child(2) {
  width: 2em;
  order: 3; }
.life_info .lifeinfo .minutesList .list dd:nth-child(3) {
  width: 2.1em;
  text-align: right;
  order: 4; }
.life_info .lifeinfo .minutesList .list dd:nth-child(4) {
  width: 1.8em;
  order: 5; }
.life_info .lifeinfo .minutesList .list dd:nth-child(5) {
  width: 3.7em;
  text-align: right;
  order: 6; }
@media screen and (max-width: 900px) {
  .life_info .lifeinfo .minutesList .list dd:nth-child(5) {
    width: 3.9em; } }
.life_info .minutesList_ttl .toc_toggle {
  display: none; }
@media screen and (max-width: 900px) {
  .life_info .dl_wrap {
    display: none; }
  .life_info .lifeinfo .minutesList .minutesList_ttl {
    position: relative;
    font-size: 14px;
    margin-bottom: 0.2em;
    border-bottom: 1px solid #ccc;
    height: auto;
    padding: 6px 0 7px;
    display: flex;
    align-items: center;
    line-height: 1;
    margin-bottom: 10px; }
  .life_info .minutesList_ttl .toc_toggle {
    display: block; }
  .life_info .toc_toggle {
    display: block;
    position: absolute;
    top: 5px;
    right: 12px;
    font-size: 0 !important;
    width: 15px;
    height: 15px;
    cursor: pointer; }
  .life_info .toc_toggle::before {
    content: "";
    position: absolute;
    top: 6px;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: #ccc;
    transition: 0.3s all ease-in-out 0s;
    z-index: 1; }
  .life_info .toc_toggle::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(50% - 2px);
    right: 0;
    width: 3px;
    background: #ccc;
    opacity: 1;
    transition: 0.3s all ease-in-out 0s;
    z-index: 1; }
  .life_info .minutesList_ttl.on .toc_toggle::after {
    opacity: 0; } }
.life_info .pinch {
  margin: 5px auto 0; }
  @media screen and (max-width: 480px) {
    .life_info .pinch {
      margin-right: -10px;
      margin-top: 0;
      margin-bottom: 5px; } }
  .life_info .pinch img {
    max-width: 200px; }

/*-------------------------------------------
スライド
-------------------------------------------*/
.slide_wrap .txt_box {
  text-align: center;
  padding: 8px 0 20px;
  padding: 16px 0 20px; }
  .slide_wrap .txt_box p {
    font-feature-settings: "palt";
    letter-spacing: -0.0em;
    line-height: 1.76; }
    .slide_wrap .txt_box p.txt01 {
      font-weight: 400;
      line-height: 1.2;
      margin-bottom: 0.5em;
      margin-bottom: 0.8em; }
      @media screen and (max-width: 480px) {
        .slide_wrap .txt_box p.txt01 {
          font-size: calc(14vw / 3.9);
          letter-spacing: 0.02em; } }
    .slide_wrap .txt_box p .border {
      width: 100%;
      display: inline-block;
      margin-bottom: 0.5em;
      padding-bottom: 0.5em;
      border-bottom: 1px solid #000; }
    .slide_wrap .txt_box p .min {
      display: block;
      text-align: center;
      font-size: clamp(12px, calc(14vw / 9.6), 14px);
      line-height: 1.66;
      letter-spacing: 0.01em; }
      @media screen and (max-width: 480px) {
        .slide_wrap .txt_box p .min {
          font-size: calc(12vw / 3.9);
          letter-spacing: 0.02em; } }
    .slide_wrap .txt_box p.txt02 {
      text-align: center;
      font-size: clamp(12px, calc(14vw / 9.6), 14px);
      line-height: 1.66; }
      @media screen and (max-width: 480px) {
        .slide_wrap .txt_box p.txt02 {
          font-size: calc(12vw / 3.9);
          letter-spacing: 0.02em; } }
.slide_wrap .swiper-button-prev:after,
.slide_wrap .swiper-container-rtl .swiper-button-next:after,
.slide_wrap .swiper-button-next:after,
.slide_wrap .swiper-container-rtl .swiper-button-prev:after {
  content: none !important; }
.slide_wrap .swiper_buttons {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 15px;
  height: 50px; }
  @media screen and (max-width: 480px) {
    .slide_wrap .swiper_buttons {
      gap: 25px;
      height: 40px; } }
.slide_wrap .swiper-button-next,
.slide_wrap .swiper-button-prev {
  width: 50px;
  height: 50px;
  position: static; }
  @media screen and (max-width: 480px) {
    .slide_wrap .swiper-button-next,
    .slide_wrap .swiper-button-prev {
      width: 40px;
      height: 40px; } }
.slide_wrap .slide_main {
  width: 90%;
  margin: 0 auto;
  overflow: visible;
  padding: 50px 0 60px;
  position: relative; }
  @media screen and (max-width: 480px) {
    .slide_wrap .slide_main {
      padding-bottom: 40px; } }
  .slide_wrap .slide_main::after {
    content: '';
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    z-index: -1;
    width: calc((430 / 1600 * 100%) + 120px);
    background: rgba(163, 184, 197, 0.2);
    mix-blend-mode: multiply; }
    @media screen and (max-width: 767px) {
      .slide_wrap .slide_main::after {
        width: calc(100% - 28px); } }

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