/** Shopify CDN: Minification failed

Line 16:60 Unexpected "*"

**/
@charset "utf-8";

/**
 * Ported verbatim from moonrakers-legacy (Prestige 5.4.3) assets/custom_theme.css.
 *
 * "Common" block below (.pr_button, .pr-left/.pr-center/.pr-right, .js-fade/.fade-in/.slide-up,
 * .js-scroll-scale--item) is generic and reusable by newly-built Prestige 11.4.0 sections.
 *
 * Everything from the "Origin section" block onward targets classes/CSS custom properties
 * (--sectionBgColor, --mobilePaddingTop, --paddingTop, --introContentColor, etc.) that are only
 * ever defined inline by the legacy fr_newtop-*/sec_origin-*/sec_newtop-* liquid sections, which
 * do not exist in this theme yet (see docs/legacy-content/homepage-index.md for their content).
 * Each block is labeled with the legacy section file it belonged to. These rules are inert until
 * equivalent sections are rebuilt in Phase 3 (see migration plan) using matching class names, or
 * removed once the homepage rebuild uses different markup.
 */
/**
* --------------------
* Common
* --------------------
**/
/* Button */
.pr_button {
  min-width: 220px;
  padding: 12px 8px 11px;
  display: inline-flex;
  justify-content: center;
  font-family: "Avenir Next Medium",'yu-gothic-pr6n' ,sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.357;
  letter-spacing: .08em;
  border: 1px solid currentColor;
  border-radius: 5px;
  transition: all 0.2s;
}

.pr_button--primary {
  color: #000000;
}

.pr_button--secondary {
  color: #ffffff;
}

.pr_button--primary:hover {
  /* background: rgba(0,0,0,0.3); */
  opacity: .8;
}

.pr_button--secondary:hover {
  background: rgba(255, 255, 255, 0.3);
}

/* Alignment */
.pr-left {
  text-align: left;
}

.pr-center {
  text-align: center;
}

.pr-right {
  text-align: right;
}

/* Animation */
.js-fade .fade-in {
  opacity: 0;
  transition: opacity .8s ease .3s;
}

.js-fade .slide-up {
  transform: translateY(50px);
  /* 初期位置を設定 */
  transition: transform .8s ease .3s;
}

.js-fade .fade-in.slide-up {
  transition: opacity .8s ease .3s, transform .8s ease .3s;
}

.js-scroll-scale--item {
  transform: scale(1.3);
  /* transition: transform 1s ease-out; */
  transition: transform 1.5s cubic-bezier(.16, .8, .45, 1);
}

/**
* --------------------
* Origin section
* --------------------
**/
/* sec_newtop-splash.liquid */
.pr_splash--wrap {
  width: 100vw;
  height: 100vh;
  transition: all 2s ease;
  background-color: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  opacity: 1;
  visibility: visible;
}

.pr_splash--wrap.is-active {
  opacity: 0;
  /* visibility: hidden; */
  pointer-events: none;
}

.loading-animation {
  width: 100vw;
  height: 100vh;
  transition: all 2s ease;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
}

.loading-animation>img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.loading-animation.is-active {
  opacity: 1;
  visibility: visible;
}

/* sec_origin-marquee.liquid */
.pr_marquee {
  display: flex;
  white-space: nowrap;
  overflow: hidden;
  font-family: "Avenir Next Medium",'yu-gothic-pr6n' ,sans-serif;
  font-weight: 500;
  font-size: 11px;
  letter-spacing: .08em;
}

.pr_marquee-inner>span {
  padding: 0 3rem;
  display: inline-block;
  position: relative;
}

.pr_marquee-inner>span::after {
  content: '/';
  position: absolute;
  right: 0;
  transform: translateX(50%);
}

@keyframes marquee {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-100%);
  }
}

/* fr_newtop-featureproducts.liquid */
.shopify-section--product_list {
  background-color: var(--sectionBgColor);
}

.shopify-section--product_list>.Section {
  padding-top: var(--mobilePaddingTop);
  padding-bottom: var(--mobilePaddingBottom);
  padding-left: 17px;
  padding-right: 17px;
}

.pr_product_list--inner {
  display: flex;
  justify-content: flex-start;
}

.pr_product_list--header {
  margin-bottom: 60px;
  text-align: center;
}

.pr_product_list--header .u-h1 {
  font-family: "Avenir Next Medium",'yu-gothic-pr6n' ,sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 1.7;
  letter-spacing: .08em;
}

.pr_product_list--body {
  margin-bottom: 69px;
}

.pr_product_list--footer {
  text-align: center;
}

@media screen and (max-width: 640px) {
  .pr_product_list--body {
    margin-left: -17px;
    margin-right: -17px;
    overflow: hidden;
  }

  .pr_product_list--inner {
    column-gap: 34px;
    white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 30px;
    margin-bottom: -30px;
  }

  .pr_product_list--item {
    width: 49.6%;
    max-width: 186px;
    flex: 0 0 auto;
  }

  .pr_product_list--item:first-child {
    margin-left: 49px;
  }

  .pr_product_list--item:last-child {
    margin-right: 49px;
  }
}

@media screen and (min-width: 641px) {
  .shopify-section--product_list>.Section {
    padding-left: 40px;
    padding-right: 40px;
  }

  .pr_product_list--inner {
    column-gap: 12.71477%;
  }

  .pr_product_list--inner.pr_list--count-4 {
    column-gap: 5.72737%;
  }

  .pr_product_list--item {
    flex: 0 0 auto;
  }

  .pr_list--count-2 .pr_product_list--item {
    width: calc((100% - 12.71477%) / 2);
  }

  .pr_list--count-3 .pr_product_list--item {
    width: calc((100% - (12.71477% * 2)) / 3);
  }

  .pr_list--count-4 .pr_product_list--item {
    width: calc((100% - (5.72737% * 3)) / 4);
  }
}

@media screen and (min-width: 1008px) {
  .shopify-section--product_list>.Section {
    padding-top: var(--paddingTop);
    padding-bottom: var(--paddingBottom);
    padding-left: 80px;
    padding-right: 80px;
  }

  .pr_product_list--wrap {
    max-width: 873px;
    margin: 0 auto;
  }

  .pr_product_list--header {
    margin-bottom: 64px;
  }

  .pr_product_list--body {
    margin-bottom: 62px;
  }
}

/* fr_newtop-intro.liquid */
.pr_intro-wrap {
  position: relative;
  min-height: 100svh;
  height: auto;
  overflow: hidden;
}

.pr_intro-video {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
}

.pr_intro-video--item {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pr_intro-content {
  margin: 0 auto;
  padding: 84px 30px;
  max-width: 1206px;
  width: 100%;
  height: 100%;
  color: var(--introContentColor);
}

.pr_intro-content--primary {
  margin-bottom: 50px;
}

.pr_intro-content-heading {
  font-size: 30px;
  line-height: 1.3333;
  letter-spacing: .03em;
}

.pr_intro-content-text {
  font-size: 14px;
  line-height: 2;
  letter-spacing: .03em;
}

.pr_intro-content-text p {
  margin-bottom: 2em;
}

.pr_intro-content-text p:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 1008px) {
  .pr_intro-wrap {
    height: 100svh;
  }

  .pr_intro-content {
    padding: 0 63px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .pr_intro-content>div {
    width: 50%;
  }

  .pr_intro-content--primary {
    padding-left: 8.33333vw;
    padding-right: 8.33333vw;
  }

  .pr_intro-content-heading {
    line-height: 2;
  }

  .pr_intro-content-text {
    font-size: 1.57894vw;
  }
}

@media screen and (min-width: 1140px) {
  .pr_intro-content--primary {
    padding-left: 95px;
    padding-right: 95px;
  }

  .pr_intro-content-text {
    font-size: 18px;
  }
}

/* sec_origin_top_blog-posts.liquid */
.shopify-section--blog-posts {
  background-color: var(--sectionBgColor);
}

.shopify-section--blog-posts>.Section {
  padding-top: var(--mobilePaddingTop);
  padding-bottom: var(--mobilePaddingBottom);
  padding-left: 40px;
  padding-right: 40px;
}

.pr_top-blog-posts--wrap {}

.pr_top-blog-posts--header {
  margin-bottom: 44px;
  text-align: center;
}

.pr_top-blog-posts--header .u-h1 {
  font-family: "Avenir Next Medium",'yu-gothic-pr6n' ,sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 1.7;
  letter-spacing: .08em;
}

.pr_top-blog-posts-articlelist {
  display: flex;
  flex-direction: column;
  row-gap: 32px;
}

.pr_top-blog-posts--article-item .ArticleItem__ImageWrapper,
.pr_top-blog-posts--article-item .ArticleItem__Content {
  margin: 0;
}

.js .pr_top-blog-posts--article-item .ArticleItem {
  display: flex;
  flex-direction: column;
  height: 100%;
  visibility: visible;
}

.pr_top-blog-posts--article-item .placeholder {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.pr_top-blog-posts--article-item .ArticleItem__Content {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 27px 15px 20px;
  background-color: var(--articleBgColor);
}

.pr_top-blog-posts--article-item .ArticleItem__Title {
  margin-bottom: 24px;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: .03em;
}

.pr_top-blog-posts--article-item .ArticleItem__Date {
  margin-top: auto;
  font-family: "yu-gothic-pr6n", sans-serif;
  font-size: 12px;
  line-height: 1.3;
  letter-spacing: .03em;
}

.pr_top-blog-posts--posts-footer {
  margin-top: 53px;
}

.pr_top-blog-posts--posts-footer .Button--arrow {
  padding: 0;
  font-size: 14px;
  line-height: 1.357;
  letter-spacing: .03em;
}

.pr_top-blog-posts--posts-footer .Button--arrow::after {
  content: '';
  width: 6px;
  height: 6px;
  margin-left: 8px;
  border-top: 1px solid #707070;
  border-right: 1px solid #707070;
  transform: rotate(45deg);
  display: inline-block;
  vertical-align: middle;
}

@media screen and (min-width: 641px) {
  .pr_top-blog-posts-articlelist {
    flex-direction: row;
    column-gap: 3.1201%;
  }

  .pr_top-blog-posts--article-item {
    width: calc((100% - (3.1201% * 2)) / 3);
  }

  .pr_top-blog-posts--posts-footer {
    margin-top: 40px;
  }
}

@media screen and (min-width: 1008px) {
  .shopify-section--blog-posts>.Section {
    padding-top: var(--paddingTop);
    padding-bottom: var(--paddingBottom);
    padding-left: 80px;
    padding-right: 80px;
  }

  .pr_top-blog-posts--wrap {
    max-width: 974px;
    margin: 0 auto;
  }

  .pr_top-blog-posts--header {
    margin-bottom: 63px;
  }

  .pr_top-blog-posts-articlelist {
    flex-direction: row;
    column-gap: 43px;
  }

  .pr_top-blog-posts--article-item {
    width: calc((100% - (43px * 2)) / 3);
  }
}

/* fr_newtop-spfeatures.liquid */
.shopify-section--technology {
  background-color: var(--sectionBgColor);
}

.shopify-section--technology>.Section {
  padding-top: var(--mobilePaddingTop);
  padding-bottom: var(--mobilePaddingBottom);
  padding-left: 25px;
  padding-right: 25px;
}

.pr_technology-header {
  margin-bottom: 57px;
  text-align: center;
}

.pr_technology-header .u-h1 {
  font-family: "Avenir Next Medium",'yu-gothic-pr6n' ,sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 1.7;
  letter-spacing: .08em;
}

.pr_technology-header .u-h1:not(:last-child) {
  margin-bottom: 63px;
}

.pr_technology-body {
  margin-bottom: 63px;
}

.pr_technology-list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 35px 32px;
}

.pr_technology-heading--img>img {
  max-width: 425px;
}

.pr_technology-item {
  width: calc((100% - (32px * 2)) / 3);
  /* max-width: 124px; */
}

.pr_technology-item--circle {
  margin-bottom: 10px;
  position: relative;
  overflow: hidden;
  border-radius: 50%;
  aspect-ratio: 1;
}

.pr_technology-item--circle::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: rgb(0 0 0 / 40%);
  transition: opacity .3s ease;
  opacity: 0;
}

.pr_technology-item--image.placeholder {
  background-color: #fff;
}

.pr_technology-item--features-jp {
  width: 100%;
  color: #ffffff;
  font-size: 11px;
  letter-spacing: .03em;
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity .3s ease;
  opacity: 0;
}

.pr_technology-item--features {
  text-align: center;
  letter-spacing: .03em;
  font-family: "Avenir Next Medium",'yu-gothic-pr6n' ,sans-serif;
  font-weight: 500;
}

.pr_technology-footer--inner {
  display: flex;
  flex-direction: column;
  gap: 36px;
}

.pr_technology-footer--copy {
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: .08em;
}

.pr_technology-footer--link {
  text-align: center;
  order: -1;
}

.pr_technology-item:hover .pr_technology-item--circle::before,
.pr_technology-item:hover .pr_technology-item--features-jp {
  opacity: 1;
}

@media screen and (max-width: 640px) {
  .pr_technology-item--features {
    width: calc(100% / .7);
    font-size: 10px;
    transform: scale(.7);
    transform-origin: left;
    letter-spacing: normal;
  }

  .pr_technology-heading--img>img {
    width: 77.8461%;
  }
}

@media screen and (min-width: 641px) {
  .pr_technology-list {
    gap: 30px 41px;
  }

  .pr_technology-item {
    width: calc((100% - (41px * 3)) / 4);
  }

  .pr_technology-item--features-jp {
    font-size: 14px;
  }

  .pr_technology-item--features {
    font-size: 10px;
  }
}

@media screen and (min-width: 1008px) {
  .shopify-section--technology>.Section {
    padding-top: var(--paddingTop);
    padding-bottom: var(--paddingBottom);
    padding-left: 43px;
    padding-right: 43px;
  }

  .pr_technology-wrap {
    max-width: 994px;
    margin: 0 auto;
  }

  .pr_technology-header {
    margin-bottom: 78px;
  }

  .pr_technology-header .u-h1:not(:last-child) {
    margin-bottom: 81px;
  }

  .pr_technology-body {
    margin-bottom: 80px;
  }

  .pr_technology-list {
    gap: 30px 50px;
  }

  .pr_technology-item {
    width: calc((100% - (50px * 5)) / 6);
  }

  .pr_technology-item--circle {
    margin-bottom: 12px;
  }

  .pr_technology-item--features-jp {
    font-size: 16px;
  }

  .pr_technology-item--features {
    font-size: 11px;
  }

  .pr_technology-footer--inner {
    flex-direction: row;
    justify-content: space-between;
  }

  .pr_technology-footer--copy {
    letter-spacing: .03em;
  }

  .pr_technology-footer--link {
    text-align: initial;
    order: unset;
  }
}

/* fr_newtop-textbgimage.liquid */
.pr_bgimage-wrap {
  position: relative;
}

.pr_bgimage-screen {
  overflow: hidden;
  position: relative;
  height: 600px;
}

.pr_bgimage-screen--image {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pr_bgimage-text--box {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  padding: 67px 30px;
  display: flex;
  align-items: flex-start;
}

.pr_bgimage-text--item {
  color: var(--bgimageTextColor);
  font-size: 26px;
  line-height: 1.7;
  letter-spacing: .03em;
}

@media screen and (min-width: 1008px) {
  .pr_bgimage-screen {
    height: 522px;
  }

  .pr_bgimage-text--box {
    left: 50%;
    transform: translateX(-50%);
    max-width: 1080px;
    padding: 0 43px;
    align-items: center;
  }

  .pr_bgimage-text--item {
    font-size: 30px;
    line-height: 2;
    letter-spacing: .08em;
  }
}

/* fr_newtop-reportsec.liquid */
.shopify-section--report {
  background-color: var(--sectionBgColor);
}

.shopify-section--report>.Section {
  padding-top: var(--mobilePaddingTop);
  padding-bottom: var(--mobilePaddingBottom);
  padding-left: 25px;
  padding-right: 25px;
}

.pr_report-header {
  display: flex;
  flex-direction: column;
  row-gap: 50px;
  margin-bottom: 45px;
}

.pr_report-heading--lead {
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: .08em;
}

.pr_report-heading--image {
  width: 146px;
  padding: 0 10px;
  margin-left: auto;
}

.pr_report-heading--image-item {
  margin-bottom: 13px;
}

.pr_report-heading--image-caption {
  font-size: 12px;
  line-height: 1.3;
  letter-spacing: .03em;
}

.pr_report-body {
  padding: 0 15px;
}

.pr_report-item {
  margin-bottom: 28px;
}

.pr_report-item:last-of-type {
  margin-bottom: 0;
}

.pr_report-feature {
  /* overflow: hidden; */
  aspect-ratio: 1;
  /* outline: 1px solid #000; */
  border-radius: 50%;
  position: relative;
  background-color: transparent;
  /* transition: outline-offset .2s ease-out; */
}

.pr_report-feature::before {
  content: "";
  width: 100%;
  height: 100%;
  border: 1px solid #000;
  position: absolute;
  border-radius: 50%;
  transition: transform .2s ease-out;
}

.pr_report-feature.pr_style-black {
  background-color: #000000;
}

.pr_report-feature-bgimage {
  overflow: hidden;
  border-radius: 50%;
  background-color: #000000;
  opacity: 0;
  transition: opacity .2s ease-out;
}

.pr_report-feature-bgimage>img {
  opacity: .6;
}

.pr_report-feature-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 30.7167% 21.5017% 26.6211% 16.382%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #000000;
  line-height: 1.35;
  letter-spacing: .03em;
  transition: color .2s ease-out;
}

.pr_style-black .pr_report-feature-content {
  color: #ffffff;
}

.pr_report-feature-name {
  font-size: 20px;
  font-family: "Avenir Next Medium",'yu-gothic-pr6n' ,sans-serif;
  font-weight: 500;
  margin-bottom: 8px;
}

.pr_report-feature-name-jp {
  font-size: 14px;
  margin-bottom: 0;
}

.pr_report-feature-code {
  font-size: 14px;
  font-family: "Avenir Next Medium",'yu-gothic-pr6n' ,sans-serif;
  font-weight: 500;
  text-align: right;
  margin-top: auto;
  margin-bottom: 0;
}

.pr_report-onway {
  overflow: hidden;
  aspect-ratio: 1;
  border-radius: 50%;
  position: relative;
}

.pr_report-pie {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  z-index: 1;
  background-size: 100% auto;
  background-repeat: no-repeat;
}

.pr_report-pie::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: var(--sectionBgColor);
  transform: scale(.80405);
  opacity: 1;
  transition: all .2s ease-out;
}

.pr_report-onway-content {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  padding: 31.525% 21.695% 32.881% 21.017%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #000;
  line-height: 1.35;
  letter-spacing: .03em;
}

.pr_report-onway-name {
  font-size: 14px;
  margin-bottom: 0;
  letter-spacing: normal;
}

.pr_report-onway-name>span {
  display: inline-block;
  margin-bottom: 6px;
  font-size: 12px;
  font-family: "Avenir Next Medium",'yu-gothic-pr6n' ,sans-serif;
  font-weight: 500;
  letter-spacing: .03em;
}

.pr_report-onway-rate {
  font-size: 10px;
  font-family: "Avenir Next Medium",'yu-gothic-pr6n' ,sans-serif;
  font-weight: 500;
  line-height: 1;
  text-align: right;
  margin-top: auto;
}

.pr_report-onway-rate>span {
  display: inline-block;
  margin-left: 6px;
  font-size: 23px;
}

.pr_report-onway-rate>span>span {
  transition: font-size .2s ease-out;
}

/* hover effect */
/* .pr_report-feature:hover {
  outline-offset: 10px;
} */

.pr_report-feature:hover::before {
  transform: scale(1.07);
}

.pr_report-feature:hover .pr_report-feature-bgimage {
  opacity: 1;
}

.pr_report-feature:hover .pr_report-feature-content {
  color: #ffffff;
}

.pr_report-onway:hover .pr_report-pie::before {
  transform: scale(1);
  opacity: .8;
}

.pr_report-onway:hover .pr_report-onway-rate>span>span {
  font-size: 36px;
}

@media screen and (min-width: 641px) {
  .pr_report-list {
    display: flex;
    flex-wrap: wrap;
    gap: 30px 33px;
  }

  .pr_report-item {
    width: calc((100% - 33px) / 2);
    margin-bottom: 0;
  }
}

@media screen and (min-width: 1008px) {
  .shopify-section--report>.Section {
    padding-top: var(--paddingTop);
    padding-bottom: var(--paddingBottom);
    padding-left: 43px;
    padding-right: 43px;
  }

  .pr_report-wrap {
    max-width: 994px;
    margin: 0 auto;
  }

  .pr_report-header {
    flex-direction: row;
    justify-content: space-between;
    row-gap: unset;
    margin-bottom: 90px;
  }

  .pr_report-heading--lead {
    line-height: 2;
    letter-spacing: .03em;
  }

  .pr_report-heading--image {
    margin-left: unset;
    width: 148px;
  }

  .pr_report-body {
    padding: 0;
  }

  .pr_report-list {
    gap: 50px 55px;
  }

  .pr_report-item {
    width: calc((100% - (55px * 2)) / 3);
  }
}


/* fr_mailmag-only.liquid */
.shopify-section--onlymailmag {
  background-color: var(--sectionBgColor);
}

.shopify-section--onlymailmag>.Section {
  padding-top: var(--mobilePaddingTop);
  padding-bottom: var(--mobilePaddingBottom);
  padding-left: 17px;
  padding-right: 17px;
}

.pr_onlymailmag-wrap {
  padding: 64px 28px 73px;
  background-color: var(--contentBgColor);
}

.pr_onlymailmag-wrap * {
  color: var(--contentTextColor);
}

.pr_onlymailmag-header {
  margin-bottom: 28px;
  text-align: center;
}

.pr_onlymailmag-header .u-h1 {
  margin-bottom: 15px;
  font-family: "Avenir Next Medium",'yu-gothic-pr6n' ,sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 1.3;
  letter-spacing: .08em;
}

.pr_onlymailmag-heading--lead {
  font-size: 12px;
  line-height: 1.667;
  letter-spacing: .03em;
}

.pr_newsletter-input-wrap {
  display: flex;
}

.pr_newsletter-input-wrap .Form__Input {
  padding: 12px 17px 14px;
  border: 1px solid currentColor;
  letter-spacing: 0.03em;
}

.pr_newsletter-input-wrap .Form__Input::placeholder {
  color: currentColor;
  font-family: "Avenir Next Medium",'yu-gothic-pr6n' ,sans-serif;
  font-weight: 500;
  font-size: 10px;
  letter-spacing: .08em;
}

.pr_newsletter-input-wrap .Form__Submit {
  margin-top: 0;
  flex: 1 0 auto;
  padding: 14px 13px 12px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  border-left: none;
  font-family: "Avenir Next Medium",'yu-gothic-pr6n' ,sans-serif;
  font-weight: 500;
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: .08em;
  color: currentColor;
  transition: opacity 0.3s;
}

.pr_newsletter-input-wrap .Button--primary::before {
  background-color: transparent;
}

.pr_newsletter-input-wrap .Form__Submit:not([disabled]):hover {
  opacity: .7;
}

@media screen and (min-width: 641px) {
  .pr_onlymailmag-wrap {
    max-width: 1206px;
    margin: 0 auto;
  }

  .pr_onlymailmag-inner {
    max-width: 643px;
    margin: 0 auto;
  }

  .pr_onlymailmag-header {
    margin-bottom: 54px;
  }

  .shopify-section--onlymailmag .u-h1 {
    margin-bottom: 20px;
  }

  .pr_onlymailmag-heading--lead {
    text-align: left;
    font-size: 14px;
    line-height: 2;
  }

  .pr_newsletter-input-wrap .Form__Input {
    padding: 10px 17px 12px;
  }

  .pr_newsletter-input-wrap .Form__Submit {
    padding: 12px 24px 10px;
  }
}

@media screen and (min-width: 1008px) {
  .shopify-section--onlymailmag>.Section {
    padding-top: var(--paddingTop);
    padding-bottom: var(--paddingBottom);
    padding-left: 80px;
    padding-right: 80px;
  }

  .pr_onlymailmag-wrap {
    padding: 105px 0;
  }
}

/* fr_mailmag-and-inquiry.liquid */
.shopify-section--mail-and-inquiry {
  background-color: var(--sectionBgColor);
}

.shopify-section--mail-and-inquiry>.Section {
  padding-top: var(--mobilePaddingTop);
  padding-bottom: var(--mobilePaddingBottom);
  padding-left: 17px;
  padding-right: 17px;
}

.pr_mail-and-inquiry--item {
  padding: 64px 28px 73px;
  background-color: var(--contentBgColor);
}

.pr_mail-and-inquiry--item * {
  color: var(--contentTextColor);
}

.pr_mail-and-inquiry-header {
  margin-bottom: 28px;
  text-align: center;
}

.pr_mail-and-inquiry-header .u-h1 {
  margin-bottom: 15px;
  font-family: "Avenir Next Medium",'yu-gothic-pr6n' ,sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 1.3;
  letter-spacing: .08em;
}

.pr_mail-and-inquiry-heading--lead {
  font-size: 12px;
  line-height: 1.667;
  letter-spacing: .03em;
}

.pr_inquiry-content {
  text-align: center;
}

@media screen and (min-width: 641px) {
  .pr_mail-and-inquiry-header {
    margin-bottom: 54px;
  }

  .pr_mail-and-inquiry-header .u-h1 {
    margin-bottom: 16px;
  }

  .pr_mail-and-inquiry--item>div {
    max-width: 370px;
    margin: 0 auto;
  }
}

@media screen and (min-width: 1008px) {
  .shopify-section--mail-and-inquiry>.Section {
    padding-top: var(--paddingTop);
    padding-bottom: var(--paddingBottom);
    padding-left: 80px;
    padding-right: 80px;
  }

  .pr_mail-and-inquiry--wrap {
    display: flex;
    max-width: 1206px;
    margin: 0 auto;
  }

  .pr_mail-and-inquiry--item {
    width: 50%;
    padding-top: 97px;
    padding-bottom: 112px;
  }

  .pr_mail-and-inquiry-header {
    margin-bottom: 0;
  }

  .pr_mail-and-inquiry-heading--lead {
    line-height: 2;
  }

  .pr_mail-and-inquiry--item>div {
    display: flex;
    flex-direction: column;
    height: 100%;
    row-gap: 33px;
  }

  .pr_mail-and-inquiry--item .pr_newsletter-input-wrap,
  .pr_mail-and-inquiry--item .pr_inquiry-content {
    margin-top: auto;
  }
}


.storecrm-status-widget button {
  position: relative;
  display: inline-block;
  padding: 14px 28px;
  line-height: normal;
  border: 1px solid #000;
  border-radius: 0;
  text-transform: uppercase;
  font-size: 13px;
  text-align: center;
  letter-spacing: 0.2em;
  font-family: "Avenir Next", var(--heading-font-family), "Helvetica Neue", sans-serif;
  font-weight: var(--heading-font-weight);
  font-style: var(--heading-font-style);
  background-color: #000;
  color: #fff;
  text-decoration: none;
  transition: color 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86),
              border 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86),
              background-color 0.3s ease;
  z-index: 1;
  -webkit-tap-highlight-color: initial;
}

.storecrm-status-widget button:hover {
  background-color: #fff;
  color: #000;
  border: 1px solid #000;
}

.storecrm-status-widget {
  margin-top: 25px;
  justify-content: flex-start !important;
  flex-direction: row !important;
  border: none !important;
  font-family: Avenir Next !important;
}

.storecrm-status-widget button {
  margin-left: 0 !important;
  margin-right: 10px;
  font-size: 12px !important;
  font-family: Avenir Next !important;
  height: 50px;
  background-color: rgb(6,199,85);
  border: 1px solid rgb(6,199,85);
}

.storecrm-status-widget > div {
  padding: 0 !important;
}

.storecrm-wishlistbutton-wishlist,.storecrm-restock-restock,.storecrm-line-restock {
  font-family: var(--heading-font-family) !important;
}

.storecrm-wishlistbutton-wishlist {
  border-radius: 0 !important;
}

.storecrm-restock-restock,.storecrm-line-restock {
  margin-top: 15px !important;
}

/**
 * --------------------------------------------------------------
 * フェーズ3: フッター調整(レガシー本番の見た目に寄せる)
 * - メニュー: 2列表示(3〜4行×2列)
 * - ニュースレター: 説明文+入力欄と送信ボタンの横並び(結合ボックス)
 * --------------------------------------------------------------
 */

/* フッターメニューを2列グリッドで表示 */
.footer .footer__block-list ul.v-stack.unstyled-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, max-content));
  column-gap: 3rem;
  row-gap: 0.875rem;
}

/* フッターのニュースレター: 入力欄+送信ボタンを横並びの結合ボックスに。
   枠線はフォーム外枠の1本のみ+中央の区切り線(子要素の枠線は消して二重線を防ぐ) */
.footer .footer__block-list form.form {
  display: flex;
  align-items: stretch;
  gap: 0;
  max-width: 26rem;
  border: 1px solid rgb(var(--text-color) / 0.35);
  border-radius: var(--button-border-radius);
  overflow: hidden;
}

.footer .footer__block-list form.form .form-control {
  flex: 1 1 auto;
}

.footer .footer__block-list form.form .input {
  border: none;
  border-radius: 0;
  background: transparent;
}

.footer .footer__block-list form.form .align-self-start {
  align-self: stretch;
}

.footer .footer__block-list form.form .align-self-start button {
  height: 100%;
  border: none;
  border-radius: 0;
  border-inline-start: 1px solid rgb(var(--text-color) / 0.35);
  background: transparent;
  background-image: none;
  color: rgb(var(--text-color));
}

/**
 * --------------------------------------------------------------
 * フェーズ3: 標準セクションの見た目調整(スキーマ無改造・CSSのみ)
 * --------------------------------------------------------------
 */

/* Blog posts: 記事をカード形式に。画像は3:2で統一(サイズ違いを吸収) */
.shopify-section--blog-posts .blog-post-card {
  background: rgb(255 255 255 / 0.35);
}

.shopify-section--blog-posts .blog-post-card .blog-post-card__image {
  aspect-ratio: 3 / 2;
  object-fit: cover;
  height: auto;
}

.shopify-section--blog-posts .blog-post-card .blog-post-card__info {
  padding: 0.25rem 1.25rem 1.5rem;
}

/* Image with text overlay: オーバーレイを「下は濃く・上へ薄く」のグラデーションに。
   濃さはセクション設定の「オーバーレイの不透明度」がそのまま効く */
.shopify-section--image-with-text-overlay .content-over-media {
  --content-over-media-gradient-overlay: linear-gradient(
    to top,
    rgb(var(--content-over-media-overlay)) 0%,
    transparent 70%
  );
}

/**
 * --------------------------------------------------------------
 * フォント統一(クライアント指示): 現行本番と同じ
 * 「Avenir Next(欧文)+ 游ゴシック Pr6N(和文, Adobe Fonts)」に揃える。
 * Webフォントの読み込みは layout/theme.liquid の Typekit スクリプト(kit: aip4sbm)。
 * 注意: この上書きが有効な間、テーマ設定のフォントピッカー(Figtree等)は反映されない。
 * --------------------------------------------------------------
 */
:root {
  /* 注意: "Avenir Next Regular" や "Yu Gothic Medium" のようなフェイス名/ウェイト付き名を
     スタックに入れると、環境によって常時太く見えたり太字が擬似ボールド(太く丸い合成)になる。
     必ず正規のファミリ名のみを使うこと。 */
  --heading-font-family: "Avenir Next", 'yu-gothic-pr6n', "Yu Gothic", YuGothic, sans-serif !important;
  --text-font-family: "Avenir Next", 'yu-gothic-pr6n', "Yu Gothic", YuGothic, sans-serif !important;
}

/* 太字は現行本番の流儀(Avenir Next Medium=500での強調)に合わせ、
   Bold(700)ではなく Medium(500)を使う=細めのボールド。
   注意: Typekitの yu-gothic-pr6n はMediumウェイトを持たないため、太字では
   webフォントを迂回してシステムの游ゴシック(Medium実体あり)を使う。
   これを外すと「日本語の太字が効かず、数字・記号だけ太く見える」症状が再発する。 */
b,
strong {
  font-family: "Avenir Next", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 500;
}

/* Blog posts セクション(トップのNEWS等): 記事タイトルを現行本番と同じ14pxに */
.shopify-section--blog-posts .blog-post-card .blog-post-card__title {
  font-size: 14px;
}

/* ブログ記事: 本文内リンクの色(ホバー時は従来どおり本文色に戻る) */
.shopify-section--main-article .prose a:not(.button) {
  color: #6a6a6a;
}

.shopify-section--main-article .prose a:not(.button):hover {
  color: rgb(var(--text-color));
}

/* ブログ記事: タイトルを現行サイトに合わせて22px固定・行間1.65
   (テーマ標準はPCで最大32pxまで拡大するため) */
.shopify-section--main-article h1.h1 {
  font-size: 22px;
  line-height: 1.65;
}
/* 移行コンテンツ(記事本文・固定ページ本文・商品説明)の余白を旧テーマ
   (Prestige 5.4.3 の .Rte)と同じ規則に揃える。

   これらのHTMLはShopify管理画面のリッチテキスト由来で、「1行 = 1つの <div>」
   「空行 = <div><br></div>」という構造になっているものが多い
   (例: /blogs/news/20260808、/products/moon-tech-tanktop)。旧テーマの .Rte は
   div に余白を付けず、p / 見出し / リスト / 画像 だけに余白を付けていたため、
   この構造がそのまま「1行送り + 著者が入れた空行」として意図どおり表示されていた。

   一方 Prestige 11.4.0 の .prose は兄弟要素すべてに一律で margin-block-start
   (SP 1rem / PC 1.25rem)を付けるため、
   ・連続する行 → 1行ごとに余白が入る
   ・空行の div → 空行の高さ + 前後の余白 が加算される
   ・逆に p や見出しは旧テーマより余白が狭くなる(24px → 20px、見出し前は 45px → 20px)
   となり「行間が開いているところとそうでないところ」が混在してしまう。

   `prose--rte` を付けた範囲(記事本文 / ページ本文 / 商品説明)だけ旧テーマと
   同じ規則へ戻す。テーマ標準の .prose(トップページなど、このテーマで新規に
   作ったセクションのリッチテキスト)はそのままにしている。
   blockquote / figure / table / iframe はレガシー本文に存在しないため、
   テーマ標準(.prose)の余白のままにしている。 */
.prose.prose--rte :is(div, p, span, a, strong, em, ul, ol, li, br, hr, h1, h2, h3, h4, h5, h6) {
  margin-block-start: 0;
}

/* レガシー本文のテキストは <span> で細かく区切られている。テーマ標準の
   `.prose :where(* + span)` は `display: inline-block` にするが、これだと
   span の内側で改行できず折り返し位置が本番と変わる(1行増える箇所が出る)。 */
.prose.prose--rte span:not(.metafield-multi_line_text_field, .link) {
  display: inline;
}

/* 段落とリストは旧テーマどおり下方向に 1.6em(:last-child は .prose 側で0) */
.prose.prose--rte :is(p, ul, ol):not(:last-child) {
  margin-block-end: 1.6em;
}

/* 見出しは旧テーマの .Rte h1〜h6 と同じ余白。
   !important なのは、入れ子の div の先頭に置かれた見出しが
   テーマ標準の `.prose :first-child`(margin-block-start: 0 !important)に
   当たって本文途中でも余白を失うため。本文全体の先頭だけは 0 に戻す
   (セクション側の余白と二重になるのを避ける)。 */
.prose.prose--rte :is(h1, h2, h3, h4, h5, h6) {
  margin-block-start: 2.2em !important;
}

.prose.prose--rte > :is(h1, h2, h3, h4, h5, h6):first-child {
  margin-block-start: 0 !important;
}

.prose.prose--rte h1 {
  margin-block-end: 0.8em;
}

.prose.prose--rte h2 {
  margin-block-end: 0.9em;
}

.prose.prose--rte h3 {
  margin-block-end: 1.2em;
}

.prose.prose--rte h4 {
  margin-block-end: 1.4em;
}

.prose.prose--rte h5 {
  margin-block-end: 1.6em;
}

.prose.prose--rte h6 {
  margin-block-end: 1.8em;
}

/* リストは旧テーマの .Rte と同じ字下げ・行間(テーマ標準は display: grid +
   row-gap: .4em で、旧テーマの li 上下 5px パディングより詰まる) */
.prose.prose--rte :is(ul, ol) {
  display: block;
  margin-inline-start: 30px;
  padding-inline-start: 0;
  list-style-position: outside;
}

.prose.prose--rte li {
  padding-block: 5px;
}

/* hr はブラウザ標準どおりの上下 0.5em に戻す */
.prose.prose--rte hr {
  margin-block: 0.5em;
}

/* 本文中の画像は旧テーマどおりブロック中央配置＋上下余白(SP 2.4em / PC 3em)。
   div の余白を消した分、画像の前後余白はここで担保する。

   上下余白に !important が必要なのは、レガシー本文の画像が
   `<div><span><img></span></div>` のように span で包まれていることが多く、
   テーマ標準の `.prose :first-child` / `.prose :last-child`
   (margin-block-start / -end を 0 に固定、いずれも !important)に
   一致してしまうため。旧テーマの .Rte は p / 見出し / リストのみを
   :last-child でリセットしていたので、画像には余白が残っていた。 */
.prose.prose--rte img:not([style*="float"]) {
  display: block;
  margin-inline: auto;
  margin-block: 2.4em !important;
}

@media screen and (min-width: 1000px) {
  .prose.prose--rte img:not([style*="float"]) {
    margin-block: 3em !important;
  }
}
