@charset "UTF-8";
/* xyloba用 */
:root {
  --sideW: min(5vw, 75px);
}

.page-xyjr .xy_insta {
  margin: 3.75em 0;
}
@media screen and (max-width: 767px) {
  .page-xyjr .xy_insta {
    margin: 0;
  }
}

.xyjr_first_view {
  margin-top: 168px;
}
@media screen and (max-width: 767px) {
  .xyjr_first_view {
    margin-top: 80px;
  }
}

.xyjr_about .inner {
  padding: 7.5em 0 12.5em;
  max-width: 1200px;
  background-image: url(../images/xyjr_about_02.png), url(../images/xyjr_about_01.png);
  background-repeat: no-repeat;
  background-position: top 7.5em right 2.625em, bottom left 1.25em;
  background-size: 134px, 744px;
}
@media screen and (max-width: 767px) {
  .xyjr_about .inner {
    padding: 5em 0 12.5em;
    background-image: url(../images/xyjr_about_02_sp.png), url(../images/xyjr_about_01.png);
    background-position: top 12.5em right 2.625em, bottom left 65%;
    background-size: 52px, 111%;
  }
}
.xyjr_about .inner_text {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 var(--sideW);
}
.xyjr_about .box_text {
  width: 50%;
  margin: 0 0 0 auto;
}
@media screen and (max-width: 767px) {
  .xyjr_about .box_text {
    width: 100%;
  }
}
.xyjr_about p {
  font-size: 1.5em;
  font-weight: 700;
  text-align: center;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .xyjr_about p {
    font-size: 15px;
    line-height: 1.8;
  }
}
.xyjr_about p:nth-child(1) {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 6em;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .xyjr_about p:nth-child(1) {
    transform: translateX(0);
  }
}
@media screen and (max-width: 767px) {
  .xyjr_about p:nth-child(2) {
    padding-left: 40%;
  }
}

.xyjr_welcome {
  background-color: #f1f6ea;
  padding: 4.5em var(--sideW);
  margin-top: -1.125em;
}
@media screen and (max-width: 767px) {
  .xyjr_welcome {
    margin-top: 5em;
    padding: 0;
  }
}
.xyjr_welcome .inner {
  max-width: 1030px;
  background: url(../images/xyjr_welcome_02.png) no-repeat bottom right/82px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .xyjr_welcome .inner {
    background: url(../images/xyjr_welcome_02.png) no-repeat bottom 1.5em right -5px/34px;
    padding: 3em 10vw;
  }
}
.xyjr_welcome .inner:before {
  content: "";
  display: block;
  width: 144px;
  aspect-ratio: 144/168;
  background: url(../images/xyjr_welcome_01.png) no-repeat center/contain;
  position: absolute;
  bottom: 0;
  left: -44px;
}
@media screen and (max-width: 767px) {
  .xyjr_welcome .inner:before {
    width: 60px;
    left: -6px;
  }
}
.xyjr_welcome .content {
  position: relative;
}
.xyjr_welcome h2 {
  font-size: 1.5em;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 1.25em;
}
@media screen and (max-width: 767px) {
  .xyjr_welcome h2 {
    font-size: 1rem;
    line-height: 1.8;
  }
}
.xyjr_welcome h2 + p {
  text-align: center;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .xyjr_welcome h2 + p {
    font-size: 0.875em;
    line-height: 1.8;
    text-align: left;
    letter-spacing: 0;
  }
}

.xyjr_logo {
  width: 100%;
  max-width: 200px;
  margin: 0 auto 2.2em;
}
@media screen and (max-width: 767px) {
  .xyjr_logo {
    max-width: 165px;
  }
}

.xyjr_howto {
  padding: 7.5em 0;
}
@media screen and (max-width: 767px) {
  .xyjr_howto {
    padding: 4.5em 0;
  }
}
.xyjr_howto .inner_xyjr {
  padding: 0 var(--sideW);
}
@media screen and (max-width: 767px) {
  .xyjr_howto .inner_xyjr {
    padding: 0 5.8vw;
  }
}
.xyjr_howto .content {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .xyjr_howto .content {
    flex-direction: column;
    gap: 15px;
  }
}
.xyjr_howto .content .box_text {
  width: 463px;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .xyjr_howto .content .box_text {
    width: 100%;
    padding: 1em 0;
    background: url(../images/xyjr_howto_01.png) no-repeat top right/40px, url(../images/xyjr_howto_02.png) no-repeat bottom right/68px;
  }
}
.xyjr_howto .content .box_text h2 {
  font-size: 1.5em;
  font-weight: 700;
  margin-bottom: 0.75em;
}
@media screen and (max-width: 767px) {
  .xyjr_howto .content .box_text h2 {
    font-size: 1.25em;
  }
}
.xyjr_howto .content .box_text p {
  letter-spacing: 0.005em;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .xyjr_howto .content .box_text p {
    font-size: 0.875em;
  }
}
.xyjr_howto .content .box_text p:nth-of-type(2) {
  margin-top: 1em;
}
.xyjr_howto .content .box_movie {
  flex-grow: 1;
  display: block;
  overflow: hidden;
  aspect-ratio: 16/9;
  width: 100%;
}
.xyjr_howto .content .box_movie iframe {
  display: block;
  width: 100%;
  height: 100%;
}

.xyjr_feature_cmn__ttl {
  font-size: 1.875em;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .xyjr_feature_cmn__ttl {
    font-size: 20px;
  }
}
.xyjr_feature_cmn__content {
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .xyjr_feature_cmn__content {
    font-size: 14px;
  }
}

.xyjr_feature_01 {
  padding: 0 var(--sideW);
}
@media screen and (max-width: 767px) {
  .xyjr_feature_01 {
    padding-bottom: 80px;
  }
}
.xyjr_feature_01 .content {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .xyjr_feature_01 .content {
    flex-direction: column;
    gap: 30px;
  }
}
.xyjr_feature_01 .content .box_image {
  width: 54%;
  flex-shrink: 0;
  padding-bottom: 10em;
  background: url(../images/xyjr_feature_01_03.png) no-repeat bottom left 50px/110px;
}
@media screen and (max-width: 767px) {
  .xyjr_feature_01 .content .box_image {
    width: 100%;
    padding-bottom: 0;
    background: none;
  }
}
.xyjr_feature_01 .content .box_text {
  padding-top: 4.6%;
}
.xyjr_feature_01 .content .box_text .logo {
  width: 42%;
  margin: 0 auto 2.5em;
}
@media screen and (max-width: 767px) {
  .xyjr_feature_01 .content .box_text .logo {
    display: none;
  }
}

.xyjr_feature_02 {
  padding: 0 0 10em;
}
@media screen and (max-width: 767px) {
  .xyjr_feature_02 {
    padding: 0 0 5em;
  }
}
.xyjr_feature_02 .content {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 50px;
}
@media screen and (max-width: 767px) {
  .xyjr_feature_02 .content {
    flex-direction: column-reverse;
    gap: 30px;
  }
}
.xyjr_feature_02 .content .box_text {
  width: 46%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .xyjr_feature_02 .content .box_text {
    width: 100%;
    padding: 0 var(--sideW);
  }
}
.xyjr_feature_02 .content .box_text .xyjr_feature_cmn__content {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .xyjr_feature_02 .content .box_text .xyjr_feature_cmn__content {
    text-align: left;
  }
}
.xyjr_feature_02 .content .box_image {
  margin-right: min((50vw - 50%) * -1, 0px);
}

.xyjr_feature_03 {
  padding: 0 0 10em;
}
@media screen and (max-width: 767px) {
  .xyjr_feature_03 {
    padding: 0 0 5em;
  }
}
.xyjr_feature_03 .content {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 50px;
  background: url(../images/xyjr_feature_03_02.png) no-repeat top right/82px;
}
@media screen and (max-width: 767px) {
  .xyjr_feature_03 .content {
    flex-direction: column;
    gap: 30px;
    background: none;
  }
}
.xyjr_feature_03 .content .box_text {
  width: 46%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .xyjr_feature_03 .content .box_text {
    width: 100%;
    padding: 0 var(--sideW);
  }
}
.xyjr_feature_03 .content .box_text .xyjr_feature_cmn__content {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .xyjr_feature_03 .content .box_text .xyjr_feature_cmn__content {
    text-align: left;
  }
}
.xyjr_feature_03 .content .box_image {
  margin-left: min((50vw - 50%) * -1, 0px);
}

.xyjr_feature_04 {
  padding: 0 var(--sideW) 5em;
}
@media screen and (max-width: 767px) {
  .xyjr_feature_04 {
    padding-bottom: 5em;
  }
}
.xyjr_feature_04 .content {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  background: url(../images/xyjr_feature_04_02.png) no-repeat top left/96px;
}
@media screen and (max-width: 767px) {
  .xyjr_feature_04 .content {
    flex-direction: column-reverse;
    gap: 30px;
    background: none;
  }
}
.xyjr_feature_04 .content .box_image {
  width: 54%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .xyjr_feature_04 .content .box_image {
    width: 100%;
    padding-bottom: 0;
    background: none;
  }
}
.xyjr_feature_04 .content .box_text .logo {
  width: 42%;
  margin: 0 auto 2.5em;
}
@media screen and (max-width: 767px) {
  .xyjr_feature_04 .content .box_text .logo {
    display: none;
  }
}

.xyjr_feature_05 {
  padding: 0 0 10em;
}
@media screen and (max-width: 767px) {
  .xyjr_feature_05 {
    padding: 0 var(--sideW) 5em;
  }
}
.xyjr_feature_05 .content {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 50px;
  background: url(../images/xyjr_feature_05_02.png) no-repeat top right/60px;
}
@media screen and (max-width: 767px) {
  .xyjr_feature_05 .content {
    flex-direction: column;
    gap: 30px;
    background: none;
  }
}
.xyjr_feature_05 .content .box_text {
  width: 46%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .xyjr_feature_05 .content .box_text {
    width: 100%;
    padding: 0 var(--sideW);
  }
}

.xyjr_recommend {
  padding: 11.25em var(--sideW);
  background: url(../images/xyjr_recommend_bg.jpg) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .xyjr_recommend {
    background-image: url(../images/xyjr_recommend_bg_sp.jpg);
    padding: 8em var(--sideW);
  }
}
.xyjr_recommend p {
  font-size: 1.5em;
  font-weight: 700;
  text-align: center;
  line-height: 2;
  letter-spacing: 0.05em;
  text-shadow: 5px 5px 10px rgb(255, 255, 255), 5px -5px 10px rgb(255, 255, 255), -5px 5px 10px rgb(255, 255, 255), -5px -5px 10px rgb(255, 255, 255), 5px 5px 10px rgb(255, 255, 255), 5px -5px 10px rgb(255, 255, 255), -5px 5px 10px rgb(255, 255, 255), -5px -5px 10px rgb(255, 255, 255), 5px 5px 10px rgb(255, 255, 255), 5px -5px 10px rgb(255, 255, 255), -5px 5px 10px rgb(255, 255, 255);
}
@media screen and (max-width: 767px) {
  .xyjr_recommend p {
    font-size: 1em;
  }
}

.xyjr_lineup {
  padding: 7.5em var(--sideW);
}
@media screen and (max-width: 767px) {
  .xyjr_lineup {
    padding: 6em var(--sideW);
  }
}
.xyjr_lineup .content {
  max-width: 1000px;
  margin: 0 auto;
}
.xyjr_lineup h2 {
  font-family: "Josefin Sans", sans-serif;
  font-size: 2.5em;
  font-weight: 700;
  text-align: center;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .xyjr_lineup h2 {
    font-size: 1.5em;
  }
}
@media screen and (max-width: 767px) {
  .xyjr_lineup .js-scrollable img {
    width: 600px;
    max-width: unset;
  }
}

.list_xyjr_item {
  display: flex;
  gap: 6%;
  margin-bottom: 5em;
}
@media screen and (max-width: 767px) {
  .list_xyjr_item {
    flex-direction: column;
    align-items: center;
    gap: 6em;
  }
}
.list_xyjr_item > li {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .list_xyjr_item > li {
    max-width: 280px;
  }
}

.card_xyjr_item .splide {
  margin-bottom: 2em;
}
.card_xyjr_item .splide .splide__slide:nth-child(1) {
  position: relative;
  z-index: 1;
  transition: 0.3s;
}
.card_xyjr_item .splide .splide__slide:nth-child(2) {
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .card_xyjr_item .splide .splide__slide:nth-child(2) {
    position: static;
  }
}
.card_xyjr_item .splide:hover .splide__slide:nth-child(1) {
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .card_xyjr_item .splide:hover .splide__slide:nth-child(1) {
    opacity: 1;
  }
}
.card_xyjr_item .splide__pagination {
  position: static;
}
.card_xyjr_item .splide__pagination__page {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 1px solid #aaa;
  background-color: #fff;
}
.card_xyjr_item .splide__pagination__page.is-active {
  transform: scale(1);
  background-color: #aaa;
}
.card_xyjr_item h3 {
  font-family: "Josefin Sans", sans-serif;
  text-align: center;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 0.25em;
}
@media screen and (max-width: 767px) {
  .card_xyjr_item h3 {
    font-size: 22px;
  }
}
.card_xyjr_item h3:before {
  content: "xyloba junior";
  display: block;
  font-size: 0.8em;
}
@media screen and (max-width: 767px) {
  .card_xyjr_item h3:before {
    font-size: 16px;
  }
}
.card_xyjr_item h3 span {
  display: block;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .card_xyjr_item h3 span {
    font-size: 13px;
  }
}
.card_xyjr_item__price {
  font-size: 1.5em;
  font-weight: 700;
  text-align: center;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 767px) {
  .card_xyjr_item__price {
    font-size: 1.125em;
  }
}
.card_xyjr_item__descr {
  font-weight: 500;
  line-height: 2;
  margin-bottom: 2em;
}
@media screen and (max-width: 767px) {
  .card_xyjr_item__descr {
    font-size: 0.875em;
  }
}
.card_xyjr_item__link {
  width: 200px;
  height: 50px;
  border-radius: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #c15157;
  color: #fff;
  margin: 0 auto;
  border: none;
  text-align: center;
}
.card_xyjr_item__link:hover {
  opacity: 0.7;
}