/* CSS Document */
.img_sp {
  display: none !important;
  visibility: hidden !important;
}

/*-----------------*/
.policy_pages {
  padding: clamp(40px, 7vw, 100px) 0 clamp(40px, 10vw, 120px);
}
.policy_pages h2 {
  font-size: clamp(23px, 2vw, 28px);
  text-align: center;
  margin: 0 0 clamp(25px, 5vw, 60px);
}
.policy_pages .cnt_box {
  max-width: 890px;
  margin: 0 auto;
  padding: 0 45px;
}
.policy_pages tr {
  display: table;
  margin: 0 0 clamp(20px, 2vw, 40px);
}
.policy_pages th {
  font-size: clamp(15px, 1vw, 18px);
  display: table-caption;
  text-align: left;
  padding: 0 0 20px;
  margin: 0 0 20px;
  border-bottom: 1px solid #000;
}
.policy_pages td {
  font-size: clamp(15px, 1vw, 16px);
  display: block;
  margin: 0 0 20px;
}

/*------responsive-----------*/
@media screen and (max-width: 480px) {
  #tmp_header #tmp_mainvisual .main_text {
    bottom: 24%;
  }
}
@media screen and (max-width: 640px) {
  .pc {
    display: none;
    visibility: visible !important;
  }

  .sp {
    display: block;
    visibility: visible !important;
  }

  .img_sp {
    display: block;
    visibility: visible !important;
  }

  .main_txt {
    position: initial;
    transform: none;
    width: 100%;
    padding: 20px 0;
  }
  .main_txt p {
    color: #000;
    text-align: center;
  }

  .story_pages .inner_1 .flex_box {
    grid-template-columns: 1fr;
    column-gap: 0;
  }
  .story_pages .inner_1 .flex_box .right_box {
    padding: 30px 0 30px 45px;
  }
  .story_pages .inner_1 .flex_box .left_box p {
    padding: 0 45px;
  }
  .story_pages .inner_1 .flex_box .sp {
    padding: 0 45px;
  }
  .story_pages .inner_1 .flex_box .img_sp ul {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
    padding: 30px 45px 0;
  }
  .story_pages .inner_2 {
    background: #fff;
  }
  .story_pages .inner_2 ul li .top_box img.img_box1 {
    padding: 0 45px 0 0;
  }
  .story_pages .inner_2 ul li .top_box h3 {
    text-align: center;
    padding: 20px 0;
  }
  .story_pages .inner_2 ul li .top_box::after {
    position: absolute;
    content: "";
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
    z-index: 3;
  }
  .story_pages .inner_2 ul li .bottom_box .img_box2 {
    margin: 30px 0;
  }
  .story_pages .inner_2 ul li .bottom_box p {
    padding: 0 45px;
  }
  .story_pages .inner_2 ul li:first-child {
    padding: 0 0 185px;
  }
  .story_pages .inner_2 ul li:first-child .top_box::after {
    display: none;
    visibility: hidden;
  }
  .story_pages .inner_2 ul li:first-child .bottom_box {
    position: relative;
  }
  .story_pages .inner_2 ul li:first-child .bottom_box::after {
    position: absolute;
    content: "";
    width: 180px;
    height: 140px;
    bottom: -165px;
    left: 50%;
    background-image: url("../images/story_inner_l1_af.png");
    background-size: 100% auto;
    background-position: center;
    background-repeat: no-repeat;
    transform: translate(-50%, 0);
  }
  .story_pages .inner_2 ul li:last-child {
    padding: 0 0 200px;
  }
  .story_pages .inner_2 ul li:last-child .top_box::after {
    display: none;
    visibility: hidden;
  }
  .story_pages .inner_2 ul li:last-child .bottom_box {
    position: relative;
  }
  .story_pages .inner_2 ul li:last-child .bottom_box::after {
    position: absolute;
    content: "";
    width: 180px;
    height: 140px;
    bottom: -165px;
    left: 50%;
    background-image: url("../images/story_inner_l2_af.png");
    background-size: 100% auto;
    background-position: center;
    background-repeat: no-repeat;
    transform: translate(-50%, 0);
  }
  .story_pages .inner_2 ul li:last-child::after {
    display: none;
    visibility: hidden;
  }
  .story_pages .inner_2 ul li:last-child::before {
    display: none;
    visibility: hidden;
  }
}
