
/* ==========================================================================
Typograpgy
========================================================================== */
@media only screen and (min-width: 768px) and (max-width: 1600px) {
	html {
		font-size: calc(10 * (100vw / 1600)) !important;
	}
}
@media (max-width: 767px) {
	.lp * {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
}
  html {
    font-size: 62.5%;
  }

  img,
  video,
  svg {
    width: 100%;
    height: auto;
  }

  body {
    background-color: var(--top-bg-color);
  }

/************** js **************/
  /* fade */
  .fade {
    transition-property: opacity, transform;
    transition-duration: 1.5s;
    opacity: 0;
    transform: translateY(1.5rem);
  }

  .fade.onView {
    opacity: 1;
    transform: translateY(0);
  }

/************** common **************/
  .UU230503backopen .sp_only {
    display: block;
  }

  .UU230503backopen .pc_only {
    display: none;
  }

  .lp {
    background-color: var(--top-bg-color);
    padding: 0;
  }

  .UU230503backopen {
    padding-bottom: calc(120* (100vw /750));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "Open Sans", "メイリオ", sans-serif;
    font-weight: normal;
    font-feature-settings: "palt";
    color: #555555;
    font-weight: 500;
    background-color: var(--top-bg-color);
  }

  /*** flex_box ***/
  .UU230503backopen .flex_box {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: calc(79* (100vw /750)) 0;
  }

  .UU230503backopen .flex_box dl {
    width: 100%;
  }

  .UU230503backopen .flex_box dl dt p:nth-child(1) {
    margin-bottom: calc(2* (100vw /750));
    font-size: calc(27* (100vw /750));
    color: #999999;
    text-align: center;
    letter-spacing: 0.1em;
    font-family: "jaf-bernina-sans", sans-serif;
    font-weight: 400;
  }

  .UU230503backopen .flex_box dl dt p:nth-child(1) span {
    font-size: calc(32* (100vw /750));
  }

  .UU230503backopen .flex_box dl dt p:nth-child(2) {
    margin-bottom: calc(25* (100vw /750));
    font-size: calc(28* (100vw /750));
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 2;
  }

  .UU230503backopen .flex_box dl dd {
    margin: 0 auto;
    width: calc(600* (100vw /750));
    display: flex;
    flex-direction: column;
  }

  .UU230503backopen .flex_box dl dd .item_img {
    margin-bottom: calc(36* (100vw /750));
  }

  .UU230503backopen .flex_box dl dd .item_img:nth-child(2) {
    margin-bottom: 0;
  }

  .UU230503backopen .sec_tax {
    margin-bottom: calc(30* (100vw /750));
    font-size: calc(28* (100vw /750));
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.085em;
  }

  .UU230503backopen .tax_intro {
    font-size: calc(26* (100vw /750));
    line-height: 1.69;
    font-weight: 400;
    text-align: center;
    letter-spacing: 0.085em;
  }

  /*** sec ***/
  .UU230503backopen .sec {
    width: calc(602* (100vw /750));
  }

  /*** sec_text ***/
  .UU230503backopen .sec_text {
    font-size: calc(24* (100vw /750));
    letter-spacing: 0.085em;
    line-height: 2;
    font-weight: 500;
    text-align: justify;
  }

  /*** h3 ***/
  .UU230503backopen .sec h3 {
    margin-bottom: calc(32* (100vw /750));
    padding-bottom: calc(18* (100vw /750));
    font-size: calc(32* (100vw /750));
    letter-spacing: 0.1em;
    color: #999999;
    border-bottom: .75px solid #999999;
    font-weight: 500;
  }
  
/************** mv **************/
  .UU230503backopen .mv {
    margin: 0 auto calc(98* (100vw /750));
  }

  .UU230503backopen .mv_img {
    margin-bottom: calc(80* (100vw /750));
    width: 100%;
  }

  .UU230503backopen .mv h2 {
    margin: 0 auto calc(45* (100vw /750));
    text-align: center;
    font-weight: 500;
  }

  .UU230503backopen .mv h2 p:first-child {
    margin-bottom: calc(30* (100vw /750));
    font-size: calc(30* (100vw /750));
    letter-spacing: 0.14em;
  }

  .UU230503backopen .mv h2 p:last-child {
    font-size: calc(40* (100vw /750));
    letter-spacing: 0.095em;
  }

  .UU230503backopen .mv_text {
    font-size: calc(24* (100vw /750));
    letter-spacing: 0.11em;
    line-height: 2;
    text-align: center;
  }

/************** item_box **************/
  .UU230503backopen .item_box {
    margin: 0 auto calc(142* (100vw /750));
  }

  .UU230503backopen .item_box {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: calc(100* (100vw /750)) 0;
  }

  .UU230503backopen .item_box dl dt p:nth-child(1) {
    margin-bottom: calc(20* (100vw /750));
    font-size: calc(32* (100vw /750));
    color: #999999;
    text-align: center;
    letter-spacing: 0.1em;
    font-family: "jaf-bernina-sans", sans-serif;
    font-weight: 400;
  }

  .UU230503backopen .item_box dl dt p:nth-child(1) span {
    font-size: calc(37* (100vw /750));
  }

  .UU230503backopen .item_box dl dt p:nth-child(2) {
    margin-bottom: calc(24* (100vw /750));
    font-size: calc(32* (100vw /750));
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 2;
  }

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

  .UU230503backopen .sec01 .top_sec_text {
    margin-bottom: calc(102* (100vw /750));
  }

  .UU230503backopen .sec01 .sec_box {
    margin-bottom: calc(50* (100vw /750));
  }

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

  .UU230503backopen .sec02 h3 {
    margin-bottom: calc(54* (100vw /750));
  }

  .UU230503backopen .sec02 .sec_box {
    margin-bottom: calc(12* (100vw /750));
    gap: calc(38* (100vw /750)) 0;
    
  }

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

  .UU230503backopen .sec03 h3 {
    margin-bottom: calc(54* (100vw /750));
  }

  .UU230503backopen .sec03 .sec_box {
    margin-bottom: calc(15* (100vw /750));
    gap: calc(38* (100vw /750)) 0;
  }

/************** last_box **************/
  .UU230503backopen .last_box {
    margin: 0 auto calc(110* (100vw /750));
  }

  .UU230503backopen .last_box .sec_text {
    margin-bottom: calc(108* (100vw /750));
    text-align: center;
    font-weight: 500;
    letter-spacing:  0.05em;
  }

  .UU230503backopen .last_box .sec_text02 {
    margin: 0;
    letter-spacing: 0.085em;
  }

  .UU230503backopen .last_box  .last_box_img {
    margin-bottom: calc(32* (100vw /750));
  }

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


/* ===============================================### 
PC用デザイン
###=============================================== */
@media screen and (min-width:768px) {
  .UU230503backopen .sp_only {
    display: none;
  }

  .UU230503backopen .pc_only {
    display: block;
  }

  .UU230503backopen {
    padding-bottom: 12rem;
  }

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

/************** common **************/
  /*** flex_box ***/
  .UU230503backopen .flex_box dl {
    width: 30rem;
  }

  .UU230503backopen .flex_box dl dt p:nth-child(1) {
    margin-bottom: 1rem;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
  }

  .UU230503backopen .flex_box dl dt p:nth-child(1) span {
    font-size: 1.9rem;
  }

  .UU230503backopen .flex_box dl dt p:nth-child(2) {
    margin-bottom: 1.3rem;
    font-size: 1.4rem;
    line-height: 2;
  }

  .UU230503backopen .flex_box dl dd {
    margin: 0 auto;
    width: 30rem;
    display: flex;
    flex-direction: column;
  }

  .UU230503backopen .flex_box dl dd .item_img {
    margin-bottom: 1.9rem;
  }

  .UU230503backopen .flex_box dl dd .item_img:nth-child(2) {
    margin-bottom: 0;
  }

  .UU230503backopen .sec_tax {
    margin-bottom: 1.2rem;
    font-size: 1.6rem;
  }

  .UU230503backopen .tax_intro {
    font-size: 1.3rem;
    line-height: 2;
    letter-spacing: 0.085em;
  }

  /*** sec ***/
  .UU230503backopen .sec {
    width: 65rem;
  }

  /*** sec_text ***/
  .UU230503backopen .sec_text {
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    line-height: 2;
    font-weight: 500;
    text-align: justify;
  }

  /*** h3 ***/
  .UU230503backopen .sec h3 {
    margin-bottom: 3.2rem;
    padding-bottom: 1.3rem;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
  }

/************** mv **************/
  .UU230503backopen .mv {
    margin: 0 auto 8.7rem;
    width: 75rem;
  }

  .UU230503backopen .mv_img {
    margin-bottom: 7.9rem;
    width: 100%;
  }

  .UU230503backopen .mv h2 {
    margin: 0 auto 3.2rem;
  }

  .UU230503backopen .mv h2 p:first-child {
    margin-bottom: 1.8rem;
    font-size: 1.8rem;
    letter-spacing: 0.125em;
  }

  .UU230503backopen .mv h2 p:last-child {
    font-size: 2.25rem;
    letter-spacing: 0.14em;
  }

  .UU230503backopen .mv_text {
    font-size: 1.4rem;
    letter-spacing: 0.075em;
    line-height: 2;
    text-align: center;
  }

/************** item_box **************/
  .UU230503backopen .item_box {
    margin: 0 auto 11.2rem;
    width: 65rem;
  }

  .UU230503backopen .item_box {
    width: 65rem;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 0;
  }

  .UU230503backopen .item_box dl {
    width: 30rem;
  }

  .UU230503backopen .item_box dl dt p:nth-child(1) {
    margin-bottom: .8rem;
    font-size: 2rem;
    letter-spacing: 0.1em;
  }

  .UU230503backopen .item_box dl dt p:nth-child(1) span {
    font-size: 2.3rem;
  }

  .UU230503backopen .item_box dl dt p:nth-child(2) {
    margin-bottom: 0;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    line-height: 1.77;
  }

  .UU230503backopen .item_box dl:nth-child(1) .item_img {
    margin-top: 4.35rem;
  }

  .UU230503backopen .item_box dl:nth-child(2) .item_img {
    margin-top: 1.2rem;
  }

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

  .UU230503backopen .sec01 .top_sec_text {
    margin-bottom: 4.9rem;
  }

  .UU230503backopen .sec01 .sec_box {
    margin-bottom: 3.2rem;
  }

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

  .UU230503backopen .sec02 h3 {
    margin-bottom: 3.6rem;
  }

  .UU230503backopen .sec02 .sec_box {
    margin-bottom: 1.2rem;
    gap: 3.8rem 0;
    
  }

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

  .UU230503backopen .sec03 h3 {
    margin-bottom: 3.4rem;
  }

  .UU230503backopen .sec03 .sec_box {
    margin-bottom: 1.5rem;
    gap: 3.8rem 0;
  }

/************** last_box **************/
  .UU230503backopen .last_box {
    margin: 0 auto 11.2rem;
  }

  .UU230503backopen .last_box .sec_text {
    margin-bottom: 7.3rem;
    text-align: center;
    font-weight: 500;
    letter-spacing:  0.1em;
  }

  .UU230503backopen .last_box .sec_text02 {
    margin: 0;
    letter-spacing: 0.1em;
  }

  .UU230503backopen .last_box .last_box_img {
    margin: 0 auto 2.2rem;
    width: 42rem;
  }

/************** all_item **************/
  .UU230503backopen .all_item {
    margin: 0 auto;
    width: 54.0rem;
  }

/************** all_item **************/
  .UU230503backopen .all_item {
    margin: 0 auto;
    width: 44.0rem;
  }

}

