/*==============================
        content
==============================*/
/* =================================================================
        section
================================================================= */
#perks .wrap {
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
  margin-top: 20px;
  margin-bottom: 300px;
}
#perks .wrap .contents {
  border-left: 1px solid #000000;
  border-right: 1px solid #000000;
}
#perks .wrap .contents .titbox {
  background-color: #FFFFFF;
  border-bottom: 1px solid #000000;
  text-align: center;
  padding: 80px 50px;
}
#perks .wrap .contents .titbox h2 {
  font-size: 4.2rem;
  display: grid;
  justify-items: center;
  letter-spacing: 0.01em;
  grid-row-gap: 0.75em;
  margin-bottom: 0.5em;
}
#perks .wrap .contents .titbox h2 .font_en {
  font-size: 1.6rem;
  color: var(--color_ur1);
  display: grid;
  justify-items: center;
  grid-row-gap: 1.5em;
}
#perks .wrap .contents .titbox h2 .font_en span {
  font-family: inherit;
  font-size: 6rem;
  font-weight: 800;
}
#perks .wrap .contents .titbox h2 .font_jp {
  line-height: 1.5;
}
#perks .wrap .contents .titbox h2 .font_jp span {
  color: var(--color_ur1);
  display: inline-block;
}
#perks .wrap .contents .titbox p {
  font-size: 1.3rem;
  letter-spacing: 0.01em;
  color: #E7E7E7;
}
#perks .wrap .contents img {
  display: block;
  width: 100%;
}
#perks .wrap .contents .detail {
  display: grid;
  justify-content: center;
  padding: 70px 50px;
  grid-row-gap: 50px;
}
#perks .wrap .contents .detail p {
  line-height: 2;
  letter-spacing: 0.01em;
  max-width: 760px;
  font-weight: 600;
}
#perks .wrap .contents .slider_wrap {
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
}
#perks .wrap .contents .slider_wrap .perks_slide img {
  max-width: 550px;
}
#perks .wrap .contents .contents_inner.item2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
#perks .wrap .contents .contents_inner.item2 .item_wrap .detail p {
  max-width: 530px;
}
#perks .wrap .contents .contents_inner.item2 .item_wrap .detail img {
  max-width: 530px;
  border-radius: 15px;
  border: 1px solid #000000;
}
#perks .wrap .contents .contents_inner.item2 .item_wrap:first-child {
  border-right: 1px solid #000000;
}
#perks .wrap .contents .contents_inner.item2 .item_wrap.item_wrap2 .item_inner:first-child .titbox {
  border-top: 1px solid #000000;
}
#perks .wrap .contents .contents_inner.item3 .titbox {
  border-top: 1px solid #000000;
}
#perks .wrap .contents .contents_inner.item3 img {
  border-top: 1px solid #000000;
}

#other_content .wrap {
  padding-bottom: 300px;
}
#other_content .wrap .contents h2 {
  font-size: 2rem;
  display: grid;
  justify-items: center;
  grid-row-gap: 1em;
  margin-bottom: 5em;
  color: var(--color_ur1);
}
#other_content .wrap .contents h2 .font_en {
  font-size: 8.2rem;
  font-weight: 800;
}
#other_content .wrap .contents h2::before {
  content: "";
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background-color: var(--color_yellow);
}
#other_content .wrap .contents .contents_inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 4.5%;
}
#other_content .wrap .contents .contents_inner li a {
  display: block;
  text-align: center;
}
#other_content .wrap .contents .contents_inner li a .img {
  overflow: hidden;
  border-radius: 15px;
  border: 1px solid #000000;
}
#other_content .wrap .contents .contents_inner li a .img img {
  display: block;
}
#other_content .wrap .contents .contents_inner li a h3 {
  font-size: 2rem;
  height: 3.8em;
  display: grid;
  width: 90%;
  max-width: 15em;
  margin: -1.9em auto 0;
  align-content: center;
  justify-items: center;
  grid-row-gap: 0.33em;
  border: 1px solid #000000;
  border-radius: 2em;
  background-color: #FFFFFF;
  padding: 0 1em;
  position: relative;
  box-shadow: 3px 3px 0 #000000;
}
#other_content .wrap .contents .contents_inner li a h3 .font_en {
  font-size: 1.4rem;
  color: var(--color_ur1);
  font-weight: 800;
}
@media (hover: hover) {
  #other_content .wrap .contents .contents_inner a {
    transition: 0.3s;
  }
  #other_content .wrap .contents .contents_inner a img {
    transition: 0.3s;
  }
  #other_content .wrap .contents .contents_inner a h3 {
    transition: 0.3s;
  }
  #other_content .wrap .contents .contents_inner a h3 .font_en {
    transition: 0.3s;
  }
  #other_content .wrap .contents .contents_inner a:hover img {
    transform: scale(1.05);
  }
  #other_content .wrap .contents .contents_inner a:hover h3 {
    box-shadow: 0 0 0 #000000;
    color: #FFFFFF;
    background-color: var(--color_ur1);
  }
  #other_content .wrap .contents .contents_inner a:hover h3 .font_en {
    color: #FFFFFF;
  }
}
@media screen and (max-width: 1200px) {
  #perks .wrap .contents .titbox {
    padding: 60px 30px;
  }
  #perks .wrap .contents .titbox h2 {
    font-size: 3.6rem;
  }
  #perks .wrap .contents .slider_wrap .perks_slide img {
    max-width: 420px;
  }
  #perks .wrap .contents .detail {
    padding: 50px 30px;
  }
  #other_content .wrap .contents .contents_inner li a h3 {
    font-size: 1.8rem;
    max-width: 14em;
  }
}
@media screen and (max-width: 1024px) {
  #perks .wrap {
    margin-bottom: 200px;
  }
  #perks .wrap .contents .titbox h2 {
    font-size: min(3.6vw, 3.6rem);
  }
  #other_content .wrap {
    padding-bottom: 200px;
  }
  #other_content .wrap .contents h2 .font_en {
    font-size: 6.2rem;
  }
  #other_content .wrap .contents .contents_inner {
    grid-column-gap: 3%;
  }
  #other_content .wrap .contents .contents_inner li a h3 {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  /* =================================================================
          section
  ================================================================= */
  #perks .wrap {
    margin-top: 30px;
    margin-bottom: 120px;
  }
  #perks .wrap .contents {
    width: 100%;
    border: none;
  }
  #perks .wrap .contents .titbox {
    padding: 35px 20px;
  }
  #perks .wrap .contents .titbox h2 {
    font-size: 2.8rem;
    margin-bottom: 0.5em;
    grid-row-gap: 0.4em;
  }
  #perks .wrap .contents .titbox h2 .font_en {
    font-size: 1.4rem;
    grid-row-gap: 1em;
  }
  #perks .wrap .contents .titbox h2 .font_en span {
    font-size: 4rem;
  }
  #perks .wrap .contents .titbox h2 .font_jp {
    line-height: 1.5;
  }
  #perks .wrap .contents .titbox h2 .font_jp span {
    color: var(--color_ur1);
    display: inline-block;
  }
  #perks .wrap .contents .detail {
    padding: 50px 20px;
  }
  #perks .wrap .contents .slider_wrap {
    border-bottom: none;
  }
  #perks .wrap .contents .slider_wrap .perks_slide img {
    max-width: 190px;
  }
  #perks .wrap .contents .contents_inner.item2 {
    grid-template-columns: 1fr;
  }
  #perks .wrap .contents .contents_inner.item2 .item_wrap .titbox {
    border-top: 1px solid #000000;
  }
  #perks .wrap .contents .contents_inner.item2 .item_wrap .detail p {
    max-width: 530px;
  }
  #perks .wrap .contents .contents_inner.item2 .item_wrap .detail img {
    max-width: 530px;
    border-radius: 15px;
    border: 1px solid #000000;
  }
  #perks .wrap .contents .contents_inner.item2 .item_wrap:first-child {
    border-right: none;
  }
  #perks .wrap .contents .contents_inner.item2 .item_wrap.item_wrap2 .item_inner:first-child .titbox {
    border-top: 1px solid #000000;
  }
  #perks .wrap .contents .contents_inner.item3 .titbox {
    border-top: 1px solid #000000;
  }
  #perks .wrap .contents .contents_inner.item3 img {
    border-top: 1px solid #000000;
  }
  #other_content .wrap {
    padding-bottom: 150px;
  }
  #other_content .wrap .contents h2 {
    font-size: 1.8rem;
    margin-bottom: 3em;
  }
  #other_content .wrap .contents h2 .font_en {
    font-size: 4.2rem;
  }
  #other_content .wrap .contents .contents_inner {
    grid-template-columns: 1fr;
    grid-row-gap: 40px;
  }
  #other_content .wrap .contents .contents_inner li a {
    display: block;
    text-align: center;
  }
  #other_content .wrap .contents .contents_inner li a .img {
    overflow: hidden;
    border-radius: 15px;
    border: 1px solid #000000;
  }
  #other_content .wrap .contents .contents_inner li a .img img {
    display: block;
  }
  #other_content .wrap .contents .contents_inner li a h3 {
    font-size: 2rem;
    max-width: 15em;
  }
  #other_content .wrap .contents .contents_inner li a h3 .font_en {
    font-size: 1.3rem;
  }
}