@charset "UTF-8";
/*----------共通設定 pc----------*/
  * {
    font-feature-settings: normal;
  }

  * > .lp__contener {
    font-family: var(--font);
    font-weight: 300;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  html {
    font-size: 62.5%;
  }

  .main-area {
    max-width: none;
    overflow: clip;
  }

/*----------共通設定 tablet----------*/
  @media only screen and (max-width: 1400px) and (min-width: 768px) {
    html {
      font-size: 0.7142857143vw;
    }
  }
/*----------共通設定 sp----------*/
  @media only screen and (max-width: 767px) {
    html {
      font-size: 1.3333333333vw;
    }
    #footer {
      z-index: 0;
      position: relative;
      background-color: #fff;
    }
    #footer .menu-sns ul {
      margin: 0;
      padding: 20px 0px 40px 0px;
    }
  }
/*----------LP normalize SP----------*/
  .lp__contener {
    font-family: var(--font);
  }
  .lp__contener * {
    box-sizing: border-box;
  }
  .lp__contener img {
    height: auto;
    opacity: 1;
    width: 100%;
  }
  .lp__contener a {
    text-decoration: none;
  }
  .lp__contener picture, .lp__contener a {
    display: block;
  }
  .lp__contener .spOnly {
    display: block;
  }
  .lp__contener .pcOnly {
    display: none;
  }
  .lp__contener p, .lp__contener ul, .lp__contenerol, .lp__contenerdl {
    list-style: none;
  }
  @media only screen and (max-width: 767px) {
    .lp__contener .section__inner {
      max-width: 100%;
    }
    .lp__contener .pc_only {
      display: none;
    }
    .lp__contener .sp_only {
      display: block;
    }
  }

/*----------LP normalize PC----------*/
  @media only screen and (min-width: 768px) {
    #Wrap {
      width: 100% !important;
    }
    .lp__contener .pc_only {
      display: block;
    }
    .lp__contener .sp_only {
      display: none;
    }
    .lp__contener .section__inner {
      margin: 0 auto;
    }
  }

  /* ぱんくず */
  .bredlist.lp {
    margin: 20px auto;
    min-width: auto;
    max-width: 120rem;
    font-size: 10px;
  }

  /* 全てのアイテムをチェック */
  .main-contents .viewall {
    width: 38rem;
    height: 6.4rem;
    margin: 0 auto;
    border: solid 1px #000;
  }

  .main-contents .viewall__link {
    color: #000;
    font-size: 1.8rem;
    line-height: 1;
    letter-spacing: 0.06em;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  @media only screen and (max-width: 767px) {

    /* ぱんくず */
    .bredlist.lp {
      max-width: calc(700 *(100vw / 750));
    }

    /* 全てのアイテムをチェック */
    .main-contents .viewall {
      width: calc(675 * (100vw / 750));
      height: calc(120 * (100vw / 750));
    }

    .main-contents .viewall__link {
      font-size: calc(28 * (100vw / 750));
    }
  }


/* ===============================================### 
編集エリア
###=============================================== */
  .main-contents {
    margin: 0 auto;
    padding-bottom: calc(198* (100vw /750));
    position: relative;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "Open Sans", "メイリオ", sans-serif;
    font-weight: 500;
    overflow: hidden;
  }

  @media screen and (min-width: 768px) {
    .sec_bib_box01 {
      width: 100%;
      --content: 852rem;
    }
  }
  @media screen and (max-width: 767px) {
    .sec_bib_box01 {
      width: 100%;
      --content: calc(16900* (100vw /750));
    }
  }

  .sp_only {
    display: block;
  }

  .pc_only {
    display: none;
  }

  .li_block {
    display: block;
    width: 100%;
  }

  .main-contents .slide {
    line-height: 0;
    font-size: 0;
  }

  .flex_box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .position_box {
    position: relative;
  }

  .grid_box {
    display: grid;
  }

  .sec_tax_left {
    margin-left: calc(45* (100vw /750));
  }

  .sec_tax_right {
    justify-content: flex-end;
  }

  .sec_tax_center {
    justify-content: center;
  }

/************** js **************/
  .fadein {
    opacity: 0;
    transition: opacity, 1s;
    transform: translateY(0px);
  }

  .fadein.fade-active {
    opacity: 1;
    transform: translateY(0);
  }

  .fadein {
    opacity: 0;
    will-change: opacity, transform;
    transition: ease-in, opacity 1500ms, transform 1000ms;
  }

  .fadein.fade-active {
    opacity: 1;
  }

  .js_imgFadeIn {
    opacity: 0;
    transform: translateY(30px);
  }

  .sec_img.js_imgFadeIn,
  .sec05 .js_imgFadeIn {
    transform: translateY(40px);
  }

  .mv h2.js_imgFadeIn {
    transform: translateY(50px);
  }

  .imgAnimated,
  .mv h2.imgAnimated,
  .sec_img.imgAnimated,
  .sec05 .imgAnimated {
    transition: transform 1.2s, opacity 1.2s;
    transform: translateY(0)!important;
    opacity: 1;
  }
  

/************** before **************/
  .main-contents ul li .link_ttl::before,
  .main-contents ul li .link_ttl::after,
  .main-contents .sec .link_ttl::before,
  .main-contents .sec .link_ttl::after,
  .sec_box01 .sub_box02::before {
    content: '';
    display: block;
    position: absolute;
    background-repeat: no-repeat;
    background-size: contain;
  }

  .sec_box01 .sub_box02::before {
    width: calc(111* (100vw /750));
    height: calc(324* (100vw /750));
    z-index: -1;
  }

  .main-contents {
    --bg01: #FDEEC4;
    --bg02: #E8C3A5;
    --bg03: #D2E4E0;
    --bg04: #C4C2C7;
  }

  .sec01 .bg_color,
  .sec01 .bg_color,
  .sec01 .bg_color {
    background-color: var(--bg01);
  }

  .sec02 .bg_color,
  .sec02 .bg_color,
  .sec02 .bg_color {
    background-color: var(--bg02);
  }

  .sec03 .bg_color,
  .sec03 .bg_color,
  .sec03 .bg_color {
    background-color: var(--bg03);
  }

  .sec04 .bg_color,
  .sec04 .bg_color,
  .sec04 .bg_color {
    background-color: var(--bg04);
  }

/************** common **************/
  /*** ttl ***/
  .main-contents .sec .link_ttl {
    margin: 0 auto calc(215* (100vw /750));
    padding: 0 calc(12* (100vw /750));
    width: max-content;
    font-size: calc(36* (100vw /750));
    letter-spacing: 0.025em;
    position: relative;
    background-color: #fff;
  }

  .main-contents .sec .link_ttl::before {
    border: 1px solid #D9D9D9;
    margin: 0 calc(30% - 50vw);
    width: 200vw;
    height: calc(10* (100vw /750));
    background-color: #fff;
    top: 35%;
    z-index: -1;
  }

  .main-contents .sec .link_ttl::after {
    width: 1px;
    height: calc(90* (100vw /750));
    left: 50%;
    transform: translate(-50%, 0);
    background-color: #808080;
    top: auto;
    bottom: -318%;
  }

  .main-contents .sec .sec_inner {
    position: relative;
  }

  .main-contents .sec .sec_ttl {
    width: max-content;
    position: absolute;
    top: -1.3%;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 5;
    pointer-events: none;
  }

  .main-contents .sec .sec_ttl div {
    display: flex;
    flex-wrap: nowrap;
  }

  .main-contents .sec .sec_ttl div p {
    margin-right: calc(14* (100vw /750));
    width: max-content;
    font-size: calc(78* (100vw /750));
    letter-spacing: 0.05em;
    font-family: "petersburg-web", serif;
    font-weight: 400;
    font-style: normal;
  }

  .main-contents .sec .sec_ttl div span {
    margin-top: calc(20* (100vw /750));
    width: calc(63* (100vw /750));
    display: block;
  }

  /*** bg_color ***/
  .bg_color {
    margin: 0 auto calc(62* (100vw /750));
    padding: calc(14* (100vw /750)) calc(14* (100vw /750));
  }

  /*** sec_text ***/
  .sec_text {
    margin: 0 auto;
    font-size: calc(23* (100vw /750));
    letter-spacing: 0.02em;
    line-height: 1.82;
    text-align: center;
    font-feature-settings: 'pwid';
  }

  .sub_box02 .sec_text {
    margin: calc(51* (100vw /750)) 0 calc(48* (100vw /750));
    padding: 0 calc(45* (100vw /750));
    text-align: justify;
  }

  .sec_tax {
    height: max-content;
  }

  /*** sec_tax01 ***/
  .sec_tax01 {
    margin: calc(40* (100vw /750)) auto calc(122* (100vw /750));
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 0 calc(26* (100vw /750));
    justify-content: center;
  }

  .sec_tax01 .tax_name {
    margin-bottom: calc(20* (100vw /750));
    width: 100%;
    text-align: center;
    font-size: calc(23* (100vw /750));
    letter-spacing: 0.03em;
    line-height: 1;
    font-family: "pragmatica", sans-serif;
    font-weight: 300;
    font-style: normal;
  }

  .sec_tax01 .tax {
    width: max-content;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0 calc(5* (100vw /750));
  }

  .sec_tax01 .tax .color_img {
    width: calc(62* (100vw /750));
    line-height: 0;
  }

  .sec_tax01 .tax a {
    padding-top: calc(3* (100vw /750));
    line-height: 1;
    width: max-content;
    font-size: calc(23* (100vw /750));
    letter-spacing: 0.03em;
    line-height: 1;
    font-family: "pragmatica", sans-serif;
    font-weight: 300;
    font-style: normal;
  }

  /*** sec_tax02 ***/
  .sec_tax02 {
    width: max-content;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: calc(19* (100vw /750)) 0;
    position: absolute;
  }

  .sec_tax02 li {
    font-size: calc(23* (100vw /750));
    letter-spacing: 0.03em;
    line-height: 1;
    font-family: "pragmatica", sans-serif;
    font-weight: 300;
    font-style: normal;
  }

  /*** detail_box ***/
  .detail_box {
    width: max-content;
    padding-left: calc(32* (100vw /750));
    display: flex;
    flex-direction: column;
    height: max-content;
    position: absolute;
    pointer-events: none;
  }

  .detail_box p:nth-of-type(1) {
    margin-bottom: calc(22* (100vw /750));
    padding: calc(7* (100vw /750)) 0 calc(4* (100vw /750));
    width: max-content;
    font-size: calc(22* (100vw /750));
    letter-spacing: 0.05em;
    font-family: "petersburg-web", serif;
    font-weight: 400;
    font-style: normal;
    border-bottom: 1px solid #808080;
  }

  .detail_box p:nth-of-type(2) {
    font-size: calc(22* (100vw /750));
    letter-spacing: 0.05em;
    line-height: 1.86;
    font-feature-settings: 'palt';
  } 

/************** mv **************/
  .main-contents .mv {
    margin: 0 auto calc(202* (100vw /750));
    width: calc(750* (100vw /750));
  }

  .main-contents .mv h2 {
    margin: 0 auto calc(75* (100vw /750));
  }

  .main-contents .mv_text {
    margin: 0 auto calc(134* (100vw /750));
    font-size: calc(24* (100vw /750));
    letter-spacing: 0.01em;
    line-height: 2.33;
    text-align: center;
    font-feature-settings: 'pwid';
  }

  .main-contents .mv ul {
    margin: 0 auto;
    width: calc(660* (100vw /750));
  }

  .main-contents .mv ul li {
    width: calc(313* (100vw /750));
  }

  .main-contents .mv ul li .link_ttl {
    margin: 0 auto calc(40* (100vw /750));
    width: max-content;
    font-size: calc(24* (100vw /750));
    letter-spacing: 0.025em;
    position: relative;
  }

  .main-contents .mv ul li:nth-of-type(1) .link_ttl {
    margin: 0 0 calc(40* (100vw /750)) calc(78* (100vw /750));
  }

  .main-contents .mv ul li:nth-of-type(2) .link_ttl {
    margin: 0 0 calc(40* (100vw /750)) calc(88* (100vw /750));
  }

  .main-contents .mv ul li .link_ttl::before,
  .main-contents .mv ul li .link_ttl::after  {
    width: calc(30* (100vw /750));
    height: 1px;
    background-color: #D9D9D9;
    top: 50%;
    transform: translate(0, -50%);
  }

  .main-contents .mv ul li:nth-of-type(1) .link_ttl::before {
    left: -24%;
  }

  .main-contents .mv ul li:nth-of-type(1) .link_ttl::after {
    right: -24%;
    left: auto;
  }

  .main-contents .mv ul li .link_ttl::before {
    left: -28%;
  }

  .main-contents .mv ul li .link_ttl::after {
    right: -28%;
    left: auto;
  }

  .main-contents .mv ul li .link_box div {
    width: calc(140* (100vw /750));
  }


/************** sec01 **************/
  .sec01 {
    margin: 0 auto calc(230* (100vw /750));
  }

  .main-contents .sec01 .sec_ttl {
    left: 51%;
  }
  
  /*** sub_box01 ***/
  .sec01 .sec_box01 .sub_box01 {
    margin: 0 auto calc(60* (100vw /750));
    width: 100%;
  }

  /*** sub_box02 ***/ 
  .sec01 .sec_box01 .sub_box02 {
    margin: 0 auto;
    width: 100%;
    position: relative;
  }

  .sec01 .sec_box01 .sub_box02::before {
    background-color: var(--bg01);
    top: auto;
    bottom: -1.3%;
    left: auto;
    right: 0;
  }

  .img06 {
    width: calc(560* (100vw /750));
  }

  .img07 {
    margin: 0 calc(45* (100vw /750)) 0 auto;
    width: calc(510* (100vw /750));
  }

  .sec01 .detail_box {
    border-left: 3px solid var(--bg01);
    top: 6.4%;
    right: 6.6%;
    left: auto;
  }

  .sec01 .sec_tax02 {
    top: auto;
    bottom: 1.95%;
    left: 5.8%;
  }

/************** sec02 **************/
  .sec02 {
    margin: 0 auto calc(230* (100vw /750));
  }

  .main-contents .sec02 .sec_ttl {
    left: 50.6%;
  }
  
  /*** sub_box01 ***/
  .sec02 .sec_box01 .sub_box01 {
    margin: 0 auto calc(60* (100vw /750));
    width: 100%;
  }

  /*** sub_box02 ***/ 
  .sec02 .sec_box01 .sub_box02 {
    margin: 0 auto;
    width: 100%;
    position: relative;
  }

  .sec02 .sec_box01 .sub_box02::before {
    background-color: var(--bg02);
    top: auto;
    bottom: -1.3%;
    left: 0;
  }

  .img09 {
    margin: 0 0 0 auto;
    width: calc(560* (100vw /750));
  }

  .img10 {
    margin: 0 0 0 calc(45* (100vw /750));
    width: calc(510* (100vw /750));
  }

  .sec02 .detail_box {
    border-left: 3px solid var(--bg02);
    top: 6.4%;
    left: 6%;
  }

  .sec02 .sec_tax02 {
    top: auto;
    bottom: 1.9%;
    right: 7.2%;
    left: auto;
  }

/************** sec03 **************/
  .sec03 {
    margin: 0 auto calc(230* (100vw /750));
  }

  .main-contents .sec03 .sec_ttl {
    left: 51.4%;
  }

  /*** sub_box01 ***/
  .sec03 .sec_box01 .sub_box01 {
    margin: 0 auto calc(60* (100vw /750));
    width: 100%;
  }

  /*** sub_box02 ***/ 
  .sec03 .sec_box01 .sub_box02 {
    margin: 0 auto;
    width: 100%;
    position: relative;
  }

  .sec03 .sec_box01 .sub_box02::before {
    background-color: var(--bg03);
    top: auto;
    bottom: -1.3%;
    left: auto;
    right: 0;
  }

  .img12 {
    width: calc(560* (100vw /750));
  }

  .img13 {
    margin: 0 calc(45* (100vw /750)) 0 auto;
    width: calc(510* (100vw /750));
  }

  .sec03 .detail_box {
    border-left: 3px solid var(--bg03);
    top: 6.4%;
    right: 9.5%;
    left: auto;
  }

  .sec03 .sec_tax02 {
    top: auto;
    bottom: 1.95%;
    left: 5.8%;
  }

/************** sec04 **************/
  .sec04 {
    margin: 0 auto calc(185* (100vw /750));
  }

  .main-contents .sec04 .sec_ttl {
    left: 51.3%;
  }

  /*** sub_box01 ***/
  .sec04 .sec_box01 .sub_box01 {
    margin: 0 auto calc(60* (100vw /750));
    width: 100%;
  }

  /*** sub_box02 ***/ 
  .sec04 .sec_box01 .sub_box02 {
    margin: 0 auto;
    width: 100%;
    position: relative;
  }

  .sec04 .sec_box01 .sub_box02::before {
    background-color: var(--bg04);
    top: auto;
    bottom: -1.3%;
    left: 0;
  }

  .img15 {
    margin: 0 0 0 auto;
    width: calc(560* (100vw /750));
  }

  .img16 {
    margin: 0 0 0 calc(45* (100vw /750));
    width: calc(510* (100vw /750));
  }

  .sec04 .detail_box {
    border-left: 3px solid var(--bg04);
    top: 6.4%;
    left: 6%;
  }

  .sec04 .sec_tax02 {
    top: auto;
    bottom: 1.9%;
    right: 6%;
    left: auto;
  }

  /************** sec05 **************/
  .sec05 {
    margin: 0 auto;
  }

  .main-contents .viewall {
    margin:  0 auto calc(158* (100vw /750));
  }

  .sec05_text {
    margin: 0 auto calc(159* (100vw /750));
    text-align: center;
    font-size: calc(26* (100vw /750));
    letter-spacing: 0.03em;
    line-height: 1;
    font-family: "pragmatica", sans-serif;
    font-weight: 300;
    font-style: normal;
  }

  .sec05 .sec_box {
    margin: 0 auto;
    width: calc(660* (100vw /750));
    padding: calc(60* (100vw /750)) 0 calc(48* (100vw /750));
    background-color: #F8F7F5;
  }
  
  .img17 {
    margin: 0 auto calc(38* (100vw /750));
    width: calc(348* (100vw /750));
  }

  .sec_detail_text {
    margin: 0 auto;
    width: calc(540* (100vw /750));
  }

  .sec_detail_text p {
    text-align: center;
    letter-spacing: 0.02em;
  }

  .sec_detail_text p:nth-of-type(1) {
    margin-bottom: calc(14* (100vw /750));
    font-size: calc(20* (100vw /750));
    line-height: 1;
  } 

  .sec_detail_text p:nth-of-type(2) {
    margin-bottom: calc(43* (100vw /750));
    padding-bottom: calc(18* (100vw /750));
    font-size: calc(30* (100vw /750));
    line-height: 1;
    border-bottom: 1px solid #808080;
  } 

  .sec_detail_text p:nth-of-type(2) span {
    font-size: calc(26* (100vw /750));
  } 

  .sec_detail_text p:nth-of-type(3) {
    text-align: justify;
    font-size: calc(23* (100vw /750));
    line-height: 2;
    font-feature-settings: 'palt';
  } 


/* ===============================================### 
PC用デザイン
###=============================================== */
@media screen and (min-width: 767px) {
  .main-contents {
    margin: 0 auto;
    padding-bottom: 14.2rem;
  }

  .sp_only {
    display: none;
  }

  .pc_only {
    display: block;
  }

  .flex_box_pc {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .grid_box_pc {
    display: grid;
  }

  .white_box {
    width: 100%;
    height: max-content;
    background-color: #fff;
  }

/************** js **************/

/************** before,after **************/
  .sec_box01 .sub_box02::before {
    width: 7.4rem;
    height: 21.6rem;
    z-index: -1;
  }


/************** common **************/
  /*** ttl ***/
  .main-contents .sec .link_ttl {
    margin: 0 auto 15.8rem;
    font-size: 2.2rem;
    letter-spacing: 0.025em;
  }

  .main-contents .sec.sec01 .link_ttl {
    padding: 0 1.5rem;
  }

  .main-contents .sec.sec03 .link_ttl {
    padding: 0 2rem;
  }

  .main-contents .sec .link_ttl::before {
    border: 1px solid #D9D9D9;
    margin: 0 calc(30% - 50vw);
    width: 200vw;
    height: 0.5rem;
    top: 37%;
    z-index: -1;
  }

  .main-contents .sec .link_ttl::after {
    width: 1px;
    height: 6rem;
    left: 50%;
    top: auto;
    bottom: -358%;
  }

  .main-contents .sec .sec_inner {
    position: relative;
  }

  .main-contents .sec .sec_ttl {
    top: -1.8%;
    left: 50%;
  }

  .main-contents .sec .sec_ttl div p {
    margin-right: 1rem;
    width: max-content;
    font-size: 5.3rem;
    letter-spacing: 0.05em;
  }

  .main-contents .sec .sec_ttl div span {
    margin-top: 1.6rem;
    width: 5rem;
  }

  /*** bg_color ***/
  .bg_color {
    margin: 0 auto 4.5rem;
    padding: .85rem .85rem;
  }

  /*** sec_text ***/
  .sec_text {
    margin: 0 auto;
    font-size: 1.4rem;
    letter-spacing: 0.02em;
    line-height: 1.85;
    text-align: center;
  }

  .sub_box02 .sec_text {
    margin: 0;
    padding: 0;
    width: 31.6rem;
  }

  /*** sec_tax01 ***/
  .sec_tax01 {
    margin: 2.2rem auto 0;
    gap: 0 1.5rem;
    justify-content: center;
  }

  .sec_tax01 .tax_name {
    margin-bottom: 1.1rem;
    width: 100%;
    text-align: center;
    font-size: 1.3rem;
    letter-spacing: 0.03em;
  }

  .sec_tax01 .tax {
    gap: 0 .2rem;
  }

  .sec_tax01 .tax .color_img {
    width: 3.4rem;
    line-height: 0;
  }

  .sec_tax01 .tax a {
    padding-top: .1rem;
    font-size: 1.3rem;
    letter-spacing: 0.03em;
  }

  /*** sec_tax02 ***/
  .sec_tax02 {
    gap: 1.3rem 0;
    position: absolute;
  }

  .sec_tax02 li {
    font-size: 1.3rem;
    letter-spacing: 0.03em;
  }

  /*** detail_box ***/
  .detail_box {
    padding-left: 2rem;
  }

  .detail_box p:nth-of-type(1) {
    margin-bottom: 1.2rem;
    padding: .4rem 0 .1rem;
    font-size: 1.3rem;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #808080;
  }

  .detail_box p:nth-of-type(2) {
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    line-height: 1.78;
  }

/************** mv **************/
  .main-contents .mv {
    margin: 0 auto 15.3rem;
    width: 120rem;
  }

  .main-contents .mv h2 {
    margin: 0 auto 6.7rem;
  }

  .main-contents .mv_text {
    margin: 0 auto 9.5rem;
    font-size: 1.5rem;
    letter-spacing: 0;
    line-height: 2.93;
    text-align: center;
    font-feature-settings: normal;
  }

  .main-contents .mv ul {
    margin: 0 auto;
    width: 63.2rem;
  }

  .main-contents .mv ul li {
    width: 30.4rem;
  }

  .main-contents .mv ul li .link_ttl {
    margin: 0 auto 2.9rem!important;
    width: max-content;
    font-size: 1.5rem;
    letter-spacing: 0.025em;
    position: relative;
  }

  .main-contents .mv ul li .link_ttl::before,
  .main-contents .mv ul li .link_ttl::after  {
    width: 2rem;
    height: 1px;
    top: 50%;
  }

  .main-contents .mv ul li .link_ttl::before {
    left: -24%!important;;
  }

  .main-contents .mv ul li .link_ttl::after {
    right: -24%!important;;
    left: auto;
  }

  .main-contents .mv ul li:nth-of-type(2) .link_ttl::before {
    left: -31%!important;;
  }

  .main-contents .mv ul li:nth-of-type(2) .link_ttl::after {
    right: -31%!important;;
  }

  .main-contents .mv ul li .link_box div {
    width: 14rem;
  }


/************** sec01 **************/
  .sec01 {
    margin: 0 auto 17.7rem;
  }

  .main-contents .sec01 .sec_ttl {
    left: 50.6%;
  }
  
  /*** sub_box01 ***/
  .sec01 .sec_box01 .sub_box01 {
    margin: 0 auto 10rem;
    width: 66.2rem;
  }

  /*** sub_box02 ***/ 
  .sec01 .sec_box01 .sub_box02 {
    margin: 0 auto;
    width: 84.6rem;
    grid-template-columns:  33.2rem 9.8rem 9.8rem 32rem auto;
    grid-template-rows: 11.3rem 15.8rem 33.9rem auto;
  }

  .sec01 .sec_box01 .sub_box02::before {
    top: auto;
    bottom: -1.4%;
    left: auto;
    right: -3.2%;
  }

  .img06 {
    width: 37rem;
    grid-column: 1/3;
    grid-row: 1/4;
  }

  .img07 {
    margin: 0;
    width: 32rem;
    grid-column: 4/5;
    grid-row: 3/5;
  }

  .sec01 .sec_box01 .sec_text {
    grid-column: 3/5;
    grid-row: 2/3;
    letter-spacing: 0.06em;
  }

  .sec01 .detail_box {
    border-left: 4px solid var(--bg01);
    position: static;
    grid-column: 3/4;
    grid-row: 1/2;
  }

  .sec01 .sec_tax02 {
    position: static;
    grid-column: 2/4;
    grid-row: 4/5;
  }

/************** sec02 **************/
  .sec02 {
    margin: 0 auto 17.2rem;
  }

  .main-contents .sec02 .sec_ttl {
    left: 50.6%;
  }
  
  /*** sub_box01 ***/
  .sec02 .sec_box01 .sub_box01 {
    margin: 0 auto 10rem;
    width: 66.2rem;
  }

  /*** sub_box02 ***/ 
  .sec02 .sec_box01 .sub_box02 {
    margin: 0 auto;
    width: 84.6rem;
    grid-template-columns:  35rem 12.5rem auto;
    grid-template-rows: 11.3rem 15.7rem 39.1rem auto;
  }

  .sec02 .sec_box01 .sub_box02::before {
    top: auto;
    bottom: -1.6%;
    left: -3%;
  }

  .img09 {
    margin: 0;
    width: 37rem;
    grid-column: 3/4;
    grid-row: 1/4;
  }

  .img10 {
    margin: 0;
    width: 32rem;
    grid-column: 1/2;
    grid-row: 3/5;
  }

  .sec02 .sec_box01 .sec_text {
    grid-column: 1/2;
    grid-row: 2/3;
  }

  .sec02 .detail_box {
    border-left: 4px solid var(--bg02);
    position: static;
    grid-column: 1/2;
    grid-row: 1/2;
  }

  .sec02 .sec_tax02 {
    position: static;
    grid-column: 2/3;
    grid-row: 4/5;
  }

/************** sec03 **************/
  .sec03 {
    margin: 0 auto 17.7rem;
  }

  .main-contents .sec03 .sec_ttl {
    left: 50.5%;
  }

  /*** sub_box01 ***/
  .sec03 .sec_box01 .sub_box01 {
    margin: 0 auto 10rem;
    width: 66.2rem;
  }

  /*** sub_box02 ***/ 
  .sec03 .sec_box01 .sub_box02 {
    margin: 0 auto;
    width: 84.6rem;
    grid-template-columns:  37.2rem 5.8rem 9.8rem 32rem auto;
    grid-template-rows: 11.3rem 15.8rem 36.5rem auto;
  }

  .sec03 .sec_box01 .sub_box02::before {
    top: auto;
    bottom: -1.3%;
    left: auto;
    right: -3%;
  }

  .img12 {
    width: 37rem;
    grid-column: 1/3;
    grid-row: 1/4;
  }

  .img13 {
    margin: 0;
    width: 32rem;
    grid-column: 4/5;
    grid-row: 3/5;
  }

  .sec03 .sec_box01 .sec_text {
    grid-column: 3/5;
    grid-row: 2/3;
  }

  .sec03 .detail_box {
    border-left: 4px solid var(--bg03);
    position: static;
    grid-column: 3/4;
    grid-row: 1/2;
  }

  .sec03 .sec_tax02 {
    position: static;
    grid-column: 2/4;
    grid-row: 4/5;
  }

/************** sec04 **************/
  .sec04 {
    margin: 0 auto 13rem;
  }

  .main-contents .sec04 .sec_ttl {
    left: 50.6%;
  }

  /*** sub_box01 ***/
  .sec04 .sec_box01 .sub_box01 {
    margin: 0 auto 10rem;
    width: 66.2rem;
  }

  /*** sub_box02 ***/ 
  .sec04 .sec_box01 .sub_box02 {
    margin: 0 auto;
    width: 84.6rem;
    grid-template-columns:  35rem 12.5rem auto;
    grid-template-rows: 11.3rem 15.7rem 34rem auto;
  }

  .sec04 .sec_box01 .sub_box02::before {
    top: auto;
    bottom: -1.6%;
    left: -3%;
  }

  .img15 {
    margin: 0;
    width: 37rem;
    grid-column: 3/4;
    grid-row: 1/4;
  }

  .img16 {
    margin: 0;
    width: 32rem;
    grid-column: 1/2;
    grid-row: 3/5;
  }

  .sec04 .sec_box01 .sec_text {
    grid-column: 1/2;
    grid-row: 2/3;
  }

  .sec04 .detail_box {
    border-left: 4px solid var(--bg04);
    position: static;
    grid-column: 1/2;
    grid-row: 1/2;
  }

  .sec04 .sec_tax02 {
    position: static;
    grid-column: 2/3;
    grid-row: 4/5;
  }

/************** sec05 **************/
  .sec05 {
    margin: 0 auto;
  }

  .main-contents .viewall {
    margin:  0 auto 9.9rem;
  }

  .sec05_text {
    margin: 0 auto 9.9rem;
    text-align: center;
    font-size: 1.5rem;
    letter-spacing: 0.03em;
  }

  .sec05 .sec_box {
    margin: 0 auto;
    width: 63rem;
    padding: 4rem 4rem 3.3rem;
    background-color: #F8F7F5;
  }
  
  .img17 {
    margin: 0;
    width: 20.1rem;
  }

  .sec_detail_text {
    margin: 0;
    width: 31.4rem;
  }

  .sec_detail_text p {
    text-align: center;
    letter-spacing: 0.02em;
  }

  .sec_detail_text p:nth-of-type(1) {
    margin-bottom: 1.4rem;
    font-size: 1.26rem;
    text-align: left;
  } 

  .sec_detail_text p:nth-of-type(2) {
    margin-bottom: 2.4rem;
    padding-bottom: 1rem;
    font-size: 1.9rem;
    border-bottom: 1px solid #808080;
    text-align: left;
  } 

  .sec_detail_text p:nth-of-type(2) span {
    font-size: 1.6rem;
    letter-spacing: 0.02em;
    font-feature-settings: 'palt';
  } 

  .sec_detail_text p:nth-of-type(3) {
    font-size: 1.4rem;
    line-height: 2;
  } 


  
}






