﻿.main-area {
  font-family: var(--yugothic);
  font-weight: 500;
  overflow: hidden;
  box-sizing: border-box;
  letter-spacing: 0.075em;
  color: #000;
}

.main-area img {
  width: 100%;
  height: auto;
}

.sp_only {
  display: block;
}

.pc_only {
  display: none;
}


/************** js **************/
.js-fade.active {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.js-fade {
  opacity: 0;
  transform: translate3d(0, 7%, 0);
  transition: ease-in, opacity 2500ms, transform 1000ms;
}


/************** common **************/
.font-yumincho {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

/*** grid_box ***/
.grid_box {
  display: grid;
}

/*** flex_box ***/
.flex_box {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin: 0 auto;
}

/*** sec_ttl ***/
.sec_ttl {
  margin: 0 0 calc(24* (100vw /375));
}

/*** sec_text ***/
.sec_text {
  font-size: calc(13* (100vw /375));
  letter-spacing: 0.075em;
  line-height: 2;
  text-align: center;
  white-space: nowrap;
}

.sec_text .text_sub {
  margin-bottom: calc(6* (100vw /375));
  text-align: center;
  display: inline-block;
}

/*** sec_box01 ***/
.sec_box01 {
  margin: 0 auto calc(54* (100vw / 375));
  display: flex;
  flex-direction: column;
  align-items: center;
}

.sec_box01 .sec_ttl {
  margin: 0 auto calc(16* (100vw /375));
  font-size: calc(20* (100vw /375));
  letter-spacing: 0.075em;
  line-height: 1;
  text-align: center;
  font-weight: 700;
  display: flex;
  align-items: center;
}

.sec_box01 .sec_ttl span {
  padding-right: calc(9* (100vw /375));
  font-size: calc(26* (100vw /375));
  letter-spacing: 0.1em;
  font-weight: 500;
}

.sec_box01 .item_box {
  margin: 0 auto calc(7* (100vw /375));
  width: calc(150* (100vw /375));
}

.sec_box01 .sec_text02 {
  text-align: center;
}

/*** sec_box02 ***/
.sec_box02 {
  margin: 0 auto calc(40* (100vw / 375));
  width: calc(375* (100vw /375));
  position: relative;
}

.sec_box02 .sec_img {
  margin: 0 auto;
  width: calc(300* (100vw /375));
}

.sec_box02 .sub_img {
  position: absolute;
  width: calc(125* (100vw /375));
  z-index: 5;
}

.sec_box02 .sub_img:nth-of-type(2) {
  top: -15.4%;
  left: auto;
  right: -3%;
}

.sec_box02 .sub_img:nth-of-type(3) {
  top: auto;
  bottom: -13%;
  left: 0;
}

/*** sec_box03 ***/
.sec_box03 {
  margin: 0 auto;
  width: calc(325* (100vw /375));
}

.sec_box03 .name_ttl {
  margin: 0 auto calc(29* (100vw /375));
  font-size: calc(18* (100vw /375));
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: center;
  font-weight: 600;
}

.sec_box03 .sub_box {
  margin: 0 auto calc(45* (100vw /375));
  display: flex;
  flex-direction: column;
  align-items: center;
}

.sec_box03 .sub_box .sub_box_ttl {
  margin: 0 auto calc(18* (100vw /375));
  position: relative;
  width: 100%;
}

.sec_box03 .sub_box .sub_box_ttl p {
  margin: 0 auto;
  padding: 0 calc(12* (100vw /375));
  width: max-content;
  font-size: calc(15* (100vw /375));
  letter-spacing: 0.1em;
  line-height: 1;
  background-color: #fff;
  position: relative;
    z-index: 5;
}

.sec_box03 .sub_box .sub_box_ttl::before{
  content: '';
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  height: 1px;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #000;
}

.sec_box03 .sub_box .sec_text {
  margin: 0 auto calc(25* (100vw /375));
}

.sec_box03 .sub_box .model_img {
  margin: 0 auto calc(24* (100vw /375));
  width: calc(150* (100vw /375));
}

/*** sec_tax ***/
.sec_tax {
  width: max-content;
  display: flex;
  flex-direction: column;
  gap: 0;
  white-space: normal;
  align-items: center;
}

.sec_tax li {
  font-size: calc(11* (100vw /375));
  letter-spacing: 0.075em;
  line-height: 2;
  text-align: center;
}

.sec_tax li a {
  text-decoration: underline;
}


/************** mv **************/
.sec_mv {
  margin: 0 auto calc(44* (100vw /375));
}

.sec_mv .mv_img {
  margin: 0 auto calc(33* (100vw /375));
}

.sec_mv h2 {
  margin: 0 auto calc(19* (100vw /375));
  font-size: calc(16* (100vw /375));
  letter-spacing: 0.075em;
  line-height: 1.75;
  text-align: center;
  font-weight: 700;
}

.mv_text {
  margin: 0 auto;
  width: max-content;
  font-size: calc(13* (100vw /375));
  letter-spacing: 0.075em;
  line-height: 2;
  text-align: center;
  font-weight: 500;
}

.mv_text span {
  margin-bottom: calc(6* (100vw /375));
  text-align: center;
  display: inline-block;
}


/************** sec_about **************/
.sec_about {
  margin: 0 auto calc(53* (100vw /375));
}

.sec_about .img01 {
  margin: 0 auto calc(24* (100vw /375));
  width: 100%;
}

.sec_about .about_ttl {
  margin-bottom: calc(7* (100vw /375));
  font-size: calc(16* (100vw /375));
  letter-spacing: 0.1em;
  line-height: 1.75;
  text-align: center;
  font-weight: 600;
}

.sec_about .img02 {
  margin: calc(35* (100vw /375)) 0 calc(24* (100vw /375));
  width: calc(360* (100vw /375));
}


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


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

.sec02 .sec_box02 .sub_img:nth-of-type(2) {
  top: -16%;
  left: auto;
  right: -3%;
}

.sec02 .sec_box02 .sub_img:nth-of-type(3) {
  top: auto;
  bottom: -14%;
  left: -1.5%;
}


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

.sec03 .sec_box02 .sub_img:nth-of-type(2) {
  top: -16%;
  left: auto;
  right: -3%;
}

.sec03 .sec_box02 .sub_img:nth-of-type(3) {
  top: auto;
  bottom: -14%;
  left: -2.5%;
}


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

.sec04 .sec_box02 .sub_img:nth-of-type(2) {
  top: -15.5%;
  left: auto;
  right: -5%;
}

.sec04 .sec_box02 .sub_img:nth-of-type(3) {
  top: auto;
  bottom: -13.9%;
  left: 1%;
}


/************** btn **************/
.black_btn {
  margin: 0 auto calc(100* (100vw /375));
  width: calc(335* (100vw /375));
  height: calc(50* (100vw /375));
  font-size: calc(14* (100vw /375));
  max-width: 100%;
  max-height: 100%;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  position: relative;
  z-index: 15;
  font-family: var(--yugothic);
}




/* ===============================================
### PC用デザイン###
=============================================== */
@media screen and (min-width:768px) {

  .sp_only {
    display: none;
  }

  .pc_only {
    display: block;
  }

  .main-area {
    margin-bottom: 0;
  }

/************** common **************/
  .sec {
    width: 76rem;
  }

  /*** sec_ttl ***/
  .sec_ttl {
    margin: 0;
  }

  /*** sec_text ***/
  .sec_text {
    font-size: 1.4rem;
  }

  .sec_text .text_sub {
    margin-bottom: 1.2rem;
  }

  /*** sec_box01 ***/
  .sec_box01 {
    margin: 0 auto 7rem;
    width: 100%;
    display: grid;
    grid-template-columns: 18rem 3.9rem auto;
    grid-template-rows: 4.8rem 6rem 10.3rem auto;
  }

  .sec_box01 .sec_ttl {
    margin: 0;
    font-size: 3.2rem;
    text-align: left;
    grid-column: 3/4;
    grid-row: 2/3;
    flex-wrap: nowrap;
  }

  .sec_box01 .sec_ttl span {
    padding-right: .9rem;
    font-size: 4.2rem;
  }

  .sec_box01 .item_box {
    margin: 0;
    width: 18rem;
    grid-column: 1/2;
    grid-row: 1/5;
  }

  .sec_box01 .sec_text02 {
    width: max-content;
    text-align: left;
    grid-column: 3/4;
    grid-row: 3/4;
  }

  /*** sec_box02 ***/
  .sec_box02 {
    margin: 0 auto 7.8rem;
    width: 100%;
    position: relative;
  }

  .sec_box02 .sec_img {
    margin: 0 auto;
    width: 55rem;
  }

  .sec_box02 .sub_img {
    width: 25rem;
  }

  .sec_box02 .sub_img:nth-of-type(2) {
    top: -18.4%;
    left: auto;
    right: -6%;
  }

  .sec_box02 .sub_img:nth-of-type(3) {
    top: auto;
    bottom: -12%;
    left: -6%;
  }

  /*** sec_box03 ***/
  .sec_box03 {
    margin: 0 auto;
    width: 55rem;
  }

  .sec_box03 .name_ttl {
    margin: 0 auto 4.1rem;
    font-size: 2.6rem;
  }

  .sec_box03 .sub_box {
    margin: 0 auto 5.5rem;
  }

  .sec_box03 .sub_box .sub_box_ttl {
    margin: 0 auto 1.8rem;
    width: 100%;
  }

  .sec_box03 .sub_box .sub_box_ttl p {
    margin: 0 auto;
    padding: 0 1rem;
    width: max-content;
    font-size: 2rem;
    letter-spacing: 0.1em;
  }

  .sec_box03 .sub_box .sec_text {
    margin: 0 auto 2.2rem;
  }

  .sec_box03 .sub_box .model_img {
    margin: 0 auto 2.5rem;
    width: 19rem;
  }

  /*** sec_tax ***/
  .sec_tax {
    gap: 0;
  }

  .sec_tax li {
    font-size: 1.2rem;
  }


/************** mv **************/
  .sec_mv {
    margin: 0 auto 5.2rem;
    width: 120rem;
  }

  .sec_mv .mv_img {
    margin: 0 auto 3.3rem;
  }

  .sec_mv h2 {
    margin: 0 auto 2.4rem;
    font-size: 2rem;
  }

  .mv_text {
    margin: 0 auto;
    font-size: 1.4rem;
  }

  .mv_text span {
    margin-bottom: 1.2rem;
  }


/************** sec_about **************/
  .sec_about {
    margin: 0 auto 11.3rem;
  }

  .sec_about.sec {
    width: 100%;
  }

  .sec_about .img01 {
    margin: 0 auto 3.4rem;
    width: 76rem;
  }

  .sec_about .about_ttl {
    margin-bottom: 1.4rem;
    font-size: 2rem;
  }

  .sec_about .img02 {
    margin: 9.2rem auto 3.4rem;
    width: 75.8rem;
  }


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


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

  .sec02 .sec_box02 .sub_img:nth-of-type(2) {
    top: -18.7%;
    left: auto;
    right: -6%;
  }

  .sec02 .sec_box02 .sub_img:nth-of-type(3) {
    top: auto;
    bottom: -14%;
    left: -2.5%;
  }


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

  .sec03 .sec_box02 .sub_img:nth-of-type(2) {
    top: -18.7%;
    left: auto;
    right: -6%;
  }

  .sec03 .sec_box02 .sub_img:nth-of-type(3) {
    top: auto;
    bottom: -13%;
    left: -5.8%;
  }


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

  .sec04 .sec_box01 {
    grid-template-columns: 18rem 3.9rem auto;
    grid-template-rows: 5.8rem 6.3rem 7rem auto;
  }

  .sec04 .sec_box02 .sub_img:nth-of-type(2) {
    top: -18.7%;
    left: auto;
    right: -6%;
  }

  .sec04 .sec_box02 .sub_img:nth-of-type(3) {
    top: auto;
    bottom: -12.9%;
    left: -6%;
  }


/************** btn **************/
  .black_btn {
    margin: 0 auto 8.4rem;
    width: 30rem;
    height: 5.0rem;
    font-size: 1.4rem;
    line-height: 1;
  }


}


/* パンくず 追加スタイル PC */
@media only screen and (min-width: 768px) {
  .breadcrumb__list {
    padding-bottom: 1.6rem;
  }
}