/*! Writen  by SCSS */
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&display=swap");
a.link_txt {
  text-decoration: underline;
  color: #3639D5; }

figure figcaption {
  font-size: 10px; }

.en {
  font-family: "EB Garamond", serif; }

.bg_wrap {
  color: #fff;
  background: linear-gradient(to right, #091139, #1e2c5c, #091139); }

.color1 {
  color: #003876; }

.txt01 {
  font-size: clamp(13px, 1.25vw, 16px);
  letter-spacing: 0.1em;
  line-height: 2.25; }

.txt02 {
  font-size: clamp(26px, 3.75vw, 48px);
  letter-spacing: 0;
  line-height: 1.4; }

.txt03 {
  font-size: clamp(12px, 1.094vw, 14px); }

.txt04 {
  font-size: clamp(18px, 2.188vw, 28px); }

.lp_header .lp_logo {
  position: fixed;
  top: 20px;
  left: 20px;
  z-index: 100; }
  @media screen and (max-width: 768px) {
    .lp_header .lp_logo {
      top: 10px;
      left: 10px;
      width: 60px; } }
  .lp_header .lp_logo a {
    transition: all 0.3s; }
    @media (hover: hover) {
      .lp_header .lp_logo a:hover {
        opacity: 0.7; } }
  .lp_header .lp_logo img {
    filter: drop-shadow(0 0 10px #645b27); }
.lp_header .lp_res {
  background: #fff;
  width: 150px;
  height: 70px;
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 100; }
  @media screen and (max-width: 768px) {
    .lp_header .lp_res {
      top: 0;
      right: 0;
      width: 120px;
      height: 50px; } }
  .lp_header .lp_res a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 19px;
    letter-spacing: 0.2em;
    line-height: 1;
    background-image: url("../images/lp_res_bg.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: all 0.3s;
    width: 150px;
    height: 70px; }
    @media screen and (max-width: 768px) {
      .lp_header .lp_res a {
        width: 120px;
        height: 50px;
        font-size: 14px; } }
    @media (hover: hover) {
      .lp_header .lp_res a:hover {
        opacity: 0.7; } }

.inner_800 {
  max-width: 800px;
  margin: 0 auto; }

.inner_1000 {
  max-width: 1000px;
  margin: 0 auto; }

.inner_600 {
  max-width: 600px;
  margin: 0 auto; }

.mv {
  position: relative; }
  .mv .main_txt {
    position: absolute;
    inset: 0;
    margin: auto; }

.mv_obi {
  background: #001d42;
  color: #fff;
  padding: clamp(30px, 6.25vw, 80px) 0; }

.inner_box {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 768px) {
    .inner_box {
      flex-direction: column;
      gap: 20px 0; } }
  .inner_box .txts {
    width: calc(380%/8); }
    @media screen and (max-width: 768px) {
      .inner_box .txts {
        width: 100%; } }
  .inner_box .imgs {
    width: calc(380%/8); }
    @media screen and (max-width: 768px) {
      .inner_box .imgs {
        width: 100%; } }
  .inner_box .box_ttl {
    font-size: clamp(18px, 1.797vw, 23px);
    letter-spacing: 0.02em;
    line-height: 1.52;
    margin-bottom: 0.8em; }
    @media screen and (max-width: 768px) {
      .inner_box .box_ttl {
        text-align: center; } }
  .inner_box .box_read {
    font-size: clamp(13px, 1.172vw, 15px);
    letter-spacing: -0.02em;
    line-height: 1.875; }
  .inner_box .border_txts {
    margin: 20px 0 5px; }
    .inner_box .border_txts li {
      border-bottom: 1px solid;
      border-color: #231815;
      font-size: clamp(13px, 1.094vw, 14px);
      letter-spacing: 0;
      line-height: 1.4;
      padding: 1em 0; }
      .inner_box .border_txts li:nth-child(1) {
        border-top: 1px solid; }

.border_box {
  border-top: 1px solid;
  border-bottom: 1px solid;
  border-color: #435678;
  padding: 13px 0; }
  .border_box .txt {
    font-size: clamp(13px, 1.172vw, 15px);
    line-height: 1.44;
    letter-spacing: 0; }
    .border_box .txt sub {
      font-size: clamp(8px, 0.782vw, 10px); }

.txt_bg_box {
  padding: 13px 10px;
  background-image: url("../images/text_bg.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  aspect-ratio: 1000 / 160;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff; }
  .txt_bg_box p {
    font-size: clamp(15px, 2.188vw, 28px);
    font-size: clamp(15px, 2.032vw, 26px);
    line-height: 1.39;
    letter-spacing: 0.05em; }

.bg_ttl {
  background: #231815;
  font-size: clamp(16px, 1.719vw, 22px);
  line-height: 1.4;
  padding: 0.3em 0;
  color: #fff;
  text-align: center;
  max-width: 800px;
  margin: 0 auto; }

.links_btns {
  display: flex;
  justify-content: center; }
  .links_btns.col2 {
    gap: 0 50px; }
    @media screen and (max-width: 768px) {
      .links_btns.col2 {
        flex-direction: column;
        gap: 20px 0; } }
  .links_btns .links_btn {
    max-width: 350px;
    width: 100%;
    background: #fff; }
    .links_btns .links_btn a {
      background-image: url("../images/btn_bg.jpg");
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      aspect-ratio: 350 / 40;
      font-size: 16px;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #221815;
      transition: all 0.3s; }
      @media (hover: hover) {
        .links_btns .links_btn a:hover {
          opacity: 0.7; } }

.sec1 {
  padding: clamp(30px, 6.25vw, 80px) 0; }
  .sec1 .txt02 {
    margin-bottom: clamp(30px, 6.25vw, 80px); }
  .sec1 .inner_box01 {
    margin-bottom: clamp(30px, 5.469vw, 70px); }
  .sec1 .border_box01 {
    margin-bottom: 15px; }
  .sec1 .caps {
    margin-bottom: clamp(30px, 6.25vw, 80px); }
  .sec1 .txt_bg_box01 {
    margin-bottom: clamp(30px, 6.25vw, 80px); }
  .sec1 .inner_box02 {
    margin-bottom: clamp(30px, 3.125vw, 40px); }
  .sec1 .border_box02 p {
    min-height: 3em;
    display: flex;
    justify-content: center;
    align-items: center; }

.sec2 {
  padding: clamp(30px, 6.25vw, 80px) 0;
  background: #231815;
  color: #fff; }
  .sec2 .txt1 {
    margin-bottom: 30px; }
  .sec2 .tabs {
    display: flex;
    justify-content: center;
    gap: 0 8px; }
    .sec2 .tabs.top {
      margin-bottom: 25px; }
    .sec2 .tabs.bottom {
      margin-top: 25px;
      margin-bottom: clamp(50px, 7.813vw, 100px); }
    .sec2 .tabs .tab_btn {
      max-width: 200px;
      width: 100%;
      background-image: url("../images/btn_bg.jpg");
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      aspect-ratio: 200 / 30;
      font-size: 20px;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #221815;
      cursor: pointer;
      transition: all 0.3s;
      opacity: 0.3;
      /*&:not(.active) {
      	opacity: 0.3;
      }*/ }
      .sec2 .tabs .tab_btn .min {
        font-size: 60%; }
      @media (hover: hover) {
        .sec2 .tabs .tab_btn:hover {
          opacity: 0.3;
          opacity: 1; } }
      .sec2 .tabs .tab_btn.active {
        opacity: 1; }
  .sec2 .tab_cnts .type_a:not(.active),
  .sec2 .tab_cnts .type_b:not(.active) {
    display: none; }
  .sec2 .tab_cnts .spec {
    margin-bottom: 25px; }
  .sec2 .tab_cnts .fig {
    text-align: center;
    background: #fff;
    padding: 40px 0;
    margin-bottom: 10px; }
    .sec2 .tab_cnts .fig img {
      max-width: 400px;
      margin: 0 auto;
      width: 100%; }
  .sec2 .tab_cnts .hemsai {
    background: #fff; }
  .sec2 .vr_ttl {
    font-size: clamp(20px, 2.188vw, 28px);
    line-height: 1;
    margin-bottom: clamp(15px, 2.735vw, 35px); }
    .sec2 .vr_ttl .en {
      letter-spacing: 0.1em; }
    .sec2 .vr_ttl .ja {
      font-size: clamp(10px, 1.172vw, 15px);
      letter-spacing: 0; }
    .sec2 .vr_ttl span {
      display: block; }
  .sec2 .vr_bg_ttl {
    color: #221815;
    background-image: url("../images/vr_bg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    aspect-ratio: 600 / 30;
    font-size: 20px; }
    .sec2 .vr_bg_ttl .min {
      font-size: 60%; }
  .sec2 .vr_box {
    position: relative; }
    .sec2 .vr_box:before {
      content: "";
      display: block;
      padding-bottom: 56.25%; }
      @media screen and (max-width: 480px) {
        .sec2 .vr_box:before {
          padding-bottom: 112%; } }
    .sec2 .vr_box iframe {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%; }
  .sec2 .links_btns {
    margin-top: clamp(50px, 7.813vw, 100px); }

.sec3 {
  background: #001d42;
  color: #fff;
  padding: clamp(30px, 7.032vw, 90px) 0; }
  .sec3 .txt04 {
    margin-bottom: clamp(20px, 4.688vw, 60px); }
  .sec3 .img_list {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 19px 0;
    margin-bottom: clamp(30px, 5.469vw, 70px); }
    .sec3 .img_list .item {
      width: calc(240%/8); }
      @media screen and (max-width: 480px) {
        .sec3 .img_list .item {
          width: 48%; } }
      .sec3 .img_list .item .item_txt {
        margin-top: 0.6em;
        text-align: center;
        font-feature-settings: "palt";
        font-size: clamp(12px, 1.172vw, 15px);
        line-height: 1.2; }
        .sec3 .img_list .item .item_txt.ex {
          font-size: clamp(11px, 1.094vw, 14px);
          letter-spacing: -0.08em; }
        .sec3 .img_list .item .item_txt .ls1 {
          letter-spacing: -0.2em;
          display: inline-block; }
  .sec3 .txt_bg_box02 {
    margin-bottom: clamp(50px, 7.813vw, 100px); }

.sec4 {
  padding: clamp(30px, 7.032vw, 90px) 0; }
  .sec4 .txt02 {
    margin-bottom: clamp(30px, 5.469vw, 70px);
    color: #003876; }
  .sec4 .inner_box03 .box_ttl {
    letter-spacing: -0.06em; }
    @media screen and (max-width: 768px) {
      .sec4 .inner_box03 .box_ttl {
        letter-spacing: 0.03em; } }
  .sec4 .inner_box03 .img401 .cap {
    right: auto;
    left: -18em;
    width: 16.5em; }
  .sec4 .bg_ttl01 {
    margin-bottom: 10px; }
  .sec4 .bg_ttl02 {
    margin-bottom: 15px; }
  .sec4 .img402 {
    margin-bottom: clamp(50px, 7.813vw, 100px); }
  .sec4 .box401 {
    display: flex;
    justify-content: space-between;
    margin-bottom: clamp(25px, 4.688vw, 60px); }
    @media screen and (max-width: 800px) {
      .sec4 .box401 {
        flex-direction: column;
        gap: 20px 0; } }
    @media screen and (max-width: 768px) {
      .sec4 .box401 {
        margin-bottom: 50px; } }
    .sec4 .box401 .l_cnt {
      width: calc(395%/8); }
      @media screen and (max-width: 800px) {
        .sec4 .box401 .l_cnt {
          width: 100%; } }
    .sec4 .box401 .r_cnt {
      width: calc(381%/8); }
      @media screen and (max-width: 800px) {
        .sec4 .box401 .r_cnt {
          width: 100%;
          max-width: 450px;
          margin: 0 auto; } }
      @media screen and (max-width: 480px) {
        .sec4 .box401 .r_cnt .img403 {
          margin: 0 auto; } }
      .sec4 .box401 .r_cnt .cap_l {
        margin-top: 5px;
        font-size: 9px;
        letter-spacing: 0; }
        @media screen and (max-width: 480px) {
          .sec4 .box401 .r_cnt .cap_l {
            margin-top: 10px; } }
    .sec4 .box401 .list_item01 {
      display: flex;
      flex-direction: column;
      gap: 15px 0; }
      .sec4 .box401 .list_item01 .item {
        background: #f1f2f6;
        padding: 10px;
        text-align: center; }
        @media screen and (max-width: 768px) {
          .sec4 .box401 .list_item01 .item {
            width: 100%; } }
        .sec4 .box401 .list_item01 .item .txt1 {
          font-size: clamp(18px, 2.75vw, 22px);
          margin: 0 auto;
          width: 100%;
          border-bottom: 1px solid #000;
          padding-bottom: 0.2em;
          margin-bottom: 0.4em; }
        .sec4 .box401 .list_item01 .item .txt2 {
          font-size: clamp(12px, 1.625vw, 13px);
          line-height: 1.35;
          letter-spacing: -0.02em; }

.sec5 {
  padding: clamp(30px, 6.25vw, 80px) 0;
  background: #231815;
  color: #fff; }
  .sec5 .txt1 {
    margin-bottom: 30px; }
  .sec5 .txt2 {
    margin-bottom: clamp(25px, 4.688vw, 60px); }
  .sec5 .border_ttl {
    border: 1px solid #fff;
    padding: 0.3em;
    font-size: clamp(18px, 1.719vw, 22px);
    text-align: center; }
    .sec5 .border_ttl.border_ttl01 {
      margin-bottom: clamp(25px, 4.688vw, 60px); }
  .sec5 .inner_box04 .txts .box_read {
    letter-spacing: -0.04em;
    margin-bottom: clamp(15px, 3.672vw, 47px); }
  .sec5 .caps {
    margin-bottom: clamp(25px, 4.688vw, 60px); }
  .sec5 .links_btns1 {
    margin-bottom: clamp(50px, 7.813vw, 100px); }
  .sec5 .border_ttl02 {
    margin-bottom: clamp(25px, 3.125vw, 40px); }
  .sec5 .txt04_1 {
    margin-bottom: clamp(25px, 3.125vw, 40px); }
  .sec5 .img503 {
    margin-bottom: clamp(25px, 3.516vw, 45px); }
  .sec5 .img_list2 {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 30px 0;
    margin-bottom: clamp(30px, 5.469vw, 70px); }
    .sec5 .img_list2 .item {
      width: calc(240%/8); }
      @media screen and (max-width: 480px) {
        .sec5 .img_list2 .item {
          width: 48%; } }
      .sec5 .img_list2 .item .item_txt {
        margin-top: 0.6em;
        text-align: center;
        font-feature-settings: "palt";
        font-size: clamp(12px, 1.172vw, 15px);
        line-height: 1.2; }
        .sec5 .img_list2 .item .item_txt.ex {
          font-size: clamp(11px, 1.094vw, 14px);
          letter-spacing: -0.08em; }
        .sec5 .img_list2 .item .item_txt .ls1 {
          letter-spacing: -0.2em;
          display: inline-block; }
  .sec5 .txt_bg_box04 {
    margin-bottom: clamp(50px, 7.813vw, 100px); }

.sec6 {
  padding: clamp(30px, 6.25vw, 80px) 0; }
  .sec6 .txt02 {
    margin-bottom: clamp(30px, 7.032vw, 90px); }
  .sec6 .inner_box05 {
    margin-bottom: clamp(25px, 5.079vw, 65px); }
  .sec6 .img_list3 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-bottom: clamp(30px, 5.86vw, 75px); }
    .sec6 .img_list3 figure {
      width: calc(50% - 6px); }

.sec7 {
  padding: clamp(30px, 6.25vw, 80px) 0;
  color: #fff;
  background: #081c42; }
  .sec7 .txt04 {
    margin-bottom: clamp(30px, 5.469vw, 70px); }
  .sec7 .txt_bg_box05 {
    margin-bottom: clamp(50px, 7.813vw, 100px); }
  .sec7 .img_list3 {
    max-width: 800px;
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 30px 0;
    margin-bottom: clamp(30px, 5.469vw, 70px); }
    .sec7 .img_list3 .item {
      width: calc(230%/10); }
      @media screen and (max-width: 480px) {
        .sec7 .img_list3 .item {
          width: 48%; } }
      .sec7 .img_list3 .item .item_txt {
        margin-top: 0.6em;
        text-align: center;
        font-feature-settings: "palt";
        font-size: clamp(12px, 1.172vw, 15px);
        line-height: 1.2; }
        .sec7 .img_list3 .item .item_txt.ex {
          font-size: clamp(11px, 1.094vw, 14px);
          letter-spacing: -0.08em; }
        .sec7 .img_list3 .item .item_txt .ls1 {
          letter-spacing: -0.2em;
          display: inline-block; }
  .sec7 .slide_wrap {
    max-width: 1000px;
    margin: 0 auto;
    margin-bottom: clamp(50px, 7.813vw, 100px); }
    @media screen and (max-width: 480px) {
      .sec7 .slide_wrap {
        margin: 0 -20px;
        width: calc(100% + 40px);
        margin-bottom: clamp(50px, 7.813vw, 100px); } }
    .sec7 .slide_wrap .cap_ttl {
      position: absolute;
      left: 0;
      bottom: 0;
      font-size: clamp(16px, 2.344vw, 30px);
      line-height: 1;
      letter-spacing: 0.1em;
      padding: 10px;
      font-family: "EB Garamond", serif; }
      @media screen and (max-width: 480px) {
        .sec7 .slide_wrap .cap_ttl {
          padding: 5px; } }
  .sec7 .sec7_slide {
    max-width: 1000px;
    margin: 0 auto; }
    .sec7 .sec7_slide .swiper-slide .img_cap::after {
      content: "";
      position: absolute;
      inset: 0;
      background-image: url("../images/slide_bg.png");
      background-position: bottom center;
      background-repeat: no-repeat;
      background-size: contain; }
    .sec7 .sec7_slide .swiper-slide .cap {
      z-index: 3; }
  .sec7 .slide_btns {
    max-width: 200px;
    width: 100%;
    margin: 25px auto 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    line-height: 1; }
    @media screen and (max-width: 768px) {
      .sec7 .slide_btns {
        margin-top: 10px; } }
  .sec7 .swiper-pagination {
    position: static;
    width: auto;
    margin: 0 10px; }
  .sec7 .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: white;
    border-radius: 6px;
    border: 1px solid #54785e;
    opacity: 1;
    font-size: 0;
    margin: 0 10px !important;
    background-position: center;
    background-size: 10px 10px;
    background-repeat: no-repeat; }
  .sec7 .swiper-pagination-bullet-active {
    background: rgba(84, 120, 94, 0);
    background-image: url("../images/slide_ico.png"); }
  .sec7 .swiper-button-next, .sec7 .swiper-button-prev {
    position: static;
    width: 13px;
    height: 20px;
    line-height: 0;
    margin: 0; }
  .sec7 .swiper-button-prev:after,
  .sec7 .swiper-container-rtl .swiper-button-next:after,
  .sec7 .swiper-button-next:after,
  .sec7 .swiper-container-rtl .swiper-button-prev:after {
    content: none !important; }

/*# sourceMappingURL=lp.css.map */
