@charset "UTF-8";
/* ====
color for excia
==== */
/* common */
/* skincare */
/* makeup */
/* conceptbook */
@font-face {
  font-family: 'lunchtype22';
  font-style: normal;
  font-weight: normal;
  src: url("/assets/font/lunchtype22-light-webfont.woff2") format("woff2"), url("/assets/font/lunchtype22-light-webfont.woff") format("woff");
}

@font-face {
  font-family: 'lunchtype22';
  font-style: normal;
  font-weight: 500;
  src: url("/assets/font/lunchtype22-regular-webfont.woff2") format("woff2"), url("/assets/font/lunchtype22-regular-webfont.woff") format("woff");
}

@font-face {
  font-family: 'lunchtype22';
  font-style: normal;
  font-weight: 700;
  src: url("/assets/font/lunchtype22-medium-webfont.woff2") format("woff2"), url("/assets/font/lunchtype22-medium-webfont.woff") format("woff");
}

/* ====
fonts(IEの空白問題をNotoで解決している) for excia
==== */
@font-face {
  font-family: 'Tenor Sans';
  src: url("../font/TenorSans-Regular.ttf") format("truetype");
}

/* ====
mixins
==== */
/* 画面幅に応じて文字のサイズを変更 */
/* 任意のフォントについてサイズとフォントを指定 */
/* ====
width for excia
==== */
/* makeup lp */
/* ====
z-index for excia
==== */
.l-al2021-body {
  color: #606060;
  font-family: "YakuHanJPs", YuGothic, "Yu Gothic", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  font-weight: 500;
}

@media screen and (min-width: 641px), print {
  .l-al2021-body {
    min-width: 1200px;
  }
}

body.Windows .l-al2021-body {
  font-family: "ヒラギノ角ゴシック", "Hiragino Sans", "メイリオ", Meiryo, sans-serif;
}

.l-al2021-body a {
  color: inherit;
}

.l-al2021-body a:hover {
  text-decoration: none;
}

.l-al2021-body sup {
  margin-left: 0.5em;
  vertical-align: super;
  font-size: 0.5em;
}

.l-footer {
  color: #ffffff;
}

.l-footer.l-al2021-body {
  background-color: #999999;
}

@media screen and (min-width: 641px), print {
  .l-footer__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 60px 0 44px;
  }
}

@media screen and (max-width: 640px) {
  .l-footer__container {
    padding: 50px 0;
  }
}

@media screen and (min-width: 641px), print {
  .l-footer__logo {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    margin-bottom: 50px;
  }
}

@media screen and (max-width: 640px) {
  .l-footer__logo {
    margin-bottom: 30px;
  }
}

.l-footer__logo svg {
  fill: currentColor;
  width: auto;
}

@media screen and (min-width: 641px), print {
  .l-footer__logo svg {
    height: 31px;
  }
}

@media screen and (max-width: 640px) {
  .l-footer__logo svg {
    height: 31px;
  }
}

@media screen and (min-width: 641px), print {
  .l-footer__links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 73.33%;
            flex: 0 1 73.33%;
  }
}

@media screen and (max-width: 640px) {
  .l-footer__links {
    margin-bottom: 60px;
  }
}

.l-footer__linkList {
  border-top: solid 1px rgba(255, 255, 255, 0.5);
}

@media screen and (min-width: 641px), print {
  .l-footer__linkList {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 calc((100% - 80px) / 4);
            flex: 1 1 calc((100% - 80px) / 4);
    min-width: calc((100% - 80px) / 4);
    padding-top: 28px;
  }
}

@media screen and (max-width: 640px) {
  .l-footer__linkList {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 calc((100% - 80px) / 4);
            flex: 1 1 calc((100% - 80px) / 4);
    margin-bottom: 30px;
    min-width: calc((100% - 80px) / 4);
    padding-top: 22px;
  }
}

@media screen and (min-width: 641px), print {
  .l-footer__linkList:not(:last-of-type) {
    margin-right: 40px;
  }
}

@media screen and (max-width: 640px) {
  .l-footer__linkList:not(:last-of-type) {
    margin-right: 40px;
  }
}

@media screen and (min-width: 641px), print {
  .l-footer__linkItem:not(:last-of-type) {
    margin-bottom: 14px;
  }
}

@media screen and (max-width: 640px) {
  .l-footer__linkItem:not(:last-of-type) {
    margin-bottom: 12px;
  }
}

.l-footer__linkItem a {
  color: inherit;
  line-height: 1;
}

@media screen and (min-width: 641px), print {
  .l-footer__linkItem a {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) {
  .l-footer__linkItem a {
    font-size: 12px;
  }
}

.l-footer__linkItem a[target='_blank'] {
  background: no-repeat right center url("/assets/img/common/icon-blank.svg");
}

@media screen and (min-width: 641px), print {
  .l-footer__linkItem a[target='_blank'] {
    background-size: 16px 12px;
    padding-right: 26px;
  }
}

@media screen and (max-width: 640px) {
  .l-footer__linkItem a[target='_blank'] {
    background-size: 12px 10px;
    padding-right: 22px;
  }
}

.l-footer__linkItem--line {
  border-top: solid 1px rgba(255, 255, 255, 0.5);
}

@media screen and (min-width: 641px), print {
  .l-footer__linkItem--line {
    margin-top: 40px;
    padding-top: 28px;
  }
}

@media screen and (max-width: 640px) {
  .l-footer__linkItem--line {
    margin-top: 30px;
    padding-top: 22px;
  }
}

.l-footer__social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (min-width: 641px), print {
  .l-footer__social {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 23%;
            flex: 0 1 23%;
    max-width: 260px;
  }
}

@media screen and (max-width: 640px) {
  .l-footer__social {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 30px;
  }
}

@media screen and (min-width: 641px), print {
  .l-footer__socialItem {
    width: 15.38462%;
  }
}

@media screen and (max-width: 640px) {
  .l-footer__socialItem {
    width: 40px;
  }
  .l-footer__socialItem:not(:last-of-type) {
    margin-right: 15px;
  }
}

.l-footer__socialItem a {
  display: block;
}

.l-footer__socialItem img {
  width: 100%;
}

.l-footer__copyright {
  color: inherit;
  letter-spacing: .075em;
  line-height: 1;
}

@media screen and (min-width: 641px), print {
  .l-footer__copyright {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    padding-top: 40px;
    text-align: right;
  }
}

@media screen and (max-width: 640px) {
  .l-footer__copyright {
    font-size: 10px;
    text-align: center;
  }
}

.l-header {
  position: relative;
}

@media screen and (min-width: 641px), print {
  .l-header {
    height: 124px;
  }
}

@media screen and (max-width: 640px) {
  .l-header {
    height: 75px;
  }
}

.l-header .p-search {
  padding-bottom: 0;
}

@media screen and (max-width: 640px) {
  .l-header .p-search {
    padding: 0 20px;
  }
}

@media screen and (min-width: 641px), print {
  .l-header .p-search .c-heading {
    padding: 0;
  }
}

@media screen and (max-width: 640px) {
  .l-header .p-search .c-heading {
    padding: 0 0 16px;
  }
}

.l-header .p-search .c-tagList__buttonText {
  color: #606060;
}

.l-header .c-accodionCategorySearch {
  padding-bottom: 20px;
}

@media screen and (max-width: 640px) {
  .l-header .c-accodionCategorySearch {
    padding: 0 20px;
  }
}

@media screen and (min-width: 641px), print {
  .l-header .p-accordionList {
    padding-bottom: 20px;
  }
  .l-header .p-accordionList .c-col--4 .c-col__item {
    padding-bottom: 0;
  }
}

.l-header .p-accordionList .c-textLink__text, .l-header .p-accordionList .c-anchorLink__text {
  color: #ffffff;
}

.l-header .p-accordionList .c-textLink__icon, .l-header .p-accordionList .c-anchorLink__icon {
  background: #ffffff;
  -webkit-mask-image: url(/assets/img/common/arrow-right-gray.svg);
          mask-image: url(/assets/img/common/arrow-right-gray.svg);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.l-header .p-accordionList .p-accordionList__openerIcon:after, .l-header .p-accordionList .p-accordionList__openerIcon:before {
  background-color: #ffffff;
}

.l-header .c-button {
  display: block;
  margin: 20px auto 0;
}

.l-header .c-button__link {
  background-color: unset;
}

.l-header .c-button__link:hover {
  border-color: #c1c1c1;
  opacity: .7;
}

.l-header__container {
  border-bottom: solid 1px #f2f2f2;
}

@media screen and (min-width: 641px), print {
  .l-header__container {
    background-color: #ffffff;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 200;
  }
}

@media screen and (max-width: 640px) {
  .l-header__container {
    background-color: #ffffff;
    position: fixed;
    top: 0;
    -webkit-transition: background-color .3s ease;
    transition: background-color .3s ease;
    width: 100%;
    z-index: 200;
  }
  .is-open .l-header__container {
    background-color: #999999;
    color: #ffffff;
  }
}

.l-header__nav {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 641px), print {
  .l-header__nav {
    height: 124px;
    -webkit-transition: height ease-in-out 100ms;
    transition: height ease-in-out 100ms;
  }
  .is-small-header .l-header__nav {
    height: 80px;
  }
}

.l-header__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  -ms-flex-negative: 1;
      flex-shrink: 1;
}

@media screen and (min-width: 641px), print {
  .l-header__menu {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.l-header__menu:first-of-type {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.l-header__menu:last-of-type {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

@media screen and (min-width: 641px), print {
  .l-header__burger {
    display: none;
  }
}

@media screen and (max-width: 640px) {
  .l-header__burger {
    background-color: #999999;
    display: block;
    margin-left: -20px;
    padding: 20px;
  }
}

.l-header__burger svg {
  fill: #ffffff;
  height: 30px;
  width: 30px;
}

.is-open .l-header__burgerOpen {
  display: none;
}

.l-header__burgerClose {
  display: none;
}

.is-open .l-header__burgerClose {
  display: block;
}

@media screen and (max-width: 640px) {
  .l-header__navListWrapper {
    background-color: #999999;
    border-top: solid 1px rgba(255, 255, 255, 0.25);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: #ffffff;
    left: 0;
    max-height: calc(100% - 75px);
    min-height: calc(100% - 75px);
    opacity: 0;
    -webkit-overflow-scrolling: touch;
    overflow-y: auto;
    padding: 0 20px 80px;
    position: fixed;
    top: 75px;
    -webkit-transition: opacity .35s ease, visibility .35s ease;
    transition: opacity .35s ease, visibility .35s ease;
    visibility: hidden;
    width: 100%;
    z-index: 200;
  }
  .is-open .l-header__navListWrapper {
    opacity: 1;
    -webkit-transition: opacity .35s ease, visibility .35s ease;
    transition: opacity .35s ease, visibility .35s ease;
    visibility: visible;
  }
}

@media screen and (min-width: 641px), print {
  .l-header__navList {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.l-header__navItem {
  line-height: 1;
}

@media screen and (max-width: 640px) {
  .l-header__navItem {
    border-bottom: solid 1px rgba(255, 255, 255, 0.25);
  }
}

@media screen and (min-width: 641px), print {
  .l-header__navItem:not(:last-of-type) {
    margin-right: 36px;
  }
}

.l-header__navItem > a {
  display: block;
}

@media screen and (min-width: 641px), print {
  .l-header__navItem > a {
    font-size: 16px;
    padding: 9px 0;
    position: relative;
  }
  .l-header__navItem > a:before {
    background-color: #606060;
    bottom: -15px;
    content: '';
    display: block;
    height: 2px;
    left: 0;
    position: absolute;
    -webkit-transform: scale3d(0, 1, 1);
            transform: scale3d(0, 1, 1);
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease;
    width: 100%;
    z-index: 200;
  }
  .is-small-header .l-header__navItem > a:before {
    bottom: -10px;
  }
  [data-platform='desktop'] .l-header__navItem > a:hover:before, .l-header__navItem > a.is-current:before {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
}

@media screen and (max-width: 640px) {
  .l-header__navItem > a {
    background: no-repeat right 9px center/9px 12px url("../img/common/arrow-right-white.svg");
    font-size: 28px;
    padding: 20px 0;
  }
}

@media screen and (max-width: 640px) {
  .l-header__navItem.js-headerMenu__container > a {
    background: no-repeat right 9px center/12px 9px url("../img/common/arrow-down-white.svg");
  }
  .l-header__navItem.js-headerMenu__container > a.is-open {
    background-image: url("../img/common/arrow-up-white.svg");
  }
}

.l-header__dropdown {
  color: #ffffff;
}

@media screen and (min-width: 641px), print {
  .l-header__dropdown {
    background-color: rgba(153, 153, 153, 0.95);
    bottom: 0;
    left: 0;
    opacity: 0;
    position: absolute;
    -webkit-transform: translate3d(0, 98%, 0);
            transform: translate3d(0, 98%, 0);
    -webkit-transition: opacity .35s ease, visibility .35s ease, -webkit-transform .35s ease .35s;
    transition: opacity .35s ease, visibility .35s ease, -webkit-transform .35s ease .35s;
    transition: opacity .35s ease, visibility .35s ease, transform .35s ease .35s;
    transition: opacity .35s ease, visibility .35s ease, transform .35s ease .35s, -webkit-transform .35s ease .35s;
    visibility: hidden;
    width: 100%;
    z-index: 200;
  }
  .l-header__dropdown.is-open {
    max-height: calc(100vh - 124px);
    opacity: 1;
    overflow-y: auto;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
    -webkit-transition: opacity .35s ease .15s, visibility .35s ease .15s, -webkit-transform .35s ease;
    transition: opacity .35s ease .15s, visibility .35s ease .15s, -webkit-transform .35s ease;
    transition: opacity .35s ease .15s, visibility .35s ease .15s, transform .35s ease;
    transition: opacity .35s ease .15s, visibility .35s ease .15s, transform .35s ease, -webkit-transform .35s ease;
    visibility: visible;
  }
}

@media screen and (max-width: 640px) {
  .l-header__dropdown {
    background-color: #b8b8b8;
    margin: 0 -20px;
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height .5s ease;
    transition: max-height .5s ease;
  }
  .l-header__dropdown.is-open {
    max-height: 1500px;
  }
}

.l-header__dropdownInner {
  position: relative;
}

@media screen and (min-width: 641px), print {
  .l-header__dropdownInner {
    margin: 0 auto;
    max-width: 1420px;
    padding: 50px 20px;
  }
}

@media screen and (max-width: 640px) {
  .l-header__dropdownInner {
    padding: 26px 0 30px;
  }
}

@media screen and (max-width: 640px) {
  .l-header__dropdown--simple .l-header__dropdownInner {
    padding: 0;
  }
}

@media screen and (min-width: 641px), print {
  .l-header__dropdownPrimary {
    margin-bottom: 56px;
  }
}

@media screen and (max-width: 640px) {
  .l-header__dropdownPrimary {
    margin-bottom: 18px;
  }
}

@media screen and (min-width: 641px), print {
  .l-header__dropdownSecondary {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media screen and (min-width: 641px), print {
  .l-header__dropdownSecondary .c-heading__main {
    font-size: 24px;
  }
}

@media screen and (max-width: 640px) {
  .l-header__dropdownSecondary .c-heading__main {
    font-size: 18px;
  }
}

@media screen and (max-width: 640px) {
  .l-header__dropdownSection {
    margin-bottom: 28px;
  }
}

.l-header__dropdownSection .c-heading {
  padding: 0;
}

@media screen and (min-width: 641px), print {
  .l-header__dropdownSection .c-heading {
    display: block;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(207 / 1420 * (100vw - 160px));
            flex: 0 0 calc(207 / 1420 * (100vw - 160px));
    -ms-flex: 0 0 calc(207 / 1420 * min(1420px, (100vw - 160px)));
        flex: 0 0 calc(207 / 1420 * min(1420px, (100vw - 160px)));
  }
}

@media screen and (max-width: 640px) {
  .l-header__dropdownSection .c-heading {
    margin-bottom: 18px;
    padding: 0 20px;
  }
}

@media screen and (min-width: 641px), print {
  .l-header__dropdownSection .c-heading__main {
    margin-bottom: 28px;
  }
  .l-header__dropdownSection--flex .l-header__dropdownSection .c-heading__main {
    margin-bottom: 16px;
  }
}

@media screen and (max-width: 640px) {
  .l-header__dropdownSection .c-heading__main {
    font-size: 24px;
  }
}

@media screen and (min-width: 641px), print {
  .l-header__dropdownSection {
    margin-bottom: 38px;
  }
}

@media screen and (min-width: 641px), print {
  .l-header__dropdownSection--flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-header__dropdownSecondary .l-header__dropdownSection--flex {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 50%;
            flex: 1 1 50%;
  }
  .l-header__dropdownSecondary .l-header__dropdownSection--flex:first-of-type {
    margin-right: 40px;
  }
}

@media screen and (min-width: 641px), print {
  .l-header__dropdownSection--section__only {
    margin-bottom: 56px;
    margin-right: 0 !important;
  }
}

@media screen and (min-width: 641px), print {
  .l-header__dropdownSection--section__only .c-heading {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 26%;
            flex: 0 0 26%;
  }
}

@media screen and (min-width: 641px), print {
  .l-header__grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .l-header__dropdownSection--section__only .l-header__grid {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
}

@media screen and (max-width: 640px) {
  .l-header__grid {
    padding: 0 20px;
  }
}

@media screen and (min-width: 641px), print {
  .l-header__grid--seasonal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0 40px;
    margin-bottom: -40px;
  }
}

@media screen and (max-width: 640px) {
  .l-header__grid--sp_oneline {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: -10px;
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 10px 0 0;
    padding-left: 20px;
    white-space: nowrap;
  }
}

@media screen and (max-width: 640px) {
  .l-header__grid--sp_2col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

@media screen and (min-width: 641px), print {
  .l-header__gridItem + .l-header__gridItem {
    margin-left: 40px;
  }
  .l-header__dropdownSection--section__only .l-header__gridItem {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 calc((100% - 80px) / 5);
            flex: 1 1 calc((100% - 80px) / 5);
  }
  .l-header__dropdownSection--flex .l-header__gridItem {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 calc(230 / 1420 * min(1420px, (100vw - 160px)));
            flex: 1 0 calc(230 / 1420 * min(1420px, (100vw - 160px)));
  }
  .l-header__grid--seasonal .l-header__gridItem {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 calc(273 / 1420 * min(1420px, (100vw - 120px)));
            flex: 1 0 calc(273 / 1420 * min(1420px, (100vw - 120px)));
    margin-bottom: 40px;
    max-width: calc(273 / 1420 * min(1420px, (100vw - 120px)));
  }
  .l-header__grid--seasonal .l-header__gridItem.l-header__gridItem + .l-header__gridItem {
    margin-left: 0;
  }
  .l-header__grid--seasonal.l-header__dropdownSecondary .l-header__gridItem + .l-header__gridItem {
    margin-left: 20px;
  }
}

@media screen and (max-width: 640px) {
  .l-header__gridItem:not(:last-of-type) {
    padding-bottom: 20px;
  }
  .l-header__dropdownSecondary .l-header__gridItem {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 205px;
            flex: 0 0 205px;
    min-width: 205px;
  }
  .l-header__grid--sp_oneline .l-header__gridItem {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 250px;
            flex: 0 0 250px;
    min-width: 250px;
  }
  .l-header__grid--sp_oneline .l-header__gridItem + .l-header__gridItem {
    margin-left: 20px;
  }
  .l-header__grid--sp_2col .l-header__gridItem {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 calc((100% - 20px) / 2);
            flex: 0 1 calc((100% - 20px) / 2);
  }
  .l-header__grid--sp_2col .l-header__gridItem:nth-last-of-type(1), .l-header__grid--sp_2col .l-header__gridItem:nth-last-of-type(2):nth-of-type(odd) {
    padding-bottom: 0;
  }
  .l-header__grid--sp_2col .l-header__gridItem:not(:nth-of-type(2n)) {
    margin-right: 20px;
  }
}

@media screen and (min-width: 641px), print {
  .l-header__gridItemSpacer {
    display: none;
  }
}

@media screen and (max-width: 640px) {
  .l-header__gridItemSpacer {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20px;
            flex: 0 0 20px;
  }
}

.l-header__card {
  position: relative;
}

.l-header__card .c-label {
  left: -10px;
  position: absolute;
  top: -10px;
}

.l-header__card a {
  display: block;
}

[data-platform='desktop'] .l-header__card a {
  -webkit-transition: opacity .3s ease;
  transition: opacity .3s ease;
}

[data-platform='desktop'] .l-header__card a:hover {
  opacity: .7;
}

.l-header__card a[target='_blank'] .l-header__cardText p {
  padding-right: 28px;
  position: relative;
}

.l-header__card a[target='_blank'] .l-header__cardText p:after {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" viewBox="0 0 16 12"><path d="M14.6 10.6H1.4V1.4h7V0H0v12h16V7.8h-1.4v2.8zM11.2 0l1.6 1.5L9 5.2l1.7 1.7 3.7-3.7L16 4.7V0h-4.8z" fill="%23ffffff"></path></svg>');
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  display: block;
  height: 100%;
  position: absolute;
  right: 4px;
  top: 0;
  width: 12px;
}

.l-header__card img {
  width: 100%;
}

.l-header__cardImg {
  margin-bottom: 20px;
}

.l-header__cardText {
  font-size: 14px;
  line-height: 1.66667;
  padding: 0.1px;
  letter-spacing: normal;
}

.l-header__cardText:before, .l-header__cardText:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.l-header__cardText:before {
  margin-top: calc((1 - 1.66667) * 0.5em);
}

.l-header__cardText:after {
  margin-bottom: calc((1 - 1.66667) * 0.5em);
}

.l-header__dropdownSecondary .l-header__cardText {
  font-size: 12px;
  line-height: 1.66667;
  padding: 0.1px;
  letter-spacing: normal;
}

.l-header__dropdownSecondary .l-header__cardText:before, .l-header__dropdownSecondary .l-header__cardText:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.l-header__dropdownSecondary .l-header__cardText:before {
  margin-top: calc((1 - 1.66667) * 0.5em);
}

.l-header__dropdownSecondary .l-header__cardText:after {
  margin-bottom: calc((1 - 1.66667) * 0.5em);
}

.l-header__cardText p {
  white-space: normal;
}

.l-header__grid--about .l-header__cardText p {
  margin-bottom: 8px;
}

.l-header__cardText--small {
  font-size: 12px;
  line-height: 1.66667;
  padding: 0.1px;
  letter-spacing: normal;
}

.l-header__cardText--small:before, .l-header__cardText--small:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.l-header__cardText--small:before {
  margin-top: calc((1 - 1.66667) * 0.5em);
}

.l-header__cardText--small:after {
  margin-bottom: calc((1 - 1.66667) * 0.5em);
}

@media screen and (min-width: 641px), print {
  .l-header__dropdownList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (max-width: 640px) {
  .l-header__dropdownList {
    border-bottom: solid 1px rgba(255, 255, 255, 0.25);
    margin: 0 20px;
  }
}

@media screen and (min-width: 641px), print {
  .l-header__dropdownList:not(:last-of-type) .l-header__dropdownItem {
    border-bottom: none;
  }
}

@media screen and (max-width: 640px) {
  .l-header__dropdownList:not(:last-of-type) {
    border-bottom: none;
  }
}

.l-header__dropdownList .c-heading {
  padding: 0;
}

@media screen and (min-width: 641px), print {
  .l-header__dropdownList .c-heading {
    -webkit-box-align: bottom;
        -ms-flex-align: bottom;
            align-items: bottom;
  }
}

.l-header__dropdownItem {
  border-top: solid 1px rgba(255, 255, 255, 0.25);
}

@media screen and (min-width: 641px), print {
  .l-header__dropdownItem {
    border-bottom: solid 1px rgba(255, 255, 255, 0.25);
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    width: 100%;
  }
  .l-header__dropdownItem:not(:last-of-type) {
    margin-right: 40px;
  }
  .l-header__dropdownItem--noBorder {
    border-bottom: none;
  }
  .l-header__dropdownItem--none {
    border: none;
    pointer-events: none;
    visibility: hidden;
  }
}

@media screen and (max-width: 640px) {
  .l-header__dropdownItem--noBorder {
    border-top: none;
  }
}

.l-header__dropdownItem > a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 18px 0 17px;
}

[data-platform='desktop'] .l-header__dropdownItem > a {
  -webkit-transition: opacity .3s ease;
  transition: opacity .3s ease;
}

[data-platform='desktop'] .l-header__dropdownItem > a:hover {
  opacity: .7;
}

.l-header__dropdownItem svg {
  fill: currentColor;
  margin-right: 8px;
  opacity: .5;
}

@media screen and (min-width: 641px), print {
  .l-header__dropdownItem svg {
    height: 16px;
    width: 10px;
  }
}

@media screen and (max-width: 640px) {
  .l-header__dropdownItem svg {
    height: 12px;
    width: 9px;
  }
}

@media screen and (min-width: 641px), print {
  .l-header__dropdownItem [target='_blank'] svg {
    height: 11px;
    width: 15px;
  }
}

@media screen and (max-width: 640px) {
  .l-header__dropdownItem [target='_blank'] svg {
    height: 9px;
    width: 12px;
  }
}

@media screen and (max-width: 640px) {
  .l-header__dropdownItem .c-heading {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (min-width: 641px), print {
  .l-header__dropdownItem .c-heading__main {
    font-size: 16px;
  }
}

@media screen and (max-width: 640px) {
  .l-header__dropdownItem .c-heading__main {
    font-size: 14px;
  }
  .l-header__dropdownItem .c-heading__main:not(:last-child) {
    margin-right: 10px;
  }
}

@media screen and (max-width: 640px) {
  .l-header__dropdownItem .c-heading__sub {
    font-size: 10px;
    margin-top: 0;
  }
}

@media screen and (max-width: 640px) {
  .l-header__dropdownItem--en .c-heading {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}

@media screen and (min-width: 641px), print {
  .l-header__dropdownItem--en .c-heading__main {
    font-size: 24px;
  }
}

@media screen and (max-width: 640px) {
  .l-header__dropdownItem--en .c-heading__main {
    font-size: 20px;
    letter-spacing: 0;
  }
}

@media screen and (max-width: 640px) {
  .l-header__dropdownItem--en .c-heading__sub {
    font-size: 12px;
    line-height: 18px;
  }
}

.l-header__logo {
  display: block;
}

.l-header__logo h1 {
  background: transparent;
  height: auto;
  width: auto;
}

.l-header__logo svg {
  fill: #606060;
  width: auto;
}

@media screen and (min-width: 641px), print {
  .l-header__logo svg {
    height: 36px;
    -webkit-transition: height ease-in-out 100ms;
    transition: height ease-in-out 100ms;
  }
  .is-small-header .l-header__logo svg {
    height: 31px;
  }
}

@media screen and (max-width: 640px) {
  .l-header__logo svg {
    height: 24px;
    -webkit-transition: fill .3s ease;
    transition: fill .3s ease;
  }
  .is-open .l-header__logo svg {
    fill: #ffffff;
  }
}

@media screen and (max-width: 640px) {
  .l-header__store,
  .l-header__global {
    margin-right: -8px;
  }
}

.l-header__store a,
.l-header__global a {
  display: block;
  line-height: 1;
}

@media screen and (min-width: 641px), print {
  .l-header__store a,
  .l-header__global a {
    font-size: 14px;
    padding: 8px 14px 8px 34px;
  }
}

@media screen and (max-width: 640px) {
  .l-header__store a,
  .l-header__global a {
    font-size: 10px;
    padding: 31px 0 8px 0;
  }
}

.l-header__favorite {
  background: no-repeat 15px center/18px auto url("../img/common/icon-fave.png");
}

@media screen and (min-width: 641px), print {
  .l-header__favorite {
    border: 1px solid #c1c1c1;
    margin-right: 20px;
    position: relative;
  }
}

@media screen and (max-width: 640px) {
  .l-header__favorite {
    background-position: center 9px;
    background-size: 19px auto;
    margin-right: 15px;
  }
  .is-open .l-header__favorite {
    visibility: hidden;
  }
}

.l-header__favorite a {
  display: block;
  line-height: 1;
  text-align: center;
}

@media screen and (min-width: 641px), print {
  .l-header__favorite a {
    font-size: 14px;
    padding: 8px 14px 8px 44px;
  }
}

@media screen and (max-width: 640px) {
  .l-header__favorite a {
    font-size: 11px;
    padding: 31px 0 8px 0;
  }
}

@media screen and (max-width: 640px) {
  .l-header__favorite .c-button__balloon {
    width: 96%;
  }
  .l-header__favorite .c-button__balloon:after {
    left: auto;
    right: 65px;
    -webkit-transform: none;
            transform: none;
  }
}

.l-header__store {
  background: no-repeat 15px center/12px auto url("../img/common/icon-map.svg");
}

@media screen and (min-width: 641px), print {
  .l-header__store {
    border: 1px solid #c1c1c1;
    margin-right: 10px;
  }
}

@media screen and (max-width: 640px) {
  .l-header__store {
    background-position: center 8px;
  }
  .is-open .l-header__store {
    visibility: hidden;
  }
}

.l-header__global {
  background: no-repeat 10px center/18px auto url("../img/common/icon-global.svg");
}

@media screen and (max-width: 640px) {
  .l-header__global {
    display: none;
  }
}

.js-headerMenu__closed {
  background-image: url("/assets/img/common/btn-closed.png");
  background-repeat: no-repeat;
  cursor: pointer;
  height: 24px;
  position: absolute;
  right: 1.5%;
  top: 12px;
  width: 24px;
}

.l-header__span {
  font-size: 11px;
  line-height: 2;
  padding: 0.1px;
  letter-spacing: normal;
  display: inline-block;
  text-decoration: inherit;
}

.l-header__span:before, .l-header__span:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.l-header__span:before {
  margin-top: calc((1 - 2) * 0.5em);
}

.l-header__span:after {
  margin-bottom: calc((1 - 2) * 0.5em);
}

.l-main {
  overflow: hidden;
  padding-bottom: 100px;
}

@media screen and (max-width: 640px) {
  .l-main {
    padding-bottom: 50px;
  }
}

/**
 * Swiper 6.3.5
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2020 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: October 30, 2020
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
}

:root {
  --swiper-theme-color:#007aff;
}

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

.swiper-container-android .swiper-slide, .swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
          transform: translate3d(0px, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.swiper-container-multirow-column > .swiper-wrapper {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-slide {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
  height: auto;
}

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-transition-property: height,-webkit-transform;
  transition-property: height,-webkit-transform;
  transition-property: transform,height;
  transition-property: transform,height,-webkit-transform;
}

.swiper-container-3d {
  -webkit-perspective: 1200px;
          perspective: 1200px;
}

.swiper-container-3d .swiper-cube-shadow, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-wrapper {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}

.swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
}

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
  -ms-scroll-snap-type: y mandatory;
      scroll-snap-type: y mandatory;
}

:root {
  --swiper-navigation-size:44px;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size)/ 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(-1 * var(--swiper-navigation-size)/ 2);
  z-index: 10;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: .35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  text-transform: none;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
  left: 10px;
  right: auto;
}

.swiper-button-prev:after, .swiper-container-rtl .swiper-button-next:after {
  content: 'prev';
}

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
  right: 10px;
  left: auto;
}

.swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after {
  content: 'next';
}

.swiper-button-next.swiper-button-white, .swiper-button-prev.swiper-button-white {
  --swiper-navigation-color:#ffffff;
}

.swiper-button-next.swiper-button-black, .swiper-button-prev.swiper-button-black {
  --swiper-navigation-color:#000000;
}

.swiper-button-lock {
  display: none;
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: .3s opacity;
  transition: .3s opacity;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(0.33);
          transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  -webkit-transform: scale(0.66);
          transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  -webkit-transform: scale(0.33);
          transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  -webkit-transform: scale(0.66);
          transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  -webkit-transform: scale(0.33);
          transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: .2;
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0px, -50%, 0);
          transform: translate3d(0px, -50%, 0);
}

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block;
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 8px;
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  -webkit-transition: .2s transform,.2s top;
  transition: .2s transform,.2s top;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: .2s transform,.2s left;
  transition: .2s transform,.2s left;
}

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: .2s transform,.2s right;
  transition: .2s transform,.2s right;
}

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transform-origin: left top;
          transform-origin: left top;
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
          transform-origin: right top;
}

.swiper-container-horizontal > .swiper-pagination-progressbar, .swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}

.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-container-vertical > .swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-white {
  --swiper-pagination-color:#ffffff;
}

.swiper-pagination-black {
  --swiper-pagination-color:#000000;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
          transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s infinite linear;
          animation: swiper-preloader-spin 1s infinite linear;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000;
}

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
}

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  transition-property: opacity;
}

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube {
  overflow: visible;
}

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
          transform-origin: 100% 0;
}

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-next + .swiper-slide, .swiper-container-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-cube .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0;
}

.swiper-container-flip {
  overflow: visible;
}

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-flip .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.js-modal {
  position: fixed;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10001;
}

.js-modal:not(.is-open) {
  display: none;
  opacity: 0;
}

.c-accordion {
  background: #f2f2f2;
}

.c-accordion__trigger {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 16px 16px 16px 20px;
  cursor: pointer;
}

.c-accordion__triggerText {
  font-size: 16px;
  line-height: 1.2;
  padding: 0.1px;
  letter-spacing: normal;
  display: block;
}

.c-accordion__triggerText:before, .c-accordion__triggerText:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-accordion__triggerText:before {
  margin-top: calc((1 - 1.2) * 0.5em);
}

.c-accordion__triggerText:after {
  margin-bottom: calc((1 - 1.2) * 0.5em);
}

@media screen and (max-width: 640px) {
  .c-accordion__triggerText {
    font-size: 14px;
    line-height: 1.2;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-accordion__triggerText:before, .c-accordion__triggerText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-accordion__triggerText:before {
    margin-top: calc((1 - 1.2) * 0.5em);
  }
  .c-accordion__triggerText:after {
    margin-bottom: calc((1 - 1.2) * 0.5em);
  }
}

.c-accordion__triggerIcon {
  position: relative;
  display: block;
  width: 15px;
  height: 15px;
}

@media screen and (max-width: 640px) {
  .c-accordion__triggerIcon {
    width: 12px;
    height: 12px;
  }
}

.c-accordion__triggerIcon:before, .c-accordion__triggerIcon:after {
  position: absolute;
  top: 50%;
  display: block;
  width: 100%;
  height: 2px;
  background: #c1c1c1;
  content: '';
}

.c-accordion__triggerIcon:before {
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.c-accordion__triggerIcon:after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}

.c-accordion.is-open .c-accordion__triggerIcon::after {
  opacity: 0;
}

.c-accordion__container {
  padding: 40px 20px;
  overflow: hidden;
  -webkit-transition: all 0.1s 0s linear;
  transition: all 0.1s 0s linear;
}

.c-accordion:not(.is-open) .c-accordion__container {
  height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

@media screen and (max-width: 640px) {
  .c-anchorLink__link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 10px 0;
  }
}

@media screen and (max-width: 640px) {
  .c-anchorLink__text {
    font-size: 10px;
    line-height: 1.35;
    padding: 0.1px;
    letter-spacing: normal;
    text-align: center;
  }
  .c-anchorLink__text:before, .c-anchorLink__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-anchorLink__text:before {
    margin-top: calc((1 - 1.35) * 0.5em);
  }
  .c-anchorLink__text:after {
    margin-bottom: calc((1 - 1.35) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .c-anchorLink__text .c-anchorLink__em {
    display: block;
    font-size: 13px;
  }
}

.c-anchorLink__icon:not(.hack) {
  /* raise priority */
  width: 12px;
  height: 7px;
  background-image: url("/assets/img/common/arrow-down-gray.svg");
}

@media screen and (max-width: 640px) {
  .c-anchorLink__icon:not(.hack):not(:first-child) {
    margin-top: 11px;
    margin-left: 0;
  }
}

.c-announcement {
  background-color: #f2f2f2;
}

.c-announcement a {
  text-decoration: underline;
}

[data-platform='desktop'] .c-announcement a {
  -webkit-transition: opacity .3s linear;
  transition: opacity .3s linear;
}

[data-platform='desktop'] .c-announcement a:hover {
  opacity: .7;
  text-decoration: underline;
}

.c-announcement__inner {
  padding: 30px;
  position: relative;
  -webkit-transition: padding .1s linear;
  transition: padding .1s linear;
}

@media screen and (min-width: 641px), print {
  .c-announcement__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (max-width: 640px) {
  .c-announcement__inner {
    padding: 20px 82px 20px 0;
  }
}

.c-announcement__title {
  font-size: 16px;
  line-height: 2;
  padding: 0.1px;
  letter-spacing: normal;
  font-weight: 500;
  margin: 0 80px 0 0;
}

.c-announcement__title:before, .c-announcement__title:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-announcement__title:before {
  margin-top: calc((1 - 2) * 0.5em);
}

.c-announcement__title:after {
  margin-bottom: calc((1 - 2) * 0.5em);
}

@media screen and (max-width: 640px) {
  .c-announcement__title {
    font-size: 15px;
    line-height: 1.2;
    padding: 0.1px;
    letter-spacing: 1.2px;
  }
  .c-announcement__title:before, .c-announcement__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-announcement__title:before {
    margin-top: calc((1 - 1.2) * 0.5em);
  }
  .c-announcement__title:after {
    margin-bottom: calc((1 - 1.2) * 0.5em);
  }
}

.c-announcement__btnArea {
  position: absolute;
  right: 30px;
  top: 34px;
  -webkit-transition: top .1s linear;
  transition: top .1s linear;
}

@media screen and (max-width: 640px) {
  .c-announcement__btnArea {
    right: 0;
    top: 20px;
  }
}

.c-announcement__btn {
  background: transparent;
  border: none;
  color: #000000;
  cursor: pointer;
  display: block;
  height: 11px;
  width: 18px;
}

@media screen and (max-width: 640px) {
  .c-announcement__btn {
    height: 7px;
    width: 12px;
  }
}

.c-announcement__btn:after {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  background-image: url("/assets/img/common/arrow-down-gray.svg");
  background-repeat: no-repeat;
  content: '';
  display: block;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.c-announcement__body {
  -webkit-transition: padding .15s linear;
  transition: padding .15s linear;
}

@media screen and (max-width: 640px) {
  .c-announcement__body {
    margin-top: 20px;
  }
}

.c-announcement.is-close .c-announcement__inner {
  padding-bottom: 15px;
  padding-top: 15px;
}

.c-announcement.is-close .c-announcement__btnArea {
  top: 17px;
}

.c-announcement.is-close .c-announcement__btn:after {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

.c-announcement.is-close .c-announcement__body {
  height: 0;
  line-height: 0;
  margin-top: 0;
  overflow: hidden;
}

.c-articleCard {
  padding: 0 0 65px;
  position: relative;
}

.c-articleCard img {
  max-width: 100%;
}

.c-articleCard a {
  display: block;
}

[data-platform='desktop'] .c-articleCard a {
  -webkit-transition: opacity .3s ease;
  transition: opacity .3s ease;
}

[data-platform='desktop'] .c-articleCard a img {
  -webkit-transition: -webkit-transform .5s ease;
  transition: -webkit-transform .5s ease;
  transition: transform .5s ease;
  transition: transform .5s ease, -webkit-transform .5s ease;
}

[data-platform='desktop'] .c-articleCard a:hover {
  opacity: .7;
  text-decoration: none;
}

[data-platform='desktop'] .c-articleCard a:hover img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.c-articleCard__imgArea {
  overflow: hidden;
}

.c-articleCard__textArea {
  margin-top: 40px;
}

.c-articleCard__name {
  font-size: 16px;
  line-height: 2;
  padding: 0.1px;
  letter-spacing: normal;
  font-weight: bold;
}

.c-articleCard__name:before, .c-articleCard__name:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-articleCard__name:before {
  margin-top: calc((1 - 2) * 0.5em);
}

.c-articleCard__name:after {
  margin-bottom: calc((1 - 2) * 0.5em);
}

.c-articleCard__name:not(:first-child) {
  margin-top: 14px;
}

a .c-articleCard__name {
  text-decoration: underline;
}

.c-articleCard__text {
  font-size: 14px;
  line-height: 2;
  padding: 0.1px;
  letter-spacing: normal;
}

.c-articleCard__text:before, .c-articleCard__text:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-articleCard__text:before {
  margin-top: calc((1 - 2) * 0.5em);
}

.c-articleCard__text:after {
  margin-bottom: calc((1 - 2) * 0.5em);
}

.c-articleCard__text:not(:first-child) {
  margin-top: 18px;
}

.c-articleCard__text .arrow {
  display: inline-block;
  height: 10px;
  position: relative;
  width: 17px;
}

@media screen and (max-width: 640px) {
  .c-articleCard__text .arrow {
    height: calc(11 / 375 * ((100vh - 80px) * (9 / 16)));
  }
}

.c-articleCard__text .arrow:after {
  border-color: transparent transparent transparent #696d79;
  border-style: solid;
  border-width: 5px 0 5px 5px;
  content: '';
  height: 0;
  left: 50%;
  position: absolute;
  top: 0;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 0;
}

@media screen and (max-width: 640px) {
  .c-articleCard__text .arrow:after {
    border-width: 1.5vw 0 1.5vw 1.7vw;
  }
}

.c-articleCard__span {
  font-size: 11px;
  line-height: 2;
  padding: 0.1px;
  letter-spacing: normal;
  display: inline-block;
  text-decoration: inherit;
}

.c-articleCard__span:before, .c-articleCard__span:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-articleCard__span:before {
  margin-top: calc((1 - 2) * 0.5em);
}

.c-articleCard__span:after {
  margin-bottom: calc((1 - 2) * 0.5em);
}

.c-articleCard .c-label {
  left: -9px;
  position: absolute;
  top: -9px;
}

.c-baLabel {
  height: 100%;
}

@media screen and (max-width: 640px) {
  .c-baLabel {
    width: 64px;
  }
}

.c-baLabel--sm {
  width: 75px;
}

@media screen and (max-width: 640px) {
  .c-baLabel--sm {
    width: 48px;
  }
}

.c-banner img, .c-largeBanner img {
  max-width: 100%;
}

[data-platform='desktop'] .c-banner a, [data-platform='desktop'] .c-largeBanner a {
  -webkit-transition: opacity .2s linear;
  transition: opacity .2s linear;
}

[data-platform='desktop'] .c-banner a:hover, [data-platform='desktop'] .c-largeBanner a:hover {
  opacity: .7;
  text-decoration: none;
}

.c-productList .c-breadcrumb {
  margin-top: 100px;
}

.c-breadcrumb__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.c-breadcrumb__item {
  margin: 5px 0;
}

.c-breadcrumb__item:not(:last-of-type) {
  margin-right: 30px;
  position: relative;
}

.c-breadcrumb__item:not(:last-of-type):after {
  border: solid 1px;
  border-color: #c1c1c1 #c1c1c1 transparent transparent;
  content: '';
  display: block;
  height: 10px;
  position: absolute;
  right: -18px;
  top: 4px;
  -webkit-transform: rotate(54deg) skew(20deg, 0);
          transform: rotate(54deg) skew(20deg, 0);
  width: 10px;
}

.c-breadcrumb__item a:hover {
  text-decoration: underline;
}

.c-button {
  display: inline-block;
  max-width: 100%;
}

@media screen and (min-width: 641px), print {
  .c-button {
    width: 360px;
  }
}

@media screen and (max-width: 640px) {
  .c-button {
    width: 240px;
  }
}

.c-button__link {
  background-color: #ffffff;
  border: 1px solid #c1c1c1;
  display: block;
  padding: 20px 25px;
  position: relative;
  text-align: center;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}

.c-button__link:hover,
a:hover .c-button__link {
  border-color: #606060;
}

.c-button__text {
  font-size: 14px;
  line-height: 1.4;
  padding: 0.1px;
  letter-spacing: 0.7px;
  display: block;
}

.c-button__text:before, .c-button__text:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-button__text:before {
  margin-top: calc((1 - 1.4) * 0.5em);
}

.c-button__text:after {
  margin-bottom: calc((1 - 1.4) * 0.5em);
}

.c-button__icon {
  background: url("/assets/img/common/arrow-right-gray.svg") no-repeat;
  background-size: contain;
  display: block;
  height: 10px;
  position: absolute;
  right: 18px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 6px;
}

.c-button__icon:first-child {
  background-image: url("/assets/img/common/arrow-left-gray.svg");
  left: 18px;
  right: auto;
}

.c-button__icon:not(:first-child) {
  margin-left: 13px;
}

@media screen and (max-width: 640px) {
  .c-button__icon:not(:first-child) {
    margin-left: 6px;
  }
}

.c-button__icon:not(:last-child) {
  margin-right: 13px;
}

@media screen and (max-width: 640px) {
  .c-button__icon:not(:last-child) {
    margin-right: 6px;
  }
}

.c-button--fill .c-button__link {
  background-color: #c1c1c1;
}

.c-button--fill .c-button__link:hover,
a:hover .c-button--fill .c-button__link {
  background-color: #606060;
}

.c-button--fill .c-button__text {
  color: #ffffff;
}

.c-button--fill.is-disable .c-button__link {
  background-color: #f2f2f2;
  border: 1px solid #f2f2f2;
  pointer-events: none;
}

.c-button--fill.is-disable .c-button__text {
  color: #606060;
}

.c-button--full {
  width: 100%;
}

@media screen and (min-width: 641px), print {
  .c-button--sm {
    width: 260px;
  }
}

@media screen and (max-width: 640px) {
  .c-button--sm {
    width: 100%;
  }
}

.c-button--fave {
  position: relative;
}

.c-button--fave .c-button__link {
  position: relative;
}

.c-button--fave .c-button__link:after {
  background: url("/assets/img/common/icon-fave.png") no-repeat;
  background-size: contain;
  content: '';
  display: block;
  height: 22px;
  position: absolute;
  right: 18px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 22px;
}

.c-button--fave.is-active .c-button__link:after {
  background-image: url("/assets/img/common/icon-fave-fill.png");
}

.c-button__balloon {
  position: absolute;
  bottom: -90px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 360px;
  height: 80px;
  background-color: #DB477E;
  text-align: center;
  border-radius: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 1;
  -webkit-transition: 1500ms;
  transition: 1500ms;
  opacity: 1;
  visibility: visible;
}

.c-button__balloon.is-hide {
  opacity: 0;
  visibility: hidden;
}

.c-button__balloon::after {
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  position: absolute;
  border-color: rgba(219, 71, 126, 0);
  border-top-width: 20px;
  border-bottom-width: 20px;
  border-left-width: 10px;
  border-right-width: 10px;
  border-bottom-color: #DB477E;
  bottom: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.c-button__balloon .c-text {
  color: #fff;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.05em;
  font-weight: bold;
}

@media screen and (max-width: 374px) {
  .c-button__balloon .c-text {
    letter-spacing: 0;
  }
}

.c-button--narrow .c-button__link {
  padding: 10px 38px 10px 20px;
}

@media screen and (max-width: 640px) {
  .c-button--narrow .c-button__link {
    padding: 8px 25px 8px 13px;
  }
}

@media screen and (max-width: 640px) {
  .c-button--narrow .c-button__icon {
    right: 10px;
  }
}

@media screen and (max-width: 640px) {
  .c-button--narrow .c-button__text {
    font-size: 12px;
    line-height: 0.11667;
    padding: 0.1px;
    letter-spacing: 0.7px;
  }
  .c-button--narrow .c-button__text:before, .c-button--narrow .c-button__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-button--narrow .c-button__text:before {
    margin-top: 0;
  }
  .c-button--narrow .c-button__text:after {
    margin-bottom: 0;
  }
}

.c-button--narrow.c-button--round .c-button__link {
  border-radius: 20px / 50%;
}

.c-button--round .c-button__link {
  border-radius: calc(.5em + 20px)/50%;
}

.c-caption {
  color: #999999;
  display: block;
  margin-top: 26px;
}

@media screen and (min-width: 641px), print {
  .c-caption {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) {
  .c-caption {
    font-size: 12px;
    line-height: 1.66667;
    padding: 0.1px;
  }
  .c-caption:before, .c-caption:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-caption:before {
    margin-top: calc((1 - 1.66667) * 0.5em);
  }
  .c-caption:after {
    margin-bottom: calc((1 - 1.66667) * 0.5em);
  }
}

.c-circleArrow {
  border: 1px solid #606060;
  border-radius: 50%;
  display: inline-block;
  height: 25px;
  position: relative;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  -webkit-transform-origin: center;
          transform-origin: center;
  width: 25px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (max-width: 640px) {
  .c-circleArrow {
    height: 23px;
    width: 23px;
  }
}

.c-circleArrow:before {
  background-color: #606060;
  content: '';
  height: 1px;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  width: 12px;
}

@media screen and (max-width: 640px) {
  .c-circleArrow:before {
    width: 11px;
  }
}

.c-circleArrow:after {
  border-right: 1px solid #606060;
  border-top: 1px solid #606060;
  content: '';
  height: 5px;
  left: calc(50% + 3px);
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  width: 5px;
}

@media screen and (max-width: 640px) {
  .c-circleArrow:after {
    left: calc(50% + 2px);
  }
}

.c-circleArrow--uv {
  border-color: #ee7868;
}

.c-circleArrow--uv:before {
  background-color: #ee7868;
}

.c-circleArrow--uv:after {
  border-color: #ee7868;
}

.c-circleArrow--vertical:before {
  height: 12px;
  width: 1px;
  left: 50%;
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}

@media screen and (max-width: 640px) {
  .c-circleArrow--vertical:before {
    height: 11px;
  }
}

.c-circleArrow--vertical:after {
  content: '';
  height: 5px;
  top: calc(50% + 3px);
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(135deg);
          transform: translate(-50%, -50%) rotate(135deg);
  width: 5px;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}

@media screen and (max-width: 640px) {
  .c-circleArrow--vertical:after {
    top: calc(50% + 2px);
  }
}

.c-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (min-width: 641px), print {
  .c-col--2 {
    margin-bottom: -40px;
    margin-right: -40px;
  }
}

@media screen and (min-width: 641px), print {
  .c-col--3 {
    margin-bottom: -60px;
    margin-right: -60px;
  }
}

@media screen and (min-width: 641px), print {
  .c-col--4 {
    margin-bottom: -40px;
    margin-right: -40px;
  }
}

@media screen and (max-width: 640px) {
  .c-col--sp2 {
    margin-bottom: -11px;
    margin-right: -11px;
  }
}

@media screen and (max-width: 640px) {
  .c-col__item {
    width: 100%;
  }
}

@media screen and (max-width: 640px) {
  .c-col__item:not(:last-child) {
    padding-bottom: 12px;
  }
}

@media screen and (min-width: 641px), print {
  .c-col--2 .c-col__item {
    margin-right: 40px;
    padding-bottom: 40px;
    width: calc(100% / 2 - 40px);
  }
}

@media screen and (min-width: 641px), print {
  .c-col--3 .c-col__item {
    margin-right: 60px;
    padding-bottom: 60px;
    width: calc(100% / 3 - 60px);
  }
}

@media screen and (min-width: 641px), print {
  .c-col--4 .c-col__item {
    margin-right: 40px;
    padding-bottom: 40px;
    width: calc(100% / 4 - 40px);
  }
}

@media screen and (max-width: 640px) {
  .c-col--sp2 .c-col__item {
    margin-right: 11px;
    padding-bottom: 11px;
    width: calc(100% / 2 - 11px);
  }
}

@media screen and (min-width: 641px), print {
  .c-contentWidth {
    max-width: 1420px;
    min-width: 1200px;
    margin: 0 auto;
    padding: 0 80px;
  }
}

@media screen and (max-width: 640px) {
  .c-contentWidth {
    width: calc(100% - (20px * 2));
    min-width: 0;
    padding: 0 20px;
  }
}

@media screen and (min-width: 641px), print {
  .c-contentWidthS {
    margin: 0 auto;
    max-width: 1200px;
    min-width: 1200px;
    padding: 0 80px;
  }
}

@media screen and (max-width: 640px) {
  .c-contentWidthS {
    margin: 0 auto;
    min-width: 0;
    width: calc(100% - (20px * 2));
  }
}

.c-contentWidth .c-contentWidthS {
  padding: 0;
}

@media screen and (max-width: 640px) {
  .c-contentWidth .c-contentWidthS {
    width: 100%;
  }
}

.c-fave {
  display: inline-block;
  width: 22px;
  height: 22px;
}

@media screen and (max-width: 640px) {
  .c-fave {
    padding: 10px 0 0 10px;
  }
}

.c-fave .input {
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none;
}

.c-fave .input:after {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  background: url("/assets/img/common/icon-fave.png") no-repeat center/contain;
  content: '';
}

.c-fave .input.is-active:after {
  background-image: url("/assets/img/common/icon-fave-fill.png");
}

.c-fixedBanner {
  position: fixed;
  right: 0;
  -webkit-transform: translate3d(216px, 0, 0);
          transform: translate3d(216px, 0, 0);
  -webkit-transition: -webkit-transform 500ms cubic-bezier(0, 0, 0.2, 1);
  transition: -webkit-transform 500ms cubic-bezier(0, 0, 0.2, 1);
  transition: transform 500ms cubic-bezier(0, 0, 0.2, 1);
  transition: transform 500ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 500ms cubic-bezier(0, 0, 0.2, 1);
  z-index: 200;
}

.c-fixedBanner.is-open {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

@media screen and (min-width: 641px), print {
  .c-fixedBanner {
    bottom: 80px;
    padding-left: 30px;
  }
}

@media screen and (max-width: 640px) {
  .c-fixedBanner {
    bottom: 90px;
  }
}

.c-fixedBanner__inner {
  background: -webkit-gradient(linear, right top, left top, from(#cacaca), color-stop(50%, #eaeaea), to(#a7a7a7));
  background: linear-gradient(to left, #cacaca 0%, #eaeaea 50%, #a7a7a7 100%);
  border-radius: 3px 0 0 3px;
  overflow: hidden;
  position: relative;
}

.c-fixedBanner--limited .c-fixedBanner__inner {
  background: linear-gradient(-110deg, #e3d3a9 0%, #f7f7ea 50%, #b9a269 100%);
}

.c-fixedBanner__link {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 88px;
  width: 240px;
}

.c-fixedBanner__arrow {
  background-position: center;
  background-repeat: no-repeat;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 24px;
          flex: 0 0 24px;
  height: 100%;
  position: relative;
}

.c-fixedBanner__arrow span {
  color: #ffffff;
  display: block;
  font-family: "lunchtype22", sans-serif;
  font-size: 12px;
  left: 5px;
  letter-spacing: .1em;
  line-height: 1;
  position: absolute;
  text-align: center;
  -webkit-transform: rotate(90deg) translate3d(0, -100%, 0);
          transform: rotate(90deg) translate3d(0, -100%, 0);
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
  width: 88px;
}

.c-fixedBanner--optima .c-fixedBanner__arrow span {
  font-family: optima, "Tenor Sans";
}

.c-fixedBanner__arrow:before {
  bottom: 0;
  content: '';
  display: block;
  left: -30px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.c-fixedBanner__text {
  background: no-repeat right / auto 100%;
  display: block;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  height: 82px;
  margin: 3px 0;
}

.c-fixedBanner__textInner {
  display: inline-block;
  padding: 0 10px;
  padding-top: 20px;
}

.c-fixedBanner--essay .c-fixedBanner__inner {
  background: no-repeat center left/cover url("/assets/img/excia/makeup/common/bg-fixed-banner-essay.jpg");
  border: none;
  border-radius: 0;
  -webkit-box-shadow: 0 0 16px 8px rgba(0, 0, 0, 0.07);
          box-shadow: 0 0 16px 8px rgba(0, 0, 0, 0.07);
}

.c-fixedBanner--essay.is-hide {
  -webkit-transform: translate3d(244px, 0, 0);
          transform: translate3d(244px, 0, 0);
}

.c-fixedBanner--essay .c-fixedBanner__link {
  height: 180px;
  width: 280px;
}

.c-fixedBanner--essay .c-fixedBanner__arrow {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 36px;
          flex: 0 0 36px;
}

.c-fixedBanner--essay .c-fixedBanner__arrow span {
  font-size: 0;
  line-height: 0;
  width: 180px;
}

.c-fixedBanner--essay .c-fixedBanner__text {
  background: no-repeat left / auto 100%;
  height: 180px;
}

.c-fixedBanner--sampleCoupon.is-hide {
  -webkit-transform: translate3d(156px, 0, 0);
          transform: translate3d(156px, 0, 0);
}

.c-fixedBanner--sampleCoupon .c-fixedBanner__link {
  width: 180px;
}

.c-fixedMovie {
  bottom: 24px;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  right: 0;
  -webkit-transition: .4s;
  transition: .4s;
  visibility: hidden;
  z-index: 200;
}

.c-fixedMovie.is-open {
  opacity: 1;
  pointer-events: all;
  visibility: visible;
}

@media screen and (min-width: 641px), print {
  .c-fixedMovie {
    padding-left: 30px;
  }
}

.c-fixedMovie__link {
  background: -webkit-gradient(linear, left top, right top, from(#aaaaaa), color-stop(50.5%, #e7e7e7), to(#cacaca));
  background: linear-gradient(90deg, #aaaaaa 0%, #e7e7e7 50.5%, #cacaca 100%);
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
  display: block;
  padding: 3px 0 3px 3px;
}

.c-fixedMovie__link:hover {
  text-decoration: none;
}

.c-fixedMovie__textBlock {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 2px 0 0;
}

.c-fixedMovie__textBlock:after {
  background: url("/assets/img/common/arrow-movie.svg") no-repeat center/cover;
  content: '';
  display: block;
  height: 10px;
  left: 0;
  position: relative;
  -webkit-transition: .3s;
  transition: .3s;
  width: 5px;
}

.c-fixedMovie__link:hover .c-fixedMovie__textBlock:after {
  left: 3px;
}

.c-fixedMovie__text {
  color: #606060;
  font-family: YuGothic, sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.6;
}

.c-fixedMovie__video {
  pointer-events: none;
}

@media screen and (min-width: 641px), print {
  .c-fixedMovie__video {
    width: 256px;
  }
}

@media screen and (max-width: 640px) {
  .c-fixedMovie__video {
    width: 224px;
  }
}

.c-fixedMovie__close {
  background: url("/assets/img/common/icon_close.svg") no-repeat center/cover;
  cursor: pointer;
  height: 16px;
  margin-bottom: 7px;
  margin-left: auto;
  margin-right: 4px;
  width: 16px;
}

.c-heading {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}

@media screen and (min-width: 641px), print {
  #root-product-category-search .c-heading {
    padding: 0 0 50px;
  }
}

@media screen and (min-width: 641px), print {
  .c-heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 74px 0 50px;
  }
}

@media screen and (max-width: 640px) {
  .c-heading {
    padding: 50px 0 40px;
  }
}

.c-heading--top-bar {
  border-bottom: 1px solid #c1c1c1;
}

@media screen and (min-width: 641px), print {
  .c-heading--top-bar {
    margin: 80px 0 60px;
    padding: 24px 0 32px;
  }
}

@media screen and (max-width: 640px) {
  .c-heading--top-bar {
    margin: 60px 0 40px;
    padding: 0 0 16px;
    text-align: center;
  }
}

.c-heading__main {
  font-size: 36px;
  line-height: 1.2;
  padding: 0.1px;
  letter-spacing: 1.8px;
  font-family: "lunchtype22", sans-serif;
  font-weight: normal;
  margin: 0;
}

.c-heading__main:before, .c-heading__main:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-heading__main:before {
  margin-top: calc((1 - 1.2) * 0.5em);
}

.c-heading__main:after {
  margin-bottom: calc((1 - 1.2) * 0.5em);
}

.c-heading__main--center {
  margin: 0 auto;
}

@media screen and (max-width: 640px) {
  .c-heading__main {
    font-size: 24px;
    line-height: 1.2;
    padding: 0.1px;
    letter-spacing: 1.2px;
  }
  .c-heading__main:before, .c-heading__main:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-heading__main:before {
    margin-top: calc((1 - 1.2) * 0.5em);
  }
  .c-heading__main:after {
    margin-bottom: calc((1 - 1.2) * 0.5em);
  }
}

@media screen and (min-width: 641px), print {
  .c-heading__main:not(:last-child) {
    margin-right: 20px;
  }
}

.c-heading__sub {
  font-size: 14px;
  line-height: 1.4;
  padding: 0.1px;
  letter-spacing: normal;
}

.c-heading__sub:before, .c-heading__sub:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-heading__sub:before {
  margin-top: calc((1 - 1.4) * 0.5em);
}

.c-heading__sub:after {
  margin-bottom: calc((1 - 1.4) * 0.5em);
}

@media screen and (max-width: 640px) {
  .c-heading__sub {
    margin-top: 16px;
  }
}

@media screen and (max-width: 640px) {
  .c-heading--spRow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 48px 0 30px;
  }
}

@media screen and (max-width: 640px) {
  .c-heading--spRow .c-heading__main {
    font-size: 28px;
    line-height: 1.2;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-heading--spRow .c-heading__main:before, .c-heading--spRow .c-heading__main:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-heading--spRow .c-heading__main:before {
    margin-top: calc((1 - 1.2) * 0.5em);
  }
  .c-heading--spRow .c-heading__main:after {
    margin-bottom: calc((1 - 1.2) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .c-heading--spRow .c-heading__main:not(:last-child) {
    margin-right: 12px;
  }
}

@media screen and (max-width: 640px) {
  .c-heading--spRow .c-heading__sub {
    font-size: 10px;
    line-height: 1.2;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-heading--spRow .c-heading__sub:before, .c-heading--spRow .c-heading__sub:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-heading--spRow .c-heading__sub:before {
    margin-top: calc((1 - 1.2) * 0.5em);
  }
  .c-heading--spRow .c-heading__sub:after {
    margin-bottom: calc((1 - 1.2) * 0.5em);
  }
}

.c-headingSimple {
  font-weight: bold;
}

@media screen and (min-width: 641px), print {
  .c-headingSimple {
    font-size: 28px;
    line-height: 1.25;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-headingSimple:before, .c-headingSimple:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-headingSimple:before {
    margin-top: calc((1 - 1.25) * 0.5em);
  }
  .c-headingSimple:after {
    margin-bottom: calc((1 - 1.25) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .c-headingSimple {
    font-size: 21px;
    line-height: 1.66667;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-headingSimple:before, .c-headingSimple:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-headingSimple:before {
    margin-top: calc((1 - 1.66667) * 0.5em);
  }
  .c-headingSimple:after {
    margin-bottom: calc((1 - 1.66667) * 0.5em);
  }
}

@media screen and (min-width: 641px), print {
  .c-headingSimple--2 {
    font-size: 18px;
    line-height: 1.94444;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-headingSimple--2:before, .c-headingSimple--2:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-headingSimple--2:before {
    margin-top: calc((1 - 1.94444) * 0.5em);
  }
  .c-headingSimple--2:after {
    margin-bottom: calc((1 - 1.94444) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .c-headingSimple--2 {
    font-size: 17px;
    line-height: 2.05882;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-headingSimple--2:before, .c-headingSimple--2:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-headingSimple--2:before {
    margin-top: calc((1 - 2.05882) * 0.5em);
  }
  .c-headingSimple--2:after {
    margin-bottom: calc((1 - 2.05882) * 0.5em);
  }
}

@media screen and (min-width: 641px), print {
  .c-headingSimple--3 {
    font-size: 16px;
    line-height: 2.1875;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-headingSimple--3:before, .c-headingSimple--3:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-headingSimple--3:before {
    margin-top: calc((1 - 2.1875) * 0.5em);
  }
  .c-headingSimple--3:after {
    margin-bottom: calc((1 - 2.1875) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .c-headingSimple--3 {
    font-size: 16px;
    line-height: 2.1875;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-headingSimple--3:before, .c-headingSimple--3:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-headingSimple--3:before {
    margin-top: calc((1 - 2.1875) * 0.5em);
  }
  .c-headingSimple--3:after {
    margin-bottom: calc((1 - 2.1875) * 0.5em);
  }
}

@media screen and (min-width: 641px), print {
  .c-headingSimple--4 {
    font-size: 14px;
    line-height: 2.5;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-headingSimple--4:before, .c-headingSimple--4:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-headingSimple--4:before {
    margin-top: calc((1 - 2.5) * 0.5em);
  }
  .c-headingSimple--4:after {
    margin-bottom: calc((1 - 2.5) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .c-headingSimple--4 {
    font-size: 14px;
    line-height: 2.5;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-headingSimple--4:before, .c-headingSimple--4:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-headingSimple--4:before {
    margin-top: calc((1 - 2.5) * 0.5em);
  }
  .c-headingSimple--4:after {
    margin-bottom: calc((1 - 2.5) * 0.5em);
  }
}

.c-headingSimple--en {
  font-family: "lunchtype22", sans-serif;
}

.c-imageLabel {
  display: inline-block;
  height: 60px;
}

@media screen and (max-width: 640px) {
  .c-imageLabel {
    height: 38px;
  }
}

.c-imageLabel img {
  width: auto;
  max-width: 100%;
  height: 100%;
}

@media screen and (min-width: 641px), print {
  .c-itemSlider {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media screen and (min-width: 641px), print {
  .c-itemSlider__item {
    width: 272px;
  }
}

@media screen and (max-width: 640px) {
  .c-itemSlider__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .c-itemSlider__item > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
}

@media screen and (min-width: 641px), print {
  .c-itemSlider__item:not(:last-of-type) {
    margin-right: 32px;
  }
}

@media screen and (max-width: 640px) {
  .c-itemSlider__item:not(:last-of-type) {
    margin-bottom: 26px;
  }
}

.c-itemSlider__thumb {
  position: relative;
}

@media screen and (min-width: 641px), print {
  .c-itemSlider__slide {
    margin-bottom: 22px;
  }
}

.c-itemSlider__slide__progressbar {
  bottom: 0;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 1;
}

.c-itemSlider__slide__progressbar i {
  background-color: #ee7868;
  display: block;
  height: 2px;
  -webkit-transform: scale3d(0, 1, 1);
          transform: scale3d(0, 1, 1);
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
  width: 100%;
}

.c-itemSlider__slide__progressbar.is-start i {
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
  -webkit-transition: -webkit-transform 6000ms cubic-bezier(0, 0, 0.2, 1);
  transition: -webkit-transform 6000ms cubic-bezier(0, 0, 0.2, 1);
  transition: transform 6000ms cubic-bezier(0, 0, 0.2, 1);
  transition: transform 6000ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 6000ms cubic-bezier(0, 0, 0.2, 1);
}

.c-itemSlider__slide__progressbar.is-no-slide i {
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
}

.c-itemSlider__slide__pagenation {
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 10px;
  bottom: 22px;
  font-family: "YakuHanJPs", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Noto Sans Japanese", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  font-size: 12px;
  height: 20px;
  left: 20px;
  letter-spacing: -0.1em;
  padding: 1px 0;
  text-align: center;
  width: 40px;
}

@media screen and (max-width: 640px) {
  .c-itemSlider__slide__pagenation {
    bottom: 8px;
    font-size: 12px;
    height: 15px;
    left: 4px;
    line-height: 1;
    padding: 3px 0;
    width: 24px;
  }
}

.c-itemSlider__slide__pagenation.is-no-slide {
  display: none;
}

.c-itemSlider__figure {
  position: relative;
}

.c-itemSlider__figure span {
  display: block;
}

.c-itemSlider__figure img {
  width: 100%;
}

.c-itemSlider__texture, .c-itemSlider__image {
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  -webkit-transform: translate3d(50px, 0, 0);
          transform: translate3d(50px, 0, 0);
  width: 100%;
}

.swiper-slide-active .c-itemSlider__texture, .swiper-slide-active .c-itemSlider__image {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.c-itemSlider__texture {
  -webkit-transition: opacity 250ms cubic-bezier(0, 0, 0.2, 1) 150ms, -webkit-transform 500ms cubic-bezier(0, 0, 0.2, 1) 150ms;
  transition: opacity 250ms cubic-bezier(0, 0, 0.2, 1) 150ms, -webkit-transform 500ms cubic-bezier(0, 0, 0.2, 1) 150ms;
  transition: transform 500ms cubic-bezier(0, 0, 0.2, 1) 150ms, opacity 250ms cubic-bezier(0, 0, 0.2, 1) 150ms;
  transition: transform 500ms cubic-bezier(0, 0, 0.2, 1) 150ms, opacity 250ms cubic-bezier(0, 0, 0.2, 1) 150ms, -webkit-transform 500ms cubic-bezier(0, 0, 0.2, 1) 150ms;
}

.swiper-slide-active .c-itemSlider__texture {
  -webkit-transition: opacity 250ms cubic-bezier(0, 0, 0.2, 1) 300ms, -webkit-transform 500ms cubic-bezier(0, 0, 0.2, 1) 0;
  transition: opacity 250ms cubic-bezier(0, 0, 0.2, 1) 300ms, -webkit-transform 500ms cubic-bezier(0, 0, 0.2, 1) 0;
  transition: transform 500ms cubic-bezier(0, 0, 0.2, 1) 0, opacity 250ms cubic-bezier(0, 0, 0.2, 1) 300ms;
  transition: transform 500ms cubic-bezier(0, 0, 0.2, 1) 0, opacity 250ms cubic-bezier(0, 0, 0.2, 1) 300ms, -webkit-transform 500ms cubic-bezier(0, 0, 0.2, 1) 0;
}

.c-itemSlider__image {
  -webkit-transition: opacity 250ms cubic-bezier(0, 0, 0.2, 1) 300ms, -webkit-transform 500ms cubic-bezier(0, 0, 0.2, 1) 300ms;
  transition: opacity 250ms cubic-bezier(0, 0, 0.2, 1) 300ms, -webkit-transform 500ms cubic-bezier(0, 0, 0.2, 1) 300ms;
  transition: transform 500ms cubic-bezier(0, 0, 0.2, 1) 300ms, opacity 250ms cubic-bezier(0, 0, 0.2, 1) 300ms;
  transition: transform 500ms cubic-bezier(0, 0, 0.2, 1) 300ms, opacity 250ms cubic-bezier(0, 0, 0.2, 1) 300ms, -webkit-transform 500ms cubic-bezier(0, 0, 0.2, 1) 300ms;
}

.swiper-slide-active .c-itemSlider__image {
  -webkit-transition: opacity 250ms cubic-bezier(0, 0, 0.2, 1) 300ms, -webkit-transform 500ms cubic-bezier(0, 0, 0.2, 1) 0;
  transition: opacity 250ms cubic-bezier(0, 0, 0.2, 1) 300ms, -webkit-transform 500ms cubic-bezier(0, 0, 0.2, 1) 0;
  transition: transform 500ms cubic-bezier(0, 0, 0.2, 1) 0, opacity 250ms cubic-bezier(0, 0, 0.2, 1) 300ms;
  transition: transform 500ms cubic-bezier(0, 0, 0.2, 1) 0, opacity 250ms cubic-bezier(0, 0, 0.2, 1) 300ms, -webkit-transform 500ms cubic-bezier(0, 0, 0.2, 1) 0;
}

.c-itemSlider__number {
  font-family: "YakuHanJPs", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Noto Sans Japanese", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  font-size: 12px;
  letter-spacing: 0.05em;
  position: absolute;
  right: 12px;
  top: 12px;
  -webkit-transform: rotate(90deg) translate3d(100%, 0, 0);
          transform: rotate(90deg) translate3d(100%, 0, 0);
  -webkit-transform-origin: 100% 0%;
          transform-origin: 100% 0%;
}

@media screen and (max-width: 640px) {
  .c-itemSlider__number {
    right: 3px;
    top: 7px;
  }
}

.c-itemSlider__discription {
  margin: 0;
  width: 100%;
}

@media screen and (max-width: 640px) {
  .c-itemSlider__discription {
    padding-left: 15px;
  }
}

@media screen and (min-width: 641px), print {
  .c-itemSlider__discription__link {
    min-height: 70px;
  }
}

@media screen and (min-width: 641px), print {
  .c-itemSlider__arrow {
    bottom: 16px !important;
  }
}

@media screen and (max-width: 640px) {
  .c-itemSlider__arrow {
    bottom: 0;
    position: absolute;
    right: 0;
  }
}

.c-itemSlider__link {
  background-image: linear-gradient(to right, #999999, #999999 1px, transparent 1px, transparent 3px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 4px 1px;
  padding-bottom: 16px;
}

@media screen and (max-width: 640px) {
  .c-itemSlider__link {
    min-height: auto !important;
    padding-bottom: 15px;
  }
}

.c-label {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #db477e;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-family: "lunchtype22", sans-serif;
  font-size: 12px;
  font-weight: 500;
  height: 60px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: 1px;
  line-height: 1.4;
  position: relative;
  text-align: center;
  width: 60px;
  z-index: 1;
}

@media screen and (max-width: 640px) {
  .c-label {
    font-size: 10px;
    height: 36px;
    line-height: 1.1;
    width: 36px;
  }
}

.c-label:after {
  content: '';
  display: inline-block;
  white-space: pre;
}

.c-label--sm {
  height: 45px;
  letter-spacing: .01em;
  line-height: 1;
  width: 45px;
}

@media screen and (max-width: 640px) {
  .c-label--sm {
    height: 35px;
    width: 35px;
  }
}

.c-label--sm.c-label--ba, .c-label--sm.c-label--ba2019, .c-label--sm.c-label--ba2020 {
  width: 70px;
}

@media screen and (max-width: 640px) {
  .c-label--sm.c-label--ba, .c-label--sm.c-label--ba2019, .c-label--sm.c-label--ba2020 {
    width: 52px;
  }
}

.c-label--ba, .c-label--ba2019, .c-label--ba2020 {
  background: url("/assets/img/common/logo-beauty_award.svg") no-repeat;
  background-size: contain;
  border-radius: 0;
  width: 100px;
}

@media screen and (max-width: 640px) {
  .c-label--ba, .c-label--ba2019, .c-label--ba2020 {
    width: 64px;
  }
}

.c-label--ba2019 {
  background-image: url("/assets/img/common/logo-beauty_award_2019.svg");
}

.c-label--ba2020 {
  background-image: url("/assets/img/common/logo-beauty_award_2020.svg");
}

.c-label--debut:after {
  content: 'Debut';
}

.c-label--new:after {
  content: 'New';
}

.c-label--newColor:after {
  content: 'New\A Color';
}

.c-label--limited {
  background: #bd8f4d;
}

.c-label--limited:after {
  content: 'Limited';
}

.c-label--limitedColor {
  background: #bd8f4d;
  font-size: 11px;
  padding-top: 2px;
}

@media screen and (max-width: 640px) {
  .c-label--limitedColor {
    font-size: 9px;
  }
}

.c-label--limitedColor:after {
  content: 'Limited\A Color';
}

@media screen and (min-width: 641px), print {
  .c-largeBanner {
    background-color: #f2f2f2;
    margin: 60px 0 0;
  }
}

@media screen and (max-width: 640px) {
  .c-largeBanner {
    margin-top: 20px;
  }
}

@media screen and (min-width: 641px), print {
  .c-largeBanner__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (min-width: 641px), print {
  .c-largeBanner__img {
    height: calc((460 / 1160) * (1200 - 420) / 1200 * 100%);
    width: calc((1200 - 420) / 1200 * 100%);
  }
}

.c-largeBanner__textArea {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}

@media screen and (min-width: 641px), print {
  .c-largeBanner__textArea {
    width: calc(420 / 1200 * 100%);
  }
}

@media screen and (max-width: 640px) {
  .c-largeBanner__textArea {
    background-color: #f2f2f2;
    margin: -20px 20px 0;
    padding: 50px;
    position: relative;
    z-index: 0;
  }
}

.c-largeBanner__text {
  font-size: 20px;
  line-height: 1.05;
  padding: 0.1px;
  letter-spacing: 0.5px;
  font-weight: 500;
}

.c-largeBanner__text:before, .c-largeBanner__text:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-largeBanner__text:before {
  margin-top: calc((1 - 1.05) * 0.5em);
}

.c-largeBanner__text:after {
  margin-bottom: calc((1 - 1.05) * 0.5em);
}

@media screen and (max-width: 640px) {
  .c-largeBanner__text {
    font-size: 15px;
    line-height: 1.05;
    padding: 0.1px;
    letter-spacing: 0.75px;
  }
  .c-largeBanner__text:before, .c-largeBanner__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-largeBanner__text:before {
    margin-top: calc((1 - 1.05) * 0.5em);
  }
  .c-largeBanner__text:after {
    margin-bottom: calc((1 - 1.05) * 0.5em);
  }
}

.c-largeBanner__icon {
  background: url("/assets/img/common/arrow-right-gray.svg") no-repeat;
  background-size: contain;
  display: block;
  height: 18px;
  position: absolute;
  right: 40px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 10px;
}

@media screen and (max-width: 640px) {
  .c-largeBanner__icon {
    height: 12px;
    right: 20px;
    width: 7px;
  }
}

.c-largeBanner__icon:not(:first-child) {
  margin-left: 13px;
}

@media screen and (max-width: 640px) {
  .c-largeBanner__icon:not(:first-child) {
    margin-left: 6px;
  }
}

.c-largeBanner__icon:not(:last-child) {
  margin-right: 13px;
}

@media screen and (max-width: 640px) {
  .c-largeBanner__icon:not(:last-child) {
    margin-right: 6px;
  }
}

@media screen and (min-width: 641px), print {
  .c-largeBanner--s {
    margin: 100px auto 0;
    width: 890px;
  }
}

@media screen and (max-width: 640px) {
  .c-largeBanner--s {
    margin-top: 50px;
  }
}

@media screen and (max-width: 640px) {
  .c-largeBanner--s .c-largeBanner__textArea {
    margin: -30px 30px 0;
    padding: 37px 37px 39px;
  }
}

.c-largeBanner--hasBg {
  background-color: #f2f2f2;
}

.c-largeBanner--hasBg .c-largeBanner__textArea {
  background-color: #ffffff;
}

.c-largeBanner--storebanner {
  width: 580px;
  margin: 100px auto 0;
  padding: 20px;
  background: url("/assets/img/common/img-shop-03-bg.jpg") no-repeat;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (max-width: 640px) {
  .c-largeBanner--storebanner {
    margin-top: 50px;
    width: auto;
    padding: 11px;
  }
}

.c-largeBanner--storebanner .c-largeBanner__img {
  width: 204px;
}

@media screen and (max-width: 640px) {
  .c-largeBanner--storebanner .c-largeBanner__img {
    width: 34.82%;
  }
}

.c-largeBanner--storebanner .c-largeBanner__link {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.c-largeBanner--storebanner .c-largeBanner__text {
  font-size: 24px;
}

@media screen and (max-width: 640px) {
  .c-largeBanner--storebanner .c-largeBanner__text {
    font-size: 16px;
  }
}

.c-largeBanner--storebanner .c-largeBanner__text--en {
  font-family: 'lunchtype22';
  font-weight: 100;
  letter-spacing: 0.025em;
  text-align: left;
  font-size: 16px;
  margin-bottom: 8px;
}

@media screen and (max-width: 640px) {
  .c-largeBanner--storebanner .c-largeBanner__text--en {
    font-size: 12px;
  }
}

.c-largeBanner--storebanner .c-largeBanner__textArea {
  display: block;
  width: auto;
  margin-left: 48px;
  background-color: transparent;
}

@media screen and (max-width: 640px) {
  .c-largeBanner--storebanner .c-largeBanner__textArea {
    margin: 0 0 0 8px;
    padding: 0;
  }
}

.c-largeBanner--storebanner .c-largeBanner__link {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 640px) {
  .c-largeBanner--storebanner .c-largeBanner__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.c-largeBanner--experiencebanner {
  width: 580px;
  margin: 100px auto 0;
  padding: 20px;
  background: url("/assets/img/common/img-experience-bg.jpg") no-repeat;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (max-width: 640px) {
  .c-largeBanner--experiencebanner {
    margin-top: 8px;
    width: auto;
    padding: 11px;
  }
}

.c-largeBanner--experiencebanner .c-largeBanner__img {
  width: 204px;
}

@media screen and (max-width: 640px) {
  .c-largeBanner--experiencebanner .c-largeBanner__img {
    width: 34.82%;
  }
}

.c-largeBanner--experiencebanner .c-largeBanner__link {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.c-largeBanner--experiencebanner .c-largeBanner__text {
  font-size: 24px;
}

@media screen and (max-width: 640px) {
  .c-largeBanner--experiencebanner .c-largeBanner__text {
    font-size: 16px;
  }
}

.c-largeBanner--experiencebanner .c-largeBanner__text--en {
  font-family: 'lunchtype22';
  font-weight: 100;
  font-size: 16px;
  letter-spacing: 0.025em;
  margin-bottom: 20px;
}

@media screen and (max-width: 640px) {
  .c-largeBanner--experiencebanner .c-largeBanner__text--en {
    font-size: 12px;
    margin-bottom: 5px;
  }
}

.c-largeBanner--experiencebanner .c-largeBanner__text--small {
  text-align: left;
  font-size: 14px;
  margin-bottom: 8px;
}

@media screen and (max-width: 640px) {
  .c-largeBanner--experiencebanner .c-largeBanner__text--small {
    font-size: 10px;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    letter-spacing: 0.08em;
    margin-bottom: 2px;
  }
}

.c-largeBanner--experiencebanner .c-largeBanner__textArea {
  display: block;
  width: auto;
  margin-left: 30px;
  background-color: transparent;
}

@media screen and (max-width: 640px) {
  .c-largeBanner--experiencebanner .c-largeBanner__textArea {
    margin: 0 0 0 8px;
    padding: 0;
  }
}

.c-largeBanner--experiencebanner .c-largeBanner__link {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 640px) {
  .c-largeBanner--experiencebanner .c-largeBanner__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.c-list {
  font-size: 16px;
}

.c-list li {
  line-height: 1.6;
  padding-left: 1em;
  text-indent: -1em;
}

.c-list li:before {
  content: '・';
  display: inline;
}

.c-list--sm {
  font-size: 14px;
}

.c-list--mini {
  font-size: 12px;
}

.c-modal {
  background-color: #f2f2f2;
  left: 0;
  margin: 30px;
  padding: 20px;
  position: fixed;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  z-index: 10001;
}

.c-modal__inner {
  background-color: #ffffff;
  max-height: 100%;
  overflow: auto;
  padding: 0 25px;
}

.c-modal__head {
  border-bottom: 1px solid #c1c1c1;
  padding: 27px 0 24px;
  text-align: center;
}

.c-modal__head .c-headingSimple {
  font-weight: normal;
  margin-bottom: 12px;
}

.c-modal__body {
  padding: 23px 0 25px;
}

.c-modal__buttonArea {
  padding-top: 25px;
}

.c-modal__buttonArea .c-button:not(:first-child) {
  margin-top: 20px;
}

.c-modal__buttonArea .c-button--fill .c-button__link {
  background-color: #606060;
  border-color: #606060;
}

.c-modal__close {
  background-color: #606060;
  border-radius: 50%;
  cursor: pointer;
  height: 45px;
  position: absolute;
  right: -16px;
  top: -16px;
  width: 45px;
}

.c-modal__close:before, .c-modal__close:after {
  background-color: #ffffff;
  content: '';
  display: block;
  height: 28px;
  left: 50%;
  position: absolute;
  top: 50%;
  width: 1px;
}

.c-modal__close:before {
  -webkit-transform: translate(-1px, -50%) rotate(-45deg);
          transform: translate(-1px, -50%) rotate(-45deg);
}

.c-modal__close:after {
  -webkit-transform: translate(-1px, -50%) rotate(45deg);
          transform: translate(-1px, -50%) rotate(45deg);
}

.c-modal__overlay {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.75);
  display: block;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  z-index: 10000;
}

.c-modal__overlay:not(.is-open) {
  display: none;
  opacity: 0;
}

.c-modal:not(.is-open) {
  display: none;
  opacity: 0;
}

.p-top-musthave {
  margin-bottom: 60px;
}

@media screen and (min-width: 641px), print {
  .p-top-musthave {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 30px;
  }
}

@media screen and (max-width: 640px) {
  .p-top-musthave {
    display: grid;
    gap: 40px 30px;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (min-width: 641px), print {
  .p-top-musthave__item {
    height: 277px;
    width: 216px;
  }
}

@media screen and (max-width: 640px) {
  .p-top-musthave__item {
    width: 100%;
  }
}

.p-top-musthave__link {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  -webkit-transition: opacity .2s linear;
  transition: opacity .2s linear;
  width: 100%;
}

@media screen and (min-width: 641px), print {
  .p-top-musthave__link {
    padding: 20px 8px 0;
  }
}

.p-top-musthave__link:hover {
  opacity: .7;
  text-decoration: none;
}

.p-top-musthave__link:hover .p-top-musthave__img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.p-top-musthave__img {
  aspect-ratio: 1/1;
  -webkit-transition: -webkit-transform .5s ease;
  transition: -webkit-transform .5s ease;
  transition: transform .5s ease;
  transition: transform .5s ease, -webkit-transform .5s ease;
}

@media screen and (min-width: 641px), print {
  .p-top-musthave__img {
    margin: 0 auto;
    max-height: 200px;
  }
}

@media screen and (max-width: 640px) {
  .p-top-musthave__img {
    margin: 0 auto;
    max-width: calc(100% - 38px);
  }
}

.p-top-musthave__logo {
  max-height: 38px;
  max-width: 100%;
}

.p-top-musthave__textArea {
  margin-top: 20px;
}

.p-top-musthave__text {
  font-size: 14px;
  line-height: 2;
  padding: 0.1px;
  letter-spacing: normal;
  font-weight: 700;
  text-align: center;
  text-decoration: underline;
}

.p-top-musthave__text:before, .p-top-musthave__text:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-top-musthave__text:before {
  margin-top: calc((1 - 2) * 0.5em);
}

.p-top-musthave__text:after {
  margin-bottom: calc((1 - 2) * 0.5em);
}

@media screen and (max-width: 640px) {
  .p-top-musthave__text {
    white-space: nowrap;
  }
}

.c-notes__item {
  font-size: 12px;
  line-height: 1.6;
  padding-left: 1em;
}

.c-notes__item:before {
  content: '※';
  display: inline-block;
  text-indent: -1em;
}

.c-notes--ol {
  counter-reset: index;
}

.c-notes--ol .c-notes__item {
  counter-increment: index;
  padding-left: 2em;
}

.c-notes--ol .c-notes__item:before {
  content: "※" counter(index);
  text-indent: -2em;
}

.c-pageNav {
  padding-bottom: 90px;
}

@media screen and (max-width: 640px) {
  .c-pageNav {
    padding-bottom: 54px;
  }
}

@media screen and (min-width: 641px), print {
  .c-pageNav__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.c-pageNav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (min-width: 641px), print {
  .c-pageNav__list {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (min-width: 641px), print {
  .c-pageNav__list:not(:first-child) {
    margin-left: 40px;
    margin-left: calc(max(5vw, 40px));
    padding-left: 40px;
    padding-left: calc(max(5vw, 40px));
    border-left: 1px solid #ddd;
  }
}

@media screen and (max-width: 640px) {
  .c-pageNav__list:not(:first-child) {
    margin-top: 18px;
  }
}

@media screen and (min-width: 641px), print {
  .c-pageNav__list--anchor {
    -webkit-box-flex: 2;
        -ms-flex-positive: 2;
            flex-grow: 2;
  }
}

@media screen and (max-width: 640px) {
  .c-pageNav__list--anchor {
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
}

@media screen and (max-width: 640px) {
  .c-pageNav__list--anchor .c-pageNav__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: calc(1 / 3 * 100% - 1px);
    border-right: 1px solid #ddd;
    text-align: center;
  }
}

.c-pageNav__list--anchor .c-pageNav__item:nth-of-type(3n) {
  border-right: none;
}

@media screen and (max-width: 640px) {
  .c-pageNav__item {
    margin-top: 10px;
    width: 100%;
  }
}

.c-pageTitle {
  padding: 30px 0 72px;
}

@media screen and (max-width: 640px) {
  .c-pageTitle {
    padding: 55px 0 38px;
  }
}

.c-pageTitle__main {
  font-size: 60px;
  line-height: 1;
  padding: 0.1px;
  letter-spacing: 3px;
  font-family: "lunchtype22", sans-serif;
  font-weight: 300;
}

.c-pageTitle__main:before, .c-pageTitle__main:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-pageTitle__main:before {
  margin-top: 0;
}

.c-pageTitle__main:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .c-pageTitle__main {
    font-size: 45px;
    line-height: 1;
    padding: 0.1px;
    letter-spacing: 2.3px;
  }
  .c-pageTitle__main:before, .c-pageTitle__main:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-pageTitle__main:before {
    margin-top: 0;
  }
  .c-pageTitle__main:after {
    margin-bottom: 0;
  }
}

.c-pageTitle__sub {
  font-size: 16px;
  line-height: 1.88;
  padding: 0.1px;
  letter-spacing: normal;
  margin-top: 30px;
  color: #999999;
}

.c-pageTitle__sub:before, .c-pageTitle__sub:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-pageTitle__sub:before {
  margin-top: calc((1 - 1.88) * 0.5em);
}

.c-pageTitle__sub:after {
  margin-bottom: calc((1 - 1.88) * 0.5em);
}

@media screen and (max-width: 640px) {
  .c-pageTitle__sub {
    font-size: 14px;
    line-height: 1.07;
    padding: 0.1px;
    letter-spacing: normal;
    margin-top: 20px;
  }
  .c-pageTitle__sub:before, .c-pageTitle__sub:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-pageTitle__sub:before {
    margin-top: calc((1 - 1.07) * 0.5em);
  }
  .c-pageTitle__sub:after {
    margin-bottom: calc((1 - 1.07) * 0.5em);
  }
}

.c-productCard, .p-products-seriesCard {
  padding: 0 0 15px;
  position: relative;
}

@media screen and (min-width: 641px), print {
  .swiper-slide .c-productCard, .swiper-slide .p-products-seriesCard {
    height: 100%;
  }
}

@media screen and (max-width: 640px) {
  .c-productCard, .p-products-seriesCard {
    padding-bottom: 46px;
  }
}

.c-productCard a, .p-products-seriesCard a {
  display: block;
}

[data-platform='desktop'] .c-productCard a, [data-platform='desktop'] .p-products-seriesCard a {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

[data-platform='desktop'] .c-productCard a:hover, [data-platform='desktop'] .p-products-seriesCard a:hover {
  opacity: 0.7;
}

.c-productCard .c-thumbnail, .p-products-seriesCard .c-thumbnail {
  overflow: hidden;
  position: relative;
}

.c-productCard .c-fave, .p-products-seriesCard .c-fave {
  bottom: 0;
  position: absolute;
  right: 0;
}

.c-productCard__thumbArea {
  position: relative;
}

.c-productCard__labels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (min-width: 641px), print {
  .c-productCard__labels {
    margin-left: -10px;
    min-height: 55px;
    padding-top: 20px;
  }
}

@media screen and (max-width: 640px) {
  .c-productCard__labels {
    margin-left: -5px;
    min-height: 40px;
    padding-top: 10px;
  }
}

.c-productCard__labels .c-label,
.c-productCard__labels .c-baLabel {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin-left: 10px;
  max-width: 27%;
}

@media screen and (max-width: 640px) {
  .c-productCard__labels .c-label,
  .c-productCard__labels .c-baLabel {
    margin-left: 5px;
  }
}

@media screen and (max-width: 640px) {
  .c-productCard__labels .c-baLabel--award {
    max-height: calc(27.2 / 375 * 100vw);
  }
}

.c-productCard__textArea, .p-products-seriesCard__textArea {
  margin-top: 20px;
}

.c-productCard__textArea--center {
  text-align: center;
}

.c-productCard__date {
  font-size: 14px;
  line-height: 1.79;
  padding: 0.1px;
  letter-spacing: normal;
}

.c-productCard__date:before, .c-productCard__date:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-productCard__date:before {
  margin-top: calc((1 - 1.79) * 0.5em);
}

.c-productCard__date:after {
  margin-bottom: calc((1 - 1.79) * 0.5em);
}

@media screen and (max-width: 640px) {
  .c-productCard__date {
    font-size: 12px;
    line-height: 1.79;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-productCard__date:before, .c-productCard__date:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-productCard__date:before {
    margin-top: calc((1 - 1.79) * 0.5em);
  }
  .c-productCard__date:after {
    margin-bottom: calc((1 - 1.79) * 0.5em);
  }
}

.c-productCard__name, .p-products-seriesCard__name {
  font-size: 14px;
  line-height: 1.79;
  padding: 0.1px;
  letter-spacing: normal;
  font-weight: bold;
}

.c-productCard__name:before, .p-products-seriesCard__name:before, .c-productCard__name:after, .p-products-seriesCard__name:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-productCard__name:before, .p-products-seriesCard__name:before {
  margin-top: calc((1 - 1.79) * 0.5em);
}

.c-productCard__name:after, .p-products-seriesCard__name:after {
  margin-bottom: calc((1 - 1.79) * 0.5em);
}

.c-productCard__name:not(:first-child), .p-products-seriesCard__name:not(:first-child) {
  margin-top: 14px;
}

a .c-productCard__name, a .p-products-seriesCard__name {
  text-decoration: underline;
}

.c-productCard__dataLine {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 1em;
}

.c-productCard__dataLine + .c-productCard__dataLine {
  margin-top: 2px;
}

.c-productCard__dataLine > p:not(:last-child) {
  margin-right: 1em;
}

.c-productCard--hasBg {
  background-color: #ffffff;
}

.c-productCard--hasBg .c-productCard__link {
  padding: 50px 0 55px;
}

@media screen and (max-width: 640px) {
  .c-productCard--hasBg .c-productCard__link {
    padding-top: 40px 0 46px;
  }
}

@media screen and (max-width: 640px) {
  .c-productCard--spRow {
    padding: 0;
  }
}

@media screen and (max-width: 640px) {
  .c-productCard--spRow .c-productCard__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (max-width: 640px) {
  .c-productCard--spRow .c-thumbnail {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 112px;
  }
}

.c-productCard--spRow .c-productCard__textArea:not(:first-child), .c-productCard--spRow .p-products-seriesCard__textArea:not(:first-child) {
  margin-left: 18px;
}

.c-swiper--col2 .c-productCard .c-thumbnail, .c-swiper--col2 .p-products-seriesCard .c-thumbnail {
  text-align: center;
}

@media screen and (min-width: 641px), print {
  .c-swiper--col2 .c-productCard .c-thumbnail, .c-swiper--col2 .p-products-seriesCard .c-thumbnail {
    height: 300px;
  }
}

.c-productDetail {
  --swiper-navigation-size: 40px;
  position: relative;
}

@media screen and (max-width: 640px) {
  .c-productDetail {
    --swiper-navigation-size: 33px;
  }
}

.c-productDetail .c-accordion .c-text + .c-text {
  margin-top: 2.5em;
}

.c-productDetail .c-accordion:not(:first-child) {
  margin-top: 20px;
}

@media screen and (max-width: 640px) {
  .c-productDetail .c-accordion:not(:first-child) {
    margin-top: 10px;
  }
}

.c-productDetail:not(:first-child) {
  margin-top: 40px;
}

.c-productDetail__outlineSp {
  padding-bottom: 40px;
}

.c-productDetail__bg {
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  position: absolute;
  right: 0;
}

@media screen and (min-width: 641px), print {
  .c-productDetail__bg {
    height: 390px;
    width: 699px;
  }
}

@media screen and (max-width: 640px) {
  .c-productDetail__bg {
    height: calc(480 / 750 * 100vw);
    left: -20px;
    right: -20px;
  }
}

@media screen and (min-width: 641px), print {
  .c-productDetail__inner {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (min-width: 641px), print {
  .c-productDetail__imgCol {
    padding-bottom: 80px;
    width: calc(50% - 20px);
  }
}

.c-productDetail__imgCol .c-productDetail__imgArea {
  width: 100%;
}

.c-productDetail__imgArea {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  padding-bottom: 50px;
  position: relative;
}

@media screen and (min-width: 641px), print {
  .c-productDetail__imgArea {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-right: 30px;
    width: calc(50% - 20px);
  }
}

@media screen and (max-width: 640px) {
  .c-productDetail__imgArea {
    padding-bottom: 40px;
  }
}

.c-productDetail__imgArea img {
  max-width: 100%;
}

.c-productDetail__imgArea .swiper-slide {
  background-color: #ffffff;
}

@media print {
  .c-productDetail__imgArea .swiper-slide {
    width: 100% !important;
    /* slider don't work */
  }
}

.c-productDetail__imgArea .swiper-slide img {
  max-height: 100%;
  max-width: 100%;
}

@media screen and (min-width: 641px), print {
  .c-productDetail__imgArea .swiper-button-prev {
    left: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@media screen and (min-width: 641px), print {
  .c-productDetail__imgArea .swiper-button-next {
    right: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@media screen and (min-width: 641px), print {
  .c-productDetail__slide--product {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 20px;
  }
}

.c-productDetail__labels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.c-productDetail__labels .c-label,
.c-productDetail__labels .c-baLabel {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.c-productDetail__labels .c-label:not(:first-child),
.c-productDetail__labels .c-baLabel:not(:first-child) {
  margin-left: 20px;
}

@media screen and (max-width: 640px) {
  .c-productDetail__labels .c-label:not(:first-child),
  .c-productDetail__labels .c-baLabel:not(:first-child) {
    margin-left: 12px;
  }
}

@media screen and (min-width: 641px), print {
  .c-productDetail__textArea {
    padding: 20px 0 110px 70px;
    width: calc(50% + 20px);
  }
}

@media screen and (max-width: 640px) {
  .c-productDetail__textArea {
    margin-top: 60px;
    padding-bottom: 30px;
  }
}

.c-productDetail__textArea .c-notes {
  margin-top: 30px;
}

@media screen and (max-width: 640px) {
  .c-productDetail__textArea .c-notes {
    margin-top: 20px;
  }
}

.c-productDetail__colors {
  border-top: solid 1px #e7e7e7;
  margin-top: 56px;
  padding-top: 35px;
}

@media screen and (min-width: 641px), print {
  .c-productDetail__colors {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.c-productDetail__colorList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (max-width: 640px) {
  .c-productDetail__colorList {
    margin-top: 30px;
  }
}

.c-productDetail__colorItem {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-bottom: 25px;
  padding: 0 10px;
  width: calc(1 / 3 * 100% - 0.1px);
}

@media screen and (max-width: 640px) {
  .c-productDetail__colorItem {
    margin-bottom: 20px;
  }
}

.c-productDetail__colorItem img {
  line-height: 1;
  max-height: 80px;
  max-width: 100%;
  width: auto;
}

.c-productDetail__colorText {
  margin-top: 10px;
}

.c-productDetail__colorText span {
  display: block;
}

.c-productDetail__colorLabel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 10px;
}

.c-productDetail__colorLabel span {
  border-radius: 2px;
  color: #ffffff;
  display: block;
  font-family: "lunchtype22", sans-serif;
  font-size: 10px;
  line-height: 0.9;
  padding: 3px 4px;
}

.c-productDetail__colorLabel span:not(:last-of-type) {
  margin-right: 4px;
}

.c-productDetail__colorLabel .new {
  background-color: #db477e;
}

.c-productDetail__colorLabel .limited {
  background-color: #bd8f4d;
}

.c-productDetail__map {
  margin-top: 25px;
  text-align: right;
}

.c-productDetail__map .c-button--narrow {
  width: auto;
}

@media screen and (max-width: 640px) {
  .c-productDetail__map {
    margin-top: 10px;
    text-align: center;
  }
}

.c-productDetail__date {
  background-color: #c1c1c1;
  color: #ffffff;
  display: inline-block;
  padding: 10px 18px;
}

@media screen and (max-width: 640px) {
  .c-productDetail__date {
    padding: 7px 17px 6px;
  }
}

.c-productDetail__dateText {
  font-size: 18px;
  line-height: 1.2;
  padding: 0.1px;
  letter-spacing: normal;
  display: block;
}

.c-productDetail__dateText:before, .c-productDetail__dateText:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-productDetail__dateText:before {
  margin-top: calc((1 - 1.2) * 0.5em);
}

.c-productDetail__dateText:after {
  margin-bottom: calc((1 - 1.2) * 0.5em);
}

@media screen and (max-width: 640px) {
  .c-productDetail__dateText {
    font-size: 15px;
    line-height: 1.2;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-productDetail__dateText:before, .c-productDetail__dateText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-productDetail__dateText:before {
    margin-top: calc((1 - 1.2) * 0.5em);
  }
  .c-productDetail__dateText:after {
    margin-bottom: calc((1 - 1.2) * 0.5em);
  }
}

.c-productDetail__releaseDate {
  border: 1px solid #e7e7e7;
  border-radius: 18px;
  display: inline-block;
  padding: 10px 18px;
}

@media screen and (max-width: 640px) {
  .c-productDetail__releaseDate {
    padding: 7px 17px 6px;
  }
}

.c-productDetail__releaseDateText {
  font-size: 14px;
  line-height: 1.2;
  padding: 0.1px;
  letter-spacing: normal;
  display: block;
}

.c-productDetail__releaseDateText:before, .c-productDetail__releaseDateText:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-productDetail__releaseDateText:before {
  margin-top: calc((1 - 1.2) * 0.5em);
}

.c-productDetail__releaseDateText:after {
  margin-bottom: calc((1 - 1.2) * 0.5em);
}

@media screen and (max-width: 640px) {
  .c-productDetail__releaseDateText {
    font-size: 12px;
    line-height: 1.2;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-productDetail__releaseDateText:before, .c-productDetail__releaseDateText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-productDetail__releaseDateText:before {
    margin-top: calc((1 - 1.2) * 0.5em);
  }
  .c-productDetail__releaseDateText:after {
    margin-bottom: calc((1 - 1.2) * 0.5em);
  }
}

.c-productDetail__series {
  font-size: 16px;
  line-height: 1.2;
  padding: 0.1px;
  letter-spacing: normal;
  color: #999999;
  font-weight: bold;
}

.c-productDetail__series:before, .c-productDetail__series:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-productDetail__series:before {
  margin-top: calc((1 - 1.2) * 0.5em);
}

.c-productDetail__series:after {
  margin-bottom: calc((1 - 1.2) * 0.5em);
}

@media screen and (max-width: 640px) {
  .c-productDetail__series {
    font-size: 12px;
    line-height: 1.2;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-productDetail__series:before, .c-productDetail__series:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-productDetail__series:before {
    margin-top: calc((1 - 1.2) * 0.5em);
  }
  .c-productDetail__series:after {
    margin-bottom: calc((1 - 1.2) * 0.5em);
  }
}

.c-productDetail__series:not(:first-child) {
  margin-top: 30px;
}

@media screen and (max-width: 640px) {
  .c-productDetail__series:not(:first-child) {
    margin-top: 24px;
  }
}

.c-productDetail__name {
  font-size: 28px;
  line-height: 1.6;
  padding: 0.1px;
  letter-spacing: normal;
}

.c-productDetail__name:before, .c-productDetail__name:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-productDetail__name:before {
  margin-top: calc((1 - 1.6) * 0.5em);
}

.c-productDetail__name:after {
  margin-bottom: calc((1 - 1.6) * 0.5em);
}

@media screen and (max-width: 640px) {
  .c-productDetail__name {
    font-size: 21px;
    line-height: 1.67;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-productDetail__name:before, .c-productDetail__name:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-productDetail__name:before {
    margin-top: calc((1 - 1.67) * 0.5em);
  }
  .c-productDetail__name:after {
    margin-bottom: calc((1 - 1.67) * 0.5em);
  }
}

.c-productDetail__name:not(:first-child) {
  margin-top: 23px;
}

.c-productDetail__tagArea {
  margin-top: 30px;
}

@media screen and (max-width: 640px) {
  .c-productDetail__tagArea {
    margin-top: 23px;
  }
}

.c-productDetail__category {
  font-size: 16px;
  line-height: 1.2;
  padding: 0.1px;
  letter-spacing: normal;
  display: inline-block;
}

.c-productDetail__category:before, .c-productDetail__category:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-productDetail__category:before {
  margin-top: calc((1 - 1.2) * 0.5em);
}

.c-productDetail__category:after {
  margin-bottom: calc((1 - 1.2) * 0.5em);
}

@media screen and (max-width: 640px) {
  .c-productDetail__category {
    font-size: 12px;
    line-height: 1.2;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-productDetail__category:before, .c-productDetail__category:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-productDetail__category:before {
    margin-top: calc((1 - 1.2) * 0.5em);
  }
  .c-productDetail__category:after {
    margin-bottom: calc((1 - 1.2) * 0.5em);
  }
}

.c-productDetail__tag {
  border: 1px solid #e7e7e7;
  display: inline-block;
  padding: 8px 10px;
}

@media screen and (max-width: 640px) {
  .c-productDetail__tag {
    padding: 6px 7px;
  }
}

.c-productDetail__tag + .c-productDetail__tag {
  margin-left: 8px;
}

.c-productDetail__tagText {
  font-size: 14px;
  line-height: 1;
  padding: 0.1px;
  letter-spacing: normal;
  display: block;
}

.c-productDetail__tagText:before, .c-productDetail__tagText:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-productDetail__tagText:before {
  margin-top: 0;
}

.c-productDetail__tagText:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .c-productDetail__tagText {
    font-size: 12px;
    line-height: 1;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-productDetail__tagText:before, .c-productDetail__tagText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-productDetail__tagText:before {
    margin-top: 0;
  }
  .c-productDetail__tagText:after {
    margin-bottom: 0;
  }
}

.c-productDetail__spec {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}

.c-productDetail__spec > li {
  font-size: 16px;
  line-height: 1;
  padding: 0.1px;
  letter-spacing: normal;
}

.c-productDetail__spec > li:before, .c-productDetail__spec > li:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-productDetail__spec > li:before {
  margin-top: 0;
}

.c-productDetail__spec > li:after {
  margin-bottom: 0;
}

.c-productDetail__spec > li:not(:last-child) {
  border-right: 1px solid #f2f2f2;
  margin-right: 8px;
  padding-right: 8px;
}

.c-productDetail__spec:not(:first-child) {
  margin-top: 50px;
}

@media screen and (max-width: 640px) {
  .c-productDetail__spec:not(:first-child) {
    margin-top: 40px;
  }
}

.c-productDetail__price:not(:first-child) {
  margin-top: 37px;
}

@media screen and (max-width: 640px) {
  .c-productDetail__price:not(:first-child) {
    margin-top: 20px;
  }
}

@media screen and (max-width: 640px) {
  .c-productDetail__name + .c-productDetail__price {
    margin-top: 29px;
  }
}

.c-productDetail__price + .c-productDetail__price {
  margin-top: 1em;
}

.c-productDetail__priceText {
  font-size: 18px;
  line-height: 2;
  padding: 0.1px;
  letter-spacing: normal;
  display: block;
}

.c-productDetail__priceText:before, .c-productDetail__priceText:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-productDetail__priceText:before {
  margin-top: calc((1 - 2) * 0.5em);
}

.c-productDetail__priceText:after {
  margin-bottom: calc((1 - 2) * 0.5em);
}

@media screen and (max-width: 640px) {
  .c-productDetail__priceText {
    font-size: 14px;
    line-height: 2;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-productDetail__priceText:before, .c-productDetail__priceText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-productDetail__priceText:before {
    margin-top: calc((1 - 2) * 0.5em);
  }
  .c-productDetail__priceText:after {
    margin-bottom: calc((1 - 2) * 0.5em);
  }
}

.c-productDetail__priceSup:not(:last-child) {
  margin-right: 1em;
}

.c-productDetail__priceNum {
  font-size: 24px;
}

@media screen and (max-width: 640px) {
  .c-productDetail__priceNum {
    font-size: 18px;
  }
}

.c-productDetail__copy {
  font-weight: 700;
  font-size: 18px;
  line-height: 2;
  padding: 0.1px;
  letter-spacing: normal;
}

.c-productDetail__copy:before, .c-productDetail__copy:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-productDetail__copy:before {
  margin-top: calc((1 - 2) * 0.5em);
}

.c-productDetail__copy:after {
  margin-bottom: calc((1 - 2) * 0.5em);
}

@media screen and (max-width: 640px) {
  .c-productDetail__copy {
    font-size: 17px;
    line-height: 1.74;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-productDetail__copy:before, .c-productDetail__copy:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-productDetail__copy:before {
    margin-top: calc((1 - 1.74) * 0.5em);
  }
  .c-productDetail__copy:after {
    margin-bottom: calc((1 - 1.74) * 0.5em);
  }
}

.c-productDetail__copy:not(:first-child) {
  margin-top: 46px;
}

@media screen and (max-width: 640px) {
  .c-productDetail__copy:not(:first-child) {
    margin-top: 42px;
  }
}

.c-productDetail__text--small {
  font-size: 12px;
  line-height: 1.5;
  padding: 0.1px;
  letter-spacing: normal;
}

.c-productDetail__text--small:before, .c-productDetail__text--small:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-productDetail__text--small:before {
  margin-top: calc((1 - 1.5) * 0.5em);
}

.c-productDetail__text--small:after {
  margin-bottom: calc((1 - 1.5) * 0.5em);
}

.c-productDetail__text:not(:first-child) {
  margin-top: 38px;
}

@media screen and (max-width: 640px) {
  .c-productDetail__text:not(:first-child) {
    margin-top: 39px;
  }
}

.c-productDetail__add {
  font-size: 16px;
  line-height: 2;
  padding: 0.1px;
  letter-spacing: normal;
  margin-top: 80px;
}

.c-productDetail__add:before, .c-productDetail__add:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-productDetail__add:before {
  margin-top: calc((1 - 2) * 0.5em);
}

.c-productDetail__add:after {
  margin-bottom: calc((1 - 2) * 0.5em);
}

@media screen and (max-width: 640px) {
  .c-productDetail__add {
    font-size: 16px;
    line-height: 1.9;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-productDetail__add:before, .c-productDetail__add:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-productDetail__add:before {
    margin-top: calc((1 - 1.9) * 0.5em);
  }
  .c-productDetail__add:after {
    margin-bottom: calc((1 - 1.9) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .c-productDetail__add {
    margin-top: 59px;
  }
}

.c-productDetail__set {
  background-color: #f2f2f2;
  padding: 39px 30px 44px;
}

@media screen and (max-width: 640px) {
  .c-productDetail__set {
    padding: 30px 20px;
  }
}

.c-productDetail__set .c-productDetail__inlineTag {
  border-color: currentColor;
}

.c-productDetail__set:not(:first-child) {
  margin-top: 41px;
}

.c-productDetail__setTitle {
  font-size: 16px;
  line-height: 2;
  padding: 0.1px;
  letter-spacing: normal;
  font-weight: bold;
}

.c-productDetail__setTitle:before, .c-productDetail__setTitle:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-productDetail__setTitle:before {
  margin-top: calc((1 - 2) * 0.5em);
}

.c-productDetail__setTitle:after {
  margin-bottom: calc((1 - 2) * 0.5em);
}

@media screen and (max-width: 640px) {
  .c-productDetail__setTitle {
    font-size: 14px;
    line-height: 2;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-productDetail__setTitle:before, .c-productDetail__setTitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-productDetail__setTitle:before {
    margin-top: calc((1 - 2) * 0.5em);
  }
  .c-productDetail__setTitle:after {
    margin-bottom: calc((1 - 2) * 0.5em);
  }
}

.c-productDetail__setList a {
  text-decoration: underline;
}

.c-productDetail__setList:not(:first-child) {
  margin-top: 16px;
}

.c-productDetail__setItem {
  font-size: 16px;
  line-height: 2;
  padding: 0.1px;
  letter-spacing: normal;
}

.c-productDetail__setItem:before, .c-productDetail__setItem:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-productDetail__setItem:before {
  margin-top: calc((1 - 2) * 0.5em);
}

.c-productDetail__setItem:after {
  margin-bottom: calc((1 - 2) * 0.5em);
}

@media screen and (max-width: 640px) {
  .c-productDetail__setItem {
    font-size: 14px;
    line-height: 2;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-productDetail__setItem:before, .c-productDetail__setItem:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-productDetail__setItem:before {
    margin-top: calc((1 - 2) * 0.5em);
  }
  .c-productDetail__setItem:after {
    margin-bottom: calc((1 - 2) * 0.5em);
  }
}

.c-productDetail__setItem--small {
  font-size: 12px;
  line-height: 1.5;
  padding: 0.1px;
  letter-spacing: normal;
}

.c-productDetail__setItem--small:before, .c-productDetail__setItem--small:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-productDetail__setItem--small:before {
  margin-top: calc((1 - 1.5) * 0.5em);
}

.c-productDetail__setItem--small:after {
  margin-bottom: calc((1 - 1.5) * 0.5em);
}

.c-productDetail__inlineTag {
  border: 1px solid #f2f2f2;
  display: inline-block;
  line-height: 1;
  padding: 2px 4px;
}

.c-productDetail__captions {
  display: block;
  margin-top: 30px;
}

@media screen and (max-width: 640px) {
  .c-productDetail__captions {
    margin-top: 38px;
  }
}

.c-productDetail__caption {
  font-size: 14px;
  line-height: 2;
  padding: 0.1px;
  letter-spacing: normal;
}

.c-productDetail__caption:before, .c-productDetail__caption:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-productDetail__caption:before {
  margin-top: calc((1 - 2) * 0.5em);
}

.c-productDetail__caption:after {
  margin-bottom: calc((1 - 2) * 0.5em);
}

@media screen and (max-width: 640px) {
  .c-productDetail__caption {
    font-size: 11px;
    line-height: 1.88;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-productDetail__caption:before, .c-productDetail__caption:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-productDetail__caption:before {
    margin-top: calc((1 - 1.88) * 0.5em);
  }
  .c-productDetail__caption:after {
    margin-bottom: calc((1 - 1.88) * 0.5em);
  }
}

.c-productDetail__caption + .c-productDetail__caption {
  margin-top: 1em;
}

.c-productDetail__buttons {
  margin-top: 40px;
}

@media screen and (min-width: 641px), print {
  .c-productDetail__buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (max-width: 640px) {
  .c-productDetail__buttons {
    margin-top: 20px;
  }
}

@media screen and (min-width: 641px), print {
  .c-productDetail__buttons .c-button:not(:last-child) {
    margin-right: 30px;
  }
}

@media screen and (max-width: 640px) {
  .c-productDetail__buttons .c-button:not(:last-child) {
    margin-bottom: 20px;
  }
}

.c-productDetail__sns {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 40px;
}

@media screen and (max-width: 640px) {
  .c-productDetail__sns {
    margin-top: 20px;
  }
}

.c-productDetail__sns .c-headingSimple--4 {
  margin-right: 20px;
}

.c-productDetail__sns .c-snsButton:not(:last-child) {
  margin-right: 10px;
}

.c-productDetail__span {
  font-size: 11px;
  line-height: 2;
  padding: 0.1px;
  letter-spacing: normal;
  display: inline-block;
  text-decoration: inherit;
}

.c-productDetail__span:before, .c-productDetail__span:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-productDetail__span:before {
  margin-top: calc((1 - 2) * 0.5em);
}

.c-productDetail__span:after {
  margin-bottom: calc((1 - 2) * 0.5em);
}

.c-productDetail__span_type_anotation {
  margin-top: 16px;
}

.c-productDetail__span_type_setAnotation {
  margin-top: 32px;
}

.c-productDetail__setSubTitle {
  margin-top: 16px;
  font-weight: bold;
}

.c-productDetail--must_item .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#ffffff));
  background-image: linear-gradient(to bottom, #ffffff -10%, #ffffff);
}

.c-productDetail--exage .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#d1bada));
  background-image: linear-gradient(to bottom, #ffffff -10%, #d1bada);
}

.c-productDetail--exage_white .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#acc9ea));
  background-image: linear-gradient(to bottom, #ffffff -10%, #acc9ea);
}

.c-productDetail--exage_shimmer .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#e6f5d6));
  background-image: linear-gradient(to bottom, #ffffff -10%, #e6f5d6);
}

.c-productDetail--infinesse_plump_line .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#a7acb3));
  background-image: linear-gradient(to bottom, #ffffff -10%, #a7acb3);
}

.c-productDetail--infinesse_plump_bright_line .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#c9e7e5));
  background-image: linear-gradient(to bottom, #ffffff -10%, #c9e7e5);
}

.c-productDetail--infinesse .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#aeaa66));
  background-image: linear-gradient(to bottom, #ffffff -10%, #aeaa66);
}

.c-productDetail--infinesse_white .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#00a496));
  background-image: linear-gradient(to bottom, #ffffff -10%, #00a496);
}

.c-productDetail--excia_radiance_renew .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#a7a1a3));
  background-image: linear-gradient(to bottom, #ffffff -10%, #a7a1a3);
}

.c-productDetail--excia_al_whitening .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#a7a1a3));
  background-image: linear-gradient(to bottom, #ffffff -10%, #a7a1a3);
}

.c-productDetail--excia_al_renewing .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#a7a1a3));
  background-image: linear-gradient(to bottom, #ffffff -10%, #a7a1a3);
}

.c-productDetail--excia_embeage .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#001b4e));
  background-image: linear-gradient(to bottom, #ffffff -10%, #001b4e);
}

.c-productDetail--ex_vie .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#e6dfce));
  background-image: linear-gradient(to bottom, #ffffff -10%, #e6dfce);
}

.c-productDetail--excia_brightning .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#a7a1a3));
  background-image: linear-gradient(to bottom, #ffffff -10%, #a7a1a3);
}

.c-productDetail--flarune .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#faeede));
  background-image: linear-gradient(to bottom, #ffffff -10%, #faeede);
}

.c-productDetail--flarune_bright_line .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#d7e9eb));
  background-image: linear-gradient(to bottom, #ffffff -10%, #d7e9eb);
}

.c-productDetail--flarune_radieux .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#e4c9b7));
  background-image: linear-gradient(to bottom, #ffffff -10%, #e4c9b7);
}

.c-productDetail--albion .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#ffffff));
  background-image: linear-gradient(to bottom, #ffffff -10%, #ffffff);
}

.c-productDetail--albion_studio .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#d3d3e8));
  background-image: linear-gradient(to bottom, #ffffff -10%, #d3d3e8);
}

.c-productDetail--albion_base_makeup .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#f5e4d7));
  background-image: linear-gradient(to bottom, #ffffff -10%, #f5e4d7);
}

.c-productDetail--excia_al_base_makeup .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#ab9562));
  background-image: linear-gradient(to bottom, #ffffff -10%, #ab9562);
}

.c-productDetail--excia_point_makeup .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#c2b981));
  background-image: linear-gradient(to bottom, #ffffff -10%, #c2b981);
}

.c-productDetail--uv_cut .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#ffffff));
  background-image: linear-gradient(to bottom, #ffffff -10%, #ffffff);
}

.c-productDetail--spa_lanka .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#ffffff));
  background-image: linear-gradient(to bottom, #ffffff -10%, #ffffff);
}

.c-productDetail--renasair .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#ffffff));
  background-image: linear-gradient(to bottom, #ffffff -10%, #ffffff);
}

.c-productDetail--jouir .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#ffffff));
  background-image: linear-gradient(to bottom, #ffffff -10%, #ffffff);
}

.c-productDetail--excia_base_makeup .c-productDetail__bg {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-10%, #ffffff), to(#c2b981));
  background-image: linear-gradient(to bottom, #ffffff -10%, #c2b981);
}

.c-productDetail--exciaAl .c-productDetail__bg {
  background-image: url("/assets/img/seasonal/common/img-product-bg-excia_al.jpg");
}

.c-productDetail--eclafuturD .c-productDetail__bg {
  background-image: url("/assets/img/seasonal/common/img-product-bg-eclafutur_d.jpg");
}

.c-productDetail--li20210517 .c-productDetail__bg {
  background-image: url("/assets/img/seasonal/cp/li20210517/img-product-01-bg.jpg");
}

@media screen and (max-width: 640px) {
  .c-productDetail--li20210517 + .c-productDetail--li20210517 .c-productDetail__imgArea {
    margin-bottom: -30px;
    padding-bottom: 0;
  }
}

.c-productDetail--20250318ifbmcp .c-productDetail__image {
  position: relative;
}

.c-productDetail--20250318ifbmcp .c-productDetail__bg {
  background-image: url("/assets/img/seasonal/cp/20250318ifbmcp/img-product-bg.jpg");
}

.c-productDetail--20250519exa .c-productDetail__image {
  position: relative;
}

.c-productDetail--20250519exa .c-productDetail__bg {
  background-image: url("/assets/img/seasonal/cp/20250519exa/img-product-bg.jpg");
}

.c-productDetail--li20250120fbkit .c-productDetail__image {
  position: relative;
}

.c-productDetail--li20250120fbkit .c-productDetail__bg {
  background-image: url("/assets/img/seasonal/cp/li20250120fbkit/img-product-01-bg.jpg");
}

.c-productDetail--li20250218exa .c-productDetail__image {
  position: relative;
}

.c-productDetail--li20250218exa .c-productDetail__bg {
  background-image: url("/assets/img/seasonal/cp/li20250218exa/img-product-01-bg.jpg");
}

.c-productDetail--li20250120ifkit .c-productDetail__image {
  position: relative;
}

.c-productDetail--li20250120ifkit .c-productDetail__bg {
  background-image: url("/assets/img/seasonal/cp/li20250120ifkit/img-product-01-bg.jpg");
}

.c-productDetail--li2025518sc165 .c-productDetail__image {
  position: relative;
}

.c-productDetail--li2025518sc165 .c-productDetail__bg {
  background-image: url("/assets/img/seasonal/cp/li2025518sc165/img-product-01-bg.jpg");
}

.c-productDetail--li2025518sc330 .c-productDetail__image {
  position: relative;
}

.c-productDetail--li2025518sc330 .c-productDetail__bg {
  background-image: url("/assets/img/seasonal/cp/li2025518sc330/img-product-01-bg.jpg");
}

.c-productDetail__tag--campaign {
  padding: 4px 6px;
}

.c-productDetail__tagText--campaign {
  font-size: 10px;
}

.c-productList__sort {
  position: relative;
  width: 170px;
}

@media screen and (max-width: 640px) {
  .c-productList__sort {
    width: 100%;
  }
}

.c-productList__sort select {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  width: 100%;
  border: 1px solid #c1c1c1;
  border-radius: 0%;
  padding: 5px 18px;
  font-family: "YakuHanJPs", YuGothic, "Yu Gothic", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  font-size: 15px;
  color: #5a5a5a;
  background-color: #fff;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}

.c-productList__sort select:hover {
  cursor: pointer;
  border-color: #606060;
}

@media screen and (max-width: 640px) {
  .c-productList__sort select {
    padding: 12px 18px;
  }
}

.c-productList__sort::after {
  display: block;
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  border: solid 1px;
  border-color: transparent transparent #919191 #919191;
  top: 50%;
  right: 10px;
  margin-top: -6px;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

@media screen and (max-width: 640px) {
  .c-productList__sort::after {
    width: 1.33333vw;
    height: 1.33333vw;
    right: 5.33333vw;
    bottom: 5.33333vw;
    left: auto;
  }
}

.c-productList__item {
  border-bottom: 1px solid #e7e7e7;
}

.c-productList__backLink {
  margin-top: 100px;
}

@media screen and (max-width: 640px) {
  .c-productList__backLink {
    margin-top: 24px;
  }
}

@media screen and (max-width: 640px) {
  .c-productList__banner {
    margin-top: 65px;
  }
}

.c-searchBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-searchBox__input {
  border: 1px solid #c1c1c1;
  border-radius: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  font-size: 16px;
  line-height: 1;
  padding: 0 24px;
}

@media screen and (max-width: 640px) {
  .c-searchBox__input {
    padding: 12px 13px;
  }
}

.c-searchBox__input::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}

.c-searchBox__input::-moz-placeholder {
  color: #999999;
  font-size: 16px;
}

.c-searchBox__input:-ms-input-placeholder {
  color: #999999;
  font-size: 16px;
}

.c-searchBox__input::-ms-input-placeholder {
  color: #999999;
  font-size: 16px;
}

.c-searchBox__input::placeholder {
  color: #999999;
  font-size: 16px;
}

.c-searchBox__button {
  background-color: #606060;
  border: none;
  border-radius: 0;
  color: #ffffff;
  cursor: pointer;
  padding: 22px;
  width: 220px;
}

@media screen and (max-width: 640px) {
  .c-searchBox__button {
    padding: 14px;
    width: calc(140 / 630 * 100%);
  }
}

[data-platform='desktop'] .c-searchBox__button {
  -webkit-transition: opacity .3s ease;
  transition: opacity .3s ease;
}

[data-platform='desktop'] .c-searchBox__button:hover {
  opacity: .7;
}

.c-searchBox__buttonText {
  font-size: 16px;
  line-height: 1;
  padding: 0.1px;
  letter-spacing: 2.4px;
  display: block;
  font-weight: bold;
}

.c-searchBox__buttonText:before, .c-searchBox__buttonText:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-searchBox__buttonText:before {
  margin-top: 0;
}

.c-searchBox__buttonText:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .c-searchBox__buttonText {
    font-size: 12px;
    line-height: 1;
    padding: 0.1px;
    letter-spacing: 2.4px;
  }
  .c-searchBox__buttonText:before, .c-searchBox__buttonText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-searchBox__buttonText:before {
    margin-top: 0;
  }
  .c-searchBox__buttonText:after {
    margin-bottom: 0;
  }
}

.c-snsButton {
  display: inline-block;
  height: 40px;
  width: 40px;
}

.c-snsButton a {
  display: block;
  height: 100%;
  -webkit-transition: opacity .2s linear;
  transition: opacity .2s linear;
  width: 100%;
}

.c-snsButton a:hover {
  opacity: .7;
}

.c-snsButton--fb a {
  background: url("/assets/img/common/btn_facebook.png");
  background-size: contain;
}

.c-snsButton--tw a {
  background: url("/assets/img/common/btn_x.svg");
  background-size: contain;
}

.c-snsButton--line a {
  background: url("/assets/img/common/btn_line.png");
  background-size: contain;
}

.c-subheading {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin-bottom: 20px;
}

@media screen and (min-width: 641px), print {
  .c-subheading__main {
    font-size: 18px;
    line-height: 1;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-subheading__main:before, .c-subheading__main:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-subheading__main:before {
    margin-top: 0;
  }
  .c-subheading__main:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) {
  .c-subheading__main {
    font-size: 16px;
    line-height: 1;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-subheading__main:before, .c-subheading__main:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-subheading__main:before {
    margin-top: 0;
  }
  .c-subheading__main:after {
    margin-bottom: 0;
  }
}

.swiper-button-prev,
.swiper-button-next {
  background-repeat: no-repeat;
  background-size: 100% 100%;
  color: transparent;
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  display: none;
}

.swiper-button-prev {
  background-image: url("/assets/img/common/arrow-left-gray-02.svg");
}

.swiper-button-next {
  background-image: url("/assets/img/common/arrow-right-gray-02.svg");
}

.c-swiper {
  position: relative;
}

.c-swiper .swiper-container {
  --swiper-navigation-size: 50px;
  overflow: visible;
}

@media screen and (min-width: 641px), print {
  .c-swiper .swiper-container {
    margin: 0 auto;
    margin-left: -10px;
    /* label space */
    margin-top: -10px;
    /* label space */
    max-width: 1200px;
    padding-left: 10px;
    padding-top: 10px;
    /* label space */
  }
}

@media screen and (max-width: 640px) {
  .c-swiper .swiper-container {
    margin-left: -20px;
    margin-right: -20px;
    margin-top: -10px;
    /* label space */
    overflow: auto;
    padding-top: 10px;
    /* label space */
  }
}

@media screen and (min-width: 641px), print {
  .c-swiper .swiper-container--centered {
    margin-left: auto;
    margin-top: auto;
  }
}

@media screen and (max-width: 640px) {
  .c-swiper .swiper-container--centered {
    margin-left: auto;
    margin-right: auto;
    padding-top: 0;
  }
}

@media screen and (max-width: 640px) {
  .c-swiper .swiper-wrapper {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-left: 20px;
  }
}

@media screen and (min-width: 641px), print {
  .c-swiper .swiper-slide {
    height: auto;
  }
}

@media screen and (max-width: 640px) {
  .c-swiper .swiper-slide {
    padding-right: 20px;
    width: 70%;
  }
}

@media screen and (min-width: 641px), print {
  .c-swiper--col3 .swiper-slide {
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity .1s linear;
    transition: opacity .1s linear;
  }
}

@media screen and (min-width: 641px), print {
  .c-swiper--col3 .swiper-slide-active,
  .c-swiper--col3 .swiper-slide-active + .swiper-slide,
  .c-swiper--col3 .swiper-slide-active + .swiper-slide + .swiper-slide {
    opacity: 1;
    pointer-events: auto;
  }
}

@media screen and (min-width: 641px), print {
  .c-swiper--col4 .swiper-slide {
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity .1s linear;
    transition: opacity .1s linear;
  }
}

@media screen and (min-width: 641px), print {
  .c-swiper--col4 .swiper-slide-active,
  .c-swiper--col4 .swiper-slide-active + .swiper-slide,
  .c-swiper--col4 .swiper-slide-active + .swiper-slide + .swiper-slide,
  .c-swiper--col4 .swiper-slide-active + .swiper-slide + .swiper-slide + .swiper-slide {
    opacity: 1;
    pointer-events: auto;
  }
}

@media screen and (min-width: 641px), print {
  .c-swiper--col5 .swiper-slide {
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity .1s linear;
    transition: opacity .1s linear;
  }
}

@media screen and (min-width: 641px), print {
  .c-swiper--col5 .swiper-slide-active,
  .c-swiper--col5 .swiper-slide-active + .swiper-slide,
  .c-swiper--col5 .swiper-slide-active + .swiper-slide + .swiper-slide,
  .c-swiper--col5 .swiper-slide-active + .swiper-slide + .swiper-slide + .swiper-slide,
  .c-swiper--col5 .swiper-slide-active + .swiper-slide + .swiper-slide + .swiper-slide + .swiper-slide {
    opacity: 1;
    pointer-events: auto;
  }
}

@media screen and (min-width: 641px), print {
  .c-swiper--exVisible .swiper-slide {
    opacity: .5;
  }
}

@media screen and (min-width: 641px), print {
  .c-swiper__prev {
    left: -70px;
  }
}

@media screen and (max-width: 640px) {
  .c-swiper__prev {
    display: none;
  }
}

@media screen and (min-width: 641px), print {
  .c-swiper__next {
    right: -70px;
  }
}

@media screen and (max-width: 640px) {
  .c-swiper__next {
    display: none;
  }
}

.c-tagList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: -7px;
  margin-right: -7px;
}

.c-tagList a {
  text-decoration: none;
}

[data-platform='desktop'] .c-tagList a {
  -webkit-transition: opacity .3s ease;
  transition: opacity .3s ease;
}

[data-platform='desktop'] .c-tagList a:hover {
  opacity: .7;
}

.c-tagList__item {
  margin-bottom: 7px;
  margin-right: 7px;
}

.c-tagList__button {
  background: #ffffff;
  border-radius: 4px;
  display: block;
  padding: 12px;
}

@media screen and (max-width: 640px) {
  .c-tagList__button {
    padding: 10px;
  }
}

.c-tagList__buttonText {
  display: block;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.57;
  padding: 0.1px;
  letter-spacing: normal;
}

.c-tagList__buttonText:before, .c-tagList__buttonText:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-tagList__buttonText:before {
  margin-top: calc((1 - 1.57) * 0.5em);
}

.c-tagList__buttonText:after {
  margin-bottom: calc((1 - 1.57) * 0.5em);
}

@media screen and (max-width: 640px) {
  .c-tagList__buttonText {
    font-size: 11px;
    line-height: 1.57;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-tagList__buttonText:before, .c-tagList__buttonText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-tagList__buttonText:before {
    margin-top: calc((1 - 1.57) * 0.5em);
  }
  .c-tagList__buttonText:after {
    margin-bottom: calc((1 - 1.57) * 0.5em);
  }
}

@media screen and (min-width: 641px), print {
  .c-text {
    font-size: 16px;
    line-height: 2;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-text:before, .c-text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-text:before {
    margin-top: calc((1 - 2) * 0.5em);
  }
  .c-text:after {
    margin-bottom: calc((1 - 2) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .c-text {
    font-size: 16px;
    line-height: 1.875;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-text:before, .c-text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-text:before {
    margin-top: calc((1 - 1.875) * 0.5em);
  }
  .c-text:after {
    margin-bottom: calc((1 - 1.875) * 0.5em);
  }
}

.c-text__innerBlock {
  display: block;
}

@media screen and (min-width: 641px), print {
  .c-text--lg {
    font-size: 18px;
    line-height: 1.94444;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-text--lg:before, .c-text--lg:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-text--lg:before {
    margin-top: calc((1 - 1.94444) * 0.5em);
  }
  .c-text--lg:after {
    margin-bottom: calc((1 - 1.94444) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .c-text--lg {
    font-size: 18px;
    line-height: 1.77778;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-text--lg:before, .c-text--lg:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-text--lg:before {
    margin-top: calc((1 - 1.77778) * 0.5em);
  }
  .c-text--lg:after {
    margin-bottom: calc((1 - 1.77778) * 0.5em);
  }
}

@media screen and (min-width: 641px), print {
  .c-text--sm {
    font-size: 14px;
    line-height: 2.14286;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-text--sm:before, .c-text--sm:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-text--sm:before {
    margin-top: calc((1 - 2.14286) * 0.5em);
  }
  .c-text--sm:after {
    margin-bottom: calc((1 - 2.14286) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .c-text--sm {
    font-size: 14px;
    line-height: 1.85714;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-text--sm:before, .c-text--sm:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-text--sm:before {
    margin-top: calc((1 - 1.85714) * 0.5em);
  }
  .c-text--sm:after {
    margin-bottom: calc((1 - 1.85714) * 0.5em);
  }
}

@media screen and (min-width: 641px), print {
  .c-text--mini {
    font-size: 12px;
    line-height: 1.66667;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-text--mini:before, .c-text--mini:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-text--mini:before {
    margin-top: calc((1 - 1.66667) * 0.5em);
  }
  .c-text--mini:after {
    margin-bottom: calc((1 - 1.66667) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .c-text--mini {
    font-size: 12px;
    line-height: 2.08333;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-text--mini:before, .c-text--mini:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-text--mini:before {
    margin-top: calc((1 - 2.08333) * 0.5em);
  }
  .c-text--mini:after {
    margin-bottom: calc((1 - 2.08333) * 0.5em);
  }
}

.c-text--bold {
  font-weight: bold;
}

.c-text--thin {
  font-size: 16px;
  line-height: 1.875;
  padding: 0.1px;
  letter-spacing: normal;
}

.c-text--thin:before, .c-text--thin:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-text--thin:before {
  margin-top: calc((1 - 1.875) * 0.5em);
}

.c-text--thin:after {
  margin-bottom: calc((1 - 1.875) * 0.5em);
}

.c-textLink, .c-anchorLink {
  display: inline-block;
  -webkit-transition: opacity .3s linear;
  transition: opacity .3s linear;
}

.c-textLink a, .c-anchorLink a {
  text-decoration: none;
}

[data-platform='desktop'] .c-textLink a:hover, [data-platform='desktop'] .c-anchorLink a:hover {
  opacity: .7;
}

.c-textLink__link, .c-anchorLink__link {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-textLink__text, .c-anchorLink__text {
  font-size: 16px;
  line-height: 2;
  padding: 0.1px;
  letter-spacing: normal;
  color: #606060;
  display: inline-block;
  font-weight: 500;
}

.c-textLink__text:before, .c-anchorLink__text:before, .c-textLink__text:after, .c-anchorLink__text:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-textLink__text:before, .c-anchorLink__text:before {
  margin-top: calc((1 - 2) * 0.5em);
}

.c-textLink__text:after, .c-anchorLink__text:after {
  margin-bottom: calc((1 - 2) * 0.5em);
}

.c-textLink__icon, .c-anchorLink__icon {
  background: url("/assets/img/common/arrow-right-gray.svg") no-repeat;
  background-size: contain;
  display: block;
  height: 10px;
  width: 6px;
}

.c-textLink__icon:not(:first-child), .c-anchorLink__icon:not(:first-child) {
  margin-left: 13px;
}

@media screen and (max-width: 640px) {
  .c-textLink__icon:not(:first-child), .c-anchorLink__icon:not(:first-child) {
    margin-left: 6px;
  }
}

.c-textLink__icon:not(:last-child), .c-anchorLink__icon:not(:last-child) {
  margin-right: 13px;
}

@media screen and (max-width: 640px) {
  .c-textLink__icon:not(:last-child), .c-anchorLink__icon:not(:last-child) {
    margin-right: 6px;
  }
}

.c-textLink--sm .c-textLink__text, .c-anchorLink--sm .c-textLink__text, .c-textLink--sm .c-anchorLink__text, .c-anchorLink--sm .c-anchorLink__text {
  font-size: 14px;
  line-height: 2;
  padding: 0.1px;
  letter-spacing: normal;
}

.c-textLink--sm .c-textLink__text:before, .c-anchorLink--sm .c-textLink__text:before, .c-textLink--sm .c-anchorLink__text:before, .c-anchorLink--sm .c-anchorLink__text:before, .c-textLink--sm .c-textLink__text:after, .c-anchorLink--sm .c-textLink__text:after, .c-textLink--sm .c-anchorLink__text:after, .c-anchorLink--sm .c-anchorLink__text:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-textLink--sm .c-textLink__text:before, .c-anchorLink--sm .c-textLink__text:before, .c-textLink--sm .c-anchorLink__text:before, .c-anchorLink--sm .c-anchorLink__text:before {
  margin-top: calc((1 - 2) * 0.5em);
}

.c-textLink--sm .c-textLink__text:after, .c-anchorLink--sm .c-textLink__text:after, .c-textLink--sm .c-anchorLink__text:after, .c-anchorLink--sm .c-anchorLink__text:after {
  margin-bottom: calc((1 - 2) * 0.5em);
}

.c-textLink--back .c-textLink__icon, .c-textLink--back .c-anchorLink__icon {
  background: url("/assets/img/common/arrow-left-gray.svg") no-repeat;
}

.c-thumbnail {
  overflow: hidden;
}

.c-thumbnail img {
  max-height: 100%;
  max-width: 100%;
  -webkit-transition: -webkit-transform .5s ease;
  transition: -webkit-transform .5s ease;
  transition: transform .5s ease;
  transition: transform .5s ease, -webkit-transform .5s ease;
}

a:hover .c-thumbnail {
  text-decoration: none;
}

[data-platform='desktop'] a:hover .c-thumbnail img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.p-top-seriesbnr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 641px), print {
  .p-top-seriesbnr {
    gap: 30px;
    margin-bottom: 140px;
  }
}

@media screen and (max-width: 640px) {
  .p-top-seriesbnr {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 12px;
  }
}

.p-top-seriesbnr__link {
  display: block;
  height: 100%;
  overflow: hidden;
  -webkit-transition: opacity .2s linear;
  transition: opacity .2s linear;
  width: 100%;
}

.p-top-seriesbnr__link:hover {
  opacity: .7;
  text-decoration: none;
}

.p-top-seriesbnr__link:hover .p-top-seriesbnr__img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.p-top-seriesbnr__img {
  display: block;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform .5s ease;
  transition: -webkit-transform .5s ease;
  transition: transform .5s ease;
  transition: transform .5s ease, -webkit-transform .5s ease;
  width: 100%;
}

.c-ul > li {
  margin-left: 1em;
  text-indent: -1em;
}

.c-ul > li div,
.c-ul > li p,
.c-ul > li span,
.c-ul > li strong,
.c-ul > li em,
.c-ul > li sup,
.c-ul > li i {
  text-indent: 0;
}

.c-ul > li:before {
  content: '・';
}

.c-ul > li:not(:last-child) {
  margin-bottom: .2em;
}

.c-ul--sm {
  font-size: 14px;
}

.c-ul--mini {
  font-size: 12px;
}

.c-ul--wide {
  line-height: 2;
}

.c-ul--wide > li:not(:last-child) {
  margin-bottom: 1em;
}

.c-ul--noMarker > li {
  margin-left: 0;
  text-indent: 0;
}

.c-ul--noMarker > li:before {
  content: '';
}

.c-esssay-content .c-esssay-content__titleWrapper {
  position: relative;
  overflow: initial;
}

@media screen and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__titleWrapper {
    padding-left: 34px;
  }
}

.c-esssay-content .c-esssay-content__titleWrapper:before {
  position: absolute;
  left: 0;
  display: block;
  content: '';
  background-color: #bc6a9a;
}

@media screen and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__titleWrapper:before {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    bottom: 0;
    width: 4px;
    height: 64px;
  }
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__titleWrapper:before {
    top: 0;
    left: 0;
    width: 64px;
    height: 4px;
  }
}

@media screen and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__title {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.28571;
    padding: 0.1px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__title {
    font-size: 28px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__title {
    font-size: calc(28 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__title:before, .c-esssay-content .c-esssay-content__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-esssay-content .c-esssay-content__title:before {
    margin-top: 0;
  }
  .c-esssay-content .c-esssay-content__title:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__title {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__title:before, .c-esssay-content .c-esssay-content__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-esssay-content .c-esssay-content__title:before {
    margin-top: calc((1 - 1.28571) * 0.5em);
  }
  .c-esssay-content .c-esssay-content__title:after {
    margin-bottom: calc((1 - 1.28571) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__title {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.45455;
    padding: 0.1px;
    padding-top: 29px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .c-esssay-content .c-esssay-content__title {
    font-size: 22px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__title {
    font-size: calc(22 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__title:before, .c-esssay-content .c-esssay-content__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-esssay-content .c-esssay-content__title:before {
    margin-top: 0;
  }
  .c-esssay-content .c-esssay-content__title:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__title {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__title:before, .c-esssay-content .c-esssay-content__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-esssay-content .c-esssay-content__title:before {
    margin-top: calc((1 - 1.45455) * 0.5em);
  }
  .c-esssay-content .c-esssay-content__title:after {
    margin-bottom: calc((1 - 1.45455) * 0.5em);
  }
}

.c-esssay-content .c-esssay-content__textArea {
  position: relative;
}

@media screen and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__textArea {
    margin-top: 48px;
  }
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__textArea {
    margin-top: 30px;
  }
}

.c-esssay-content .c-esssay-content__section + .c-esssay-content__section {
  margin-top: 50px;
}

.c-esssay-content .c-esssay-content__textHeading {
  letter-spacing: 0.08em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
  line-height: 1.5;
  padding: 0.1px;
}

@media screen and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__textHeading {
    font-size: 20px;
  }
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__textHeading {
    font-size: calc(20 / 375 * 100vw);
  }
}

.c-esssay-content .c-esssay-content__textHeading:before, .c-esssay-content .c-esssay-content__textHeading:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-esssay-content .c-esssay-content__textHeading:before {
  margin-top: 0;
}

.c-esssay-content .c-esssay-content__textHeading:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__textHeading {
    letter-spacing: 0.01em !important;
  }
}

.c-esssay-content .c-esssay-content__textHeading:before, .c-esssay-content .c-esssay-content__textHeading:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-esssay-content .c-esssay-content__textHeading:before {
  margin-top: calc((1 - 1.5) * 0.5em);
}

.c-esssay-content .c-esssay-content__textHeading:after {
  margin-bottom: calc((1 - 1.5) * 0.5em);
}

.c-esssay-content .c-esssay-content__textHeading + .c-esssay-content__textAreaText {
  margin-top: 32px;
}

@media screen and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__textAreaText {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.85714;
    padding: 0.1px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__textAreaText {
    font-size: 14px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__textAreaText {
    font-size: calc(14 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__textAreaText:before, .c-esssay-content .c-esssay-content__textAreaText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-esssay-content .c-esssay-content__textAreaText:before {
    margin-top: 0;
  }
  .c-esssay-content .c-esssay-content__textAreaText:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__textAreaText {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__textAreaText:before, .c-esssay-content .c-esssay-content__textAreaText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-esssay-content .c-esssay-content__textAreaText:before {
    margin-top: calc((1 - 1.85714) * 0.5em);
  }
  .c-esssay-content .c-esssay-content__textAreaText:after {
    margin-bottom: calc((1 - 1.85714) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__textAreaText {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.5;
    padding: 0.1px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .c-esssay-content .c-esssay-content__textAreaText {
    font-size: 16px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__textAreaText {
    font-size: calc(16 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__textAreaText:before, .c-esssay-content .c-esssay-content__textAreaText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-esssay-content .c-esssay-content__textAreaText:before {
    margin-top: 0;
  }
  .c-esssay-content .c-esssay-content__textAreaText:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__textAreaText {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__textAreaText:before, .c-esssay-content .c-esssay-content__textAreaText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-esssay-content .c-esssay-content__textAreaText:before {
    margin-top: calc((1 - 1.5) * 0.5em);
  }
  .c-esssay-content .c-esssay-content__textAreaText:after {
    margin-bottom: calc((1 - 1.5) * 0.5em);
  }
}

.c-esssay-content .c-esssay-content__textAreaText + .c-esssay-content__textAreaText {
  padding-top: 1.4em;
}

.c-esssay-content .c-esssay-content__textAreaSign {
  position: absolute;
  width: 120px;
  right: 0;
}

@media screen and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__textAreaSign {
    top: calc(100% + 30px);
  }
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__textAreaSign {
    top: calc(100% + 25px);
  }
}

.c-esssay-content .c-esssay-content__textAreaSign img {
  width: 100%;
}

.c-esssay-content .c-esssay-content__writer {
  position: relative;
}

@media screen and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__writer {
    padding-top: 48px;
    padding-bottom: 48px;
    margin-top: 128px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .c-esssay-content .c-esssay-content__writer::before {
    z-index: -1;
    position: absolute;
    top: 0;
    left: 344px;
    display: block;
    content: '';
    width: 50vw;
    height: 100%;
    background-color: #fef5f7;
  }
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__writer {
    margin-top: 175px;
  }
}

@media screen and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__writterThumb {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 121px;
    height: auto;
    margin-right: 40px;
  }
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__writterThumb {
    position: absolute;
    left: calc(55 / 375 * 100vw);
    top: -65px;
    width: 128px;
    height: auto;
  }
}

.c-esssay-content .c-esssay-content__writterThumb img {
  width: 100%;
}

@media screen and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__writterTextArea {
    width: 344px;
  }
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__writterTextArea {
    position: relative;
    padding-top: 85px;
    padding-bottom: 30px;
    padding-left: calc(55 / 375 * 100vw);
  }
  .c-esssay-content .c-esssay-content__writterTextArea::before {
    z-index: -1;
    position: absolute;
    top: 0;
    right: -30vw;
    left: 0;
    bottom: 0;
    display: block;
    content: '';
    background-color: #fef5f7;
  }
  .c-esssay-content .c-esssay-content__writterTextArea::after {
    display: block;
    content: '';
    clear: both;
  }
}

.c-esssay-content .c-esssay-content__writterName {
  letter-spacing: 0.08em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
}

@media screen and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__writterName {
    font-size: 18px;
  }
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__writterName {
    font-size: calc(18 / 375 * 100vw);
  }
}

.c-esssay-content .c-esssay-content__writterName:before, .c-esssay-content .c-esssay-content__writterName:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-esssay-content .c-esssay-content__writterName:before {
  margin-top: 0;
}

.c-esssay-content .c-esssay-content__writterName:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__writterName {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__writterName {
    margin-bottom: 24px;
  }
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__writterName {
    position: absolute;
    top: 24px;
    right: 0;
  }
}

.c-esssay-content .c-esssay-content__writterName--small {
  letter-spacing: 0.08em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
}

@media screen and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__writterName--small {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__writterName--small {
    font-size: calc(14 / 375 * 100vw);
  }
}

.c-esssay-content .c-esssay-content__writterName--small:before, .c-esssay-content .c-esssay-content__writterName--small:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.c-esssay-content .c-esssay-content__writterName--small:before {
  margin-top: 0;
}

.c-esssay-content .c-esssay-content__writterName--small:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__writterName--small {
    letter-spacing: 0.01em !important;
  }
}

.c-esssay-content .c-esssay-content__writterName--small::before, .c-esssay-content .c-esssay-content__writterName--small::after {
  display: none;
}

.c-esssay-content .c-esssay-content__writterText {
  color: #666666;
}

@media screen and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__writterText {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.83333;
    padding: 0.1px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__writterText {
    font-size: 12px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__writterText {
    font-size: calc(12 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__writterText:before, .c-esssay-content .c-esssay-content__writterText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-esssay-content .c-esssay-content__writterText:before {
    margin-top: 0;
  }
  .c-esssay-content .c-esssay-content__writterText:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__writterText {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__writterText:before, .c-esssay-content .c-esssay-content__writterText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-esssay-content .c-esssay-content__writterText:before {
    margin-top: calc((1 - 1.83333) * 0.5em);
  }
  .c-esssay-content .c-esssay-content__writterText:after {
    margin-bottom: calc((1 - 1.83333) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__writterText {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.83361;
    padding: 0.1px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .c-esssay-content .c-esssay-content__writterText {
    font-size: 11.84px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__writterText {
    font-size: calc(11.84 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__writterText:before, .c-esssay-content .c-esssay-content__writterText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-esssay-content .c-esssay-content__writterText:before {
    margin-top: 0;
  }
  .c-esssay-content .c-esssay-content__writterText:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__writterText {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__writterText:before, .c-esssay-content .c-esssay-content__writterText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-esssay-content .c-esssay-content__writterText:before {
    margin-top: calc((1 - 1.83361) * 0.5em);
  }
  .c-esssay-content .c-esssay-content__writterText:after {
    margin-bottom: calc((1 - 1.83361) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__writterTextSpace {
    float: right;
    height: 85px;
  }
}

.c-esssay-content .c-esssay-content__magazines {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: no-repeat center/contain url("/assets/img/excia/essay/essay-content/magazine.png");
}

@media screen and (min-width: 641px), print {
  .c-esssay-content .c-esssay-content__magazines {
    position: absolute;
    top: 72px;
    right: 0;
    width: 144px;
    height: 109px;
  }
}

@media screen and (max-width: 640px) {
  .c-esssay-content .c-esssay-content__magazines {
    letter-spacing: 0.4em !important;
    float: right;
    clear: both;
    padding-left: 24px;
    width: 114px;
    height: 80px;
  }
}

.c-essay-issue-list .c-essay-issue-list__list {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-top: 1px solid #666666;
  border-bottom: 1px solid #666666;
}

@media screen and (min-width: 641px), print {
  .c-essay-issue-list .c-essay-issue-list__list {
    padding-top: 48px;
    padding-left: 40px;
    padding-bottom: 60px;
  }
}

@media screen and (max-width: 640px) {
  .c-essay-issue-list .c-essay-issue-list__list {
    padding-top: 48px;
    padding-bottom: 40px;
  }
}

.c-essay-issue-list .c-essay-issue-list__item--current .c-essay-issue-list__itemText {
  color: #bc6a9a;
}

.c-essay-issue-list .c-essay-issue-list__item--disable {
  /* "COMING SOON" が入ることを前提にする */
}

.c-essay-issue-list .c-essay-issue-list__item--disable .c-essay-issue-list__itemIssue {
  color: #cccccc;
}

.c-essay-issue-list .c-essay-issue-list__item--disable .c-essay-issue-list__itemText {
  color: #cccccc;
}

@media screen and (min-width: 641px), print {
  .c-essay-issue-list .c-essay-issue-list__item--disable .c-essay-issue-list__itemText {
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: optima, "Tenor Sans";
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .c-essay-issue-list .c-essay-issue-list__item--disable .c-essay-issue-list__itemText {
    font-size: 12px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .c-essay-issue-list .c-essay-issue-list__item--disable .c-essay-issue-list__itemText {
    font-size: calc(12 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .c-essay-issue-list .c-essay-issue-list__item--disable .c-essay-issue-list__itemText:before, .c-essay-issue-list .c-essay-issue-list__item--disable .c-essay-issue-list__itemText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-essay-issue-list .c-essay-issue-list__item--disable .c-essay-issue-list__itemText:before {
    margin-top: 0;
  }
  .c-essay-issue-list .c-essay-issue-list__item--disable .c-essay-issue-list__itemText:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .c-essay-issue-list .c-essay-issue-list__item--disable .c-essay-issue-list__itemText {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .c-essay-issue-list .c-essay-issue-list__item--disable .c-essay-issue-list__itemText {
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: optima, "Tenor Sans";
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .c-essay-issue-list .c-essay-issue-list__item--disable .c-essay-issue-list__itemText {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .c-essay-issue-list .c-essay-issue-list__item--disable .c-essay-issue-list__itemText {
    font-size: calc(14 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .c-essay-issue-list .c-essay-issue-list__item--disable .c-essay-issue-list__itemText:before, .c-essay-issue-list .c-essay-issue-list__item--disable .c-essay-issue-list__itemText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-essay-issue-list .c-essay-issue-list__item--disable .c-essay-issue-list__itemText:before {
    margin-top: 0;
  }
  .c-essay-issue-list .c-essay-issue-list__item--disable .c-essay-issue-list__itemText:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .c-essay-issue-list .c-essay-issue-list__item--disable .c-essay-issue-list__itemText {
    letter-spacing: 0.01em !important;
  }
}

.c-essay-issue-list .c-essay-issue-list__item:nth-child(n + 2) {
  margin-top: 40px;
}

@media screen and (min-width: 641px), print {
  .c-essay-issue-list .c-essay-issue-list__itemInner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media screen and (max-width: 640px) {
  .c-essay-issue-list .c-essay-issue-list__itemInner {
    width: calc(100% - 11px);
  }
  .c-essay-issue-list .c-essay-issue-list__itemInner .p-viewmoreBtn__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media screen and (min-width: 641px), print {
  .c-essay-issue-list .c-essay-issue-list__itemIssue {
    position: relative;
    margin-right: 30px;
    /* bold 700 */
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: meno-banner, serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .c-essay-issue-list .c-essay-issue-list__itemIssue {
    font-size: 12px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .c-essay-issue-list .c-essay-issue-list__itemIssue {
    font-size: calc(12 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .c-essay-issue-list .c-essay-issue-list__itemIssue:before, .c-essay-issue-list .c-essay-issue-list__itemIssue:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-essay-issue-list .c-essay-issue-list__itemIssue:before {
    margin-top: 0;
  }
  .c-essay-issue-list .c-essay-issue-list__itemIssue:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .c-essay-issue-list .c-essay-issue-list__itemIssue {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .c-essay-issue-list .c-essay-issue-list__itemIssue {
    /* bold 700 */
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: meno-banner, serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .c-essay-issue-list .c-essay-issue-list__itemIssue {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .c-essay-issue-list .c-essay-issue-list__itemIssue {
    font-size: calc(14 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .c-essay-issue-list .c-essay-issue-list__itemIssue:before, .c-essay-issue-list .c-essay-issue-list__itemIssue:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-essay-issue-list .c-essay-issue-list__itemIssue:before {
    margin-top: 0;
  }
  .c-essay-issue-list .c-essay-issue-list__itemIssue:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .c-essay-issue-list .c-essay-issue-list__itemIssue {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .c-essay-issue-list .c-essay-issue-list__itemIssue--new {
    position: absolute;
    top: 50%;
    left: -40px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .c-essay-issue-list .c-essay-issue-list__itemIssue--new img {
    width: 32px;
  }
}

@media screen and (max-width: 640px) {
  .c-essay-issue-list .c-essay-issue-list__itemIssue--new {
    width: 40px;
    display: inline-block;
    margin-right: 15px;
    vertical-align: middle;
  }
}

.c-essay-issue-list .c-essay-issue-list__itemIssue--num {
  padding-left: 4px !important;
}

.c-essay-issue-list .c-essay-issue-list__itemIssue--num::before, .c-essay-issue-list .c-essay-issue-list__itemIssue--num::after {
  display: none;
}

.c-essay-issue-list .c-essay-issue-list__item:not(:first-child) .c-essay-issue-list__itemIssue--new {
  display: none;
}

.c-essay-issue-list .c-essay-issue-list__itemContent {
  position: relative;
}

@media screen and (min-width: 641px), print {
  .c-essay-issue-list .c-essay-issue-list__itemContent {
    width: 450px;
  }
}

@media screen and (max-width: 640px) {
  .c-essay-issue-list .c-essay-issue-list__itemContent {
    margin-top: 16px;
  }
}

@media screen and (min-width: 641px), print {
  .c-essay-issue-list .c-essay-issue-list__itemText {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.42857;
    padding: 0.1px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .c-essay-issue-list .c-essay-issue-list__itemText {
    font-size: 14px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .c-essay-issue-list .c-essay-issue-list__itemText {
    font-size: calc(14 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .c-essay-issue-list .c-essay-issue-list__itemText:before, .c-essay-issue-list .c-essay-issue-list__itemText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-essay-issue-list .c-essay-issue-list__itemText:before {
    margin-top: 0;
  }
  .c-essay-issue-list .c-essay-issue-list__itemText:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .c-essay-issue-list .c-essay-issue-list__itemText {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .c-essay-issue-list .c-essay-issue-list__itemText:before, .c-essay-issue-list .c-essay-issue-list__itemText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-essay-issue-list .c-essay-issue-list__itemText:before {
    margin-top: calc((1 - 1.42857) * 0.5em);
  }
  .c-essay-issue-list .c-essay-issue-list__itemText:after {
    margin-bottom: calc((1 - 1.42857) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .c-essay-issue-list .c-essay-issue-list__itemText {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.5;
    padding: 0.1px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .c-essay-issue-list .c-essay-issue-list__itemText {
    font-size: 16px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .c-essay-issue-list .c-essay-issue-list__itemText {
    font-size: calc(16 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .c-essay-issue-list .c-essay-issue-list__itemText:before, .c-essay-issue-list .c-essay-issue-list__itemText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-essay-issue-list .c-essay-issue-list__itemText:before {
    margin-top: 0;
  }
  .c-essay-issue-list .c-essay-issue-list__itemText:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .c-essay-issue-list .c-essay-issue-list__itemText {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .c-essay-issue-list .c-essay-issue-list__itemText:before, .c-essay-issue-list .c-essay-issue-list__itemText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-essay-issue-list .c-essay-issue-list__itemText:before {
    margin-top: calc((1 - 1.5) * 0.5em);
  }
  .c-essay-issue-list .c-essay-issue-list__itemText:after {
    margin-bottom: calc((1 - 1.5) * 0.5em);
  }
}

.c-essay-issue-list .c-essay-issue-list__itemBtn {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
}

.c-essay-mainvisual .c-essay-mainvisual__main {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  /* 背景 */
}

@media screen and (min-width: 641px), print {
  .c-essay-mainvisual .c-essay-mainvisual__main {
    padding-bottom: 34px;
    padding-top: 60px;
  }
}

@media screen and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__main {
    padding-bottom: 30px;
    padding-top: 48px;
    text-align: center;
  }
}

.c-essay-mainvisual .c-essay-mainvisual__main:before {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 0;
  content: '';
  display: block;
  left: 50%;
  position: absolute;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
}

@media screen and (min-width: 641px), print {
  .c-essay-mainvisual .c-essay-mainvisual__main:before {
    background-image: url("/assets/img/excia/essay/main-visual/bg-mv-pc.jpg");
    width: 1920px;
  }
}

@media screen and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__main:before {
    background-image: url("/assets/img/excia/essay/main-visual/bg-mv-sp.jpg");
    width: 100%;
  }
}

.c-essay-mainvisual .c-essay-mainvisual__title {
  display: block;
}

@media screen and (min-width: 641px), print {
  .c-essay-mainvisual .c-essay-mainvisual__title {
    /* bold 700 */
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: meno-banner, serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .c-essay-mainvisual .c-essay-mainvisual__title {
    font-size: 18px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__title {
    font-size: calc(18 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .c-essay-mainvisual .c-essay-mainvisual__title:before, .c-essay-mainvisual .c-essay-mainvisual__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-essay-mainvisual .c-essay-mainvisual__title:before {
    margin-top: 0;
  }
  .c-essay-mainvisual .c-essay-mainvisual__title:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__title {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__title {
    /* bold 700 */
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: meno-banner, serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .c-essay-mainvisual .c-essay-mainvisual__title {
    font-size: 16px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__title {
    font-size: calc(16 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__title:before, .c-essay-mainvisual .c-essay-mainvisual__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-essay-mainvisual .c-essay-mainvisual__title:before {
    margin-top: 0;
  }
  .c-essay-mainvisual .c-essay-mainvisual__title:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__title {
    letter-spacing: 0.01em !important;
  }
}

.c-essay-mainvisual .c-essay-mainvisual__headline {
  display: block;
}

@media screen and (min-width: 641px), print {
  .c-essay-mainvisual .c-essay-mainvisual__headline {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-style: italic;
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    margin-top: 23px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .c-essay-mainvisual .c-essay-mainvisual__headline {
    font-size: 32px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__headline {
    font-size: calc(32 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .c-essay-mainvisual .c-essay-mainvisual__headline:before, .c-essay-mainvisual .c-essay-mainvisual__headline:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-essay-mainvisual .c-essay-mainvisual__headline:before {
    margin-top: 0;
  }
  .c-essay-mainvisual .c-essay-mainvisual__headline:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__headline {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__headline {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-style: italic;
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.5;
    padding: 0.1px;
    margin-top: 24px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .c-essay-mainvisual .c-essay-mainvisual__headline {
    font-size: 26px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__headline {
    font-size: calc(26 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__headline:before, .c-essay-mainvisual .c-essay-mainvisual__headline:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-essay-mainvisual .c-essay-mainvisual__headline:before {
    margin-top: 0;
  }
  .c-essay-mainvisual .c-essay-mainvisual__headline:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__headline {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__headline:before, .c-essay-mainvisual .c-essay-mainvisual__headline:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-essay-mainvisual .c-essay-mainvisual__headline:before {
    margin-top: calc((1 - 1.5) * 0.5em);
  }
  .c-essay-mainvisual .c-essay-mainvisual__headline:after {
    margin-bottom: calc((1 - 1.5) * 0.5em);
  }
}

@media screen and (min-width: 641px), print {
  .c-essay-mainvisual .c-essay-mainvisual__issueObject {
    left: calc(50% + 324px);
    position: absolute;
    top: 43px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@media screen and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__issueObject {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 28px;
    width: 100%;
  }
}

@media screen and (min-width: 641px), print {
  [data-issue-number="5"] .c-essay-mainvisual .c-essay-mainvisual__issueObject {
    -webkit-transform: translate(-25%, -10%);
            transform: translate(-25%, -10%);
  }
}

@media screen and (max-width: 640px) {
  [data-issue-number="5"] .c-essay-mainvisual .c-essay-mainvisual__issueObject {
    -webkit-transform: translate(15%, -10%);
            transform: translate(15%, -10%);
  }
}

@media screen and (min-width: 641px), print {
  [data-issue-number="8"] .c-essay-mainvisual .c-essay-mainvisual__issueObject {
    -webkit-transform: translate(-25%, 10%);
            transform: translate(-25%, 10%);
  }
}

@media screen and (min-width: 641px), print {
  [data-issue-number="13"] .c-essay-mainvisual .c-essay-mainvisual__issueObject {
    -webkit-transform: translate(-40%, 10%);
            transform: translate(-40%, 10%);
  }
}

.c-essay-mainvisual .c-essay-mainvisual__issueNum {
  color: #e28fa1;
}

@media screen and (min-width: 641px), print {
  .c-essay-mainvisual .c-essay-mainvisual__issueNum {
    /* bold 700 */
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: meno-banner, serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    margin-top: 30px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .c-essay-mainvisual .c-essay-mainvisual__issueNum {
    font-size: 40px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__issueNum {
    font-size: calc(40 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .c-essay-mainvisual .c-essay-mainvisual__issueNum:before, .c-essay-mainvisual .c-essay-mainvisual__issueNum:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-essay-mainvisual .c-essay-mainvisual__issueNum:before {
    margin-top: 0;
  }
  .c-essay-mainvisual .c-essay-mainvisual__issueNum:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__issueNum {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__issueNum {
    /* bold 700 */
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: meno-banner, serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    margin-top: 27px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .c-essay-mainvisual .c-essay-mainvisual__issueNum {
    font-size: 32px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__issueNum {
    font-size: calc(32 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__issueNum:before, .c-essay-mainvisual .c-essay-mainvisual__issueNum:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-essay-mainvisual .c-essay-mainvisual__issueNum:before {
    margin-top: 0;
  }
  .c-essay-mainvisual .c-essay-mainvisual__issueNum:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__issueNum {
    letter-spacing: 0.01em !important;
  }
}

.c-essay-mainvisual .c-essay-mainvisual__textArea {
  color: #666666;
  overflow: hidden;
  padding-bottom: 40px;
  position: relative;
  -webkit-transition: max-height ease-in-out 500ms;
  transition: max-height ease-in-out 500ms;
}

.c-essay-mainvisual .c-essay-mainvisual__textArea:before {
  background: -webkit-gradient(linear, left bottom, left top, color-stop(25%, white), color-stop(75%, rgba(255, 255, 255, 0.75)), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(0deg, white 25%, rgba(255, 255, 255, 0.75) 75%, rgba(255, 255, 255, 0) 100%);
  bottom: 0;
  content: '';
  display: block;
  left: 0;
  position: absolute;
  -webkit-transition: opacity ease-in-out 500ms, visibility ease-in-out 500ms;
  transition: opacity ease-in-out 500ms, visibility ease-in-out 500ms;
  width: 100%;
}

@media screen and (min-width: 641px), print {
  .c-essay-mainvisual .c-essay-mainvisual__textArea:before {
    height: 60px;
  }
}

@media screen and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__textArea:before {
    height: 80px;
  }
}

@media screen and (min-width: 641px), print {
  .c-essay-mainvisual .c-essay-mainvisual__textArea {
    margin-top: 48px;
    max-height: 20px;
  }
}

@media screen and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__textArea {
    margin-top: 40px;
    max-height: 100px;
  }
}

@media screen and (min-width: 641px), print {
  .c-essay-mainvisual .c-essay-mainvisual__textArea.is-open {
    max-height: 250px;
  }
}

@media screen and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__textArea.is-open {
    max-height: 400px;
  }
}

.c-essay-mainvisual .c-essay-mainvisual__textArea.is-open:before {
  opacity: 0;
  visibility: hidden;
}

@media screen and (min-width: 641px), print {
  .c-essay-mainvisual .c-essay-mainvisual__text {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-style: italic;
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.85714;
    padding: 0.1px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .c-essay-mainvisual .c-essay-mainvisual__text {
    font-size: 14px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__text {
    font-size: calc(14 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .c-essay-mainvisual .c-essay-mainvisual__text:before, .c-essay-mainvisual .c-essay-mainvisual__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-essay-mainvisual .c-essay-mainvisual__text:before {
    margin-top: 0;
  }
  .c-essay-mainvisual .c-essay-mainvisual__text:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__text {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .c-essay-mainvisual .c-essay-mainvisual__text:before, .c-essay-mainvisual .c-essay-mainvisual__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-essay-mainvisual .c-essay-mainvisual__text:before {
    margin-top: calc((1 - 1.85714) * 0.5em);
  }
  .c-essay-mainvisual .c-essay-mainvisual__text:after {
    margin-bottom: calc((1 - 1.85714) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__text {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-style: italic;
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.5;
    padding: 0.1px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .c-essay-mainvisual .c-essay-mainvisual__text {
    font-size: 16px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__text {
    font-size: calc(16 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__text:before, .c-essay-mainvisual .c-essay-mainvisual__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-essay-mainvisual .c-essay-mainvisual__text:before {
    margin-top: 0;
  }
  .c-essay-mainvisual .c-essay-mainvisual__text:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__text {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .c-essay-mainvisual .c-essay-mainvisual__text:before, .c-essay-mainvisual .c-essay-mainvisual__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-essay-mainvisual .c-essay-mainvisual__text:before {
    margin-top: calc((1 - 1.5) * 0.5em);
  }
  .c-essay-mainvisual .c-essay-mainvisual__text:after {
    margin-bottom: calc((1 - 1.5) * 0.5em);
  }
}

.c-exiaAccordion {
  position: relative;
  -webkit-transition: opacity101 0.6s, -webkit-transform 0.6s;
  transition: opacity101 0.6s, -webkit-transform 0.6s;
  transition: opacity101 0.6s, transform 0.6s;
  transition: opacity101 0.6s, transform 0.6s, -webkit-transform 0.6s;
}

@-webkit-keyframes opacity101 {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes opacity101 {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.c-exiaAccordion--closed {
  opacity: 1;
  /* js側で指定
      初期値(&--no-accordionがあるとき、スタイルが上書きされる)
      data-pc-character-limit or data-pc-character-limit
      の高さになるようにする */
}

.c-exiaAccordion--closed .c-exiaAccordion__contents {
  height: attr(data-parent) px;
}

.c-exiaAccordion--closed .c-exiaAccordion__triggerText::before {
  content: 'READ MORE';
}

.c-exiaAccordion--closed .c-exiaAccordion__trigger:hover .c-exiaAccordion__triggerIcon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.c-exiaAccordion--opened {
  opacity: 1;
  /* js側で指定 */
}

.c-exiaAccordion--opened .c-exiaAccordion__contents {
  height: auto !important;
}

.c-exiaAccordion--opened .c-exiaAccordion__triggerText::before {
  content: 'READ LESS';
}

@media screen and (min-width: 641px), print {
  .c-exiaAccordion--opened .c-exiaAccordion__trigger:hover .c-exiaAccordion__triggerIcon {
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg);
  }
}

.c-exiaAccordion--no-accordion {
  /* js側で指定
      data-pc-height-limit or data-sp-height-limit
      JS側でheightの比較をした上で、オーバーしなかったときこのオプションがつく
      オーバーしなかったとき、すべてのスタイルを打ち消す */
}

.c-exiaAccordion--no-accordion .c-exiaAccordion__contents {
  height: auto !important;
}

.c-exiaAccordion--no-accordion .c-exiaAccordion__triggerParentWrapper {
  display: none !important;
}

.c-exiaAccordion button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.c-exiaAccordion .c-exiaAccordion__triggerParentWrapper {
  position: absolute;
  left: 0;
  right: 0;
  height: 17px;
}

@media screen and (min-width: 641px), print {
  .c-exiaAccordion .c-exiaAccordion__triggerParentWrapper {
    top: calc(100% + 24px);
  }
}

@media screen and (max-width: 640px) {
  .c-exiaAccordion .c-exiaAccordion__triggerParentWrapper {
    top: calc(100% + 30px);
  }
}

.c-exiaAccordion .c-exiaAccordion__triggerParent {
  position: relative;
  width: 100%;
  height: 100%;
}

.c-exiaAccordion .c-exiaAccordion__triggerParent::before {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  content: '';
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.2)), color-stop(30%, white), to(white));
  background: linear-gradient(rgba(255, 255, 255, 0.2) 0%, white 30%, white 100%);
}

@media screen and (min-width: 641px), print {
  .c-exiaAccordion .c-exiaAccordion__triggerParent::before {
    height: 56px;
  }
}

.c-exiaAccordion .c-exiaAccordion__trigger {
  z-index: 1;
  position: absolute;
  left: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transform-origin: center;
          transform-origin: center;
}

.c-exiaAccordion .c-exiaAccordion__triggerIcon {
  -webkit-transition: -webkit-transform 0.8s;
  transition: -webkit-transform 0.8s;
  transition: transform 0.8s;
  transition: transform 0.8s, -webkit-transform 0.8s;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #bc6a9a;
  border-radius: 50%;
  width: 17px;
  height: 17px;
  margin-right: 16px;
}

.c-exiaAccordion .c-exiaAccordion__triggerIcon::before, .c-exiaAccordion .c-exiaAccordion__triggerIcon::after {
  position: absolute;
  -webkit-transform-origin: center;
          transform-origin: center;
  display: block;
  content: '';
  background-color: #bc6a9a;
}

.c-exiaAccordion .c-exiaAccordion__triggerIcon::before {
  top: 7px;
  left: 4px;
  width: 7px;
  height: 1px;
}

.c-exiaAccordion .c-exiaAccordion__triggerIcon::after {
  top: 4px;
  left: 7px;
  width: 1px;
  height: 7px;
}

.c-exiaAccordion .c-exiaAccordion__triggerText {
  position: relative;
}

@media screen and (min-width: 641px), print {
  .c-exiaAccordion .c-exiaAccordion__triggerText {
    height: 12px;
    width: 78px;
  }
}

@media screen and (max-width: 640px) {
  .c-exiaAccordion .c-exiaAccordion__triggerText {
    height: 14px;
    width: 90px;
  }
}

.c-exiaAccordion .c-exiaAccordion__triggerText::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  /* 状態に応じて文字が入る */
  white-space: nowrap;
  color: #bc6a9a;
  font-family: optima, 'Tenor Sans';
  line-height: 1em;
  letter-spacing: 0.1em;
}

@media screen and (min-width: 641px), print {
  .c-exiaAccordion .c-exiaAccordion__triggerText::before {
    font-size: 12px;
  }
}

@media screen and (max-width: 640px) {
  .c-exiaAccordion .c-exiaAccordion__triggerText::before {
    font-size: 14px;
  }
}

.c-exiaToggleButton {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  border: none;
  bottom: 0;
  color: #bc6a9a;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: optima, "Tenor Sans";
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 50%;
  outline: none;
  padding: 0;
  position: absolute;
  -webkit-transform: translateX(-60%);
          transform: translateX(-60%);
}

.c-exiaToggleButton i {
  border: solid 1px currentColor;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  height: 17px;
  margin-right: 17px;
  position: relative;
  width: 17px;
}

.c-exiaToggleButton i:before, .c-exiaToggleButton i:after {
  background-color: currentColor;
  content: '';
  display: block;
  height: 1px;
  left: 4px;
  position: absolute;
  top: 7px;
  width: 7px;
}

.c-exiaToggleButton i:after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transform-origin: center center;
          transform-origin: center center;
}

.is-open .c-exiaToggleButton i:after {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}

.c-exiaToggleButton span:after {
  content: 'READ MORE';
}

.is-open .c-exiaToggleButton span:after {
  content: 'READ LESS';
}

.p-accordionList .c-textLink, .p-accordionList .c-anchorLink {
  display: block;
}

@media screen and (min-width: 641px), print {
  .p-accordionList .c-textLink__link, .p-accordionList .c-anchorLink__link {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (max-width: 640px) {
  .p-accordionList .c-textLink__text, .p-accordionList .c-anchorLink__text {
    font-size: 12px;
    line-height: 1.6;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .p-accordionList .c-textLink__text:before, .p-accordionList .c-anchorLink__text:before, .p-accordionList .c-textLink__text:after, .p-accordionList .c-anchorLink__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-accordionList .c-textLink__text:before, .p-accordionList .c-anchorLink__text:before {
    margin-top: calc((1 - 1.6) * 0.5em);
  }
  .p-accordionList .c-textLink__text:after, .p-accordionList .c-anchorLink__text:after {
    margin-bottom: calc((1 - 1.6) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-accordionList .c-col__item {
    padding-bottom: 0;
  }
}

@media screen and (max-width: 640px) {
  .p-accordionList .c-col__item:not(:first-child) {
    margin-top: 0;
  }
}

@media screen and (max-width: 640px) {
  .p-accordionList .c-col__item:last-child {
    border-bottom: 1px solid #c1c1c1;
  }
}

.p-accordionList__category {
  border-top: 1px solid #c1c1c1;
}

.p-accordionList__category:not(.is-open) .p-accordionList__categoryBody {
  height: 0 !important;
  opacity: 0;
  padding: 0;
  pointer-events: none;
}

.p-accordionList__category:not(.is-open) .p-accordionList__openerIcon:after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.p-accordionList__categoryHead {
  padding: 30px 0;
  position: relative;
}

@media screen and (max-width: 640px) {
  .p-accordionList__categoryHead {
    padding: 21px 31px 21px 0;
  }
}

.p-accordionList__categoryName {
  font-size: 16px;
  line-height: 1.2;
  padding: 0.1px;
  letter-spacing: normal;
  font-weight: bold;
}

.p-accordionList__categoryName:before, .p-accordionList__categoryName:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-accordionList__categoryName:before {
  margin-top: calc((1 - 1.2) * 0.5em);
}

.p-accordionList__categoryName:after {
  margin-bottom: calc((1 - 1.2) * 0.5em);
}

@media screen and (max-width: 640px) {
  .p-accordionList__categoryName {
    font-size: 13px;
    line-height: 1.2;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .p-accordionList__categoryName:before, .p-accordionList__categoryName:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-accordionList__categoryName:before {
    margin-top: calc((1 - 1.2) * 0.5em);
  }
  .p-accordionList__categoryName:after {
    margin-bottom: calc((1 - 1.2) * 0.5em);
  }
}

.p-accordionList__openerIcon {
  bottom: 0;
  position: absolute;
  right: 10px;
  top: 0;
  width: 11px;
}

.p-accordionList__openerIcon:before, .p-accordionList__openerIcon:after {
  background-color: #c1c1c1;
  content: '';
  display: block;
  height: 1px;
  position: absolute;
  top: 50%;
  -webkit-transition: -webkit-transform .2s ease;
  transition: -webkit-transform .2s ease;
  transition: transform .2s ease;
  transition: transform .2s ease, -webkit-transform .2s ease;
  width: 11px;
}

.p-accordionList__openerIcon:after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.p-accordionList__categoryBody {
  overflow: hidden;
  padding-bottom: 30px;
  -webkit-transition: height .15s linear, opacity .1s linear;
  transition: height .15s linear, opacity .1s linear;
}

@media screen and (max-width: 640px) {
  .p-accordionList__categoryBody {
    padding-bottom: 20px;
  }
}

@media screen and (max-width: 640px) {
  .p-accordionList__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

@media screen and (max-width: 640px) {
  .p-accordionList__item {
    width: calc(50% - .5em);
  }
}

@media screen and (max-width: 640px) {
  .p-accordionList__item:nth-of-type(odd) {
    padding-right: .5em;
  }
}

@media screen and (max-width: 640px) {
  .p-accordionList__item:nth-of-type(even) {
    padding-left: .5em;
  }
}

@media screen and (max-width: 640px) {
  .p-accordionList__item:nth-of-type(n + 3) {
    margin-top: 1em;
  }
}

@media screen and (min-width: 641px), print {
  .p-accordionList__item:not(:first-child) {
    margin-top: 1em;
  }
}

@media screen and (min-width: 641px), print {
  .p-contentWidthUV {
    margin: 0 auto;
    max-width: 1200px;
    min-width: 1200px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 35px;
  }
}

@media screen and (max-width: 640px) {
  .p-contentWidthUV {
    margin: 0 auto;
    min-width: 0;
    width: calc(100% - (30px * 2));
  }
}

.p-contentWidthUV__inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (min-width: 641px), print {
  .p-contentWidthUV__inner {
    padding: 0 115px;
  }
}

.p-favorite-fixedBanner {
  position: fixed;
  top: 200px;
  right: 0;
  z-index: 199;
}

@media screen and (max-width: 640px) {
  .p-favorite-fixedBanner {
    top: auto;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 87.2%;
  }
  .p-favorite-fixedBanner > div {
    -ms-flex-preferred-size: 47.7%;
        flex-basis: 47.7%;
  }
}

.p-favorite-fixedBanner a {
  width: 46px;
  height: 183px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 640px) {
  .p-favorite-fixedBanner a {
    width: 100%;
    height: 50px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-favorite-fixedBanner a .p-favorite-fixedBanner__text {
  color: #fff;
  display: block;
  font-size: 12px;
  letter-spacing: 0.1em;
  line-height: 1.1;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
}

@media screen and (max-width: 640px) {
  .p-favorite-fixedBanner a .p-favorite-fixedBanner__text {
    line-height: 1.4;
    letter-spacing: normal;
    -ms-writing-mode: lr-tb;
    -webkit-writing-mode: horizontal-tb;
            writing-mode: horizontal-tb;
    width: 100%;
  }
}

.p-favorite-fixedBanner__close {
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 20px;
  height: 20px;
  background: rgba(255, 255, 255, 0.8);
  cursor: pointer;
}

@media screen and (max-width: 640px) {
  .p-favorite-fixedBanner__close {
    top: 0;
    bottom: auto;
  }
}

.p-favorite-fixedBanner__close::before, .p-favorite-fixedBanner__close::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 10px;
}

.p-favorite-fixedBanner__close::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}

.p-favorite-fixedBanner__close::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}

.p-favorite-fixedBanner--01 {
  background: no-repeat center 20px/20px auto url("../img/common/icon-counseling-white.svg");
  background-color: #a3c3e9;
  position: relative;
  margin-bottom: 20px;
}

@media screen and (max-width: 640px) {
  .p-favorite-fixedBanner--01 {
    margin: 0 15px 0 0;
    background-position: 9.6% center;
  }
}

.p-favorite-fixedBanner--01 .p-favorite-fixedBanner__text {
  padding-top: 52px;
}

@media screen and (max-width: 640px) {
  .p-favorite-fixedBanner--01 .p-favorite-fixedBanner__text {
    padding: 0 0 0 28.8%;
  }
}

.p-favorite-fixedBanner--01 .p-favorite-fixedBanner__close::before,
.p-favorite-fixedBanner--01 .p-favorite-fixedBanner__close::after {
  background-color: #a3c3e9;
}

.p-favorite-fixedBanner--02 {
  background: no-repeat center 11px/13px auto url("../img/common/icon-map-white.svg");
  background-color: #afaff0;
  position: relative;
}

.p-favorite-fixedBanner--02 .p-favorite-fixedBanner__text {
  padding-top: 39px;
}

@media screen and (max-width: 640px) {
  .p-favorite-fixedBanner--02 .p-favorite-fixedBanner__text {
    padding: 0 0 0 33.6%;
  }
}

@media screen and (max-width: 640px) {
  .p-favorite-fixedBanner--02 {
    background-position: 17.3% center;
  }
}

.p-favorite-fixedBanner--02 .p-favorite-fixedBanner__close::before,
.p-favorite-fixedBanner--02 .p-favorite-fixedBanner__close::after {
  background-color: #afaff0;
}

.p-favorite-dlBtn {
  margin-bottom: 28px;
  padding: 20px 40px 20px 84px;
  text-align: center;
  font-family: "YakuHanJPs", YuGothic, "Yu Gothic", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  font-size: 14px;
  letter-spacing: 0.05em;
  color: #5a5a5a;
  border: 1px solid #c1c1c1;
  background: no-repeat 40px center/20px auto url("../img/common/icon-camera.svg");
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-favorite-dlBtn:hover {
  cursor: pointer;
  border-color: #606060;
}

@media screen and (max-width: 640px) {
  .p-favorite-dlBtn {
    width: 100%;
    padding: 18px 10.7% 18px 15.5%;
    font-size: 3.73333vw;
    background: no-repeat 20px center/20px auto url("../img/common/icon-camera-fill.svg");
  }
}

.p-favorite-dlNote {
  margin-bottom: 45px;
}

.p-favorite-figure__logo {
  text-align: center;
}

.p-favorite-figure__logo svg {
  width: auto;
  height: 36px;
  fill: #606060;
}

.p-favorite-figure__title {
  text-align: center;
  font-size: 36px;
  line-height: 1.2;
}

.p-favorite-figure {
  left: -200vw;
  position: fixed;
  top: -100vh;
}

.p-favorite-figure__wrap {
  height: auto;
  padding: 50px 20px;
}

@media screen and (max-width: 640px) {
  .p-favorite-figure__wrap {
    width: 480px;
  }
}

.p-favorite-figure__wrap .c-contentWidth {
  border: 1px solid #606060;
  min-height: 510px;
  padding: 10px 30px 80px;
}

@media screen and (max-width: 640px) {
  .p-favorite-figure__wrap .c-contentWidth {
    padding: 10px 20px 40px;
    width: auto;
  }
}

.p-favorite-figure__text {
  text-align: center;
  margin-top: 30px;
  font-size: 20px;
  line-height: 1.7;
}

@media screen and (max-width: 640px) {
  .p-favorite-container .c-productList__list {
    display: block;
    margin-right: 0;
  }
  .p-favorite-container .c-productList__item.c-col__item {
    margin-right: 0;
    width: 100%;
  }
  .p-favorite-container .c-productList .c-productCard, .p-favorite-container .c-productList .p-products-seriesCard {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 20px;
  }
  .p-favorite-container .c-productList .c-productCard__thumbArea {
    -ms-flex-preferred-size: 34%;
        flex-basis: 34%;
    margin-right: 20px;
  }
  .p-favorite-container .c-productList .c-productCard__link {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.p-favorite-container .c-button--otherProducts {
  margin: 90px 0 0;
}

@media screen and (max-width: 640px) {
  .p-favorite-container .c-button--otherProducts {
    margin: 60px auto 0;
    display: block;
  }
}

.p-favorite-container .p-product-recentHistory .c-contentWidthS {
  border-top: none;
}

.p-favorite-container .p-top-newItems {
  border-bottom: 1px solid #e7e7e7;
}

.p-favorite-container .p-top-newItems .c-heading {
  padding: 60px 0 0;
  margin-bottom: 30px;
  font-size: 18px;
  font-weight: bold;
}

@media screen and (min-width: 641px), print {
  .p-favorite-banners {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (max-width: 640px) {
  .p-favorite-banners {
    padding: 100px 0 50px;
  }
}

.p-favorite-banners > div:first-child {
  margin-right: 40px;
}

@media screen and (max-width: 640px) {
  .p-favorite-banners > div:first-child {
    margin: 0;
  }
}

@media screen and (min-width: 641px), print {
  .p-favorite-banners .c-largeBanner__img {
    height: 160px;
    width: 270px;
  }
}

@media screen and (min-width: 641px), print {
  .p-favorite-banners .c-largeBanner__textArea {
    width: 310px;
  }
}

@media screen and (min-width: 641px), print {
  .p-favorite-banners .c-largeBanner__text {
    font-size: 18px;
  }
}

@media screen and (min-width: 641px), print {
  .p-favorite-banners .c-largeBanner--s {
    margin: 100px auto 0;
    width: 580px;
  }
}

@media screen and (max-width: 640px) {
  .p-favorite-banners .c-largeBanner--s {
    margin-top: 30px;
  }
}

@media screen and (max-width: 640px) {
  .p-favorite-banners .c-largeBanner--s .c-largeBanner__textArea {
    margin: -30px 15px 0;
  }
}

.inquiry-secInfo {
  color: #fe0000;
  margin-bottom: 80px;
  text-align: center;
}

.inquiry-secInfo__content {
  padding-bottom: 50px;
  position: relative;
}

.inquiry-secInfo__content:after {
  border-bottom: 1px solid #dedede;
  border-top: 1px solid #dedede;
  bottom: 0;
  content: '';
  height: 3px;
  left: 0;
  position: absolute;
  width: 100%;
}

.inquiry-secInfo__content:not(:last-of-type) {
  margin-bottom: 40px;
}

.inquiry-secInfo__content p {
  font-size: 14px;
}

@media screen and (max-width: 640px) {
  .inquiry-secInfo__content p {
    -webkit-font-feature-settings: 'palt';
            font-feature-settings: 'palt';
  }
}

.inquiry-secInfo__inner:not(:last-of-type) {
  margin-bottom: 21px;
}

.inquiry-secInfo__heading {
  font-weight: bold;
  margin-bottom: 28px;
  margin-top: 0;
  font-size: 18px;
  line-height: 1.38889;
  padding: 0.1px;
  letter-spacing: normal;
}

.inquiry-secInfo__heading:before, .inquiry-secInfo__heading:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.inquiry-secInfo__heading:before {
  margin-top: calc((1 - 1.38889) * 0.5em);
}

.inquiry-secInfo__heading:after {
  margin-bottom: calc((1 - 1.38889) * 0.5em);
}

@media screen and (min-width: 641px), print {
  .inquiry-secInfo__heading {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .inquiry-secInfo__heading:before, .inquiry-secInfo__heading:after {
    border-bottom: 1px solid #dedede;
    border-top: 1px solid #dedede;
    content: '';
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    height: 3px;
  }
  .inquiry-secInfo__heading:before {
    margin-right: 2rem;
  }
  .inquiry-secInfo__heading:after {
    margin-left: 2rem;
  }
}

@media screen and (max-width: 640px) {
  .inquiry-secInfo__heading {
    font-size: 15px;
    line-height: 1.4;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .inquiry-secInfo__heading:before, .inquiry-secInfo__heading:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .inquiry-secInfo__heading:before {
    margin-top: calc((1 - 1.4) * 0.5em);
  }
  .inquiry-secInfo__heading:after {
    margin-bottom: calc((1 - 1.4) * 0.5em);
  }
}

.inquiry-secInfo__subHeading {
  font-weight: bold;
  margin-top: 0;
  font-size: 16px;
  line-height: 1.5;
  padding: 0.1px;
  letter-spacing: normal;
}

.inquiry-secInfo__subHeading:before, .inquiry-secInfo__subHeading:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.inquiry-secInfo__subHeading:before {
  margin-top: calc((1 - 1.5) * 0.5em);
}

.inquiry-secInfo__subHeading:after {
  margin-bottom: calc((1 - 1.5) * 0.5em);
}

@media screen and (max-width: 640px) {
  .inquiry-secInfo__subHeading {
    font-size: 14px;
    line-height: 1.5;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .inquiry-secInfo__subHeading:before, .inquiry-secInfo__subHeading:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .inquiry-secInfo__subHeading:before {
    margin-top: calc((1 - 1.5) * 0.5em);
  }
  .inquiry-secInfo__subHeading:after {
    margin-bottom: calc((1 - 1.5) * 0.5em);
  }
}

.inquiry-secInfo__inner .inquiry-secInfo__subHeading:not(:last-child) {
  margin-bottom: 8px;
}

@media screen and (max-width: 640px) {
  .inquiry-tal {
    text-align: left;
  }
}

@media screen and (max-width: 640px) {
  .p-linkList {
    border-bottom: 1px solid #c1c1c1;
  }
}

.p-linkList .c-textLink, .p-linkList .c-anchorLink {
  display: block;
}

@media screen and (min-width: 641px), print {
  .p-linkList .c-textLink__link, .p-linkList .c-anchorLink__link {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (max-width: 640px) {
  .p-linkList .c-textLink__text, .p-linkList .c-anchorLink__text {
    font-size: 12px;
    line-height: 1.6;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .p-linkList .c-textLink__text:before, .p-linkList .c-anchorLink__text:before, .p-linkList .c-textLink__text:after, .p-linkList .c-anchorLink__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-linkList .c-textLink__text:before, .p-linkList .c-anchorLink__text:before {
    margin-top: calc((1 - 1.6) * 0.5em);
  }
  .p-linkList .c-textLink__text:after, .p-linkList .c-anchorLink__text:after {
    margin-bottom: calc((1 - 1.6) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-linkList .c-col__item {
    padding-bottom: 0;
  }
}

@media screen and (max-width: 640px) {
  .p-linkList .c-col__item:not(:first-child) {
    margin-top: 0;
  }
}

.p-linkList__category {
  border-top: 1px solid #c1c1c1;
}

@media screen and (min-width: 641px), print {
  .p-linkList__category + .p-linkList__category {
    margin-top: 50px;
  }
}

@media screen and (max-width: 640px) {
  .p-linkList__category:not(.is-open) .p-linkList__categoryBody {
    height: 0 !important;
    opacity: 0;
    pointer-events: none;
  }
}

@media screen and (max-width: 640px) {
  .p-linkList__category:not(.is-open) .p-linkList__openerIcon:after {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}

.p-linkList__categoryHead {
  padding: 30px 0;
}

@media screen and (max-width: 640px) {
  .p-linkList__categoryHead {
    padding: 21px 31px 21px 0;
    position: relative;
  }
}

.p-linkList__categoryName {
  font-size: 16px;
  line-height: 1.2;
  padding: 0.1px;
  letter-spacing: normal;
  font-weight: bold;
}

.p-linkList__categoryName:before, .p-linkList__categoryName:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-linkList__categoryName:before {
  margin-top: calc((1 - 1.2) * 0.5em);
}

.p-linkList__categoryName:after {
  margin-bottom: calc((1 - 1.2) * 0.5em);
}

@media screen and (max-width: 640px) {
  .p-linkList__categoryName {
    font-size: 13px;
    line-height: 1.2;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .p-linkList__categoryName:before, .p-linkList__categoryName:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-linkList__categoryName:before {
    margin-top: calc((1 - 1.2) * 0.5em);
  }
  .p-linkList__categoryName:after {
    margin-bottom: calc((1 - 1.2) * 0.5em);
  }
}

.p-linkList__openerIcon {
  bottom: 0;
  position: absolute;
  right: 10px;
  top: 0;
  width: 11px;
}

@media screen and (max-width: 640px) {
  .p-linkList__openerIcon:before, .p-linkList__openerIcon:after {
    background-color: #c1c1c1;
    content: '';
    display: block;
    height: 1px;
    position: absolute;
    top: 50%;
    -webkit-transition: -webkit-transform .2s ease;
    transition: -webkit-transform .2s ease;
    transition: transform .2s ease;
    transition: transform .2s ease, -webkit-transform .2s ease;
    width: 11px;
  }
}

@media screen and (max-width: 640px) {
  .p-linkList__openerIcon:after {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
}

@media screen and (max-width: 640px) {
  .p-linkList__categoryBody {
    overflow: hidden;
    -webkit-transition: height .15s linear, opacity .1s linear;
    transition: height .15s linear, opacity .1s linear;
  }
}

@media screen and (max-width: 640px) {
  .p-linkList__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 16px 0 35px;
  }
}

@media screen and (max-width: 640px) {
  .p-linkList__item {
    width: calc(50% - .5em);
  }
}

@media screen and (max-width: 640px) {
  .p-linkList__item:nth-of-type(odd) {
    padding-right: .5em;
  }
}

@media screen and (max-width: 640px) {
  .p-linkList__item:nth-of-type(even) {
    padding-left: .5em;
  }
}

@media screen and (max-width: 640px) {
  .p-linkList__item:nth-of-type(n + 3) {
    margin-top: 1em;
  }
}

@media screen and (min-width: 641px), print {
  .p-linkList__item:not(:first-child) {
    margin-top: 1em;
  }
}

.p-pageContentHeadingUV {
  -webkit-font-feature-settings: 'palt';
          font-feature-settings: 'palt';
}

@media screen and (min-width: 641px), print {
  .p-pageContentHeadingUV {
    text-align: left;
  }
}

@media screen and (max-width: 640px) {
  .p-pageContentHeadingUV {
    text-align: center;
  }
}

.p-pageContentHeadingUV span {
  display: block;
}

.p-pageContentHeadingUV__upper {
  color: #cccccc;
  font-family: bilo, sans-serif;
  letter-spacing: 0;
  line-height: 1;
  padding: 0.1px;
}

.p-pageContentHeadingUV__upper:before, .p-pageContentHeadingUV__upper:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-pageContentHeadingUV__upper:before {
  margin-top: 0;
}

.p-pageContentHeadingUV__upper:after {
  margin-bottom: 0;
}

@media screen and (min-width: 641px), print {
  .p-pageContentHeadingUV__upper {
    font-size: 16px;
    margin-bottom: 22px;
  }
}

@media screen and (max-width: 640px) {
  .p-pageContentHeadingUV__upper {
    font-size: 14px;
    margin-bottom: 23px;
  }
}

.p-pageContentHeadingUV__lower {
  font-family: '游明朝', YuMincho, 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
}

@media screen and (min-width: 641px), print {
  .p-pageContentHeadingUV__lower {
    font-size: 24px;
    letter-spacing: 0.15em;
    line-height: 1.66667;
    padding: 0.1px;
  }
  .p-pageContentHeadingUV__lower:before, .p-pageContentHeadingUV__lower:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-pageContentHeadingUV__lower:before {
    margin-top: calc((1 - 1.66667) * 0.5em);
  }
  .p-pageContentHeadingUV__lower:after {
    margin-bottom: calc((1 - 1.66667) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-pageContentHeadingUV__lower {
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 1.45455;
    padding: 0.1px;
  }
  .p-pageContentHeadingUV__lower:before, .p-pageContentHeadingUV__lower:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-pageContentHeadingUV__lower:before {
    margin-top: calc((1 - 1.45455) * 0.5em);
  }
  .p-pageContentHeadingUV__lower:after {
    margin-bottom: calc((1 - 1.45455) * 0.5em);
  }
}

.p-pageContentHeadingUV__lower + .p-pageContentHeadingUV__text {
  font-family: "YakuHanJPs", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Noto Sans Japanese", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  letter-spacing: 0.1em;
  margin-top: 39px;
  line-height: 2.14286;
  padding: 0.1px;
  font-size: 14px;
}

.p-pageContentHeadingUV__lower + .p-pageContentHeadingUV__text:before, .p-pageContentHeadingUV__lower + .p-pageContentHeadingUV__text:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-pageContentHeadingUV__lower + .p-pageContentHeadingUV__text:before {
  margin-top: calc((1 - 2.14286) * 0.5em);
}

.p-pageContentHeadingUV__lower + .p-pageContentHeadingUV__text:after {
  margin-bottom: calc((1 - 2.14286) * 0.5em);
}

@media screen and (max-width: 640px) {
  .p-pageContentHeadingUV__lower + .p-pageContentHeadingUV__text {
    text-align: left;
  }
}

.p-pageSectionHeadingUV {
  -webkit-font-feature-settings: 'palt';
          font-feature-settings: 'palt';
  text-align: center;
  color: #ee7868;
}

.p-pageSectionHeadingUV span {
  display: block;
}

.p-pageSectionHeadingUV__upper {
  margin: 0;
  font-family: '游明朝', YuMincho, 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
  letter-spacing: 0.15em;
}

@media screen and (min-width: 641px), print {
  .p-pageSectionHeadingUV__upper {
    font-size: 32px;
    line-height: 1.1875;
    padding: 0.1px;
    margin-bottom: 14px;
  }
  .p-pageSectionHeadingUV__upper:before, .p-pageSectionHeadingUV__upper:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-pageSectionHeadingUV__upper:before {
    margin-top: calc((1 - 1.1875) * 0.5em);
  }
  .p-pageSectionHeadingUV__upper:after {
    margin-bottom: calc((1 - 1.1875) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-pageSectionHeadingUV__upper {
    font-size: 28px;
    line-height: 1.14286;
    padding: 0.1px;
    margin-bottom: 18px;
  }
  .p-pageSectionHeadingUV__upper:before, .p-pageSectionHeadingUV__upper:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-pageSectionHeadingUV__upper:before {
    margin-top: calc((1 - 1.14286) * 0.5em);
  }
  .p-pageSectionHeadingUV__upper:after {
    margin-bottom: calc((1 - 1.14286) * 0.5em);
  }
}

.p-pageSectionHeadingUV__lower {
  font-family: ltc-caslon-pro, serif;
  letter-spacing: 0.02em;
  line-height: 1;
  padding: 0.1px;
}

.p-pageSectionHeadingUV__lower:before, .p-pageSectionHeadingUV__lower:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-pageSectionHeadingUV__lower:before {
  margin-top: 0;
}

.p-pageSectionHeadingUV__lower:after {
  margin-bottom: 0;
}

@media screen and (min-width: 641px), print {
  .p-pageSectionHeadingUV__lower {
    font-size: 18px;
  }
}

@media screen and (max-width: 640px) {
  .p-pageSectionHeadingUV__lower {
    font-size: 16px;
  }
}

.p-product-contentFoot {
  padding: 50px 0;
}

.p-product-howto .c-contentWidthS {
  border-top: 1px solid #e7e7e7;
}

.p-product-howto .c-button {
  margin: 56px 0 0;
}

@media screen and (max-width: 640px) {
  .p-product-howto .c-button {
    margin: 32px 0 27px;
  }
}

@media screen and (min-width: 641px), print {
  .p-product-howto__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 60px 0 80px;
  }
}

@media screen and (max-width: 640px) {
  .p-product-howto__inner {
    padding: 30px 0 45px;
  }
}

@media screen and (min-width: 641px), print {
  .p-product-howto__head {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 300px;
  }
}

@media screen and (min-width: 641px), print {
  .p-product-howto__body {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
}

@media screen and (max-width: 640px) {
  .p-product-howto__body {
    margin-top: 30px;
  }
}

.p-product-howto__body .c-text + .c-text {
  margin-top: 2.2em;
}

.p-product-howto__movie {
  margin-top: 56px;
  padding-bottom: calc(500 / 890 * 100%);
  position: relative;
  width: 100%;
}

.p-product-howto__movie iframe {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.p-product-howto__caution:not(:first-child), .p-product-howto__remarks:not(:first-child) {
  margin-top: 50px;
}

.p-product-howto__caution .c-headingSimple + .c-text, .p-product-howto__remarks .c-headingSimple + .c-text {
  margin-top: 15px;
}

.p-product-howto__caution .c-text + .c-text, .p-product-howto__remarks .c-text + .c-text {
  margin-top: 1.6em;
}

.p-product-howto__movieLink {
  margin-top: 30px;
}

.p-product-howto__movieLink a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 14px;
  -webkit-transition: opacity .3s 0s linear;
  transition: opacity .3s 0s linear;
}

.p-product-howto__movieLink a:hover {
  opacity: .7;
}

.p-product-howto__movieLinkIcon {
  background: url("/assets/img/common/arrow-right-gray-02.svg") center left 54% no-repeat;
  background-size: 50% 50%;
  border: solid 1px #e7e7e7;
  border-radius: 50%;
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  height: 30px;
  margin-right: 10px;
  width: 30px;
}

@media screen and (max-width: 640px) {
  .p-product-howto__movieLinkIcon {
    height: 23px;
    width: 23px;
  }
}

.p-product-recommend {
  padding: 80px 0;
}

@media screen and (max-width: 640px) {
  .p-product-recommend {
    padding: 50px 29px 58px;
  }
}

.p-product-recommend .swiper-container {
  overflow: visible;
}

@media screen and (min-width: 641px), print {
  .p-product-recommend .swiper-container {
    max-width: 890px;
    padding: 0 68px;
  }
}

.p-product-recommend .swiper-container .swiper-slide {
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity .1s linear;
  transition: opacity .1s linear;
}

.p-product-recommend .swiper-container .swiper-slide-active {
  opacity: 1;
  pointer-events: auto;
}

.p-product-recommend .swiper-container .swiper-button-prev,
.p-product-recommend .swiper-container .swiper-button-next {
  height: 33px;
  width: 18px;
}

@media screen and (max-width: 640px) {
  .p-product-recommend .swiper-container .swiper-button-prev {
    left: -9px;
  }
}

@media screen and (max-width: 640px) {
  .p-product-recommend .swiper-container .swiper-button-next {
    right: -9px;
  }
}

.p-product-recommend__wrap + .p-product-recommend__wrap {
  padding-top: 60px;
}

@media screen and (max-width: 640px) {
  .p-product-recommend__wrap + .p-product-recommend__wrap {
    padding-top: 30px;
  }
}

.p-product-recommend__item {
  background: #ffffff;
  margin: auto;
  position: relative;
}

@media screen and (min-width: 641px), print {
  .p-product-recommend__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 890px;
  }
}

.p-product-recommend__item .c-label {
  left: -9px;
  position: absolute;
  top: -9px;
}

@media screen and (min-width: 641px), print {
  .p-product-recommend__imgArea {
    overflow: hidden;
    position: relative;
    width: calc(360 / 890 * 100%);
  }
}

@media screen and (min-width: 641px), print {
  .p-product-recommend__imgArea img {
    bottom: 0;
    display: block;
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: auto;
  }
}

.p-product-recommend__textArea {
  padding: 60px 50px;
}

@media screen and (max-width: 640px) {
  .p-product-recommend__textArea {
    padding: 25px 20px;
  }
}

.p-product-recommend__textArea .c-text + .c-headingSimple--2,
.p-product-recommend__textArea .c-headingSimple--2 + .c-text {
  margin-top: 20px;
}

.p-product-related .c-contentWidthS,
.p-product-recentHistory .c-contentWidthS {
  border-top: 1px solid #e7e7e7;
  padding-bottom: 45px;
  padding-top: 10px;
}

@media screen and (max-width: 640px) {
  .p-product-related .swiper-slide,
  .p-product-recentHistory .swiper-slide {
    width: 35%;
  }
}

.p-productDetail-container {
  padding-top: 80px;
  position: relative;
}

@media screen and (max-width: 640px) {
  .p-productDetail-container {
    padding-top: 57px;
  }
}

.p-productDetail-container .innerP {
  display: block;
}

.p-productDetail-container .innerP + .innerP {
  margin-top: .5em;
}

.p-productDetail-seasonalRecommend.c-seasonalRecommend {
  background: linear-gradient(to bottom, transparent 0%, transparent 240px, #f2f2f2 240px, #f2f2f2 100%);
}

@media screen and (max-width: 640px) {
  .p-productDetail-seasonalRecommend.c-seasonalRecommend {
    background: linear-gradient(to bottom, transparent 0%, transparent 220px, #f2f2f2 220px, #f2f2f2 100%);
  }
}

.p-productDetail-seasonalRecommend .c-heading {
  padding-bottom: 10px;
}

@media screen and (max-width: 640px) {
  .p-productDetail-seasonalRecommend .c-heading {
    padding-bottom: 0;
  }
}

.p-products-category {
  padding-bottom: 80px;
}

@media screen and (max-width: 640px) {
  .p-products-category {
    padding-bottom: 50px;
  }
}

@media screen and (max-width: 640px) {
  .p-products-category .c-col__item {
    margin-bottom: 0;
  }
}

.p-products-series {
  padding-bottom: 134px;
}

.p-products-series__foot {
  padding-top: 30px;
}

@media screen and (max-width: 640px) {
  .p-products-series__foot {
    padding-top: 10px;
  }
}

.p-products-seriesCard img {
  width: 100%;
}

[data-platform='desktop'] .p-products-seriesCard a:hover {
  opacity: 1;
}

.p-products-seriesCard__imgArea {
  overflow: hidden;
  position: relative;
}

.p-products-seriesCard__imgLayer {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  background-color: rgba(255, 255, 255, 0.85);
  opacity: 0;
  overflow: auto;
  padding: 40px;
  -webkit-transition: opacity .15s linear;
  transition: opacity .15s linear;
}

.p-products-seriesCard__imgLayer .p-products-seriesCard__mainCopy,
.p-products-seriesCard__imgLayer .p-products-seriesCard__subCopy,
.p-products-seriesCard__imgLayer .p-products-seriesCard__note {
  opacity: 0;
}

@media screen and (min-width: 641px), print {
  [data-platform='desktop'] a:hover .p-products-seriesCard__imgLayer {
    bottom: -10px;
    left: -10px;
    opacity: 1;
    right: -10px;
    /* to leave edge */
    top: -10px;
    -webkit-transition: opacity 0.6s 0.05s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: opacity 0.6s 0.05s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  a:hover .p-products-seriesCard__imgLayer .p-products-seriesCard__mainCopy,
  a:hover .p-products-seriesCard__imgLayer .p-products-seriesCard__subCopy,
  a:hover .p-products-seriesCard__imgLayer .p-products-seriesCard__note {
    opacity: 1;
    -webkit-transition: opacity 1.4s .4s ease-out;
    transition: opacity 1.4s .4s ease-out;
  }
}

@media screen and (min-width: 641px), print {
  [data-platform='desktop'] a:hover .p-products-seriesCard__img {
    -webkit-filter: blur(10px);
            filter: blur(10px);
    -webkit-transition: all 0.6s 0.05s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: all 0.6s 0.05s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}

.p-products-seriesCard__mainCopy {
  font-size: 16px;
  line-height: 1.63;
  padding: 0.1px;
  letter-spacing: 0.64px;
}

.p-products-seriesCard__mainCopy:before, .p-products-seriesCard__mainCopy:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-products-seriesCard__mainCopy:before {
  margin-top: calc((1 - 1.63) * 0.5em);
}

.p-products-seriesCard__mainCopy:after {
  margin-bottom: calc((1 - 1.63) * 0.5em);
}

body.touch .p-products-seriesCard__mainCopy:not(:first-child) {
  margin-top: 16px;
}

@media screen and (max-width: 640px) {
  .p-products-seriesCard__mainCopy {
    font-size: 11px;
    line-height: 1.6;
    padding: 0.1px;
    letter-spacing: 0.86px;
    color: #999999;
  }
  .p-products-seriesCard__mainCopy:before, .p-products-seriesCard__mainCopy:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-products-seriesCard__mainCopy:before {
    margin-top: calc((1 - 1.6) * 0.5em);
  }
  .p-products-seriesCard__mainCopy:after {
    margin-bottom: calc((1 - 1.6) * 0.5em);
  }
  .p-products-seriesCard__mainCopy:not(:first-child) {
    margin-top: 16px;
  }
}

.p-products-seriesCard__subCopy {
  font-size: 13px;
  line-height: 1.63;
  padding: 0.1px;
  letter-spacing: normal;
  color: #999999;
}

.p-products-seriesCard__subCopy:before, .p-products-seriesCard__subCopy:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-products-seriesCard__subCopy:before {
  margin-top: calc((1 - 1.63) * 0.5em);
}

.p-products-seriesCard__subCopy:after {
  margin-bottom: calc((1 - 1.63) * 0.5em);
}

.p-products-seriesCard__subCopy:not(:first-child) {
  margin-top: 24px;
}

.p-promo-container .c-productDetail:first-child {
  margin-top: 80px;
}

.p-promo-date {
  border: 1px solid #c1c1c1;
  border-style: solid none;
  padding: 10px 18px;
}

@media screen and (min-width: 641px), print {
  .p-promo-date {
    display: table;
    margin: 0 auto 80px;
  }
}

@media screen and (max-width: 640px) {
  .p-promo-date {
    margin-bottom: 59px;
    padding: 15px 0;
  }
}

@media screen and (min-width: 641px), print {
  .p-promo-date__item {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (max-width: 640px) {
  .p-promo-date__item {
    text-align: center;
  }
}

.p-promo-date__head {
  background-color: #c1c1c1;
  border-radius: 17px;
  display: inline-block;
  padding: 10px 18px;
}

.p-promo-date__headText {
  font-size: 14px;
  line-height: 1;
  padding: 0.1px;
  letter-spacing: normal;
  color: #ffffff;
  display: block;
  font-weight: bold;
}

.p-promo-date__headText:before, .p-promo-date__headText:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-promo-date__headText:before {
  margin-top: 0;
}

.p-promo-date__headText:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-promo-date__headText {
    font-size: 12px;
    line-height: 1;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .p-promo-date__headText:before, .p-promo-date__headText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-promo-date__headText:before {
    margin-top: 0;
  }
  .p-promo-date__headText:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px), print {
  .p-promo-date__body {
    margin-left: 20px;
    padding: 6px 14px;
  }
}

@media screen and (max-width: 640px) {
  .p-promo-date__body {
    margin-top: 11px;
  }
}

.p-promo-date__text {
  font-size: 18px;
  line-height: 1.6;
  padding: 0.1px;
  letter-spacing: normal;
  display: block;
  font-weight: bold;
}

.p-promo-date__text:before, .p-promo-date__text:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-promo-date__text:before {
  margin-top: calc((1 - 1.6) * 0.5em);
}

.p-promo-date__text:after {
  margin-bottom: calc((1 - 1.6) * 0.5em);
}

@media screen and (max-width: 640px) {
  .p-promo-date__text {
    font-size: 15px;
    line-height: 1.6;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .p-promo-date__text:before, .p-promo-date__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-promo-date__text:before {
    margin-top: calc((1 - 1.6) * 0.5em);
  }
  .p-promo-date__text:after {
    margin-bottom: calc((1 - 1.6) * 0.5em);
  }
}

@media print {
  .l-header,
  .l-footer,
  .c-largeBanner {
    display: none;
  }
}

.p-promo-getCoupon {
  background-color: #f2f2f2;
  padding: 60px 0 50px;
  margin-top: 60px;
}

@media screen and (max-width: 640px) {
  .p-promo-getCoupon {
    padding: 32px 0 35px;
  }
}

.p-promo-getCoupon__container {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-promo-getCoupon__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 calc(50% - 60px);
          flex: 1 0 calc(50% - 60px);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.p-promo-getCoupon__box:first-child {
  margin-right: 60px;
}

[data-platform='mobile'] .p-promo-getCoupon__box--pc {
  display: none;
}

.p-promo-getCoupon__box--sp {
  text-align: center;
}

[data-platform='desktop'] .p-promo-getCoupon__box--sp,
[data-platform='tablet'] .p-promo-getCoupon__box--sp {
  display: none;
}

.p-promo-getCoupon__box--1column {
  background-color: #fff;
  margin-right: 0 !important;
  padding: 40px 0;
}

.p-promo-getCoupon__box--1column .p-promo-getCoupon__boxGrid {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 640px) {
  .p-promo-getCoupon__box--1column .p-promo-getCoupon__boxGrid {
    display: block;
  }
}

.p-promo-getCoupon__box--1column .p-promo-getCoupon__boxTitle {
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.04em;
}

@media screen and (min-width: 641px), print {
  .p-promo-getCoupon__box--1column .p-promo-getCoupon__boxTitle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-right: 155px;
  }
  .p-promo-getCoupon__box--1column .p-promo-getCoupon__boxTitleIcon {
    margin-right: 20px;
  }
}

@media screen and (max-width: 640px) {
  .p-promo-getCoupon__box--1column .p-promo-getCoupon__boxTitle {
    text-align: center;
    font-size: 18px;
    line-height: 1.77;
    font-weight: bold;
  }
}

.p-promo-getCoupon__box--1column .p-promo-getCoupon__boxQr {
  text-align: center;
}

.p-promo-getCoupon__box--1column .p-promo-getCoupon__boxQrText {
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.04em;
}

.p-promo-getCoupon__box--1column .p-promo-getCoupon__boxLineApp {
  text-align: center;
  margin-top: 27px;
}

.p-promo-getCoupon__box--1column .p-promo-getCoupon__boxLineAppButton img {
  width: 166px;
  margin-bottom: 20px;
}

.p-promo-getCoupon__box--1column .p-promo-getCoupon__boxCaption {
  text-align: center;
  font-size: 14px;
  letter-spacing: 0.04em;
  margin-top: 25px;
}

.p-promo-getCoupon__boxHeader {
  background-color: #606060;
  color: #ffffff;
  font-size: 20px;
  line-height: 1;
  padding: 20px 0;
  text-align: center;
}

.p-promo-getCoupon__boxBody {
  background-color: #ffffff;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  padding: 30px 0;
}

@media screen and (max-width: 640px) {
  .p-promo-getCoupon__boxBody {
    margin-top: 32px;
  }
}

@media screen and (min-width: 641px), print {
  [data-platform='mobile'] .p-promo-getCoupon__boxBody {
    margin-top: 32px;
  }
}

.p-promo-getCoupon__boxGrid {
  -ms-flex-line-pack: stretch;
      align-content: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-promo-getCoupon__boxContent {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  padding: 12px 30px;
}

.p-promo-getCoupon__boxGrid .p-promo-getCoupon__boxContent {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  height: auto;
}

.p-promo-getCoupon__boxGrid .p-promo-getCoupon__boxContent:only-child {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}

.p-promo-getCoupon__boxGrid .p-promo-getCoupon__boxContent:not(:last-of-type) {
  border-right: solid 1px #c1c1c1;
}

.p-promo-getCoupon__boxTop {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
}

.p-promo-getCoupon__boxBottom {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
}

@media screen and (max-width: 640px) {
  .p-promo-getCoupon__boxBottom {
    margin-top: 32px;
  }
}

@media screen and (min-width: 641px), print {
  [data-platform='mobile'] .p-promo-getCoupon__boxBottom {
    margin-top: 32px;
  }
}

.p-promo-getCoupon__boxHeading {
  font-size: 14px;
  line-height: 1.88;
  padding: 0.1px;
  letter-spacing: normal;
  font-weight: bold;
  margin-bottom: 34px;
  text-align: center;
}

.p-promo-getCoupon__boxHeading:before, .p-promo-getCoupon__boxHeading:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-promo-getCoupon__boxHeading:before {
  margin-top: calc((1 - 1.88) * 0.5em);
}

.p-promo-getCoupon__boxHeading:after {
  margin-bottom: calc((1 - 1.88) * 0.5em);
}

.p-promo-getCoupon__boxText {
  font-size: 14px;
  line-height: 2.2;
  padding: 0.1px;
  letter-spacing: normal;
  margin-bottom: 54px;
}

.p-promo-getCoupon__boxText:before, .p-promo-getCoupon__boxText:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-promo-getCoupon__boxText:before {
  margin-top: calc((1 - 2.2) * 0.5em);
}

.p-promo-getCoupon__boxText:after {
  margin-bottom: calc((1 - 2.2) * 0.5em);
}

.p-promo-getCoupon__qr {
  margin: 0 auto;
  width: 132px;
}

.p-promo-getCoupon__qr img {
  vertical-align: bottom;
  width: 100%;
}

.p-promo-getCoupon__note {
  padding-top: 40px;
}

.p-promo-getCoupon__note p {
  font-size: 14px;
  line-height: 1.88;
  padding: 0.1px;
  letter-spacing: normal;
  margin-left: 1em;
  text-indent: -1em;
}

.p-promo-getCoupon__note p:before, .p-promo-getCoupon__note p:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-promo-getCoupon__note p:before {
  margin-top: calc((1 - 1.88) * 0.5em);
}

.p-promo-getCoupon__note p:after {
  margin-bottom: calc((1 - 1.88) * 0.5em);
}

.p-promo-getCoupon__note p:before {
  content: none;
}

.p-promo-getCoupon__note p + p {
  margin-top: 10px;
}

.c-promo-banner .c-banner, .c-promo-banner .c-largeBanner {
  margin: 60px 0;
}

@media screen and (max-width: 640px) {
  .c-promo-banner .c-banner, .c-promo-banner .c-largeBanner {
    margin: 43px 0;
  }
}

.p-promo-pageTitle {
  padding: 100px 0 53px;
}

@media screen and (max-width: 640px) {
  .p-promo-pageTitle {
    padding: 55px 0 38px;
  }
}

.p-promo-pageTitle__main {
  font-size: 30px;
  line-height: 1.67;
  padding: 0.1px;
  letter-spacing: normal;
  font-weight: 500;
  text-align: center;
}

.p-promo-pageTitle__main:before, .p-promo-pageTitle__main:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-promo-pageTitle__main:before {
  margin-top: calc((1 - 1.67) * 0.5em);
}

.p-promo-pageTitle__main:after {
  margin-bottom: calc((1 - 1.67) * 0.5em);
}

@media screen and (max-width: 640px) {
  .p-promo-pageTitle__main {
    font-size: 24px;
    line-height: 1.5;
    padding: 0.1px;
    letter-spacing: normal;
    font-weight: 500;
  }
  .p-promo-pageTitle__main:before, .p-promo-pageTitle__main:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-promo-pageTitle__main:before {
    margin-top: calc((1 - 1.5) * 0.5em);
  }
  .p-promo-pageTitle__main:after {
    margin-bottom: calc((1 - 1.5) * 0.5em);
  }
}

.p-promo-pageTitle__kv img {
  width: 100%;
}

.p-promo-pageTitle__copy {
  text-align: center;
  color: #606060;
  font-size: 18px;
  line-height: 1.9;
}

@media screen and (max-width: 640px) {
  .p-promo-pageTitle__copy {
    font-size: 4.53333vw;
    line-height: 1.7;
  }
}

.p-promo-pageTitle--premiereetape, .p-promo-pageTitle--li20220401FP {
  padding: 70px 0 60px;
}

@media screen and (max-width: 640px) {
  .p-promo-pageTitle--premiereetape, .p-promo-pageTitle--li20220401FP {
    padding: 50px 0 60px;
  }
}

.p-promo-pageTitle--premiereetape .p-promo-pageTitle__kv, .p-promo-pageTitle--li20220401FP .p-promo-pageTitle__kv {
  text-align: center;
}

@media screen and (max-width: 640px) {
  .p-promo-pageTitle--premiereetape .p-promo-pageTitle__kv img, .p-promo-pageTitle--li20220401FP .p-promo-pageTitle__kv img {
    width: 100%;
  }
}

.p-promo-pageTitle--premiereetape .p-promo-pageTitle__copy, .p-promo-pageTitle--li20220401FP .p-promo-pageTitle__copy {
  margin-bottom: 30px;
}

.p-promo-pageTitle--premiereetape .p-promo-pageTitle__copy--bottom, .p-promo-pageTitle--li20220401FP .p-promo-pageTitle__copy--bottom {
  margin: 30px auto 0;
}

@media screen and (min-width: 641px), print {
  .p-promo-pageTitle--premiereetape .p-promo-pageTitle__kv img {
    width: 446px;
  }
}

@media screen and (min-width: 641px), print {
  .p-promo-pageTitle--li20220401FP .p-promo-pageTitle__kv img {
    width: 470px;
  }
}

.p-search {
  padding-bottom: 80px;
}

@media screen and (max-width: 640px) {
  .p-search {
    padding-bottom: 50px;
  }
}

@media screen and (min-width: 641px), print {
  .p-search__flex {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .p-search__flex:not(:last-of-type) {
    margin-bottom: 32px;
  }
  .p-search__flex > * {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .p-search__flex > *:first-child {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 240px;
            flex: 0 0 240px;
  }
  .p-search__flex .c-heading {
    padding: 0;
  }
  .p-search__flex .p-search__childHeading {
    padding: 0;
  }
}

.p-search__childHeading {
  font-size: 14px;
  line-height: 1.6;
  padding: 0.1px;
  letter-spacing: normal;
  font-weight: bold;
  padding: 40px 0 18px;
}

.p-search__childHeading:before, .p-search__childHeading:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-search__childHeading:before {
  margin-top: calc((1 - 1.6) * 0.5em);
}

.p-search__childHeading:after {
  margin-bottom: calc((1 - 1.6) * 0.5em);
}

@media screen and (max-width: 640px) {
  .p-search__childHeading {
    font-size: 12px;
    line-height: 1.6;
    padding: 0.1px;
    letter-spacing: normal;
    padding: 25px 0 17px;
  }
  .p-search__childHeading:before, .p-search__childHeading:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-search__childHeading:before {
    margin-top: calc((1 - 1.6) * 0.5em);
  }
  .p-search__childHeading:after {
    margin-bottom: calc((1 - 1.6) * 0.5em);
  }
}

.p-searchNoResult .p-search {
  padding-top: 20px;
}

.p-searchNoResult .c-tagList {
  margin-bottom: 60px;
}

@media screen and (max-width: 640px) {
  .p-searchNoResult .c-tagList {
    margin-bottom: 30px;
  }
}

.p-searchNoResult .c-col__item img {
  width: 100%;
}

.c-seasonalRecommend {
  background: linear-gradient(to bottom, transparent 0%, transparent 220px, #f2f2f2 220px, #f2f2f2 100%);
}

.p-series-container {
  padding-top: 60px;
  position: relative;
}

.p-series-container:before {
  background-color: #ffffff;
  content: '';
  display: block;
  height: 240px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}

@media screen and (max-width: 640px) {
  .p-series-container:before {
    height: 140px;
  }
}

.p-series-container--must_item:before {
  background-color: #ffffff;
}

.p-series-container--exage:before {
  background-color: #d1bada;
}

.p-series-container--exage_white:before {
  background-color: #acc9ea;
}

.p-series-container--exage_shimmer:before {
  background-color: #e6f5d6;
}

.p-series-container--infinesse_plump_line:before {
  background-color: #a7acb3;
}

.p-series-container--infinesse_plump_bright_line:before {
  background-color: #c9e7e5;
}

.p-series-container--infinesse_white:before {
  background-color: #00a496;
}

.p-series-container--excia_radiance_renew:before {
  background-color: #a7a1a3;
}

.p-series-container--excia_al_whitening:before {
  background-color: #a7a1a3;
}

.p-series-container--excia_al_renewing:before {
  background-color: #a7a1a3;
}

.p-series-container--excia_embeage:before {
  background-color: #001b4e;
}

.p-series-container--ex_vie:before {
  background-color: #e6dfce;
}

.p-series-container--excia_whitening:before {
  background-color: #a7a1a3;
}

.p-series-container--albion:before {
  background-color: #ffffff;
}

.p-series-container--albion_studio:before {
  background-color: #d3d3e8;
}

.p-series-container--albion_base_makeup:before {
  background-color: #f5e4d7;
}

.p-series-container--excia_al_base_makeup:before {
  background-color: #ab9562;
}

.p-series-container--excia_point_makeup:before {
  background-color: #c2b981;
}

.p-series-container--uv_cut:before {
  background-color: #ffffff;
}

.p-series-container--spa_lanka:before {
  background-color: #ffffff;
}

.p-series-container--renasair:before {
  background-color: #ffffff;
}

.p-series-container--jouir:before {
  background-color: #ffffff;
}

.p-series-container--excia_brightning:before {
  background-color: #a7a1a3;
}

.p-series-container--flarune:before {
  background-color: #faeede;
}

.p-series-container--flarune_bright_line:before {
  background-color: #d7e9eb;
}

.p-series-container--flarune_radieux:before {
  background-color: #e4c9b7;
}

.p-series-container--excia_base_makeup:before {
  background-color: #c2b981;
}

.p-series-outline {
  background-color: #ffffff;
}

@media screen and (min-width: 641px), print {
  .p-series-outline {
    padding: 110px 0 35px;
  }
}

@media screen and (max-width: 640px) {
  .p-series-outline {
    padding-bottom: 30px;
  }
}

@media screen and (min-width: 641px), print {
  .p-series-outline__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 40px;
  }
}

@media screen and (min-width: 641px), print {
  .p-series-outline__col {
    width: 50%;
  }
}

.p-series-outline__col--img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 640px) {
  .p-series-outline__col--img {
    min-height: 150px;
  }
}

.p-series-outline__logo {
  max-width: 100%;
}

.p-series-outline__subCopy {
  margin-top: 35px;
}

@media screen and (max-width: 640px) {
  .p-series-outline__subCopy {
    margin-top: 30px;
  }
}

.p-series-outline__description {
  margin-top: 26px;
}

.p-series-outline__description a {
  margin-top: 10px;
  display: inline-block;
  font-weight: bold;
  text-decoration: underline;
}

@media screen and (min-width: 641px), print {
  .p-storeSearchWrapper {
    margin-top: 120px;
  }
}

@media screen and (max-width: 640px) {
  .p-storeSearchWrapper {
    padding-top: 65px;
  }
  .p-beautyAward .p-storeSearchWrapper {
    padding: 0 30px;
  }
}

.p-storeSearch {
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (min-width: 641px), print {
  .p-storeSearch {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    background-image: url("/assets/img/excia/common/store-search/bg-pc.jpg");
    width: 672px;
    margin: 0 auto;
    display: flex;
    padding: 32px 48px;
  }
}

@media screen and (max-width: 640px) {
  .p-storeSearch {
    background-image: url("/assets/img/excia/common/store-search/bg-pc.jpg");
    width: 100%;
    padding: calc(32 / 375 * 100vw);
  }
}

.p-beautyAward .p-storeSearch {
  -webkit-box-shadow: 8px 0 32px rgba(0, 0, 0, 0.06);
          box-shadow: 8px 0 32px rgba(0, 0, 0, 0.06);
}

@media screen and (min-width: 641px), print {
  .p-storeSearch__image {
    width: 171px;
  }
}

@media screen and (max-width: 640px) {
  .p-storeSearch__image {
    margin-bottom: 32px;
  }
}

.p-storeSearch__image img {
  width: 100%;
}

@media screen and (min-width: 641px), print {
  .p-storeSearch__textArea {
    padding: 15px 0 0 39px;
  }
}

@media screen and (min-width: 641px), print {
  .p-storeSearch__title {
    width: 70px;
    margin-bottom: 32px !important;
  }
}

@media screen and (max-width: 640px) {
  .p-storeSearch__title {
    width: calc(70 / 375 * 100vw);
    margin-bottom: 25px !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-storeSearch__text {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.83333;
    padding: 0.1px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-storeSearch__text {
    font-size: 12px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-storeSearch__text {
    font-size: calc(12 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-storeSearch__text:before, .p-storeSearch__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-storeSearch__text:before {
    margin-top: 0;
  }
  .p-storeSearch__text:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-storeSearch__text {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-storeSearch__text:before, .p-storeSearch__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-storeSearch__text:before {
    margin-top: calc((1 - 1.83333) * 0.5em);
  }
  .p-storeSearch__text:after {
    margin-bottom: calc((1 - 1.83333) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-storeSearch__text {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.69231;
    padding: 0.1px;
    padding-bottom: 64px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-storeSearch__text {
    font-size: 13px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-storeSearch__text {
    font-size: calc(13 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-storeSearch__text:before, .p-storeSearch__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-storeSearch__text:before {
    margin-top: 0;
  }
  .p-storeSearch__text:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-storeSearch__text {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-storeSearch__text:before, .p-storeSearch__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-storeSearch__text:before {
    margin-top: calc((1 - 1.69231) * 0.5em);
  }
  .p-storeSearch__text:after {
    margin-bottom: calc((1 - 1.69231) * 0.5em);
  }
}

.p-storeSearch__btnArea {
  position: absolute;
}

@media screen and (min-width: 641px), print {
  .p-storeSearch__btnArea {
    right: 49px;
    bottom: 32px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media screen and (max-width: 640px) {
  .p-storeSearch__btnArea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    left: 0;
    right: 32px;
    bottom: 32px;
  }
}

@media screen and (min-width: 641px), print {
  .p-storeSearch__btnText {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    margin-right: 13px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-storeSearch__btnText {
    font-size: 14px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-storeSearch__btnText {
    font-size: calc(14 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-storeSearch__btnText:before, .p-storeSearch__btnText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-storeSearch__btnText:before {
    margin-top: 0;
  }
  .p-storeSearch__btnText:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-storeSearch__btnText {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-storeSearch__btnText {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    margin-right: 16px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-storeSearch__btnText {
    font-size: 15px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-storeSearch__btnText {
    font-size: calc(15 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-storeSearch__btnText:before, .p-storeSearch__btnText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-storeSearch__btnText:before {
    margin-top: 0;
  }
  .p-storeSearch__btnText:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-storeSearch__btnText {
    letter-spacing: 0.01em !important;
  }
}

.p-top-award {
  background: url("/assets/img/top/img-award-bg-01.jpg") no-repeat center 0;
  background-size: 100% calc(100% - 76px);
  margin-top: 47px;
}

@media screen and (max-width: 640px) {
  .p-top-award {
    background: url("/assets/img/top/img-award-bg-sp-01.jpg") no-repeat 0 0;
    background-size: 100% auto;
    margin-top: 40px;
    padding-top: 20px;
  }
}

.p-top-award__img {
  display: block;
  margin: 0 0 0 auto;
  max-width: 100%;
}

@media screen and (min-width: 641px), print {
  .p-top-award__inner {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: calc(110 / 1200 * 100%);
  }
}

.p-top-award__textArea {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (min-width: 641px), print {
  .p-top-award__textArea {
    padding: 93px 0 45px;
    width: calc(360 / 1090 * 100%);
  }
}

.p-top-award__textArea .c-button:not(:first-child) {
  margin-bottom: 0;
  margin-top: 50px;
}

@media screen and (max-width: 640px) {
  .p-top-award__textArea .c-button:not(:first-child) {
    margin-top: 23px;
  }
}

.p-top-award__title {
  display: block;
  margin: 0 69px;
}

@media screen and (min-width: 641px), print {
  .p-top-award__title {
    height: 146px;
    margin: 0 auto;
  }
}

@media screen and (max-width: 640px) {
  .p-top-award__title {
    width: calc(100% - 49px * 2);
  }
}

.p-top-award__imgArea {
  padding-top: 95px;
}

@media screen and (min-width: 641px), print {
  .p-top-award__imgArea {
    width: calc(730 / 1090 * 100%);
  }
}

@media screen and (max-width: 640px) {
  .p-top-award__img {
    margin: 24px -20px 0;
    max-width: 72%;
  }
}

.c-topBnrSlide {
  position: relative;
}

@media screen and (min-width: 641px), print {
  .c-topBnrSlide {
    margin-top: 80px;
    padding-bottom: 40px;
  }
}

@media screen and (max-width: 640px) {
  .c-topBnrSlide {
    margin-top: 60px;
    padding: 0 20px 60px;
  }
}

.c-topBnrSlide:before {
  background-image: url(/assets/img/top/bg-pick-up-sp.jpg);
  background-position: 0 0;
  background-repeat: repeat-x;
  background-size: auto 100%;
  bottom: 0;
  content: '';
  left: 120px;
  position: absolute;
  right: 0;
  top: 54px;
  z-index: -1;
}

.c-topBnrSlide .c-banner__link {
  position: relative;
}

@media screen and (min-width: 641px), print {
  .c-topBnrSlide__navArea {
    bottom: 0;
    left: 0;
  }
}

@media screen and (max-width: 640px) {
  .c-topBnrSlide__navArea {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 24px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    left: 50%;
    margin-right: -20px;
    position: absolute;
    translate: -50% 0;
    width: 100px;
    z-index: 1;
  }
}

.c-topBnrSlide .swiper-button-prev,
.c-topBnrSlide .swiper-button-next,
.c-topBnrSlide .swiper-pagination {
  bottom: auto;
  height: auto;
  left: auto;
  margin-top: 0;
  position: relative;
  right: auto;
  top: auto;
  width: auto;
}

@media screen and (min-width: 641px), print {
  .c-topBnrSlide .swiper-button-prev,
  .c-topBnrSlide .swiper-button-next {
    display: none;
    pointer-events: none;
  }
}

@media screen and (max-width: 640px) {
  .c-topBnrSlide .swiper-button-prev,
  .c-topBnrSlide .swiper-button-next {
    cursor: pointer;
    height: 24px;
    width: 13px;
  }
}

.c-topBnrSlide .swiper-button-disabled {
  display: block;
  opacity: .3;
  pointer-events: none;
}

@media screen and (min-width: 641px), print {
  .c-topBnrSlide .swiper-pagination-num {
    display: none;
    pointer-events: none;
  }
}

@media screen and (max-width: 640px) {
  .c-topBnrSlide .swiper-pagination-num {
    color: #606060;
    font-family: "lunchtype22", sans-serif;
    font-size: 14px;
    line-height: 2;
    padding: 0.1px;
    letter-spacing: normal;
  }
  .c-topBnrSlide .swiper-pagination-num:before, .c-topBnrSlide .swiper-pagination-num:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .c-topBnrSlide .swiper-pagination-num:before {
    margin-top: calc((1 - 2) * 0.5em);
  }
  .c-topBnrSlide .swiper-pagination-num:after {
    margin-bottom: calc((1 - 2) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .c-topBnrSlide .swiper-pagination-dots {
    display: none;
    pointer-events: none;
  }
}

@media screen and (min-width: 641px), print {
  .c-topBnrSlide .swiper-pagination-bullet {
    background-color: #606060;
  }
  .c-topBnrSlide .swiper-pagination-bullet:not(:first-child) {
    margin-left: 8px;
  }
}

.c-topBnrSlide .swiper-wrapper {
  padding: 0;
}

@media screen and (min-width: 641px), print {
  .c-topBnrSlide .swiper-slide {
    padding: 0 0 40px;
  }
}

@media screen and (max-width: 640px) {
  .c-topBnrSlide .swiper-slide {
    padding: 0 0 56px;
    width: 100%;
  }
}

@media screen and (max-width: 640px) {
  .c-topBnrSlide .swiper-container--centered {
    overflow: hidden;
  }
}

.c-topBnrSlide.slide-single .c-topBnrSlide__navArea {
  display: none;
}

@media screen and (max-width: 640px) {
  .c-topBnrSlide.slide-single .swiper-slide {
    padding-bottom: 0;
  }
}

.c-columnSlide {
  position: relative;
}

@media screen and (max-width: 640px) {
  .c-columnSlide {
    padding: 0 20px;
  }
}

.c-columnSlide:before {
  bottom: 0;
  content: '';
  display: block;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: -1;
}

@media screen and (min-width: 641px), print {
  .c-columnSlide:before {
    background: -webkit-gradient(linear, left top, right top, color-stop(5%, rgba(255, 255, 255, 0.8)), color-stop(50%, transparent), color-stop(95%, rgba(255, 255, 255, 0.8))), url("../img/top/bg-top-column.png");
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.8) 5%, transparent 50%, rgba(255, 255, 255, 0.8) 95%), url("../img/top/bg-top-column.png");
    background-size: cover;
    height: 320px;
  }
}

@media screen and (max-width: 640px) {
  .c-columnSlide:before {
    background: -webkit-gradient(linear, left top, right top, color-stop(5%, rgba(255, 255, 255, 0.8)), color-stop(50%, transparent)), url("../img/top/bg-top-column.png");
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.8) 5%, transparent 50%), url("../img/top/bg-top-column.png");
    background-size: cover;
    height: 242px;
  }
}

.c-columnSlide .c-articleCard__textArea {
  text-align: center;
}

.c-columnSlide .c-articleCard .c-label {
  left: -10px;
  top: -10px;
}

.c-columnSlide .c-swiper__prev, .c-columnSlide .c-swiper__next {
  top: 162px;
}

@media screen and (min-width: 641px), print {
  .c-columnSlide .c-swiper__prev, .c-columnSlide .c-swiper__next {
    translate: 0 75%;
  }
}

@media screen and (max-width: 640px) {
  .c-columnSlide .c-swiper__prev, .c-columnSlide .c-swiper__next {
    display: block;
    height: 30px;
    top: 32.716418%;
    translate: 0 0;
    width: 16px;
  }
}

@media screen and (max-width: 640px) {
  .c-columnSlide .c-swiper__prev {
    left: 0;
  }
}

@media screen and (max-width: 640px) {
  .c-columnSlide .c-swiper__next {
    right: 0;
  }
}

@media screen and (max-width: 640px) {
  .c-columnSlide .swiper-container--centered {
    overflow: hidden;
  }
}

@media screen and (max-width: 640px) {
  .c-columnSlide .swiper-wrapper {
    padding: 0;
  }
}

@media screen and (max-width: 640px) {
  .c-columnSlide .swiper-slide {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 10px 27px 0 28px;
  }
}

@media screen and (min-width: 641px), print {
  .c-columnSlide .swiper-button-prev .swiper-button-disabled,
  .c-columnSlide .swiper-button-next .swiper-button-disabled {
    cursor: auto;
    display: block !important;
    opacity: .35;
    pointer-events: none;
  }
}

.p-top-hero {
  --swiper-navigation-size: 12px;
  padding-top: 30px;
  position: relative;
}

@media screen and (max-width: 640px) {
  .p-top-hero {
    padding-top: 20px;
  }
}

.p-top-hero img {
  display: block;
  width: 100%;
}

@media print {
  .p-top-hero .p-top-hero__printNone {
    display: none;
  }
}

.p-top-hero .swiper-button-prev,
.p-top-hero .swiper-button-next,
.p-top-hero .swiper-pagination {
  bottom: auto;
  height: auto;
  left: auto;
  margin-top: 0;
  position: relative;
  right: auto;
  top: auto;
  width: auto;
}

.p-top-hero .swiper-pagination {
  color: #999999;
  font-family: "lunchtype22", sans-serif;
  padding: 0 27px;
}

.p-top-hero__navArea {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  bottom: 0;
  display: none;
  height: 80px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  right: 0;
  width: 200px;
  z-index: 1;
}

.is-hide-nav-area .p-top-hero__navArea {
  display: none;
}

@media screen and (max-width: 640px) {
  .p-top-hero__navArea {
    height: 60px;
    margin-right: -20px;
    width: 130px;
  }
}

.p-top-hero a {
  display: block;
  max-width: 1380px;
  width: 100%;
}

.p-top-limitedItems {
  position: relative;
}

.p-top-limitedItems:before, .p-top-limitedItems:after {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  background-repeat: repeat-x;
  background-size: auto 100%;
  content: '';
  z-index: -1;
}

.p-top-limitedItems:before {
  background-image: url("/assets/img/top/img-limited-bg-02.jpg");
  background-position: 0 0;
  left: 140px;
  top: 50px;
}

.p-top-limitedItems:after {
  background-image: url("/assets/img/top/img-limited-bg-01.jpg");
  background-position: 0 0;
  bottom: 50px;
  right: 140px;
}

.p-top-limitedItems .c-contentWidth {
  padding-bottom: 100px;
}

@media screen and (max-width: 640px) {
  .p-top-limitedItems .c-contentWidth {
    background-position: right 40px top 0, left 20px top 40px;
    background-size: auto calc(100% - 30px);
    padding-bottom: 60px;
  }
}

@media screen and (max-width: 640px) {
  .p-top-limitedItems .c-swiper--col2single .swiper-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.p-top-limitedItems .c-productCard__link {
  /* padding-top: 35px; */
  padding: 0 0 10px;
}

@media screen and (max-width: 640px) {
  .p-top-limitedItems .c-productCard__link {
    padding: 35px 0 0;
  }
}

.p-top-limitedItems .c-productCard__link .c-thumbnail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-bottom: 56.89655%;
  /* 2カラム時 */
  position: relative;
}

@media screen and (max-width: 640px) {
  .p-top-limitedItems .c-productCard__link .c-thumbnail {
    padding-bottom: 67.85714%;
  }
}

.p-top-limitedItems .c-productCard__link .c-thumbnail img {
  height: auto;
  position: absolute;
  top: 0;
  width: auto;
}

@media screen and (max-width: 640px) {
  .p-top-limitedItems .c-productCard, .p-top-limitedItems .p-products-seriesCard {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    min-height: 410px;
    padding-bottom: 0;
  }
}

.p-top-newItems {
  padding-bottom: 60px;
}

.p-top-newItems .c-button {
  display: table;
  margin: 40px auto 0;
}

@media screen and (max-width: 640px) {
  .p-top-newItems .c-button {
    margin-top: 38px;
  }
}

.p-top-pickup {
  padding-bottom: 26px;
}

@media screen and (max-width: 640px) {
  .p-top-pickup {
    padding-bottom: 10px;
  }
}

.p-top-pickup__list {
  position: relative;
}

@media screen and (max-width: 640px) {
  .p-top-pickup__list {
    padding-left: 14px;
  }
}

.p-top-pickup__list:before {
  background-color: #f2f2f2;
  display: block;
  content: "";
  width: 100vw;
  position: absolute;
  top: -112px;
  bottom: 0;
  left: 20px;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  z-index: -1;
}

.p-top-pickup__item {
  padding-bottom: 18px;
  line-height: 1.6;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (min-width: 641px), print {
  .p-top-pickup__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (max-width: 640px) {
  .p-top-pickup__item {
    padding-bottom: 22px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.p-top-pickup__date {
  font-size: 14px;
  white-space: nowrap;
  width: 8%;
}

@media screen and (min-width: 641px), print {
  .p-top-pickup__date {
    margin-right: 24px;
  }
}

@media screen and (max-width: 640px) {
  .p-top-pickup__date {
    font-size: 12px;
    display: block;
    margin-bottom: 6px;
    width: 100%;
  }
}

.p-top-pickup__title {
  font-weight: bold;
  font-size: 14px;
  text-decoration: underline;
}

.p-top-pickup__title:hover {
  text-decoration: underline !important;
}

.p-top-pickup__title[target='_blank'] {
  background: no-repeat right center url("/assets/img/common/icon-blank-dark.svg");
}

@media screen and (min-width: 641px), print {
  .p-top-pickup__title[target='_blank'] {
    background-size: 16px 12px;
    padding-right: 26px;
  }
}

@media screen and (max-width: 640px) {
  .p-top-pickup__title[target='_blank'] {
    background-size: 12px 10px;
    padding-right: 22px;
  }
}

@media screen and (max-width: 640px) {
  .p-top-pickup__title {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(100% - 50px);
            flex: 0 0 calc(100% - 50px);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}

.p-top-pickup__new {
  background: #db477e;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #ffffff;
  font-size: 10px;
  padding: 0 10px;
  font-family: "lunchtype22", sans-serif;
  border-radius: 12px;
  height: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 11px;
}

@media screen and (max-width: 640px) {
  .p-top-pickup__new {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 40px;
            flex: 0 0 40px;
    width: 40px;
    height: 16px;
    margin-right: 9px;
  }
}

.p-top-products .c-accodionCategorySearch {
  margin-bottom: 40px;
}

@media screen and (max-width: 640px) {
  .p-top-products .c-accodionCategorySearch {
    margin-bottom: 20px;
  }
}

.p-top-products .c-button {
  display: block;
  margin: 0 auto;
  margin-bottom: 60px;
}

@media screen and (min-width: 641px), print {
  .p-top-products .c-col {
    margin-bottom: -30px;
  }
}

@media screen and (min-width: 641px), print {
  .p-top-products .c-col + .c-col {
    margin-top: 30px;
  }
}

@media screen and (max-width: 640px) {
  .p-top-products .c-col + .c-col {
    margin-top: 11px;
  }
}

@media screen and (min-width: 641px), print {
  .p-top-products .c-col__item {
    margin-right: 30px;
    padding-bottom: 30px;
  }
  .p-top-products .c-col__item:last-child {
    margin-right: 0;
  }
}

@media screen and (min-width: 641px), print {
  .p-top-products .c-col--2 {
    margin-right: 0;
  }
}

@media screen and (min-width: 641px), print {
  .p-top-products .c-col--2 .c-col__item {
    width: calc((100% - 30px) / 2);
  }
}

@media screen and (min-width: 641px), print {
  .p-top-products .c-col--3 {
    margin-right: 0;
  }
}

@media screen and (min-width: 641px), print {
  .p-top-products .c-col--3 .c-col__item {
    width: calc((100% - 60px) / 3);
  }
}

.p-top-series {
  margin: 80px 0 60px;
  position: relative;
}

@media screen and (max-width: 640px) {
  .p-top-series {
    margin: 54px 0 0;
  }
}

@media screen and (min-width: 641px), print {
  .p-top-series .c-col + .c-col {
    margin-top: 40px;
  }
}

@media screen and (max-width: 640px) {
  .p-top-series .c-col + .c-col {
    margin-top: 20px;
  }
}

.p-top-series .c-col--2 {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 640px) {
  .p-top-series .c-col--2 .c-col__item {
    width: calc(100% / 2 - 10px);
  }
  .p-top-series .c-col--2 .c-col__item:not(:last-child) {
    padding-bottom: 0;
  }
}

@media screen and (max-width: 640px) {
  .p-top-series .c-col--pc2sp1 {
    display: block;
  }
}

@media screen and (max-width: 640px) {
  .p-top-series .c-col--pc2sp1 .c-col__item {
    width: 100%;
  }
  .p-top-series .c-col--pc2sp1 .c-col__item:not(:last-child) {
    margin-bottom: 20px;
  }
}

.p-top-toEnglish {
  margin-top: 34px;
  text-align: right;
}

.p-uvCaption {
  color: #999999;
  font-family: "YakuHanJPs", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Noto Sans Japanese", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  letter-spacing: 0.1em;
  display: block;
  line-height: 1.66667;
  padding: 0.1px;
  font-size: 12px;
}

.p-uvCaption:before, .p-uvCaption:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-uvCaption:before {
  margin-top: calc((1 - 1.66667) * 0.5em);
}

.p-uvCaption:after {
  margin-bottom: calc((1 - 1.66667) * 0.5em);
}

.p-uvCaption--mini {
  font-size: 10px;
}

.p-uvCaption--gray {
  color: #999999;
}

.p-uvCaption--white {
  color: #ffffff;
}

.p-uvInfo-knowledge {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-font-feature-settings: 'palt';
          font-feature-settings: 'palt';
  /* unique styles */
}

.p-uvInfo-knowledge .c-caption {
  margin-top: 0;
}

.p-uvInfo-knowledge figure {
  margin: 0;
}

.p-uvInfo-knowledge sup {
  display: inline-block;
  margin-left: 0;
  letter-spacing: 0.04em;
  -webkit-transform: translateY(-25%);
          transform: translateY(-25%);
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-knowledge {
    padding-top: 120px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-knowledge {
    padding-top: 95px;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-knowledge .p-pageSectionHeadingUV {
    text-align: center;
  }
}

.p-uvInfo-knowledge__01 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-knowledge__01 {
    margin-top: 76px;
    padding-bottom: 120px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-knowledge__01 {
    padding-bottom: 100px;
  }
  .p-uvInfo-knowledge__01 .p-pageContentHeadingUV {
    margin-top: 43px;
  }
}

.p-uvInfo-knowledge__02 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fdf6f0;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-knowledge__02 {
    padding-top: 95px;
    padding-bottom: 96px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-knowledge__02 {
    padding-top: 63px;
    padding-bottom: 64px;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-knowledge__02 .p-pageContentHeadingUV {
    text-align: center;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-knowledge__02 .p-contentWidthUV + div {
    margin-top: 63px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-knowledge__02 .p-contentWidthUV + div {
    margin-top: 47px;
  }
}

.p-uvInfo-knowledge__03 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-knowledge__03 {
    padding-top: 120px;
    padding-bottom: 120px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-knowledge__03 {
    padding-top: 95px;
    padding-bottom: 96px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-knowledge__03 .p-pageContentHeadingUV__lower {
    letter-spacing: 0.04em;
  }
}

.p-uvInfo-knowledge__04 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-knowledge__04 {
    padding-top: 95px;
    padding-bottom: 94px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-knowledge__04 {
    padding-top: 63px;
    padding-bottom: 64px;
  }
}

.p-uvInfo-knowledge__04:before {
  position: absolute;
  z-index: -1;
  content: '';
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background-position: center;
  background-repeat: no-repeat;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-knowledge__04:before {
    background-size: 1920px auto;
    background-image: url("/assets/img/uv-info/knowledge/04-bg-pc.jpg");
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-knowledge__04:before {
    background-size: 100vw auto;
    background-image: url("/assets/img/uv-info/knowledge/04-bg-sp.jpg");
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-knowledge__04 .p-pageContentHeadingUV {
    text-align: center;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-knowledge__04 .p-pageContentHeadingUV__text {
    text-align: left;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-knowledge__chartFigure img {
    width: calc(630px / 2);
    height: calc(732px / 2);
  }
}

.p-uvInfo-knowledge__chartFigureWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (max-width: 640px) {
  .p-uvInfo-knowledge__01 .p-uvInfo-knowledge__chartFigureWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-knowledge__chartFigureWrapper > .p-pageContentHeadingUV {
    width: 505px;
    margin-right: 65px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-knowledge__chartFigureWrapper > .p-pageContentHeadingUV {
    margin-bottom: 47px;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-knowledge__chartFigureWrapper > div + .p-pageContentHeadingUV {
    margin-right: 0;
    margin-left: 65px;
  }
}

.p-uvInfo-knowledge__chartFigureInner {
  position: relative;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-knowledge__chartCaption {
    position: absolute;
    right: 0;
    top: calc(100% + 15px);
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-knowledge__chartCaption {
    text-align: right;
    margin-top: 16px;
  }
}

.p-uvInfo-knowledge__uvItemList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-knowledge__uvItemList > figure:nth-child(n + 2) {
    margin-left: 75px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-knowledge__uvItemList {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 64vw;
    margin: 0 auto;
  }
  .p-uvInfo-knowledge__uvItemList > figure:nth-child(2n) {
    margin-left: 20.53333vw;
  }
  .p-uvInfo-knowledge__uvItemList > figure:nth-child(n + 3):not(:first-child) {
    margin-top: 40px;
  }
}

.p-uvInfo-knowledge__uvItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-knowledge__uvItem:nth-of-type(1) {
    width: 80px;
  }
  .p-uvInfo-knowledge__uvItem:nth-of-type(2) {
    width: 80px;
  }
  .p-uvInfo-knowledge__uvItem:nth-of-type(3) {
    width: 80.5px;
  }
  .p-uvInfo-knowledge__uvItem:nth-of-type(4) {
    width: 80.5px;
  }
  .p-uvInfo-knowledge__uvItem:nth-of-type(5) {
    width: 80.5px;
  }
  .p-uvInfo-knowledge__uvItem:nth-of-type(6) {
    width: 80.5px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-knowledge__uvItem:nth-of-type(1) {
    width: 21.33333vw;
  }
  .p-uvInfo-knowledge__uvItem:nth-of-type(2) {
    width: 21.33333vw;
  }
  .p-uvInfo-knowledge__uvItem:nth-of-type(3) {
    width: 21.46667vw;
  }
  .p-uvInfo-knowledge__uvItem:nth-of-type(4) {
    width: 21.46667vw;
  }
  .p-uvInfo-knowledge__uvItem:nth-of-type(5) {
    width: 21.46667vw;
  }
  .p-uvInfo-knowledge__uvItem:nth-of-type(6) {
    width: 21.46667vw;
  }
}

.p-uvInfo-knowledge__uvItem img {
  width: 100%;
  margin-bottom: 24px;
}

.p-uvInfo-knowledge__uvItem figcaption {
  width: 100%;
  font-family: "YakuHanJPs", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Noto Sans Japanese", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  letter-spacing: 0.1em;
  line-height: 1.83333;
  padding: 0.1px;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 700;
}

.p-uvInfo-knowledge__uvItem figcaption:before, .p-uvInfo-knowledge__uvItem figcaption:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-uvInfo-knowledge__uvItem figcaption:before {
  margin-top: calc((1 - 1.83333) * 0.5em);
}

.p-uvInfo-knowledge__uvItem figcaption:after {
  margin-bottom: calc((1 - 1.83333) * 0.5em);
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-knowledge__uvItem figcaption {
    font-size: 12px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-knowledge__uvItem figcaption {
    font-size: 12px;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-knowledge__03List {
    margin-top: 34px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-knowledge__03List {
    margin-top: 35px;
    text-align: left;
  }
}

.p-uvInfo-knowledge__03ListItem:nth-child(n + 2) {
  margin-top: 34px;
}

.p-uvInfo-knowledge__03List h4 {
  margin-bottom: 16px;
}

.p-uvInfo-knowledge__04List {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-knowledge__04List {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 60px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-knowledge__04List {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 39px;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-knowledge__04ListItem {
    width: 549px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-knowledge__04ListItem:nth-child(n + 2) {
    margin-top: 24px;
  }
}

.p-uvInfo-knowledge__04ListItem > h4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 16px 24px 14px;
  border: 1px solid #ffffff;
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
}

.p-uvInfo-knowledge__04ListItem > h4 > span:nth-child(2) {
  padding-left: 6px;
}

.p-uvInfo-knowledge__04ListItem > p {
  padding: 26px;
  border: 1px solid #ffffff;
  border-radius: 0 0 8px 8px;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-knowledge__04ListItem > p {
    padding-bottom: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    height: 138px;
  }
}

.p-uvInfo-mainVisual {
  -webkit-font-feature-settings: 'palt';
          font-feature-settings: 'palt';
}

.p-uvInfo-mainVisual .c-caption {
  margin-top: 0;
}

.p-uvInfo-mainVisual sup {
  display: inline-block;
  margin-left: 0;
  letter-spacing: 0.04em;
  -webkit-transform: translateY(-25%);
          transform: translateY(-25%);
}

@media screen and (max-width: 640px) {
  .p-uvInfo-mainVisual {
    padding-top: calc(30 / 375 * 100vw);
  }
}

.p-uvInfo-mainVisual > .p-contentWidthUV {
  position: relative;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-mainVisual > .p-contentWidthUV {
    padding-top: 254px;
    padding-bottom: 164px;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-mainVisual__heading img {
    width: 553px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-mainVisual__heading img {
    width: 100%;
  }
}

.p-uvInfo-mainVisual__subHeading {
  font-family: '游明朝', YuMincho, 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
  line-height: 1;
  padding: 0.1px;
}

.p-uvInfo-mainVisual__subHeading:before, .p-uvInfo-mainVisual__subHeading:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-uvInfo-mainVisual__subHeading:before {
  margin-top: 0;
}

.p-uvInfo-mainVisual__subHeading:after {
  margin-bottom: 0;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-mainVisual__subHeading {
    margin-top: 30px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-mainVisual__subHeading {
    margin-top: clamp(10px, 3.73333vw, 14px);
    width: 100%;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-mainVisual__subHeading > p {
    font-size: 20px;
    letter-spacing: 0.15em;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-mainVisual__subHeading > p img {
    width: 100%;
  }
}

.p-uvInfo-mainVisual__ankerArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-mainVisual__ankerArea {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 84px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-mainVisual__ankerArea {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin-top: 33px;
    -webkit-transform: translateX(30px);
            transform: translateX(30px);
  }
}

.p-uvInfo-mainVisual__ankerAreaItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-mainVisual__ankerAreaItem {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-uvInfo-mainVisual__ankerAreaItem:nth-child(n + 2) {
    margin-left: 40px;
  }
  .p-uvInfo-mainVisual__ankerAreaItem:hover .c-circleArrow {
    background-color: #ee7868;
  }
  .p-uvInfo-mainVisual__ankerAreaItem:hover .c-circleArrow:before {
    background-color: #ffffff;
  }
  .p-uvInfo-mainVisual__ankerAreaItem:hover .c-circleArrow:after {
    border-color: #ffffff;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-mainVisual__ankerAreaItem {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 51.2vw;
  }
  .p-uvInfo-mainVisual__ankerAreaItem:nth-child(n + 2) {
    margin-top: 27px;
  }
  .p-uvInfo-mainVisual__ankerAreaItem::after {
    display: block;
    content: '';
    background-color: #ee7868;
    height: 1px;
    width: calc(100% + 30px);
  }
}

.p-uvInfo-mainVisual__ankerAreaItem > p {
  font-family: "YakuHanJPs", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Noto Sans Japanese", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  line-height: 1;
  padding: 0.1px;
}

.p-uvInfo-mainVisual__ankerAreaItem > p:before, .p-uvInfo-mainVisual__ankerAreaItem > p:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-uvInfo-mainVisual__ankerAreaItem > p:before {
  margin-top: 0;
}

.p-uvInfo-mainVisual__ankerAreaItem > p:after {
  margin-bottom: 0;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-mainVisual__ankerAreaItem > p {
    font-size: 14px;
    letter-spacing: 0.1em;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-mainVisual__ankerAreaItem > p {
    font-size: clamp(10px, 3.46667vw, 13px);
    letter-spacing: 0.075em;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-mainVisual__ankerAreaItem > .c-circleArrow {
    margin-left: 16px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-mainVisual__ankerAreaItem > .c-circleArrow {
    margin-right: 18px;
    margin-bottom: 10px;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-mainVisual__figureArea {
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    bottom: 0;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-mainVisual__figureArea {
    position: relative;
    margin-bottom: 40px;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-mainVisual__figureArea img {
    height: 100%;
  }
}

.p-uvInfo-mainVisual__caption {
  position: absolute;
}

@media screen and (max-width: 640px) {
  .p-uvInfo-mainVisual__caption {
    bottom: 2.66667vw;
    left: 2.66667vw;
  }
}

.p-uvInfo-other {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-font-feature-settings: 'palt';
          font-feature-settings: 'palt';
  background-color: #fdf6f0;
}

.p-uvInfo-other .c-caption {
  margin-top: 0;
}

.p-uvInfo-other sup {
  display: inline-block;
  margin-left: 0;
  letter-spacing: 0.04em;
  -webkit-transform: translateY(-25%);
          transform: translateY(-25%);
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-other {
    padding-top: 96px;
    padding-bottom: 70px;
  }
  .p-uvInfo-other #recommended {
    margin-top: -124px;
    padding-top: 124px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-other {
    padding-top: 64px;
    padding-bottom: 64px;
  }
  .p-uvInfo-other #recommended {
    margin-top: -100px;
    padding-top: 100px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-other .p-pageSectionHeadingUV__upper {
    letter-spacing: 0.12em;
  }
}

.p-uvInfo-other__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 640px) {
  .p-uvInfo-other__list {
    margin-top: 47px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-other__list + .p-uvInfo-other__list {
    margin-top: 24px;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-other__listItem {
    margin-top: 60px;
    width: calc((100% - 314px) / 3);
  }
  .p-uvInfo-other__listItem:not(:nth-child(3n)):not(:last-child) {
    margin-right: 32px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-other__listItem:nth-child(n + 2) {
    margin-top: 24px;
  }
}

.p-uvInfo-recommended {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-font-feature-settings: 'palt';
          font-feature-settings: 'palt';
  /* unique styles */
}

.p-uvInfo-recommended .c-caption {
  margin-top: 0;
}

.p-uvInfo-recommended figure {
  margin: 0;
}

.p-uvInfo-recommended sup {
  display: inline-block;
  margin-left: 0;
  letter-spacing: 0.04em;
  -webkit-transform: translateY(-25%);
          transform: translateY(-25%);
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended {
    padding-top: 120px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended {
    padding-top: 96px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended .p-pageSectionHeadingUV__upper {
    letter-spacing: 0.1em;
  }
}

.p-uvInfo-recommended__00 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__00 {
    padding-bottom: 119px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended__00 {
    padding-bottom: 94px;
  }
}

.p-uvInfo-recommended__00::before {
  display: block;
  content: '';
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(/assets/img/uv-info/recommended/text-daycream.svg);
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__00::before {
    width: 446px;
    height: 176px;
    left: calc(50% + 241px);
    bottom: 36px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended__00::before {
    width: 60vw;
    height: 23.73333vw;
    right: 0;
    bottom: 42px;
  }
}

.p-uvInfo-recommended__00 .p-uvCaption {
  margin-top: 31px;
}

.p-uvInfo-recommended__01 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__01 {
    padding-bottom: 119px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended__01 {
    padding-bottom: 94px;
  }
}

.p-uvInfo-recommended__01 .p-pageContentHeadingUV {
  text-align: center;
}

.p-uvInfo-recommended__02 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__02 {
    padding-bottom: 70px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended__02 {
    padding-bottom: 63px;
  }
}

.p-uvInfo-recommended__02 .p-pageContentHeadingUV {
  text-align: center;
}

.p-uvInfo-recommended__00Content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__00Content {
    margin-top: 80px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended__00Content {
    margin-top: 47px;
  }
}

.p-uvInfo-recommended__00Figurearea {
  position: relative;
  background-size: contain;
  background-position: center bottom;
  background-repeat: no-repeat;
  background-image: url(/assets/img/uv-info/recommended/figure-bg.png);
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__00Figurearea {
    width: 558px;
    height: 393px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended__00Figurearea {
    width: 100%;
    height: 64vw;
  }
}

.p-uvInfo-recommended__00Figurearea img {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-box-shadow: 5.142px 6.128px 24px 0px rgba(6, 0, 1, 0.06);
          box-shadow: 5.142px 6.128px 24px 0px rgba(6, 0, 1, 0.06);
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__00Figurearea img {
    width: 329px;
    height: 328px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended__00Figurearea img {
    width: 53.33333vw;
    height: 53.33333vw;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__00Textarea {
    margin-left: 78px;
    padding-top: 32px;
  }
  .p-uvInfo-recommended__00Textarea:hover .c-circleArrow {
    background-color: #ee7868;
  }
  .p-uvInfo-recommended__00Textarea:hover .c-circleArrow:before {
    background-color: #ffffff;
  }
  .p-uvInfo-recommended__00Textarea:hover .c-circleArrow:after {
    border-color: #ffffff;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended__00Textarea {
    margin-top: 39px;
    width: 100%;
  }
}

.p-uvInfo-recommended__00Textarea .c-caption {
  margin-top: 31px;
}

.p-uvInfo-recommended__00TextareaText {
  font-family: '游明朝', YuMincho, 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
  letter-spacing: 0.15em;
  font-size: 16px;
  line-height: 1.75;
  padding: 0.1px;
}

.p-uvInfo-recommended__00TextareaText:before, .p-uvInfo-recommended__00TextareaText:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-uvInfo-recommended__00TextareaText:before {
  margin-top: calc((1 - 1.75) * 0.5em);
}

.p-uvInfo-recommended__00TextareaText:after {
  margin-bottom: calc((1 - 1.75) * 0.5em);
}

.p-uvInfo-recommended__00TextareaContent {
  margin-top: 39px;
}

.p-uvInfo-recommended__00ProdectCategory {
  font-family: "YakuHanJPs", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Noto Sans Japanese", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  letter-spacing: 0.1em;
  line-height: 2;
  padding: 0.1px;
  font-size: 14px;
}

.p-uvInfo-recommended__00ProdectCategory:before, .p-uvInfo-recommended__00ProdectCategory:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-uvInfo-recommended__00ProdectCategory:before {
  margin-top: calc((1 - 2) * 0.5em);
}

.p-uvInfo-recommended__00ProdectCategory:after {
  margin-bottom: calc((1 - 2) * 0.5em);
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__00ProdectCategory {
    margin-bottom: 8px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended__00ProdectCategory {
    margin-bottom: 10px;
  }
}

.p-uvInfo-recommended__00ProdectName {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "YakuHanJPs", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Noto Sans Japanese", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  letter-spacing: 0.1em;
  font-size: 20px;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__00ProdectName {
    line-height: 1.4;
    padding: 0.1px;
  }
  .p-uvInfo-recommended__00ProdectName:before, .p-uvInfo-recommended__00ProdectName:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-uvInfo-recommended__00ProdectName:before {
    margin-top: calc((1 - 1.4) * 0.5em);
  }
  .p-uvInfo-recommended__00ProdectName:after {
    margin-bottom: calc((1 - 1.4) * 0.5em);
  }
  .p-uvInfo-recommended__00ProdectName .c-circleArrow {
    margin-left: 16px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended__00ProdectName {
    line-height: 1.2;
    padding: 0.1px;
  }
  .p-uvInfo-recommended__00ProdectName:before, .p-uvInfo-recommended__00ProdectName:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-uvInfo-recommended__00ProdectName:before {
    margin-top: calc((1 - 1.2) * 0.5em);
  }
  .p-uvInfo-recommended__00ProdectName:after {
    margin-bottom: calc((1 - 1.2) * 0.5em);
  }
}

.p-uvInfo-recommended__00ProdectDescription {
  font-family: "YakuHanJPs", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Noto Sans Japanese", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  letter-spacing: 0.1em;
  line-height: 2.33333;
  padding: 0.1px;
  font-size: 12px;
}

.p-uvInfo-recommended__00ProdectDescription:before, .p-uvInfo-recommended__00ProdectDescription:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-uvInfo-recommended__00ProdectDescription:before {
  margin-top: calc((1 - 2.33333) * 0.5em);
}

.p-uvInfo-recommended__00ProdectDescription:after {
  margin-bottom: calc((1 - 2.33333) * 0.5em);
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__00ProdectDescription {
    margin-top: 11px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended__00ProdectDescription {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 10px;
  }
  .p-uvInfo-recommended__00ProdectDescription .c-circleArrow {
    margin-left: 15px;
  }
}

@media screen and (max-width: 374px) {
  .p-uvInfo-recommended__00ProdectDescription .c-circleArrow {
    margin-left: 0;
  }
}

.p-uvInfo-recommended__00ProdectDescription span::before,
.p-uvInfo-recommended__00ProdectDescription span::after {
  display: inline;
  font-family: inherit;
  line-height: 1em;
}

.p-uvInfo-recommended__00ProdectDescription span::before {
  content: '\3008';
}

.p-uvInfo-recommended__00ProdectDescription span::after {
  content: '\3009';
}

.p-uvInfo-recommended__00ProdectInfo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__00ProdectInfo {
    margin-top: 21px;
    width: 218px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended__00ProdectInfo {
    margin-top: 18px;
    max-width: 315px;
  }
}

.p-uvInfo-recommended__00ProdectInfoItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: ltc-caslon-pro, serif;
  letter-spacing: 0.1em;
  font-size: 18px;
  line-height: 1.33333;
  padding: 0.1px;
}

.p-uvInfo-recommended__00ProdectInfoItem:before, .p-uvInfo-recommended__00ProdectInfoItem:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-uvInfo-recommended__00ProdectInfoItem:before {
  margin-top: calc((1 - 1.33333) * 0.5em);
}

.p-uvInfo-recommended__00ProdectInfoItem:after {
  margin-bottom: calc((1 - 1.33333) * 0.5em);
}

.p-uvInfo-recommended__00ProdectInfoItem:first-child::after {
  display: inline-block;
  background-color: #e1e3e5;
  width: 1px;
  height: 1em;
  margin-right: 17px;
  margin-left: 15px;
}

.p-uvInfo-recommended__00ProdectInfoItem:nth-child(n + 3) {
  margin-top: 16px;
}

.p-uvInfo-recommended__00ProdectInfoItem span {
  font-family: "YakuHanJPs", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Noto Sans Japanese", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  font-size: 14px;
}

.p-uvInfo-recommended__01List {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__01List {
    margin-top: 65px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended__01List {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 47px;
  }
}

.p-uvInfo-recommended__01ListItem {
  text-align: center;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__01ListItem:nth-child(2) {
    margin-left: 78px;
  }
  .p-uvInfo-recommended__01ListItem:nth-child(3) {
    margin-left: 51px;
  }
  .p-uvInfo-recommended__01ListItem:nth-child(4) {
    margin-left: 53px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended__01ListItem:nth-child(n + 2) {
    margin-top: 46px;
  }
}

.p-uvInfo-recommended__01ListItemUpper::after {
  background-color: #ee7868;
  display: block;
  content: '';
  height: 1px;
  width: 32px;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__01ListItemUpper::after {
    margin: 21px auto 24px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended__01ListItemUpper::after {
    margin: 13px auto 16px;
  }
}

.p-uvInfo-recommended__01ListItemTitle {
  font-family: '游明朝', YuMincho, 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
  letter-spacing: 0.15em;
  line-height: 1;
  padding: 0.1px;
  font-size: 20px;
}

.p-uvInfo-recommended__01ListItemTitle:before, .p-uvInfo-recommended__01ListItemTitle:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-uvInfo-recommended__01ListItemTitle:before {
  margin-top: 0;
}

.p-uvInfo-recommended__01ListItemTitle:after {
  margin-bottom: 0;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__01ListItemTitle {
    margin-top: 28px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended__01ListItemTitle {
    margin-top: 14px;
  }
}

.p-uvInfo-recommended__01ListItemSubtitle {
  color: #ee7868;
  font-family: ltc-caslon-pro, serif;
  font-style: italic;
  font-size: 14px;
  letter-spacing: 0.02em;
  line-height: 1;
  padding: 0.1px;
  margin-top: 10px;
}

.p-uvInfo-recommended__01ListItemSubtitle:before, .p-uvInfo-recommended__01ListItemSubtitle:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-uvInfo-recommended__01ListItemSubtitle:before {
  margin-top: 0;
}

.p-uvInfo-recommended__01ListItemSubtitle:after {
  margin-bottom: 0;
}

.p-uvInfo-recommended__02List {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__02List {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 63px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended__02List {
    margin-top: 40px;
  }
}

.p-uvInfo-recommended__02ListItem {
  text-align: center;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__02ListItem {
    width: 192px;
  }
  .p-uvInfo-recommended__02ListItem:nth-child(n + 2):not(:nth-child(3n + 1)) {
    margin-left: 93px;
  }
  .p-uvInfo-recommended__02ListItem:nth-child(n + 4) {
    margin-top: 63px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended__02ListItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .p-uvInfo-recommended__02ListItem:nth-child(n + 2) {
    margin-top: 39px;
  }
  .p-uvInfo-recommended__02ListItem:nth-child(2n + 1) .p-uvInfo-recommended__02ListItemFigure {
    margin-right: 4vw;
  }
  .p-uvInfo-recommended__02ListItem:nth-child(2n) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .p-uvInfo-recommended__02ListItem:nth-child(2n) .p-uvInfo-recommended__02ListItemFigure {
    margin-left: 4vw;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__02ListItemFigure {
    width: 192px;
    height: 192px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended__02ListItemFigure {
    display: block;
    width: 40vw;
    height: 40vw;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__02ListItemFigcaption {
    white-space: nowrap;
    margin-top: 32px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended__02ListItemFigcaption {
    text-align: left;
    width: 40vw;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended__02ListItemUpper::after {
    background-color: #ee7868;
    display: block;
    content: '';
    height: 1px;
    width: 32px;
    margin: 23px auto 24px 0;
  }
}

.p-uvInfo-recommended__02ListItemTitle {
  font-family: '游明朝', YuMincho, 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
  line-height: 1;
  padding: 0.1px;
  font-size: 16px;
  letter-spacing: 0.1em;
}

.p-uvInfo-recommended__02ListItemTitle:before, .p-uvInfo-recommended__02ListItemTitle:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-uvInfo-recommended__02ListItemTitle:before {
  margin-top: 0;
}

.p-uvInfo-recommended__02ListItemTitle:after {
  margin-bottom: 0;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__02ListItemTitle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.p-uvInfo-recommended__02ListItemSubtitle {
  font-family: '游明朝', YuMincho, 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
  line-height: 1;
  padding: 0.1px;
  margin-top: 12px;
}

.p-uvInfo-recommended__02ListItemSubtitle:before, .p-uvInfo-recommended__02ListItemSubtitle:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-uvInfo-recommended__02ListItemSubtitle:before {
  margin-top: 0;
}

.p-uvInfo-recommended__02ListItemSubtitle:after {
  margin-bottom: 0;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__02ListItemSubtitle {
    font-size: 14px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    letter-spacing: 0.1em;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended__02ListItemSubtitle {
    font-size: 12px;
    letter-spacing: 0.03em;
  }
}

.p-uvInfo-recommended__02ListItemSeparator {
  background-color: #ee7868;
  display: block;
  height: 1px;
  width: 32px;
  margin: 0 auto;
  margin-bottom: 21px;
}

.p-uvInfo-recommended__02ListItemTitle + .p-uvInfo-recommended__02ListItemSeparator {
  margin-top: 49px;
}

.p-uvInfo-recommended__02ListItemSubtitle + .p-uvInfo-recommended__02ListItemSeparator {
  margin-top: 23px;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__02ListItemBottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__02ListItemText {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-recommended__02Caption {
    padding: 16px;
    padding-top: 0;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-recommended__02Caption {
    padding-right: 30px;
    padding-left: 30px;
    padding-bottom: 32px;
  }
}

.p-uvInfo-store {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-font-feature-settings: 'palt';
          font-feature-settings: 'palt';
}

.p-uvInfo-store .c-caption {
  margin-top: 0;
}

.p-uvInfo-store sup {
  display: inline-block;
  margin-left: 0;
  letter-spacing: 0.04em;
  -webkit-transform: translateY(-25%);
          transform: translateY(-25%);
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-store {
    padding-top: 120px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-store {
    padding-top: 96px;
  }
}

.p-uvInfo-store__wrapper {
  display: block;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-store__wrapper {
    width: 673px;
    background-image: url(/assets/img/uv-info/store/bg-pc.jpg);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 32px 48px;
    margin: 0 auto;
  }
  .p-uvInfo-store__wrapper:hover .p-uvInfo-store__linkViewmore::after {
    letter-spacing: 0.3em;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-store__wrapper {
    background-image: url(/assets/img/uv-info/store/bg-sp.jpg);
    padding: 32px;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-store__figurearea img {
    width: 171px;
    height: 176px;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-store__textarea {
    width: 100%;
    margin-left: 40px;
    padding-top: 16px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-store__textarea {
    margin-top: 32px;
  }
}

.p-uvInfo-store__title {
  font-family: garamond-premier-pro-display, serif;
  font-size: 28px;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 0.1px;
}

.p-uvInfo-store__title:before, .p-uvInfo-store__title:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-uvInfo-store__title:before {
  margin-top: 0;
}

.p-uvInfo-store__title:after {
  margin-bottom: 0;
}

.p-uvInfo-store__text {
  font-family: "YakuHanJPs", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Noto Sans Japanese", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  letter-spacing: 0.1em;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-store__text {
    font-size: 12px;
    line-height: 2;
    padding: 0.1px;
    margin-top: 28px;
  }
  .p-uvInfo-store__text:before, .p-uvInfo-store__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-uvInfo-store__text:before {
    margin-top: calc((1 - 2) * 0.5em);
  }
  .p-uvInfo-store__text:after {
    margin-bottom: calc((1 - 2) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-store__text {
    font-size: 13px;
    line-height: 1.69231;
    padding: 0.1px;
    margin-top: 23px;
  }
  .p-uvInfo-store__text:before, .p-uvInfo-store__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-uvInfo-store__text:before {
    margin-top: calc((1 - 1.69231) * 0.5em);
  }
  .p-uvInfo-store__text:after {
    margin-bottom: calc((1 - 1.69231) * 0.5em);
  }
}

.p-uvInfo-store__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-store__link {
    margin-top: 19px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-store__link {
    margin-top: 31px;
  }
}

.p-uvInfo-store__linkText {
  font-family: "YakuHanJPs", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Noto Sans Japanese", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1.57143;
  padding: 0.1px;
}

.p-uvInfo-store__linkText:before, .p-uvInfo-store__linkText:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-uvInfo-store__linkText:before {
  margin-top: calc((1 - 1.57143) * 0.5em);
}

.p-uvInfo-store__linkText:after {
  margin-bottom: calc((1 - 1.57143) * 0.5em);
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-store__linkText {
    font-size: 14px;
    line-height: 1.57143;
    padding: 0.1px;
  }
  .p-uvInfo-store__linkText:before, .p-uvInfo-store__linkText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-uvInfo-store__linkText:before {
    margin-top: calc((1 - 1.57143) * 0.5em);
  }
  .p-uvInfo-store__linkText:after {
    margin-bottom: calc((1 - 1.57143) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-store__linkText {
    font-size: 12px;
    line-height: 2;
    padding: 0.1px;
  }
  .p-uvInfo-store__linkText:before, .p-uvInfo-store__linkText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-uvInfo-store__linkText:before {
    margin-top: calc((1 - 2) * 0.5em);
  }
  .p-uvInfo-store__linkText:after {
    margin-bottom: calc((1 - 2) * 0.5em);
  }
}

.p-uvInfo-store__linkViewmore {
  position: relative;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-store__linkViewmore {
    width: 56px;
    height: 56px;
    margin-left: 16px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-store__linkViewmore {
    margin-left: 4.26667vw;
  }
}

.p-uvInfo-store__linkViewmore:before {
  display: block;
  content: '';
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-store__linkViewmore:before {
    width: 56px;
    height: 56px;
    background-image: url(/assets/img/uv-info/store/viewmore-pc.png);
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-store__linkViewmore:before {
    width: 8.53333vw;
    height: 8.53333vw;
    background-image: url(/assets/img/uv-info/store/viewmore-sp.png);
  }
}

@media screen and (min-width: 641px), print {
  .p-uvInfo-store__linkViewmore::after {
    -webkit-transition: letter-spacing 0.5s;
    transition: letter-spacing 0.5s;
    font-family: optima, 'Tenor Sans', serif;
    font-size: 12px;
    letter-spacing: 0.1em;
    line-height: 1;
    padding: 0.1px;
    position: absolute;
    content: 'SEARCH';
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .p-uvInfo-store__linkViewmore::after:before, .p-uvInfo-store__linkViewmore::after:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-uvInfo-store__linkViewmore::after:before {
    margin-top: 0;
  }
  .p-uvInfo-store__linkViewmore::after:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) {
  .p-uvInfo-store__linkViewmore::after {
    width: 7.73333vw;
    height: 2.4vw;
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    background-image: url(/assets/img/uv-info/store/arrow.svg);
    z-index: 1;
  }
}

.p-uvProduct {
  display: block;
}

@media screen and (min-width: 641px), print {
  .p-uvProduct:hover .c-circleArrow {
    background-color: #ee7868;
  }
  .p-uvProduct:hover .c-circleArrow:before {
    background-color: #fdf6f0;
  }
  .p-uvProduct:hover .c-circleArrow:after {
    border-color: #fdf6f0;
  }
}

@media screen and (max-width: 640px) {
  .p-uvProduct {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-bottom: 38px;
  }
  .p-uvProduct .c-circleArrow {
    position: absolute;
    right: 0;
    bottom: 0;
  }
}

.p-uvProduct__figurearea {
  position: relative;
  background-color: #ffffff;
  height: 272px;
}

@media screen and (max-width: 640px) {
  .p-uvProduct__figurearea {
    width: 40vw;
    height: 40vw;
    margin-right: 4vw;
  }
}

.p-uvProduct__figurearea::after {
  position: absolute;
  bottom: 0;
  display: block;
  content: '';
  background-color: #ee7868;
  width: 100%;
  height: 2px;
}

.p-uvProduct__figurearea img {
  height: auto;
  width: 185px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media screen and (max-width: 640px) {
  .p-uvProduct__figurearea img {
    width: 26.66667vw;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvProduct__textarea {
    margin-top: 24px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvProduct__textarea {
    width: 40vw;
  }
}

.p-uvProduct__labelList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (min-width: 641px), print {
  .p-uvProduct__labelList {
    margin-bottom: 14px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvProduct__labelList {
    margin-bottom: 10px;
  }
}

.p-uvProduct__labelItem {
  color: #ee7868;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #ee7868;
  border-radius: 2px;
  font-family: bilo, sans-serif;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 0.1px;
}

.p-uvProduct__labelItem:before, .p-uvProduct__labelItem:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-uvProduct__labelItem:before {
  margin-top: 0;
}

.p-uvProduct__labelItem:after {
  margin-bottom: 0;
}

@media screen and (min-width: 641px), print {
  .p-uvProduct__labelItem {
    font-size: 12px;
    padding: 4px 8px;
  }
  .p-uvProduct__labelItem:nth-child(n + 2) {
    margin-left: 8px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvProduct__labelItem {
    font-size: 10px;
    padding: 4px 6px;
  }
  .p-uvProduct__labelItem:nth-child(n + 2) {
    margin-left: 4px;
  }
}

.p-uvProduct__upperInfo {
  position: relative;
}

.p-uvProduct__upperInfo .c-circleArrow {
  position: absolute;
}

@media screen and (min-width: 641px), print {
  .p-uvProduct__upperInfo .c-circleArrow {
    bottom: 0;
    right: 0;
  }
}

@media screen and (max-width: 640px) {
  .p-uvProduct__upperInfo .c-circleArrow {
    bottom: 0px;
    right: 0;
  }
}

.p-uvProduct__category {
  font-family: "YakuHanJPs", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Noto Sans Japanese", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  letter-spacing: 0.1em;
  line-height: 2;
  padding: 0.1px;
  font-size: 12px;
}

.p-uvProduct__category:before, .p-uvProduct__category:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-uvProduct__category:before {
  margin-top: calc((1 - 2) * 0.5em);
}

.p-uvProduct__category:after {
  margin-bottom: calc((1 - 2) * 0.5em);
}

@media screen and (min-width: 641px), print {
  .p-uvProduct__category {
    margin-bottom: 12px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvProduct__category {
    margin-bottom: 10px;
  }
}

.p-uvProduct__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "YakuHanJPs", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Noto Sans Japanese", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  letter-spacing: 0.1em;
}

@media screen and (min-width: 641px), print {
  .p-uvProduct__name {
    font-size: 18px;
    line-height: 1.33333;
    padding: 0.1px;
  }
  .p-uvProduct__name:before, .p-uvProduct__name:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-uvProduct__name:before {
    margin-top: calc((1 - 1.33333) * 0.5em);
  }
  .p-uvProduct__name:after {
    margin-bottom: calc((1 - 1.33333) * 0.5em);
  }
  .p-uvProduct:nth-child(-n+3) .p-uvProduct__name {
    min-height: 48px;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}

@media screen and (max-width: 640px) {
  .p-uvProduct__name {
    font-size: 16px;
    line-height: 1.25;
    padding: 0.1px;
  }
  .p-uvProduct__name:before, .p-uvProduct__name:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-uvProduct__name:before {
    margin-top: calc((1 - 1.25) * 0.5em);
  }
  .p-uvProduct__name:after {
    margin-bottom: calc((1 - 1.25) * 0.5em);
  }
}

.p-uvProduct__description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-uvProduct__description span {
  font-family: "YakuHanJPs", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Noto Sans Japanese", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  letter-spacing: 0.05em;
  line-height: 1.66667;
  padding: 0.1px;
  font-size: 12px;
  margin-top: 10px;
}

.p-uvProduct__description span:before, .p-uvProduct__description span:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-uvProduct__description span:before {
  margin-top: calc((1 - 1.66667) * 0.5em);
}

.p-uvProduct__description span:after {
  margin-bottom: calc((1 - 1.66667) * 0.5em);
}

.p-uvProduct__bottomInfo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (max-width: 640px) {
  .p-uvProduct__bottomInfo {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-uvProduct__bottomInfo::before {
  display: block;
  content: '';
  width: 100%;
  height: 1px;
  margin: 15px 0;
  background-repeat: repeat-x;
  background-size: 5px 1px;
  background-image: linear-gradient(to right, #c1c1c1, #c1c1c1 3px, transparent 3px, transparent 5px);
}

@media screen and (max-width: 640px) {
  .p-uvProduct__bottomInfo::before {
    margin: 15px 0 12px;
  }
}

.p-uvProduct__bottomInfoItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-family: ltc-caslon-pro, serif;
  letter-spacing: 0.1em;
  font-size: 18px;
  line-height: 1.33333;
  padding: 0.1px;
}

.p-uvProduct__bottomInfoItem:before, .p-uvProduct__bottomInfoItem:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-uvProduct__bottomInfoItem:before {
  margin-top: calc((1 - 1.33333) * 0.5em);
}

.p-uvProduct__bottomInfoItem:after {
  margin-bottom: calc((1 - 1.33333) * 0.5em);
}

@media screen and (min-width: 641px), print {
  .p-uvProduct__bottomInfoItem {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-uvProduct__bottomInfoItem:first-child::after {
    display: inline-block;
    background-color: #e1e3e5;
    width: 1px;
    height: 1em;
    margin-right: 17px;
    margin-left: 15px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvProduct__bottomInfoItem {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    font-size: 16px;
  }
  .p-uvProduct__bottomInfoItem:nth-child(n + 2) {
    margin-top: 3px;
  }
}

.p-uvProduct__bottomInfoItem span {
  font-family: "YakuHanJPs", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Noto Sans Japanese", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  font-size: 14px;
}

@media screen and (max-width: 640px) {
  .p-uvProduct__bottomInfoItem span {
    font-size: 12px;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvProduct__bottomInfoItem--type-margin-top {
    margin-top: 10px;
    margin-right: 30px;
    font-size: 16px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvProduct__bottomInfoItem--type-margin-top {
    font-size: 14px;
  }
}

@media screen and (min-width: 641px), print {
  .p-uvProduct__bottomInfoItem--type-of-thin {
    margin-top: 5px;
    margin-right: 30px;
    font-size: 15px;
  }
}

@media screen and (max-width: 640px) {
  .p-uvProduct__bottomInfoItem--type-of-thin {
    font-size: 13px;
  }
}

.p-uvText__bilioText {
  color: #ee7868;
  font-family: bilo, sans-serif;
  font-size: 14px;
  letter-spacing: 0;
  line-height: 1;
  padding: 0.1px;
}

.p-uvText__bilioText:before, .p-uvText__bilioText:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-uvText__bilioText:before {
  margin-top: 0;
}

.p-uvText__bilioText:after {
  margin-bottom: 0;
}

.p-uvText__bilioText span {
  font-family: "YakuHanJPs", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Noto Sans Japanese", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.p-uvText__bilioText--l {
  font-size: 18px;
}

.p-uvText__bilioText--black {
  color: #000000;
}

.p-uvText__planeText {
  font-family: "YakuHanJPs", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Noto Sans Japanese", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  font-size: 12px;
  letter-spacing: 0.09em;
  line-height: 2.16667;
  padding: 0.1px;
}

.p-uvText__planeText:before, .p-uvText__planeText:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-uvText__planeText:before {
  margin-top: calc((1 - 2.16667) * 0.5em);
}

.p-uvText__planeText:after {
  margin-bottom: calc((1 - 2.16667) * 0.5em);
}

.p-uvText__planeText--gray {
  color: #999999;
}

.p-viewmoreBtn {
  position: relative;
  display: block;
  border-radius: 50%;
  border: 1px solid #000;
  color: transparent;
}

@media screen and (min-width: 641px), print {
  .p-viewmoreBtn {
    width: 56px;
    height: 56px;
  }
  .p-viewmoreBtn::before {
    position: absolute;
    left: 24px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    display: inline-block;
    content: 'VIEW MORE';
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: optima, "Tenor Sans";
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    color: #000;
    white-space: nowrap;
    -webkit-transition: letter-spacing 0.5s;
    transition: letter-spacing 0.5s;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-viewmoreBtn::before {
    font-size: 12px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-viewmoreBtn::before {
    font-size: calc(12 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-viewmoreBtn::before:before, .p-viewmoreBtn::before:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-viewmoreBtn::before:before {
    margin-top: 0;
  }
  .p-viewmoreBtn::before:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-viewmoreBtn::before {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-viewmoreBtn {
    width: 32px;
    height: 32px;
  }
  .p-viewmoreBtn::after {
    position: absolute;
    top: calc(50% - 4.5px);
    left: calc(100% - 16px);
    display: block;
    content: '';
    width: 29px;
    height: 9px;
    background-image: url("/assets/img/excia/common/icon-parts/btn-arrow-black.svg");
    background-size: cover;
    background-position: center;
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: optima, "Tenor Sans";
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    color: #000;
    white-space: nowrap;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-viewmoreBtn::after {
    font-size: 12px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-viewmoreBtn::after {
    font-size: calc(12 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-viewmoreBtn::after:before, .p-viewmoreBtn::after:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-viewmoreBtn::after:before {
    margin-top: 0;
  }
  .p-viewmoreBtn::after:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-viewmoreBtn::after {
    letter-spacing: 0.01em !important;
  }
}

.p-viewmoreBtn--search::before {
  content: 'SEARCH';
}

.p-viewmoreBtn--small {
  width: 32px;
  height: 32px;
}

.p-viewmoreBtn--small::before {
  display: none;
}

.p-viewmoreBtn--small::after {
  position: absolute;
  top: calc(50% - 4.5px);
  left: calc(100% - 16px);
  display: block;
  content: '';
  width: 29px;
  height: 9px;
  background-image: url("/assets/img/excia/common/icon-parts/btn-arrow-black.svg");
  background-size: cover;
  background-position: center;
  letter-spacing: 0.04em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: optima, "Tenor Sans";
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
  color: #000;
  white-space: nowrap;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}

@media screen and (min-width: 641px), print {
  .p-viewmoreBtn--small::after {
    font-size: 12px;
  }
}

@media screen and (max-width: 640px) {
  .p-viewmoreBtn--small::after {
    font-size: calc(12 / 375 * 100vw);
  }
}

.p-viewmoreBtn--small::after:before, .p-viewmoreBtn--small::after:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-viewmoreBtn--small::after:before {
  margin-top: 0;
}

.p-viewmoreBtn--small::after:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-viewmoreBtn--small::after {
    letter-spacing: 0.01em !important;
  }
}

.p-viewmoreBtn--blue {
  border-color: #7d98ba;
}

.p-viewmoreBtn--blue::before {
  color: #7d98ba;
}

.p-viewmoreBtn--blue::after {
  background-image: url("/assets/img/excia/common/icon-parts/btn-arrow-blue.svg");
}

.p-viewmoreBtn--pink {
  border-color: #ecdee3;
}

.p-viewmoreBtn--pink::before {
  color: #bc6a9a;
}

.p-viewmoreBtn--pink::after {
  background-image: url("/assets/img/excia/common/icon-parts/btn-arrow-pink.svg");
}

.p-viewmoreBtn--white {
  border-color: #ffffff;
}

.p-viewmoreBtn--white::before {
  color: #ffffff;
}

.p-viewmoreBtn--white::after {
  background-image: url("/assets/img/excia/common/icon-parts/btn-arrow-white.svg");
}

.p-viewmoreBtn--gradation {
  /* 画像をつかって表現する */
  border: none;
  background-image: url("/assets/img/excia/common/icon-parts/btn-circle-gradation.png");
  background-size: cover;
}

.p-viewmoreBtn--gradation::after {
  background-image: url("/assets/img/excia/common/icon-parts/btn-arrow-black.svg");
}

@media screen and (min-width: 641px), print {
  .p-viewmoreBtn__wrapper:hover .p-viewmoreBtn::before {
    letter-spacing: 0.3em;
  }
  .p-viewmoreBtn__wrapper:hover .p-viewmoreBtn--small::after {
    -webkit-transform: translateX(5px);
            transform: translateX(5px);
  }
}

.p-viewmoreBtn__wrapper.p-storeSearch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

/* ====
color for excia
==== */
/* common */
/* skincare */
/* makeup */
/* conceptbook */
@font-face {
  font-family: 'lunchtype22';
  font-style: normal;
  font-weight: normal;
  src: url("/assets/font/lunchtype22-light-webfont.woff2") format("woff2"), url("/assets/font/lunchtype22-light-webfont.woff") format("woff");
}

@font-face {
  font-family: 'lunchtype22';
  font-style: normal;
  font-weight: 500;
  src: url("/assets/font/lunchtype22-regular-webfont.woff2") format("woff2"), url("/assets/font/lunchtype22-regular-webfont.woff") format("woff");
}

@font-face {
  font-family: 'lunchtype22';
  font-style: normal;
  font-weight: 700;
  src: url("/assets/font/lunchtype22-medium-webfont.woff2") format("woff2"), url("/assets/font/lunchtype22-medium-webfont.woff") format("woff");
}

/* ====
fonts(IEの空白問題をNotoで解決している) for excia
==== */
@font-face {
  font-family: 'Tenor Sans';
  src: url("../font/TenorSans-Regular.ttf") format("truetype");
}

/* ====
mixins
==== */
/* 画面幅に応じて文字のサイズを変更 */
/* 任意のフォントについてサイズとフォントを指定 */
/* ====
width for excia
==== */
/* makeup lp */
/* ====
z-index for excia
==== */
.l-albionCounter {
  color: #46515a;
  font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
  letter-spacing: 0.12em;
}

.l-albionCounter a:hover {
  text-decoration: none;
}

#online {
  margin-top: -250px;
  margin-bottom: 250px;
}

@media screen and (max-width: 640px) {
  #online {
    margin-top: -100px;
    margin-bottom: 100px;
  }
}

@media screen and (max-width: 640px) {
  .p-albionCounter-mainArea {
    margin-bottom: 100px;
  }
}

.p-albionCounter-mainVisual {
  position: relative;
}

.p-albionCounter-mainVisual img {
  width: 100%;
}

.p-albionCounter-mainVisual__heading {
  position: absolute;
  top: 60%;
  right: 11.2%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #5f809d;
  font-size: 40px;
  font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
  -webkit-font-feature-settings: 'pkna';
          font-feature-settings: 'pkna';
}

@media screen and (max-width: 640px) {
  .p-albionCounter-mainVisual__heading {
    font-size: 8vw;
    text-align: right;
    top: auto;
    right: 3%;
    bottom: 25px;
    -webkit-transform: none;
            transform: none;
    line-height: 1.2;
  }
}

.p-albionCounter-mainLead {
  margin: 120px 30px 100px;
  text-align: center;
}

@media screen and (max-width: 640px) {
  .p-albionCounter-mainLead {
    margin: 60px 30px;
  }
}

.p-albionCounter-mainLead__title {
  font-size: 24px;
  line-height: 2;
  padding: 0.1px;
  margin-bottom: 60px;
}

.p-albionCounter-mainLead__title:before, .p-albionCounter-mainLead__title:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-albionCounter-mainLead__title:before {
  margin-top: calc((1 - 2) * 0.5em);
}

.p-albionCounter-mainLead__title:after {
  margin-bottom: calc((1 - 2) * 0.5em);
}

@media screen and (max-width: 640px) {
  .p-albionCounter-mainLead__title {
    font-size: 5.33333vw;
  }
}

.p-albionCounter-mainLead__text {
  font-size: 16px;
  line-height: 2.25;
  padding: 0.1px;
}

.p-albionCounter-mainLead__text:before, .p-albionCounter-mainLead__text:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-albionCounter-mainLead__text:before {
  margin-top: calc((1 - 2.25) * 0.5em);
}

.p-albionCounter-mainLead__text:after {
  margin-bottom: calc((1 - 2.25) * 0.5em);
}

@media screen and (max-width: 640px) {
  .p-albionCounter-mainLead__text {
    font-size: 3.73333vw;
  }
}

.p-albionCounter-localNav {
  margin-bottom: 12px;
}

@media screen and (max-width: 640px) {
  .p-albionCounter-localNav {
    margin-bottom: -65px;
  }
}

.p-albionCounter-localNav__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.p-albionCounter-localNav__item--link {
  position: relative;
  padding: 0 60px;
  text-align: center;
}

@media screen and (max-width: 640px) {
  .p-albionCounter-localNav__item--link {
    padding: 0 35px;
  }
}

.p-albionCounter-localNav__item--link::after {
  display: block;
  content: "";
  position: absolute;
  width: 4px;
  height: 4px;
  border: solid 1px;
  border-color: transparent transparent #495c6f #495c6f;
  bottom: -7px;
  left: calc(50% - 4px);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

@media screen and (min-width: 641px), print {
  .p-albionCounter-localNav__item--link::after {
    -webkit-transition: bottom cubic-bezier(0.3, 0, 0, 1) 250ms;
    transition: bottom cubic-bezier(0.3, 0, 0, 1) 250ms;
  }
}

@media screen and (min-width: 641px), print {
  .p-albionCounter-localNav__item--link:hover::after {
    bottom: -12px;
  }
}

.p-albionCounter-localNav__item--link .c-text__link {
  text-align: center;
  font-size: 14px;
  color: #46515a;
  padding: 16px 0 10px;
  display: block;
}

.p-albionCounter-experience__store {
  background-image: url(/assets/img/about_albion/counter/pattern-01.png), url(/assets/img/about_albion/counter/pattern-02.png), url(/assets/img/about_albion/counter/bg.png);
  background-repeat: no-repeat, no-repeat, repeat;
  background-size: 40%, 40%, 10%;
  background-position: right top, left bottom -7%, center top;
}

@media screen and (max-width: 640px) {
  .p-albionCounter-experience__store {
    background-image: url(/assets/img/about_albion/counter/pattern-01.png), url(/assets/img/about_albion/counter/pattern-02.png), url(/assets/img/about_albion/counter/pattern-01.png), url(/assets/img/about_albion/counter/pattern-02.png), url(/assets/img/about_albion/counter/bg.png);
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, repeat;
    background-size: 80%, 80%, 80%, 80%, 100%;
    background-position: right top -4%, left top 20%, right 0 top 45%, left bottom -1%, center top;
  }
}

.p-albionCounter-experience__heading {
  text-align: center;
  padding: 70px 0 100px;
}

@media screen and (max-width: 640px) {
  .p-albionCounter-experience__heading {
    padding: 65px 0 60px;
  }
}

.p-albionCounter-experience__online .p-albionCounter-experience__heading {
  padding: 0 0 115px;
}

@media screen and (max-width: 640px) {
  .p-albionCounter-experience__online .p-albionCounter-experience__heading {
    padding: 40px 0;
  }
}

.p-albionCounter-experience__heading .c-text__eng {
  font-family: optima, "Tenor Sans";
  font-size: 18px;
  letter-spacing: 0.5em;
  margin-bottom: 20px;
  padding-left: 7px;
}

@media screen and (max-width: 640px) {
  .p-albionCounter-experience__heading .c-text__eng {
    font-size: 4.26667vw;
    margin-bottom: 15px;
  }
}

.p-albionCounter-experience__heading .c-text__ja {
  font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
  font-size: 32px;
  line-height: 1.5;
  padding: 0.1px;
}

.p-albionCounter-experience__heading .c-text__ja:before, .p-albionCounter-experience__heading .c-text__ja:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-albionCounter-experience__heading .c-text__ja:before {
  margin-top: calc((1 - 1.5) * 0.5em);
}

.p-albionCounter-experience__heading .c-text__ja:after {
  margin-bottom: calc((1 - 1.5) * 0.5em);
}

@media screen and (max-width: 640px) {
  .p-albionCounter-experience__heading .c-text__ja {
    font-size: 6.4vw;
  }
}

.p-albionCounter-experience__content {
  max-width: 1250px;
  width: 100%;
  margin: 0 auto;
  padding: 0 30px;
}

@media screen and (max-width: 640px) {
  .p-albionCounter-experience__content {
    padding: 0;
  }
}

.p-albionCounter-experience__contentBlock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 127px;
}

@media screen and (min-width: 641px), print {
  .p-albionCounter-experience__contentBlock {
    width: 1250px;
  }
}

@media screen and (max-width: 640px) {
  .p-albionCounter-experience__contentBlock {
    display: block;
  }
}

.p-albionCounter-experience__contentBlock:last-child {
  margin-bottom: 120px;
}

@media screen and (max-width: 640px) {
  .p-albionCounter-experience__contentBlock:last-child {
    margin-bottom: 60px;
  }
}

.p-albionCounter-experience__online .p-albionCounter-experience__contentBlock:last-child {
  margin-bottom: 80px;
}

@media screen and (max-width: 640px) {
  .p-albionCounter-experience__online .p-albionCounter-experience__contentBlock:last-child {
    margin-bottom: 60px;
  }
}

.p-albionCounter-experience__contentBlock--add .c-flex__text {
  padding: 0 60px 0 80px;
}

@media screen and (max-width: 640px) {
  .p-albionCounter-experience__contentBlock--add .c-flex__text {
    padding: 0 30px;
  }
}

.p-albionCounter-experience__online .p-albionCounter-experience__contentBlock--add .c-flex__text {
  padding: 0 50px 0 60px;
}

@media screen and (max-width: 640px) {
  .p-albionCounter-experience__online .p-albionCounter-experience__contentBlock--add .c-flex__text {
    padding: 0 30px;
  }
}

.p-albionCounter-experience__contentBlock--even {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.p-albionCounter-experience__contentBlock--even .c-flex__text {
  padding: 0 80px 0 60px;
}

@media screen and (max-width: 640px) {
  .p-albionCounter-experience__contentBlock--even .c-flex__text {
    padding: 0 30px;
  }
}

.p-albionCounter-experience__contentBlock .c-flex__text--title {
  font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
  font-size: 24px;
  color: #5f809d;
  letter-spacing: 0.1em;
  margin: 40px 0;
}

@media screen and (min-width: 641px), print {
  .p-albionCounter-experience__online .p-albionCounter-experience__contentBlock .c-flex__text--title {
    margin-top: 0;
  }
}

.p-albionCounter-experience__contentBlock .c-flex__text--title::after {
  content: "";
  display: block;
  width: 48px;
  height: 2px;
  background-color: #5f809d;
  margin-top: 38px;
}

@media screen and (max-width: 640px) {
  .p-albionCounter-experience__contentBlock .c-flex__text--title {
    font-size: 5.33333vw;
    letter-spacing: 0.12em;
  }
}

.p-albionCounter-experience__contentBlock .c-flex__text--subTitle {
  font-size: 18px;
  line-height: 2;
  padding: 0.1px;
  margin-bottom: 30px;
}

.p-albionCounter-experience__contentBlock .c-flex__text--subTitle:before, .p-albionCounter-experience__contentBlock .c-flex__text--subTitle:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-albionCounter-experience__contentBlock .c-flex__text--subTitle:before {
  margin-top: calc((1 - 2) * 0.5em);
}

.p-albionCounter-experience__contentBlock .c-flex__text--subTitle:after {
  margin-bottom: calc((1 - 2) * 0.5em);
}

@media screen and (max-width: 640px) {
  .p-albionCounter-experience__contentBlock .c-flex__text--subTitle {
    font-size: 4.26667vw;
    line-height: 1.5;
    padding: 0.1px;
  }
  .p-albionCounter-experience__contentBlock .c-flex__text--subTitle:before, .p-albionCounter-experience__contentBlock .c-flex__text--subTitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-albionCounter-experience__contentBlock .c-flex__text--subTitle:before {
    margin-top: calc((1 - 1.5) * 0.5em);
  }
  .p-albionCounter-experience__contentBlock .c-flex__text--subTitle:after {
    margin-bottom: calc((1 - 1.5) * 0.5em);
  }
}

.p-albionCounter-experience__contentBlock .c-flex__text--text {
  font-size: 14px;
  line-height: 2.14286;
  padding: 0.1px;
  text-align: justify;
}

.p-albionCounter-experience__contentBlock .c-flex__text--text:before, .p-albionCounter-experience__contentBlock .c-flex__text--text:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-albionCounter-experience__contentBlock .c-flex__text--text:before {
  margin-top: calc((1 - 2.14286) * 0.5em);
}

.p-albionCounter-experience__contentBlock .c-flex__text--text:after {
  margin-bottom: calc((1 - 2.14286) * 0.5em);
}

.p-albionCounter-experience__button {
  margin: 0 30px;
}

.p-albionCounter-experience__buttonInner {
  max-width: 360px;
  width: 100%;
  margin: 0 auto 80px;
  text-align: center;
  background-color: #5f809d;
}

@media screen and (max-width: 640px) {
  .p-albionCounter-experience__buttonInner {
    max-width: 315px;
    margin-bottom: 60px;
  }
}

.p-albionCounter-experience__button a {
  display: block;
  font-size: 14px;
  line-height: 1.71429;
  padding: 0.1px;
  color: #fff;
  padding: 22px 0 20px;
}

.p-albionCounter-experience__button a:before, .p-albionCounter-experience__button a:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-albionCounter-experience__button a:before {
  margin-top: calc((1 - 1.71429) * 0.5em);
}

.p-albionCounter-experience__button a:after {
  margin-bottom: calc((1 - 1.71429) * 0.5em);
}

@media screen and (max-width: 640px) {
  .p-albionCounter-experience__button a {
    padding: 21px 0;
  }
}

.p-albionCounter-experience__caption {
  max-width: 1130px;
  width: 100%;
  margin: 0 auto 50px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (max-width: 640px) {
  .p-albionCounter-experience__caption {
    padding: 0 30px;
    margin-bottom: 65px;
  }
}

.p-albionCounter-experience__online .p-albionCounter-experience__caption {
  margin-bottom: 120px;
}

@media screen and (max-width: 640px) {
  .p-albionCounter-experience__online .p-albionCounter-experience__caption {
    margin-bottom: 80px;
  }
}

.p-albionCounter-experience__caption .c-capText {
  font-size: 12px;
  color: #666666;
  line-height: 2;
  padding: 0.1px;
}

.p-albionCounter-experience__caption .c-capText:before, .p-albionCounter-experience__caption .c-capText:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-albionCounter-experience__caption .c-capText:before {
  margin-top: calc((1 - 2) * 0.5em);
}

.p-albionCounter-experience__caption .c-capText:after {
  margin-bottom: calc((1 - 2) * 0.5em);
}

.p-albionCounter-experience__caption .c-capText li {
  padding-left: 1em;
  text-indent: -1em;
}

.p-albionCounter-experience__captionInner {
  padding: 40px 0;
  background-image: linear-gradient(to right, #c9d5e0 2px, transparent 2px), linear-gradient(to right, #c9d5e0 2px, transparent 2px);
  background-size: 4px 2px, 4px 2px;
  background-repeat: repeat-x, repeat-x;
  background-position: left top, left bottom;
}

.p-albionCounter-experience__wave img {
  width: 100%;
}

.p-beautyAward-award {
  height: 100%;
  padding: 24px 0;
  border: dashed rgba(107, 121, 133, 0.5);
  border-width: 0 0 1px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (min-width: 641px), print {
  .p-beautyAward-grid__cell:nth-of-type(2) > .p-beautyAward-award {
    border-width: 1px 0;
  }
}

@media screen and (max-width: 640px) {
  .p-beautyAward-award {
    padding: 32px 0;
  }
}

.p-beautyAward-grid__cell:nth-of-type(1) > .p-beautyAward-award {
  border-width: 1px 0;
}

.p-beautyAward-award__image {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 80px;
          flex: 1 0 80px;
  max-width: 80px;
  margin-right: 24px;
}

@media screen and (max-width: 640px) {
  .p-beautyAward-award__image {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 95px;
            flex: 1 0 95px;
    max-width: 95px;
  }
}

.p-beautyAward-award__image img {
  width: 100%;
}

.p-beautyAward-award__text {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}

.p-beautyAward-award__media {
  font-size: 18px;
  font-family: garamond-premier-pro-display, YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
  letter-spacing: 0.15em;
  margin-bottom: 10px;
  line-height: 1.4;
}

.p-beautyAward-award__title,
.p-beautyAward-award__category {
  font-size: 14px;
  line-height: 1.6;
}

.p-beautyAward-award__caption {
  margin-top: 30px;
  font-size: 12px;
}

@media screen and (max-width: 640px) {
  .p-beautyAward-award__caption {
    margin-bottom: 30px;
  }
}

.p-beautyAward-award__link {
  display: block;
  opacity: 1;
  width: 100%;
  height: 100%;
}

.p-beautyAward-award__link:hover {
  opacity: .6;
}

.p-beautyAward-award__linktext {
  font-size: 14px;
  line-height: 1.6;
}

@media screen and (min-width: 641px), print {
  .p-beautyAward-grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

@media screen and (min-width: 641px), print {
  .p-beautyAward-grid__cell {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 calc((100% - 40px) / 2);
            flex: 1 0 calc((100% - 40px) / 2);
    max-width: calc((100% - 40px) / 2);
  }
}

.page_beautyAward {
  background: repeat-y top left 10%/140% url("/assets/img/products/beautyaward/bg.jpg");
}

@media screen and (max-width: 640px) {
  .page_beautyAward {
    background-position: 80%;
    background-size: 350%;
  }
}

.p-beautyAward-main {
  max-width: 672px;
  margin: 0 auto;
}

.p-beautyAward-main__header {
  padding: 66px 0 80px;
}

@media screen and (max-width: 640px) {
  .p-beautyAward-main__header {
    padding: 38px 0 80px;
  }
}

.p-beautyAward-main__text {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 20px;
}

@media screen and (max-width: 640px) {
  .p-beautyAward-main__text {
    margin-bottom: 26px;
  }
}

.p-beautyAward-main__heading {
  margin-bottom: 26px;
}

.p-beautyAward-main__heading img {
  max-width: 392px;
  width: 100%;
  margin: 0 auto;
}

.p-beautyAward-main__heading span {
  display: block;
  font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
  font-size: 20px;
  line-height: 1;
  margin-top: 20px;
}

@media screen and (max-width: 640px) {
  .p-beautyAward-main__heading span {
    font-size: 18px;
  }
}

.p-beautyAward-main__lead {
  font-size: 14px;
  line-height: 24px;
}

.p-beautyAward-main__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

@media screen and (max-width: 640px) {
  .p-beautyAward-main__nav {
    margin-right: -20px;
  }
}

.p-beautyAward-main__anchorLink {
  font-size: 14px;
  font-family: optima, "YakuHanJPs", YuGothic, "Yu Gothic", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 0;
  border-bottom: solid 1px #999999;
  -webkit-transition: opacity 500ms cubic-bezier(0.3, 0, 0, 1);
  transition: opacity 500ms cubic-bezier(0.3, 0, 0, 1);
}

@media screen and (max-width: 640px) {
  .p-beautyAward-main__anchorLink {
    padding-right: 20px;
  }
}

.p-beautyAward-main__anchorLink i {
  display: block;
  padding-left: 14px;
}

.p-beautyAward-main__anchorLink svg {
  width: 23px;
}

.p-beautyAward-main__anchorLink:hover {
  opacity: 0.7;
}

.js-beautyAward-accordion__container {
  height: 0;
  overflow: hidden;
}

.p-beautyAward-period:not(:last-of-type) {
  margin-bottom: 120px;
}

@media screen and (max-width: 640px) {
  .p-beautyAward-period {
    padding: 0 10px;
  }
}

.p-beautyAward-period__heading {
  font-family: garamond-premier-pro-display, YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
  color: #c69f66;
  text-align: center;
  font-size: 22px;
  line-height: 1;
  margin: 0 0 60px;
}

@media screen and (max-width: 640px) {
  .p-beautyAward-period__heading {
    font-size: 18px;
    margin: 0 0 40px;
  }
}

.p-beautyAward-period__accordion {
  border: solid rgba(153, 153, 153, 0.5);
  border-width: 1px 0;
}

.p-beautyAward-period__accordionTrigger {
  text-align: center;
  font-size: 18px;
  line-height: 1;
  font-family: garamond-premier-pro-display, YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
  margin: 0;
  padding: 20px 0;
  cursor: pointer;
  position: relative;
}

.p-beautyAward-period__accordionTrigger:before, .p-beautyAward-period__accordionTrigger:after {
  background-color: #999999;
  content: "";
  display: block;
  height: 1px;
  width: 11px;
  position: absolute;
  right: 24px;
  top: 28px;
}

.p-beautyAward-period__accordionTrigger:after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.p-beautyAward-period__accordionTrigger.is-open:after {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}

.p-beautyAward-period__accordionContainer {
  -webkit-transition: height 1500ms cubic-bezier(0.4, 0, 0.2, 1);
  transition: height 1500ms cubic-bezier(0.4, 0, 0.2, 1);
}

.p-beautyAward-period__accordionContents {
  padding-top: 40px;
  border-top: dashed 1px rgba(107, 121, 133, 0.5);
}

.p-beautyAward-product:not(:last-of-type) {
  margin-bottom: 120px;
}

.p-beautyAward-product__info {
  margin-bottom: 40px;
}

.p-beautyAward-product__image {
  -webkit-box-shadow: 8px 0 32px rgba(0, 0, 0, 0.06);
          box-shadow: 8px 0 32px rgba(0, 0, 0, 0.06);
}

@media screen and (max-width: 640px) {
  .p-beautyAward-product__image {
    margin-bottom: 30px;
  }
}

.p-beautyAward-product__image img {
  width: 100%;
}

.p-beautyAward-product__body {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 640px) {
  .p-beautyAward-product__body {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
  }
}

.p-beautyAward-product__text {
  margin-bottom: 30px;
}

@media screen and (max-width: 640px) {
  .p-beautyAward-product__text {
    margin-bottom: 20px;
  }
}

.p-beautyAward-product__series {
  display: block;
  font-size: 14px;
  margin-bottom: 6px;
}

.p-beautyAward-product__name {
  font-size: 20px;
  margin-bottom: 12px;
  line-height: 1.4;
}

.p-beautyAward-product__category {
  display: block;
  font-size: 12px;
}

.p-beautyAward-product__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 12px;
}

@media screen and (max-width: 640px) {
  .p-beautyAward-product__tags {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.p-beautyAward-product__tag {
  border: 1px solid #e7e7e7;
  display: inline-block;
  padding: 6px 8px;
}

.p-beautyAward-product__tag:not(:last-of-type) {
  margin-right: 8px;
}

.p-beautyAward-product__tagText {
  font-size: 12px;
  line-height: 1;
}

.p-beautyAward-product__button {
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  display: inline-block;
  padding: 16px 52px;
  border: solid 1px #999999;
  -webkit-transition: opacity 500ms cubic-bezier(0.3, 0, 0, 1);
  transition: opacity 500ms cubic-bezier(0.3, 0, 0, 1);
}

@media screen and (min-width: 641px), print {
  .p-beautyAward-product__button {
    -ms-flex-item-align: start;
        align-self: flex-start;
  }
}

.p-beautyAward-product__button:hover {
  opacity: 0.7;
}

.p-beautyAward-product__caption {
  padding-top: 20px;
  text-align: left;
}

.p-beautyAward-product__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-beautyAward-product__accordionContainer {
  -webkit-transition: height 750ms cubic-bezier(0.4, 0, 0.2, 1);
  transition: height 750ms cubic-bezier(0.4, 0, 0.2, 1);
}

.p-beautyAward-product__accordionTrigger {
  color: inherit;
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-size: 18px;
  font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
  line-height: 1;
  padding: 20px;
  position: relative;
  -webkit-transition: opacity 500ms cubic-bezier(0.3, 0, 0, 1);
  transition: opacity 500ms cubic-bezier(0.3, 0, 0, 1);
}

@media screen and (max-width: 640px) {
  .p-beautyAward-product__accordionTrigger {
    padding: 16px 14px;
    font-size: 16px;
  }
}

.p-beautyAward-product__accordionTrigger:hover {
  opacity: 0.7;
}

.p-beautyAward-product__accordionTrigger:before, .p-beautyAward-product__accordionTrigger:after {
  background-color: #999999;
  content: "";
  display: block;
  height: 1px;
  width: 11px;
  position: absolute;
  right: 0;
  top: 28px;
}

@media screen and (max-width: 640px) {
  .p-beautyAward-product__accordionTrigger:before, .p-beautyAward-product__accordionTrigger:after {
    top: 23px;
  }
}

.p-beautyAward-product__accordionTrigger:after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.p-beautyAward-product__accordionTrigger.is-open:after {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}

/* information */
.page_information .l-information {
  margin: 60px 15px;
  width: auto;
}

@media screen and (min-width: 641px), print {
  .page_information .l-information {
    width: 940px;
    margin: 96px auto;
  }
}

.page_information .l-information .c-title {
  margin-bottom: 30px;
}

@media screen and (min-width: 641px), print {
  .page_information .l-information .c-title {
    margin-bottom: 50px;
  }
}

.page_information .l-information .c-title h1 {
  font-size: 21px;
  line-height: 1.6;
}

@media screen and (min-width: 641px), print {
  .page_information .l-information .c-title h1 {
    font-size: 28px;
  }
}

.page_information .l-information .information-block {
  margin-bottom: 40px;
}

@media screen and (min-width: 641px), print {
  .page_information .l-information .information-block {
    margin-bottom: 50px;
  }
}

.page_information .l-information .information-block .c-text {
  font-size: 16px;
  line-height: 1.875;
  font-family: "YakuHanJPs", YuGothic, "Yu Gothic", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
}

@media screen and (min-width: 641px), print {
  .page_information .l-information .information-block .c-text {
    line-height: 2;
  }
}

.page_information .l-information .information-block .c-text--sm {
  font-size: 14px;
  line-height: 2;
  display: inline-block;
  margin: 10px 0 0 15px;
}

.page_information .l-information .information-block__inquiry .c-text .icon_tel {
  display: inline-block;
  padding-left: 40px;
  background: url("/assets/img/common/icon_freedial.png") left center/30px auto no-repeat;
}

.page_information .l-information .information-block__reception .c-text {
  font-size: 17px;
  line-height: 1.74;
}

@media screen and (min-width: 641px), print {
  .page_information .l-information .information-block__reception .c-text {
    font-size: 18px;
    line-height: 2;
    font-weight: 700;
  }
}

.page_information .l-information .information-block__notapplicable {
  padding-top: 40px;
  border-top: solid 1px #e7e7e7;
}

@media screen and (min-width: 641px), print {
  .page_information .l-information .information-block__notapplicable {
    padding-top: 50px;
  }
}

.page_information .title-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

@media screen and (max-width: 640px) {
  .page_information .title-flex {
    display: block;
  }
  .page_information .title-flex .c-text {
    text-align: right;
  }
}

.p-seasonal-excia .p-caption {
  color: #999999;
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-caption {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.66667;
    padding: 0.1px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-seasonal-excia .p-caption {
    font-size: 12px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seasonal-excia .p-caption {
    font-size: calc(12 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-caption:before, .p-seasonal-excia .p-caption:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-caption:before {
    margin-top: 0;
  }
  .p-seasonal-excia .p-caption:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seasonal-excia .p-caption {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-caption:before, .p-seasonal-excia .p-caption:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-caption:before {
    margin-top: calc((1 - 1.66667) * 0.5em);
  }
  .p-seasonal-excia .p-caption:after {
    margin-bottom: calc((1 - 1.66667) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-caption {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.5;
    padding: 0.1px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-seasonal-excia .p-caption {
    font-size: 12px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seasonal-excia .p-caption {
    font-size: calc(12 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-caption:before, .p-seasonal-excia .p-caption:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-caption:before {
    margin-top: 0;
  }
  .p-seasonal-excia .p-caption:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seasonal-excia .p-caption {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-caption:before, .p-seasonal-excia .p-caption:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-caption:before {
    margin-top: calc((1 - 1.5) * 0.5em);
  }
  .p-seasonal-excia .p-caption:after {
    margin-bottom: calc((1 - 1.5) * 0.5em);
  }
}

.p-seasonal-excia .p-conceptbook {
  background-color: #9da4b5;
  padding: 120px 0 180px;
  -webkit-transition: opacity 0.3s ease-out, visibility 0.3s ease-in;
  transition: opacity 0.3s ease-out, visibility 0.3s ease-in;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-conceptbook {
    padding: 80px 0 140px;
  }
}

.p-seasonal-excia .p-conceptbook__enHeading {
  color: #ffffff;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-conceptbook__enHeading {
    margin-left: -30px;
  }
}

.p-seasonal-excia .p-conceptbook__enHeading img {
  width: 140px;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-conceptbook__enHeading img {
    width: 120px;
  }
}

.p-seasonal-excia .p-conceptbook__content {
  position: relative;
}

.p-seasonal-excia .p-conceptbook__container {
  margin-top: 50px;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-conceptbook__container {
    height: 400px;
    width: 400px;
  }
}

.p-seasonal-excia .p-conceptbook__slide {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  background-color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: auto;
  position: relative;
  width: 50%;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-conceptbook__slide:nth-child(8) {
    width: 400px;
  }
}

.p-seasonal-excia .p-conceptbook__textarea {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-size: cover;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}

.p-seasonal-excia .p-conceptbook__textarea--on {
  height: 100%;
  position: absolute;
  top: 0;
}

.p-seasonal-excia .p-conceptbook__textarea--on .p-conceptbook__textareaText {
  color: #ffffff;
}

.p-seasonal-excia .p-conceptbook__textarea--topleft {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.p-seasonal-excia .p-conceptbook__textarea--topleft .p-conceptbook__textareaText {
  margin-left: calc(126 / 680 * 100%);
  margin-top: calc(140 / 680 * 100%);
}

.p-seasonal-excia .p-conceptbook__textareaText {
  font-family: "YakuHanJPs", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Noto Sans Japanese", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  font-size: 20px;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1.85;
  padding: 0.1px;
}

.p-seasonal-excia .p-conceptbook__textareaText:before, .p-seasonal-excia .p-conceptbook__textareaText:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-seasonal-excia .p-conceptbook__textareaText:before {
  margin-top: calc((1 - 1.85) * 0.5em);
}

.p-seasonal-excia .p-conceptbook__textareaText:after {
  margin-bottom: calc((1 - 1.85) * 0.5em);
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-conceptbook__textareaText {
    font-size: 12px;
  }
}

.p-seasonal-excia .p-conceptbook__img {
  background-size: cover;
  height: 100%;
  width: 100%;
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-conceptbook__img {
    height: 680px;
  }
}

@media screen and (min-width: 641px) and (max-width: 1440px) {
  .p-seasonal-excia .p-conceptbook__img {
    height: calc((100vw - 80px) / 2);
    min-height: 560px;
  }
}

.p-seasonal-excia .p-conceptbook__img--large {
  width: 100%;
}

.p-seasonal-excia .p-conceptbook__img img {
  height: auto;
  width: 100%;
}

.p-seasonal-excia .p-conceptbook__button {
  background-size: contain;
  height: 27px;
  width: 57px;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}

.p-seasonal-excia .p-conceptbook__button--prev {
  background-image: url("/assets/img/excia/common/concept-book/img-conceptbook-button-prev.svg");
  left: -20px;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-conceptbook__button--prev {
    left: -25px;
  }
}

.p-seasonal-excia .p-conceptbook__button--next {
  background-image: url("/assets/img/excia/common/concept-book/img-conceptbook-button-next.svg");
  right: -20px;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-conceptbook__button--next {
    right: 5px;
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-conceptbook__button:hover {
    opacity: 0.6;
  }
}

.p-seasonal-excia .p-conceptbook__button:after {
  display: none;
}

.p-seasonal-excia .p-conceptbook__button.swiper-button-disabled {
  display: none;
}

.p-seasonal-excia .p-conceptbook__pagination {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  bottom: -50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: optima, 'Tenor Sans', serif;
  font-size: 16px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-conceptbook__pagination {
    bottom: -45px;
    font-size: 13px;
    left: -15px;
  }
}

.p-seasonal-excia .p-conceptbook__paginationCurrent {
  color: #ffffff;
}

.p-seasonal-excia .p-conceptbook__paginationTotal {
  color: #6376a8;
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-conceptbook__paginationProgressbar {
    background-color: #6376a8;
    display: inline-block;
    height: 1px;
    margin: 0 30px;
    position: relative;
    width: 66px;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-conceptbook__paginationProgressbar {
    background-color: #ffffff;
    height: 10px;
    margin: 0 15px;
    width: 1px;
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-conceptbook__paginationProgressbarInner {
    background-color: #ffffff;
    content: '';
    display: inline-block;
    height: 1px;
    left: 0;
    max-width: 100%;
    position: absolute;
    top: 0;
    width: 0;
  }
}

.p-seasonal-excia .p-contentWidth {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-contentWidth {
    margin: 0 auto;
    width: 1440px;
    min-width: 1440px;
    padding-left: calc((1440px - 1130px) / 2);
    padding-right: calc((1440px - 1130px) / 2);
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-contentWidth {
    width: 100%;
    padding-left: 30px;
    padding-right: 30px;
  }
}

.p-seasonal-excia .p-contentWidth--full {
  height: 100%;
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-contentWidth--full {
    padding-left: 0;
    padding-right: 0;
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-contentWidth--wide {
    padding-left: calc((1440px - 1360px) / 2);
    padding-right: calc((1440px - 1360px) / 2);
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-contentWidth--wideNarrow {
    padding-left: calc((1440px - 1006px) / 2);
    padding-right: calc((1440px - 1006px) / 2);
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-contentWidth--middleNarrow {
    padding-left: calc((1440px - 932px) / 2);
    padding-right: calc((1440px - 932px) / 2);
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-contentWidth--narrow {
    padding-left: calc((1440px - 900px) / 2);
    padding-right: calc((1440px - 900px) / 2);
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-contentWidth--article {
    padding-left: calc((1440px - 672px) / 2);
    padding-right: calc((1440px - 672px) / 2);
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-contentWidth--conceptbook {
    width: 1360px;
    min-width: 1360px;
    padding-left: 0;
    padding-right: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 1440px) {
  .p-seasonal-excia .p-contentWidth--conceptbook {
    width: 100%;
    min-width: 1200px;
    padding-left: 40px;
    padding-right: 40px;
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-contentWidth__inner {
    padding-left: 100px;
    padding-right: 100px;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-contentWidth--pc10 {
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-contentWidth--pcOnly {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-contentWidth--spOnly {
    width: 100%;
    min-width: none;
    padding-left: 0;
    padding-right: 0;
  }
}

/* .p-seasonal-excia { */
.p-cvBtn {
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #cccccc;
  text-align: center;
  white-space: nowrap;
  letter-spacing: 0.08em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
  color: #333333;
}

@media screen and (min-width: 641px), print {
  .p-cvBtn {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) {
  .p-cvBtn {
    font-size: calc(14 / 375 * 100vw);
  }
}

.p-cvBtn:before, .p-cvBtn:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-cvBtn:before {
  margin-top: 0;
}

.p-cvBtn:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-cvBtn {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-cvBtn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 336px;
    padding: 21px 27px;
    -webkit-transition: all 0.5s !important;
    transition: all 0.5s !important;
  }
}

@media screen and (max-width: 640px) {
  .p-cvBtn {
    /* hack */
    letter-spacing: 0.01em !important;
    width: 100%;
    padding-top: 22px;
    padding-bottom: 22px;
  }
}

@media screen and (min-width: 641px), print {
  .p-cvBtn:hover {
    color: #ffffff;
    border: 1px solid #ffffff;
    background-color: #cccccc;
  }
}

@media screen and (min-width: 641px), print {
  .p-cvBtn--en {
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: optima, "Tenor Sans";
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    padding: 17px 27px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-cvBtn--en {
    font-size: 16px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-cvBtn--en {
    font-size: calc(16 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-cvBtn--en:before, .p-cvBtn--en:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-cvBtn--en:before {
    margin-top: 0;
  }
  .p-cvBtn--en:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-cvBtn--en {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-cvBtn--en {
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: optima, "Tenor Sans";
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    padding-top: calc(21 / 375 * 100vw);
    padding-bottom: calc(21 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-cvBtn--en {
    font-size: 18px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-cvBtn--en {
    font-size: calc(18 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-cvBtn--en:before, .p-cvBtn--en:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-cvBtn--en:before {
    margin-top: 0;
  }
  .p-cvBtn--en:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-cvBtn--en {
    letter-spacing: 0.01em !important;
  }
}

.p-cvBtn--en::before, .p-cvBtn--en::after {
  display: none;
}

.p-cvBtn--blue {
  color: #7d98ba;
  border: 1px solid #7d98ba;
}

@media screen and (min-width: 641px), print {
  .p-cvBtn--blue:hover {
    color: #ffffff;
    border: 1px solid #ffffff;
    background-color: #7d98ba;
  }
}

.p-cvBtn--blue .p-cvBtn__arrow:before {
  background: no-repeat center/contain url("/assets/img/excia/common/icon-parts/btn-arrow-blue.svg");
}

@media screen and (min-width: 641px), print {
  .p-cvBtn--blue:hover .p-cvBtn__arrow:before {
    opacity: 0;
  }
  .p-cvBtn--blue:hover .p-cvBtn__arrow:after {
    opacity: 1;
  }
}

.p-cvBtn--pinkWhite {
  color: #ffffff;
  border: 1px solid #ffffff;
}

@media screen and (min-width: 641px), print {
  .p-cvBtn--pinkWhite:hover {
    color: #d9aab6;
    border: 1px solid #d9aab6;
    background-color: #ffffff;
  }
}

.p-cvBtn--whitePink {
  color: #bc6a9a;
  border: 1px solid #bc6a9a;
}

@media screen and (min-width: 641px), print {
  .p-cvBtn--whitePink:hover {
    color: #ffffff;
    border: 1px solid #bc6a9a;
    background-color: #bc6a9a;
  }
}

.p-cvBtn--blackWhite {
  color: #ffffff;
  border: 1px solid #ffffff;
}

@media screen and (min-width: 641px), print {
  .p-cvBtn--blackWhite:hover {
    color: #333333;
    border: 1px solid #333333;
    background-color: #ffffff;
  }
}

.p-cvBtn__text {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-cvBtn__arrow {
  display: inline-block;
  height: 9px;
  margin-left: 4px;
  position: relative;
  width: 21px;
}

.p-cvBtn__arrow:before, .p-cvBtn__arrow:after {
  content: '';
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: -1px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  width: 100%;
}

.p-cvBtn__arrow:before {
  background: no-repeat center/contain url("/assets/img/excia/common/icon-parts/btn-arrow-black.svg");
  opacity: 1;
}

.p-cvBtn__arrow:after {
  background: no-repeat center/contain url("/assets/img/excia/common/icon-parts/btn-arrow-white.svg");
  opacity: 0;
}

.p-cvBtn:hover .p-cvBtn__arrow:before {
  opacity: 0;
}

.p-cvBtn:hover .p-cvBtn__arrow:after {
  opacity: 1;
}

/* } */
.p-seasonal-excia .p-drawerBanner {
  bottom: 80px;
  position: fixed;
  right: 0;
  -webkit-transition: -webkit-transform 500ms cubic-bezier(0, 0, 0.2, 1);
  transition: -webkit-transform 500ms cubic-bezier(0, 0, 0.2, 1);
  transition: transform 500ms cubic-bezier(0, 0, 0.2, 1);
  transition: transform 500ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 500ms cubic-bezier(0, 0, 0.2, 1);
  z-index: 9;
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-drawerBanner {
    padding-left: 30px;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-drawerBanner {
    bottom: 90px;
  }
}

.p-seasonal-excia .p-drawerBanner.p-drawerBanner--isHide {
  -webkit-transform: translate3d(216px, 0, 0);
          transform: translate3d(216px, 0, 0);
}

.p-seasonal-excia .p-drawerBanner__inner {
  background: -webkit-gradient(linear, right top, left top, from(#4c79b9), color-stop(60%, #e5f1f0), to(#4c79b9));
  background: linear-gradient(to left, #4c79b9 0%, #e5f1f0 60%, #4c79b9 100%);
  border-radius: 3px 0 0 3px;
  overflow: hidden;
  position: relative;
}

.p-seasonal-excia .p-drawerBanner__link {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 88px;
  width: 240px;
}

.p-seasonal-excia .p-drawerBanner__arrow {
  background-position: center;
  background-repeat: no-repeat;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 24px;
          flex: 0 0 24px;
  height: 100%;
  position: relative;
}

.p-seasonal-excia .p-drawerBanner__arrow:after {
  color: #ffffff;
  content: 'LIMITED';
  display: block;
  letter-spacing: 0.04em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: optima, "Tenor Sans";
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
  left: 5px;
  letter-spacing: 0.2em;
  line-height: 1;
  position: absolute;
  text-align: center;
  -webkit-transform: rotate(90deg) translate3d(0, -100%, 0);
          transform: rotate(90deg) translate3d(0, -100%, 0);
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
  width: 88px;
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-drawerBanner__arrow:after {
    font-size: 12px;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-drawerBanner__arrow:after {
    font-size: calc(12 / 375 * 100vw);
  }
}

.p-seasonal-excia .p-drawerBanner__arrow:after:before, .p-seasonal-excia .p-drawerBanner__arrow:after:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-seasonal-excia .p-drawerBanner__arrow:after:before {
  margin-top: 0;
}

.p-seasonal-excia .p-drawerBanner__arrow:after:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-drawerBanner__arrow:after {
    letter-spacing: 0.01em !important;
  }
}

.p-seasonal-excia .p-drawerBanner__arrow:before {
  bottom: 0;
  content: '';
  display: block;
  left: -30px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.p-seasonal-excia .p-drawerBanner__text {
  background: #ffffff no-repeat right/auto 100% url("/assets/img/excia/common/drawer-banner/bnr-skincare-bg.jpg");
  display: block;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  height: 82px;
  margin: 3px 0;
}

.p-seasonal-excia .p-drawerBanner__textInner {
  display: inline-block;
  padding: 0 22px;
  padding-top: 20px;
}

.p-seasonal-excia .p-drawerBanner__textInner img {
  width: 84px;
  height: 41px;
}

.p-seasonal-excia .p-fontFeatureFix {
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
}

.p-seasonal-excia .p-fontFeatureFix::before, .p-seasonal-excia .p-fontFeatureFix::after {
  display: none;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-fontFeatureFix--pre {
    margin-left: -0.4em;
  }
}

.p-seasonal-excia .p-itemModal {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 210;
  -webkit-transition: opacity ease 750ms, visibility ease 750ms;
  transition: opacity ease 750ms, visibility ease 750ms;
}

.p-seasonal-excia .p-itemModal::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  display: block;
  content: '';
  background-color: #000000;
  opacity: 0.8;
}

.p-seasonal-excia .p-itemModal.is-opened {
  opacity: 1;
  visibility: visible;
}

.p-seasonal-excia .p-itemModal__wrapper {
  position: relative;
  height: auto;
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-itemModal__wrapper {
    width: 431px;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-itemModal__wrapper {
    width: 80%;
  }
}

.p-seasonal-excia .p-itemModal__img {
  width: 100%;
  opacity: 1;
}

.p-seasonal-excia .p-itemModal__img img {
  width: 100%;
}

.p-seasonal-excia .p-itemModal__textWrapper {
  margin-top: 16px;
}

.p-seasonal-excia .p-itemModal__text {
  color: #ffffff;
  letter-spacing: 0.08em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
  line-height: 1.66667;
  padding: 0.1px;
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-itemModal__text {
    font-size: 12px;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-itemModal__text {
    font-size: calc(12 / 375 * 100vw);
  }
}

.p-seasonal-excia .p-itemModal__text:before, .p-seasonal-excia .p-itemModal__text:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-seasonal-excia .p-itemModal__text:before {
  margin-top: 0;
}

.p-seasonal-excia .p-itemModal__text:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-itemModal__text {
    letter-spacing: 0.01em !important;
  }
}

.p-seasonal-excia .p-itemModal__text:before, .p-seasonal-excia .p-itemModal__text:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-seasonal-excia .p-itemModal__text:before {
  margin-top: calc((1 - 1.66667) * 0.5em);
}

.p-seasonal-excia .p-itemModal__text:after {
  margin-bottom: calc((1 - 1.66667) * 0.5em);
}

.p-seasonal-excia .p-itemModal__text--en {
  letter-spacing: 0.04em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: optima, "Tenor Sans";
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-itemModal__text--en {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-itemModal__text--en {
    font-size: calc(14 / 375 * 100vw);
  }
}

.p-seasonal-excia .p-itemModal__text--en:before, .p-seasonal-excia .p-itemModal__text--en:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-seasonal-excia .p-itemModal__text--en:before {
  margin-top: 0;
}

.p-seasonal-excia .p-itemModal__text--en:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-itemModal__text--en {
    letter-spacing: 0.01em !important;
  }
}

.p-seasonal-excia .p-itemModal__text--en::before, .p-seasonal-excia .p-itemModal__text--en::after {
  display: none;
}

.p-seasonal-excia .p-itemModal__closer {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  content: '×';
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  position: absolute;
  bottom: calc(100% + 16px);
  right: 0;
}

.p-seasonal-excia .p-itemModal__closer div {
  position: relative;
  width: 100%;
  height: 2px;
}

.p-seasonal-excia .p-itemModal__closer div:before, .p-seasonal-excia .p-itemModal__closer div:after {
  background-color: rgba(255, 255, 255, 0.7);
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform-origin: center;
          transform-origin: center;
}

.p-seasonal-excia .p-itemModal__closer div:before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.p-seasonal-excia .p-itemModal__closer div:after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.p-seasonal-excia .p-linkText {
  display: inline-block;
  position: relative;
  letter-spacing: 0.08em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
  color: #333333;
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-linkText {
    font-size: 16px;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-linkText {
    font-size: calc(16 / 375 * 100vw);
  }
}

.p-seasonal-excia .p-linkText:before, .p-seasonal-excia .p-linkText:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-seasonal-excia .p-linkText:before {
  margin-top: 0;
}

.p-seasonal-excia .p-linkText:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-linkText {
    letter-spacing: 0.01em !important;
  }
}

.p-seasonal-excia .p-linkText--blue .p-linkText__link {
  color: #7d98ba;
  background: -webkit-gradient(linear, left top, left bottom, from(#7d98ba), to(#7d98ba)) 0 100%/0 1px no-repeat;
  background: linear-gradient(#7d98ba, #7d98ba) 0 100%/0 1px no-repeat;
}

.p-seasonal-excia .p-linkText--pink .p-linkText__link {
  color: #bc6a9a;
  background: -webkit-gradient(linear, left top, left bottom, from(#bc6a9a), to(#bc6a9a)) 0 100%/0 1px no-repeat;
  background: linear-gradient(#bc6a9a, #bc6a9a) 0 100%/0 1px no-repeat;
}

.p-seasonal-excia .p-linkText__link {
  padding-bottom: 2px;
  background: -webkit-gradient(linear, left top, left bottom, from(#333333), to(#333333)) 0 100%/0 1px no-repeat;
  background: linear-gradient(#333333, #333333) 0 100%/0 1px no-repeat;
  -webkit-transition: background 0.6s ease-out;
  transition: background 0.6s ease-out;
  text-decoration: none;
}

.p-seasonal-excia .p-linkText__link:hover {
  background-size: 100% 1px;
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-makeupSectionTitle__title {
    /* bold 700 */
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: meno-banner, serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.0625;
    padding: 0.1px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-seasonal-excia .p-makeupSectionTitle__title {
    font-size: 48px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title {
    font-size: calc(48 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-makeupSectionTitle__title:before, .p-seasonal-excia .p-makeupSectionTitle__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__title:before {
    margin-top: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__title:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-makeupSectionTitle__title:before, .p-seasonal-excia .p-makeupSectionTitle__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__title:before {
    margin-top: calc((1 - 1.0625) * 0.5em);
  }
  .p-seasonal-excia .p-makeupSectionTitle__title:after {
    margin-bottom: calc((1 - 1.0625) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title {
    /* bold 700 */
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: meno-banner, serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.13333;
    padding: 0.1px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-seasonal-excia .p-makeupSectionTitle__title {
    font-size: 30px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title {
    font-size: calc(30 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title:before, .p-seasonal-excia .p-makeupSectionTitle__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__title:before {
    margin-top: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__title:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title:before, .p-seasonal-excia .p-makeupSectionTitle__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__title:before {
    margin-top: calc((1 - 1.13333) * 0.5em);
  }
  .p-seasonal-excia .p-makeupSectionTitle__title:after {
    margin-bottom: calc((1 - 1.13333) * 0.5em);
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-makeupSectionTitle__title--large {
    /* bold 700 */
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: meno-banner, serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-seasonal-excia .p-makeupSectionTitle__title--large {
    font-size: 32px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title--large {
    font-size: calc(32 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-makeupSectionTitle__title--large:before, .p-seasonal-excia .p-makeupSectionTitle__title--large:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__title--large:before {
    margin-top: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__title--large:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title--large {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title--large {
    /* bold 700 */
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: meno-banner, serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-seasonal-excia .p-makeupSectionTitle__title--large {
    font-size: 28px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title--large {
    font-size: calc(28 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title--large:before, .p-seasonal-excia .p-makeupSectionTitle__title--large:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__title--large:before {
    margin-top: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__title--large:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title--large {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-makeupSectionTitle__title--midium {
    /* bold 700 */
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: meno-banner, serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-seasonal-excia .p-makeupSectionTitle__title--midium {
    font-size: 24px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title--midium {
    font-size: calc(24 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-makeupSectionTitle__title--midium:before, .p-seasonal-excia .p-makeupSectionTitle__title--midium:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__title--midium:before {
    margin-top: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__title--midium:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title--midium {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title--midium {
    /* bold 700 */
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: meno-banner, serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-seasonal-excia .p-makeupSectionTitle__title--midium {
    font-size: 24px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title--midium {
    font-size: calc(24 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title--midium:before, .p-seasonal-excia .p-makeupSectionTitle__title--midium:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__title--midium:before {
    margin-top: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__title--midium:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title--midium {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-makeupSectionTitle__title--small {
    /* bold 700 */
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: meno-banner, serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-seasonal-excia .p-makeupSectionTitle__title--small {
    font-size: 20px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title--small {
    font-size: calc(20 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-makeupSectionTitle__title--small:before, .p-seasonal-excia .p-makeupSectionTitle__title--small:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__title--small:before {
    margin-top: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__title--small:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title--small {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title--small {
    /* bold 700 */
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: meno-banner, serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-seasonal-excia .p-makeupSectionTitle__title--small {
    font-size: 24px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title--small {
    font-size: calc(24 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title--small:before, .p-seasonal-excia .p-makeupSectionTitle__title--small:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__title--small:before {
    margin-top: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__title--small:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__title--small {
    letter-spacing: 0.01em !important;
  }
}

.p-seasonal-excia .p-makeupSectionTitle__subtitle {
  margin-top: 10px;
  letter-spacing: 0.16em !important;
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-makeupSectionTitle__subtitle {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 2;
    padding: 0.1px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-seasonal-excia .p-makeupSectionTitle__subtitle {
    font-size: 16px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__subtitle {
    font-size: calc(16 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-makeupSectionTitle__subtitle:before, .p-seasonal-excia .p-makeupSectionTitle__subtitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__subtitle:before {
    margin-top: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__subtitle:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__subtitle {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-makeupSectionTitle__subtitle:before, .p-seasonal-excia .p-makeupSectionTitle__subtitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__subtitle:before {
    margin-top: calc((1 - 2) * 0.5em);
  }
  .p-seasonal-excia .p-makeupSectionTitle__subtitle:after {
    margin-bottom: calc((1 - 2) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__subtitle {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 2.28571;
    padding: 0.1px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-seasonal-excia .p-makeupSectionTitle__subtitle {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__subtitle {
    font-size: calc(14 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__subtitle:before, .p-seasonal-excia .p-makeupSectionTitle__subtitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__subtitle:before {
    margin-top: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__subtitle:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__subtitle {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-makeupSectionTitle__subtitle:before, .p-seasonal-excia .p-makeupSectionTitle__subtitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-makeupSectionTitle__subtitle:before {
    margin-top: calc((1 - 2.28571) * 0.5em);
  }
  .p-seasonal-excia .p-makeupSectionTitle__subtitle:after {
    margin-bottom: calc((1 - 2.28571) * 0.5em);
  }
}

.p-seasonal-excia .p-productFigure {
  position: relative;
}

.p-seasonal-excia .p-productFigure > img {
  width: 100%;
}

.p-seasonal-excia .p-productFigure::before {
  position: absolute;
  top: 0;
  right: 0;
  content: '';
  background-color: #333333;
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-productFigure::before {
    width: 8px;
    height: 80px;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-productFigure::before {
    width: 6px;
    height: 48px;
  }
}

.p-seasonal-excia .p-productFigure--dropshadow {
  -webkit-box-shadow: 5.142px 6.128px 32px 0px rgba(6, 0, 1, 0.06);
          box-shadow: 5.142px 6.128px 32px 0px rgba(6, 0, 1, 0.06);
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-productFigure--dropshadow.p-productFigure--dropshadow--spOnly {
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}

.p-seasonal-excia .p-productFigure--blue::before {
  background-color: #4a77b8;
}

.p-seasonal-excia .p-productFigure--blue .p-productFigure__date {
  color: #4a77b8;
}

.p-seasonal-excia .p-productFigure--pink::before {
  background-color: #bc6a9a;
}

.p-seasonal-excia .p-productFigure--pink .p-productFigure__date {
  color: #bc6a9a;
}

.p-seasonal-excia .p-productFigure--noDecoration::before {
  display: none;
}

.p-seasonal-excia .p-productFigure__date {
  position: absolute;
  color: #333333;
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-productFigure__date {
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: optima, "Tenor Sans";
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    top: 25px;
    right: 32px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-seasonal-excia .p-productFigure__date {
    font-size: 16px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seasonal-excia .p-productFigure__date {
    font-size: calc(16 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-productFigure__date:before, .p-seasonal-excia .p-productFigure__date:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-productFigure__date:before {
    margin-top: 0;
  }
  .p-seasonal-excia .p-productFigure__date:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seasonal-excia .p-productFigure__date {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-productFigure__date {
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: optima, "Tenor Sans";
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    text-align: right;
    top: 12px;
    right: 21px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-seasonal-excia .p-productFigure__date {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seasonal-excia .p-productFigure__date {
    font-size: calc(14 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-productFigure__date:before, .p-seasonal-excia .p-productFigure__date:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-productFigure__date:before {
    margin-top: 0;
  }
  .p-seasonal-excia .p-productFigure__date:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seasonal-excia .p-productFigure__date {
    letter-spacing: 0.01em !important;
  }
}

.p-seasonal-excia .p-productFigure__varticalText {
  position: absolute;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  letter-spacing: 0.04em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: optima, "Tenor Sans";
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-productFigure__varticalText {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-productFigure__varticalText {
    font-size: calc(14 / 375 * 100vw);
  }
}

.p-seasonal-excia .p-productFigure__varticalText:before, .p-seasonal-excia .p-productFigure__varticalText:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-seasonal-excia .p-productFigure__varticalText:before {
  margin-top: 0;
}

.p-seasonal-excia .p-productFigure__varticalText:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-productFigure__varticalText {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-productFigure__varticalText {
    top: 23px;
    right: 24px;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-productFigure__varticalText {
    top: calc(15 / 375 * 100vw);
    right: calc(17 / 375 * 100vw);
  }
}

/* .p-seasonal-excia { */
.p-productInfo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.p-productInfo--small .p-viewmoreBtn {
  width: 24px;
  height: 24px;
}

.p-productInfo--small .p-viewmoreBtn::before {
  display: none;
}

.p-productInfo--small .p-viewmoreBtn::after {
  position: absolute;
  display: block;
  content: '';
  background-size: cover;
  background-position: center;
  top: calc(50% - 4.5px);
  left: calc(100% - 11px);
  height: 9px;
  width: 21px;
}

@media screen and (min-width: 641px), print {
  .p-productInfo--small .p-viewmoreBtn::after {
    -webkit-transition: -webkit-transform 0.5s;
    transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
    transition: transform 0.5s, -webkit-transform 0.5s;
  }
}

.p-productInfo--small .p-productInfo__figureItemHeadlineText {
  letter-spacing: 0.08em !important;
}

@media screen and (min-width: 641px), print {
  .p-productInfo--small .p-productInfo__figureItemHeadlineText {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.45455;
    padding: 0.1px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-productInfo--small .p-productInfo__figureItemHeadlineText {
    font-size: 22px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__figureItemHeadlineText {
    font-size: calc(22 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo--small .p-productInfo__figureItemHeadlineText:before, .p-productInfo--small .p-productInfo__figureItemHeadlineText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo--small .p-productInfo__figureItemHeadlineText:before {
    margin-top: 0;
  }
  .p-productInfo--small .p-productInfo__figureItemHeadlineText:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__figureItemHeadlineText {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo--small .p-productInfo__figureItemHeadlineText:before, .p-productInfo--small .p-productInfo__figureItemHeadlineText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo--small .p-productInfo__figureItemHeadlineText:before {
    margin-top: calc((1 - 1.45455) * 0.5em);
  }
  .p-productInfo--small .p-productInfo__figureItemHeadlineText:after {
    margin-bottom: calc((1 - 1.45455) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__figureItemHeadlineText {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.71429;
    padding: 0.1px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-productInfo--small .p-productInfo__figureItemHeadlineText {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__figureItemHeadlineText {
    font-size: calc(14 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__figureItemHeadlineText:before, .p-productInfo--small .p-productInfo__figureItemHeadlineText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo--small .p-productInfo__figureItemHeadlineText:before {
    margin-top: 0;
  }
  .p-productInfo--small .p-productInfo__figureItemHeadlineText:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__figureItemHeadlineText {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__figureItemHeadlineText:before, .p-productInfo--small .p-productInfo__figureItemHeadlineText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo--small .p-productInfo__figureItemHeadlineText:before {
    margin-top: calc((1 - 1.71429) * 0.5em);
  }
  .p-productInfo--small .p-productInfo__figureItemHeadlineText:after {
    margin-bottom: calc((1 - 1.71429) * 0.5em);
  }
}

.p-productInfo--small .p-productInfo__figureItemHeadlineSubText {
  /* 現状ない */
}

.p-productInfo--small .p-productInfo__figureItemHeadlineDescription {
  /* 現状ない */
}

@media screen and (max-width: 640px) {
  .p-productInfo--small .p-viewmoreBtn__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo--small .p-productInfo__label {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 2;
    padding: 0.1px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-productInfo--small .p-productInfo__label {
    font-size: 12px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__label {
    font-size: calc(12 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo--small .p-productInfo__label:before, .p-productInfo--small .p-productInfo__label:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo--small .p-productInfo__label:before {
    margin-top: 0;
  }
  .p-productInfo--small .p-productInfo__label:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__label {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo--small .p-productInfo__label:before, .p-productInfo--small .p-productInfo__label:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo--small .p-productInfo__label:before {
    margin-top: calc((1 - 2) * 0.5em);
  }
  .p-productInfo--small .p-productInfo__label:after {
    margin-bottom: calc((1 - 2) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__label {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.84615;
    padding: 0.1px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-productInfo--small .p-productInfo__label {
    font-size: 13px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__label {
    font-size: calc(13 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__label:before, .p-productInfo--small .p-productInfo__label:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo--small .p-productInfo__label:before {
    margin-top: 0;
  }
  .p-productInfo--small .p-productInfo__label:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__label {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__label:before, .p-productInfo--small .p-productInfo__label:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo--small .p-productInfo__label:before {
    margin-top: calc((1 - 1.84615) * 0.5em);
  }
  .p-productInfo--small .p-productInfo__label:after {
    margin-bottom: calc((1 - 1.84615) * 0.5em);
  }
}

.p-productInfo--small .p-productInfo__titleLine {
  /* 現状ない */
}

.p-productInfo--small .p-productInfo__title {
  letter-spacing: 0.08em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
  line-height: 1.5;
  padding: 0.1px;
}

@media screen and (min-width: 641px), print {
  .p-productInfo--small .p-productInfo__title {
    font-size: 16px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__title {
    font-size: calc(16 / 375 * 100vw);
  }
}

.p-productInfo--small .p-productInfo__title:before, .p-productInfo--small .p-productInfo__title:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-productInfo--small .p-productInfo__title:before {
  margin-top: 0;
}

.p-productInfo--small .p-productInfo__title:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__title {
    letter-spacing: 0.01em !important;
  }
}

.p-productInfo--small .p-productInfo__title:before, .p-productInfo--small .p-productInfo__title:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-productInfo--small .p-productInfo__title:before {
  margin-top: calc((1 - 1.5) * 0.5em);
}

.p-productInfo--small .p-productInfo__title:after {
  margin-bottom: calc((1 - 1.5) * 0.5em);
}

@media screen and (min-width: 641px), print {
  .p-productInfo--small .p-productInfo__title {
    margin-top: 8px;
  }
}

.p-productInfo--small .p-productInfo__bottom {
  padding-top: 0;
}

@media screen and (min-width: 641px), print {
  .p-productInfo--small .p-productInfo__bottom {
    margin-top: 29px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__bottom {
    margin-top: 24px;
  }
}

.p-productInfo--small .p-productInfo__bottom::before {
  display: none;
}

@media screen and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__btnArea {
    margin-top: 15px;
    margin-left: 0;
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo--small .p-productInfo__description {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-productInfo--small .p-productInfo__description {
    font-size: 12px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__description {
    font-size: calc(12 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo--small .p-productInfo__description:before, .p-productInfo--small .p-productInfo__description:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo--small .p-productInfo__description:before {
    margin-top: 0;
  }
  .p-productInfo--small .p-productInfo__description:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__description {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__description {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-productInfo--small .p-productInfo__description {
    font-size: 13px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__description {
    font-size: calc(13 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__description:before, .p-productInfo--small .p-productInfo__description:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo--small .p-productInfo__description:before {
    margin-top: 0;
  }
  .p-productInfo--small .p-productInfo__description:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__description {
    letter-spacing: 0.01em !important;
  }
}

.p-productInfo--small .p-productInfo__description--en {
  letter-spacing: 0.04em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: optima, "Tenor Sans";
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
}

@media screen and (min-width: 641px), print {
  .p-productInfo--small .p-productInfo__description--en {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__description--en {
    font-size: calc(14 / 375 * 100vw);
  }
}

.p-productInfo--small .p-productInfo__description--en:before, .p-productInfo--small .p-productInfo__description--en:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-productInfo--small .p-productInfo__description--en:before {
  margin-top: 0;
}

.p-productInfo--small .p-productInfo__description--en:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__description--en {
    letter-spacing: 0.01em !important;
  }
}

.p-productInfo--small .p-productInfo__description--en::before, .p-productInfo--small .p-productInfo__description--en::after {
  display: none;
}

@media screen and (min-width: 641px), print {
  .p-productInfo--small .p-productInfo__meta {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 2;
    padding: 0.1px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-productInfo--small .p-productInfo__meta {
    font-size: 12px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__meta {
    font-size: calc(12 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo--small .p-productInfo__meta:before, .p-productInfo--small .p-productInfo__meta:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo--small .p-productInfo__meta:before {
    margin-top: 0;
  }
  .p-productInfo--small .p-productInfo__meta:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__meta {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo--small .p-productInfo__meta:before, .p-productInfo--small .p-productInfo__meta:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo--small .p-productInfo__meta:before {
    margin-top: calc((1 - 2) * 0.5em);
  }
  .p-productInfo--small .p-productInfo__meta:after {
    margin-bottom: calc((1 - 2) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__meta {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.84615;
    padding: 0.1px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-productInfo--small .p-productInfo__meta {
    font-size: 13px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__meta {
    font-size: calc(13 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__meta:before, .p-productInfo--small .p-productInfo__meta:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo--small .p-productInfo__meta:before {
    margin-top: 0;
  }
  .p-productInfo--small .p-productInfo__meta:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__meta {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo--small .p-productInfo__meta:before, .p-productInfo--small .p-productInfo__meta:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo--small .p-productInfo__meta:before {
    margin-top: calc((1 - 1.84615) * 0.5em);
  }
  .p-productInfo--small .p-productInfo__meta:after {
    margin-bottom: calc((1 - 1.84615) * 0.5em);
  }
}

.p-productInfo--small .p-productInfo__text {
  /* 現状ない */
}

.p-productInfo--small .p-productInfo__figureItemTextTying {
  /* 現状ない */
}

.p-productInfo--small .p-productInfo__link {
  /* 現状ない */
}

@media screen and (min-width: 641px), print {
  .p-productInfo__figureItemHeadlineText {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.42857;
    padding: 0.1px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-productInfo__figureItemHeadlineText {
    font-size: 28px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-productInfo__figureItemHeadlineText {
    font-size: calc(28 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__figureItemHeadlineText:before, .p-productInfo__figureItemHeadlineText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo__figureItemHeadlineText:before {
    margin-top: 0;
  }
  .p-productInfo__figureItemHeadlineText:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-productInfo__figureItemHeadlineText {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__figureItemHeadlineText:before, .p-productInfo__figureItemHeadlineText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo__figureItemHeadlineText:before {
    margin-top: calc((1 - 1.42857) * 0.5em);
  }
  .p-productInfo__figureItemHeadlineText:after {
    margin-bottom: calc((1 - 1.42857) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__figureItemHeadlineText {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.45455;
    padding: 0.1px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-productInfo__figureItemHeadlineText {
    font-size: 22px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-productInfo__figureItemHeadlineText {
    font-size: calc(22 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__figureItemHeadlineText:before, .p-productInfo__figureItemHeadlineText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo__figureItemHeadlineText:before {
    margin-top: 0;
  }
  .p-productInfo__figureItemHeadlineText:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-productInfo__figureItemHeadlineText {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__figureItemHeadlineText:before, .p-productInfo__figureItemHeadlineText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo__figureItemHeadlineText:before {
    margin-top: calc((1 - 1.45455) * 0.5em);
  }
  .p-productInfo__figureItemHeadlineText:after {
    margin-bottom: calc((1 - 1.45455) * 0.5em);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__figureItemHeadlineSubText {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.6;
    padding: 0.1px;
    margin-top: 22px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-productInfo__figureItemHeadlineSubText {
    font-size: 20px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-productInfo__figureItemHeadlineSubText {
    font-size: calc(20 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__figureItemHeadlineSubText:before, .p-productInfo__figureItemHeadlineSubText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo__figureItemHeadlineSubText:before {
    margin-top: 0;
  }
  .p-productInfo__figureItemHeadlineSubText:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-productInfo__figureItemHeadlineSubText {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__figureItemHeadlineSubText:before, .p-productInfo__figureItemHeadlineSubText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo__figureItemHeadlineSubText:before {
    margin-top: calc((1 - 1.6) * 0.5em);
  }
  .p-productInfo__figureItemHeadlineSubText:after {
    margin-bottom: calc((1 - 1.6) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__figureItemHeadlineSubText {
    letter-spacing: 0.04em !important;
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.55556;
    padding: 0.1px;
    margin-top: 14px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-productInfo__figureItemHeadlineSubText {
    font-size: 18px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-productInfo__figureItemHeadlineSubText {
    font-size: calc(18 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__figureItemHeadlineSubText:before, .p-productInfo__figureItemHeadlineSubText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo__figureItemHeadlineSubText:before {
    margin-top: 0;
  }
  .p-productInfo__figureItemHeadlineSubText:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-productInfo__figureItemHeadlineSubText {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__figureItemHeadlineSubText:before, .p-productInfo__figureItemHeadlineSubText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo__figureItemHeadlineSubText:before {
    margin-top: calc((1 - 1.55556) * 0.5em);
  }
  .p-productInfo__figureItemHeadlineSubText:after {
    margin-bottom: calc((1 - 1.55556) * 0.5em);
  }
}

.p-productInfo__figureItemHeadlineDescription {
  letter-spacing: 0.08em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
  line-height: 1.75;
  padding: 0.1px;
}

@media screen and (min-width: 641px), print {
  .p-productInfo__figureItemHeadlineDescription {
    font-size: 16px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__figureItemHeadlineDescription {
    font-size: calc(16 / 375 * 100vw);
  }
}

.p-productInfo__figureItemHeadlineDescription:before, .p-productInfo__figureItemHeadlineDescription:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-productInfo__figureItemHeadlineDescription:before {
  margin-top: 0;
}

.p-productInfo__figureItemHeadlineDescription:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-productInfo__figureItemHeadlineDescription {
    letter-spacing: 0.01em !important;
  }
}

.p-productInfo__figureItemHeadlineDescription:before, .p-productInfo__figureItemHeadlineDescription:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-productInfo__figureItemHeadlineDescription:before {
  margin-top: calc((1 - 1.75) * 0.5em);
}

.p-productInfo__figureItemHeadlineDescription:after {
  margin-bottom: calc((1 - 1.75) * 0.5em);
}

@media screen and (min-width: 641px), print {
  .p-productInfo__figureItemHeadlineDescription {
    margin-top: 32px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__figureItemHeadlineDescription {
    margin-top: 22px;
  }
}

.p-productInfo__bottom {
  position: relative;
}

@media screen and (min-width: 641px), print {
  .p-productInfo__bottom {
    padding-top: 32px;
    margin-top: 32px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__bottom {
    width: 100%;
    padding-top: 28px;
    margin-top: 32px;
  }
}

.p-productInfo__bottom::before {
  position: absolute;
  left: 0;
  top: 0;
  content: '';
  width: 40px;
  height: 1px;
  background-color: #7d98ba;
}

.p-productInfo__bottom + .p-productInfo__bottom {
  padding-top: 0;
}

@media screen and (min-width: 641px), print {
  .p-productInfo__bottom + .p-productInfo__bottom {
    margin-top: 25px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__bottom + .p-productInfo__bottom {
    margin-top: 30px;
  }
}

.p-productInfo__bottom + .p-productInfo__bottom::before {
  display: none;
}

.p-productInfo__bottom--pink::before {
  background-color: #ecdee3;
}

.p-productInfo__bottomInner {
  display: inline-block;
}

@media screen and (max-width: 640px) {
  .p-productInfo__bottomInner {
    width: 100%;
  }
}

.p-viewmoreBtn__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (min-width: 641px), print {
  .p-productInfo__btnArea {
    margin-left: 22px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__btnArea {
    margin-top: 18px;
    margin-left: 18px;
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__btnArea--cvBtn {
    margin-left: 0;
    margin-top: 32px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__btnArea--cvBtn {
    margin-top: 32px;
    margin-left: 0px;
  }
}

.p-productInfo__label {
  letter-spacing: 0.08em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
  margin-bottom: 12px;
}

@media screen and (min-width: 641px), print {
  .p-productInfo__label {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__label {
    font-size: calc(14 / 375 * 100vw);
  }
}

.p-productInfo__label:before, .p-productInfo__label:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-productInfo__label:before {
  margin-top: 0;
}

.p-productInfo__label:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-productInfo__label {
    letter-spacing: 0.01em !important;
  }
}

.p-productInfo__label--en {
  letter-spacing: 0.04em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: optima, "Tenor Sans";
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
}

@media screen and (min-width: 641px), print {
  .p-productInfo__label--en {
    font-size: 16px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__label--en {
    font-size: calc(16 / 375 * 100vw);
  }
}

.p-productInfo__label--en:before, .p-productInfo__label--en:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-productInfo__label--en:before {
  margin-top: 0;
}

.p-productInfo__label--en:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-productInfo__label--en {
    letter-spacing: 0.01em !important;
  }
}

.p-productInfo__label--en::before, .p-productInfo__label--en::after {
  display: none;
}

.p-productInfo__titleLine {
  display: inline-block;
  position: relative;
}

.p-productInfo__titleLine .p-viewmoreBtn {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (min-width: 641px), print {
  .p-productInfo__titleLine .p-viewmoreBtn {
    left: calc(100% + 20px);
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__titleLine .p-viewmoreBtn {
    left: calc(100% + 15px);
  }
}

.p-productInfo__titleLine .p-viewmoreBtn--small {
  left: calc(100% + 15px);
}

.p-productInfo__title {
  letter-spacing: 0.08em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
  line-height: 1.2;
  padding: 0.1px;
}

@media screen and (min-width: 641px), print {
  .p-productInfo__title {
    font-size: 20px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__title {
    font-size: calc(20 / 375 * 100vw);
  }
}

.p-productInfo__title:before, .p-productInfo__title:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-productInfo__title:before {
  margin-top: 0;
}

.p-productInfo__title:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-productInfo__title {
    letter-spacing: 0.01em !important;
  }
}

.p-productInfo__title:before, .p-productInfo__title:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-productInfo__title:before {
  margin-top: calc((1 - 1.2) * 0.5em);
}

.p-productInfo__title:after {
  margin-bottom: calc((1 - 1.2) * 0.5em);
}

.p-productInfo__title--en {
  letter-spacing: 0.04em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: optima, "Tenor Sans";
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
}

@media screen and (min-width: 641px), print {
  .p-productInfo__title--en {
    font-size: 20px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__title--en {
    font-size: calc(20 / 375 * 100vw);
  }
}

.p-productInfo__title--en:before, .p-productInfo__title--en:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-productInfo__title--en:before {
  margin-top: 0;
}

.p-productInfo__title--en:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-productInfo__title--en {
    letter-spacing: 0.01em !important;
  }
}

.p-productInfo__title--en::before, .p-productInfo__title--en::after {
  display: none;
}

.p-productInfo__descriptionWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 15px;
}

@media screen and (min-width: 641px), print {
  .p-productInfo__descriptionWrapper + .p-productInfo__descriptionWrapper {
    margin-top: 8px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__descriptionWrapper + .p-productInfo__descriptionWrapper {
    margin-top: 4px;
  }
}

.p-productInfo__description {
  vertical-align: baseline;
  letter-spacing: 0.08em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
}

@media screen and (min-width: 641px), print {
  .p-productInfo__description {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__description {
    font-size: calc(14 / 375 * 100vw);
  }
}

.p-productInfo__description:before, .p-productInfo__description:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-productInfo__description:before {
  margin-top: 0;
}

.p-productInfo__description:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-productInfo__description {
    letter-spacing: 0.01em !important;
  }
}

.p-productInfo__description--en {
  letter-spacing: 0.04em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: optima, "Tenor Sans";
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
}

@media screen and (min-width: 641px), print {
  .p-productInfo__description--en {
    font-size: 18px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__description--en {
    font-size: calc(18 / 375 * 100vw);
  }
}

.p-productInfo__description--en:before, .p-productInfo__description--en:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-productInfo__description--en:before {
  margin-top: 0;
}

.p-productInfo__description--en:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-productInfo__description--en {
    letter-spacing: 0.01em !important;
  }
}

.p-productInfo__description--en::before, .p-productInfo__description--en::after {
  display: none;
}

.p-productInfo__description + .p-productInfo__description {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 15px;
  margin-left: 15px;
  border-left: 1px solid #cccccc;
}

.p-productInfo__description--fix {
  display: inline-block;
  -webkit-transform: translateY(3px);
          transform: translateY(3px);
}

.p-productInfo__meta {
  margin-top: 12px;
}

@media screen and (min-width: 641px), print {
  .p-productInfo__meta {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-productInfo__meta {
    font-size: 14px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-productInfo__meta {
    font-size: calc(14 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__meta:before, .p-productInfo__meta:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo__meta:before {
    margin-top: 0;
  }
  .p-productInfo__meta:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-productInfo__meta {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__meta {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-productInfo__meta {
    font-size: 13px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-productInfo__meta {
    font-size: calc(13 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__meta:before, .p-productInfo__meta:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo__meta:before {
    margin-top: 0;
  }
  .p-productInfo__meta:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-productInfo__meta {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__meta--en {
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: optima, "Tenor Sans";
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-productInfo__meta--en {
    font-size: 18px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-productInfo__meta--en {
    font-size: calc(18 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__meta--en:before, .p-productInfo__meta--en:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo__meta--en:before {
    margin-top: 0;
  }
  .p-productInfo__meta--en:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-productInfo__meta--en {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__meta--en {
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: optima, "Tenor Sans";
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-productInfo__meta--en {
    font-size: 16px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-productInfo__meta--en {
    font-size: calc(16 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__meta--en:before, .p-productInfo__meta--en:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo__meta--en:before {
    margin-top: 0;
  }
  .p-productInfo__meta--en:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-productInfo__meta--en {
    letter-spacing: 0.01em !important;
  }
}

.p-productInfo__meta--en::before, .p-productInfo__meta--en::after {
  display: none;
}

.p-productInfo__meta--notFeature {
  -webkit-font-feature-settings: 'normal';
          font-feature-settings: 'normal';
}

.p-productInfo__meta--notFeature::before, .p-productInfo__meta--notFeature::after {
  display: none;
}

.p-productInfo__smallMeta {
  margin-top: 12px;
  letter-spacing: 0.08em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
  line-height: 2;
  padding: 0.1px;
}

@media screen and (min-width: 641px), print {
  .p-productInfo__smallMeta {
    font-size: 12px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__smallMeta {
    font-size: calc(12 / 375 * 100vw);
  }
}

.p-productInfo__smallMeta:before, .p-productInfo__smallMeta:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-productInfo__smallMeta:before {
  margin-top: 0;
}

.p-productInfo__smallMeta:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-productInfo__smallMeta {
    letter-spacing: 0.01em !important;
  }
}

.p-productInfo__smallMeta:before, .p-productInfo__smallMeta:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-productInfo__smallMeta:before {
  margin-top: calc((1 - 2) * 0.5em);
}

.p-productInfo__smallMeta:after {
  margin-bottom: calc((1 - 2) * 0.5em);
}

@media screen and (min-width: 641px), print {
  .p-productInfo__smallMeta--en {
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: optima, "Tenor Sans";
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-productInfo__smallMeta--en {
    font-size: 14px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-productInfo__smallMeta--en {
    font-size: calc(14 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__smallMeta--en:before, .p-productInfo__smallMeta--en:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo__smallMeta--en:before {
    margin-top: 0;
  }
  .p-productInfo__smallMeta--en:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-productInfo__smallMeta--en {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__smallMeta--en {
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: optima, "Tenor Sans";
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-productInfo__smallMeta--en {
    font-size: 13px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-productInfo__smallMeta--en {
    font-size: calc(13 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__smallMeta--en:before, .p-productInfo__smallMeta--en:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo__smallMeta--en:before {
    margin-top: 0;
  }
  .p-productInfo__smallMeta--en:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-productInfo__smallMeta--en {
    letter-spacing: 0.01em !important;
  }
}

.p-productInfo__smallMeta--en::before, .p-productInfo__smallMeta--en::after {
  display: none;
}

.p-productInfo__smallMeta--small {
  letter-spacing: 0.08em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
}

@media screen and (min-width: 641px), print {
  .p-productInfo__smallMeta--small {
    font-size: 10px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__smallMeta--small {
    font-size: calc(10 / 375 * 100vw);
  }
}

.p-productInfo__smallMeta--small:before, .p-productInfo__smallMeta--small:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-productInfo__smallMeta--small:before {
  margin-top: 0;
}

.p-productInfo__smallMeta--small:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-productInfo__smallMeta--small {
    letter-spacing: 0.01em !important;
  }
}

.p-productInfo__smallMeta--small::before, .p-productInfo__smallMeta--small::after {
  display: none;
}

@media screen and (min-width: 641px), print {
  .p-productInfo__smallMeta--paddingLeft {
    padding-left: 13px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__smallMeta--paddingLeft {
    padding-left: 8px;
  }
}

.p-productInfo__smallMeta a {
  text-decoration: underline;
}

.p-productInfo__text {
  letter-spacing: 0.08em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
  line-height: 1.71429;
  padding: 0.1px;
  width: 100%;
}

@media screen and (min-width: 641px), print {
  .p-productInfo__text {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__text {
    font-size: calc(14 / 375 * 100vw);
  }
}

.p-productInfo__text:before, .p-productInfo__text:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-productInfo__text:before {
  margin-top: 0;
}

.p-productInfo__text:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-productInfo__text {
    letter-spacing: 0.01em !important;
  }
}

.p-productInfo__text:before, .p-productInfo__text:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-productInfo__text:before {
  margin-top: calc((1 - 1.71429) * 0.5em);
}

.p-productInfo__text:after {
  margin-bottom: calc((1 - 1.71429) * 0.5em);
}

@media screen and (min-width: 641px), print {
  .p-productInfo__text {
    margin-top: 28px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__text {
    margin-top: 15px;
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__figureItemTextTying {
    margin-top: 16px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__figureItemTextTying {
    margin-top: 28px;
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__figureItemTextTying--marginWide {
    margin-top: 40px;
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__link {
    margin-top: 25px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__link {
    margin-top: 30px;
  }
}

/* カラバリ エリア */
.p-productInfo__variationArea {
  /* 折り返さない設定をここで */
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationArea {
    margin-top: 28px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationArea {
    margin-top: 35px;
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationArea--eyeLiner01 .p-productInfo__variationAreaTitle {
    margin-bottom: 15px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationArea--eyeLiner01 .p-productInfo__variationAreaTitle {
    margin-bottom: calc(15 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationArea--eyeLiner01 .p-productInfo__variationList {
    margin-left: -8px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationArea--eyeLiner01 .p-productInfo__variationList {
    margin-left: calc(-47 / 375 * 100vw);
    margin-top: calc(-42 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationArea--eyeLiner01 .p-productInfo__variationListItem {
    width: 55px;
    margin-left: 8px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationArea--eyeLiner01 .p-productInfo__variationListItem {
    width: calc(55 / 375 * 100vw);
    margin-left: calc(47 / 375 * 100vw);
    margin-top: calc(42 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationArea--eyeLiner02 .p-productInfo__variationAreaTitle {
    margin-bottom: 15px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationArea--eyeLiner02 .p-productInfo__variationAreaTitle {
    margin-bottom: calc(15 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationArea--eyeLiner02 .p-productInfo__variationList {
    margin-left: -7px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationArea--eyeLiner02 .p-productInfo__variationList {
    margin-left: calc(-36 / 375 * 100vw);
    margin-top: calc(-45 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationArea--eyeLiner02 .p-productInfo__variationListItem {
    width: 66px;
    margin-left: 7px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationArea--eyeLiner02 .p-productInfo__variationListItem {
    width: calc(66 / 375 * 100vw);
    margin-left: calc(36 / 375 * 100vw);
    margin-top: calc(45 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationArea--eyeClor .p-productInfo__variationAreaTitle {
    margin-bottom: 24px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationArea--eyeClor .p-productInfo__variationAreaTitle {
    margin-bottom: calc(24 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationArea--eyeClor .p-productInfo__variationList {
    margin-left: -40px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationArea--eyeClor .p-productInfo__variationList {
    margin-left: calc(-48 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationArea--eyeClor .p-productInfo__variationListItem {
    width: 61px;
    margin-left: 40px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationArea--eyeClor .p-productInfo__variationListItem {
    width: calc(61 / 375 * 100vw);
    margin-left: calc(48 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationArea--rouge .p-productInfo__variationAreaTitle {
    margin-bottom: 24px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationArea--rouge .p-productInfo__variationAreaTitle {
    margin-bottom: calc(24 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationArea--rouge .p-productInfo__variationList {
    margin-left: -40px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationArea--rouge .p-productInfo__variationList {
    margin-left: calc(-72 / 375 * 100vw);
    margin-top: calc(-50 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationArea--rouge .p-productInfo__variationListItem {
    width: 22px;
    margin-left: 40px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationArea--rouge .p-productInfo__variationListItem {
    width: calc(22 / 375 * 100vw);
    margin-left: calc(72 / 375 * 100vw);
    margin-top: calc(50 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationArea--rouge--first .p-productInfo__variationList {
    margin-left: calc(-48 / 375 * 100vw);
    margin-top: calc(-50 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationArea--rouge--first .p-productInfo__variationListItem {
    width: calc(22 / 375 * 100vw);
    margin-left: calc(48 / 375 * 100vw);
    margin-top: calc(50 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationArea--rouge--others {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-productInfo__variationArea--rouge--others .p-productInfo__variationAreaTitle {
    width: 100%;
  }
  .p-productInfo__variationArea--rouge--others .p-productInfo__variationList {
    margin-top: calc(-50 / 375 * 100vw);
    width: 70%;
    margin-left: 0;
  }
  .p-productInfo__variationArea--rouge--others .p-productInfo__variationListItem {
    width: calc(22 / 375 * 100vw);
    margin-top: calc(50 / 375 * 100vw);
    margin-left: 0;
  }
  .p-productInfo__variationArea--rouge--others .p-productInfo__variationListItem:nth-child(n + 2):not(:nth-child(4n)) {
    margin-left: calc(72 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationArea--nail .p-productInfo__variationAreaTitle {
    margin-bottom: 16px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationArea--nail .p-productInfo__variationAreaTitle {
    margin-bottom: calc(16 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationArea--nail .p-productInfo__variationList {
    margin-left: -16px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationArea--nail .p-productInfo__variationList {
    margin-left: calc(-24 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationArea--nail .p-productInfo__variationListItem {
    width: 20px;
    margin-left: 16px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationArea--nail .p-productInfo__variationListItem {
    width: calc(20 / 375 * 100vw);
    margin-left: calc(24 / 375 * 100vw);
  }
}

.p-productInfo__variationArea--nail .p-productInfo__variationListItemFig {
  width: auto;
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationArea--nail .p-productInfo__variationListItemFig {
    height: 38px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationArea--nail .p-productInfo__variationListItemFig {
    height: calc(38 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationArea--nail .p-productInfo__variationListItemFig--fix {
    height: 39px;
    -webkit-transform: translateX(-2px);
            transform: translateX(-2px);
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationArea--nail .p-productInfo__variationListItemFig--fix {
    height: calc(39 / 375 * 100vw);
    -webkit-transform: translateX(-2px);
            transform: translateX(-2px);
  }
}

.p-productInfo__variationArea--nail .p-productInfo__variationListItemFig img {
  width: auto;
  height: 100%;
}

.p-productInfo__variationAreaTitle {
  color: #bc6a9a;
  /* bold 700 */
  letter-spacing: 0.04em;
  /* fontWeightは指定がなければ値を設定しない */
  font-weight: 300;
  font-family: meno-banner, serif;
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationAreaTitle {
    font-size: 18px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationAreaTitle {
    font-size: calc(18 / 375 * 100vw);
  }
}

.p-productInfo__variationAreaTitle:before, .p-productInfo__variationAreaTitle:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-productInfo__variationAreaTitle:before {
  margin-top: 0;
}

.p-productInfo__variationAreaTitle:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationAreaTitle {
    letter-spacing: 0.01em !important;
  }
}

.p-productInfo__variationList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* リンク */
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationList {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationList {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.p-productInfo__variationListItem--note {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
}

.p-productInfo__variationListItem--note::before {
  position: absolute;
  left: 50%;
  -webkit-transform-origin: center;
          transform-origin: center;
  display: block;
  content: '';
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("/assets/img/excia/makeup/common/icon-lens.svg");
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  top: calc(100% + 8px);
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationListItem--note::before {
    -webkit-transform: translateX(-50%) scale(100%);
            transform: translateX(-50%) scale(100%);
    width: 18px;
    height: 20px;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationListItem--note::before {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: calc(18 / 375 * 100vw);
    height: calc(20 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationListItem--note:hover::before {
    -webkit-transform: translateX(-50%) scale(120%);
            transform: translateX(-50%) scale(120%);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationListItem--note--oneLine::before {
    top: calc(100% - 8px);
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationListItem--note--oneLine::before {
    top: calc(100% + 2px);
  }
}

.p-productInfo__variationListItemFig {
  width: 100%;
}

.p-productInfo__variationListItemFig img {
  width: 100%;
}

.p-productInfo__variationListItemText {
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationListItemText {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.2;
    padding: 0.1px;
    margin-top: 16px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-productInfo__variationListItemText {
    font-size: 10px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-productInfo__variationListItemText {
    font-size: calc(10 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationListItemText:before, .p-productInfo__variationListItemText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo__variationListItemText:before {
    margin-top: 0;
  }
  .p-productInfo__variationListItemText:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-productInfo__variationListItemText {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationListItemText:before, .p-productInfo__variationListItemText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo__variationListItemText:before {
    margin-top: calc((1 - 1.2) * 0.5em);
  }
  .p-productInfo__variationListItemText:after {
    margin-bottom: calc((1 - 1.2) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationListItemText {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.16667;
    padding: 0.1px;
    margin-top: calc(16 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-productInfo__variationListItemText {
    font-size: 12px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-productInfo__variationListItemText {
    font-size: calc(12 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationListItemText:before, .p-productInfo__variationListItemText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo__variationListItemText:before {
    margin-top: 0;
  }
  .p-productInfo__variationListItemText:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-productInfo__variationListItemText {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationListItemText:before, .p-productInfo__variationListItemText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo__variationListItemText:before {
    margin-top: calc((1 - 1.16667) * 0.5em);
  }
  .p-productInfo__variationListItemText:after {
    margin-bottom: calc((1 - 1.16667) * 0.5em);
  }
}

.p-productInfo__variationListItemText--en {
  letter-spacing: 0.05em !important;
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationListItemText--en {
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: optima, "Tenor Sans";
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-productInfo__variationListItemText--en {
    font-size: 12px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-productInfo__variationListItemText--en {
    font-size: calc(12 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-productInfo__variationListItemText--en:before, .p-productInfo__variationListItemText--en:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo__variationListItemText--en:before {
    margin-top: 0;
  }
  .p-productInfo__variationListItemText--en:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-productInfo__variationListItemText--en {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationListItemText--en {
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: optima, "Tenor Sans";
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-productInfo__variationListItemText--en {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-productInfo__variationListItemText--en {
    font-size: calc(14 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-productInfo__variationListItemText--en:before, .p-productInfo__variationListItemText--en:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-productInfo__variationListItemText--en:before {
    margin-top: 0;
  }
  .p-productInfo__variationListItemText--en:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-productInfo__variationListItemText--en {
    letter-spacing: 0.01em !important;
  }
}

.p-productInfo__variationListItemText--en::before, .p-productInfo__variationListItemText--en::after {
  display: none;
}

/* } */
/* .p-seasonal-excia { */
.p-ruby {
  position: relative;
  text-align: center;
  display: inline-block;
}

.p-ruby:before {
  font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  content: attr(data-ruby);
  white-space: nowrap;
  font-size: 0.5em;
  line-height: 1;
  margin: auto;
  position: absolute;
  left: 50%;
  -webkit-transform: scale(0.8) translateX(-50%);
          transform: scale(0.8) translateX(-50%);
  -webkit-transform-origin: left;
          transform-origin: left;
}

@media screen and (min-width: 641px), print {
  .p-ruby:before {
    bottom: calc(90%);
  }
}

@media screen and (max-width: 640px) {
  .p-ruby:before {
    bottom: calc(85%);
  }
}

/* } */
/* .p-seasonal-excia { */
@media screen and (min-width: 641px), print {
  .p-seibunArticle {
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-seibunArticle--3lineTitle .p-seibunArticle__textWrapper {
    margin-top: 46px;
  }
}

@media screen and (max-width: 640px) {
  .p-seibunArticle {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (min-width: 641px), print {
  .p-seibunArticle__thumb {
    margin-bottom: 33px;
  }
}

@media screen and (max-width: 640px) {
  .p-seibunArticle__thumb {
    width: calc(150 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-seibunArticle__textArea {
    width: calc(150 / 375 * 100vw);
  }
}

.p-seibunArticle__title {
  letter-spacing: 0.08em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
  line-height: 1.375;
  padding: 0.1px;
}

@media screen and (min-width: 641px), print {
  .p-seibunArticle__title {
    font-size: 16px;
  }
}

@media screen and (max-width: 640px) {
  .p-seibunArticle__title {
    font-size: calc(16 / 375 * 100vw);
  }
}

.p-seibunArticle__title:before, .p-seibunArticle__title:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-seibunArticle__title:before {
  margin-top: 0;
}

.p-seibunArticle__title:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-seibunArticle__title {
    letter-spacing: 0.01em !important;
  }
}

.p-seibunArticle__title:before, .p-seibunArticle__title:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-seibunArticle__title:before {
  margin-top: calc((1 - 1.375) * 0.5em);
}

.p-seibunArticle__title:after {
  margin-bottom: calc((1 - 1.375) * 0.5em);
}

@media screen and (min-width: 641px), print {
  .p-seibunArticle__title {
    margin-bottom: 12px;
  }
}

@media screen and (max-width: 640px) {
  .p-seibunArticle__title {
    white-space: nowrap;
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 640px) {
  .p-seibunArticle__title--fix {
    letter-spacing: -0.1em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-seibunArticle__subTitle {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.71429;
    padding: 0.1px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-seibunArticle__subTitle {
    font-size: 14px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seibunArticle__subTitle {
    font-size: calc(14 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-seibunArticle__subTitle:before, .p-seibunArticle__subTitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seibunArticle__subTitle:before {
    margin-top: 0;
  }
  .p-seibunArticle__subTitle:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seibunArticle__subTitle {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-seibunArticle__subTitle:before, .p-seibunArticle__subTitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seibunArticle__subTitle:before {
    margin-top: calc((1 - 1.71429) * 0.5em);
  }
  .p-seibunArticle__subTitle:after {
    margin-bottom: calc((1 - 1.71429) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-seibunArticle__subTitle {
    letter-spacing: 0.04em !important;
    white-space: nowrap;
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.66667;
    padding: 0.1px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-seibunArticle__subTitle {
    font-size: 12px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seibunArticle__subTitle {
    font-size: calc(12 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-seibunArticle__subTitle:before, .p-seibunArticle__subTitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seibunArticle__subTitle:before {
    margin-top: 0;
  }
  .p-seibunArticle__subTitle:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seibunArticle__subTitle {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-seibunArticle__subTitle:before, .p-seibunArticle__subTitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seibunArticle__subTitle:before {
    margin-top: calc((1 - 1.66667) * 0.5em);
  }
  .p-seibunArticle__subTitle:after {
    margin-bottom: calc((1 - 1.66667) * 0.5em);
  }
}

.p-seibunArticle__textWrapper {
  position: relative;
  margin-top: 24px;
}

.p-seibunArticle__textWrapper::before {
  display: block;
  content: '';
  width: 40px;
  height: 1px;
  background-color: #b5b9bd;
  margin-bottom: 24px;
}

@media screen and (min-width: 641px), print {
  .p-seibunArticle__textWrapper::before {
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (min-width: 641px), print {
  .p-seibunArticle__text {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 2;
    padding: 0.1px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-seibunArticle__text {
    font-size: 12px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seibunArticle__text {
    font-size: calc(12 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-seibunArticle__text:before, .p-seibunArticle__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seibunArticle__text:before {
    margin-top: 0;
  }
  .p-seibunArticle__text:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seibunArticle__text {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-seibunArticle__text:before, .p-seibunArticle__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seibunArticle__text:before {
    margin-top: calc((1 - 2) * 0.5em);
  }
  .p-seibunArticle__text:after {
    margin-bottom: calc((1 - 2) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-seibunArticle__text {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.57143;
    padding: 0.1px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-seibunArticle__text {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seibunArticle__text {
    font-size: calc(14 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-seibunArticle__text:before, .p-seibunArticle__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seibunArticle__text:before {
    margin-top: 0;
  }
  .p-seibunArticle__text:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seibunArticle__text {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-seibunArticle__text:before, .p-seibunArticle__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seibunArticle__text:before {
    margin-top: calc((1 - 1.57143) * 0.5em);
  }
  .p-seibunArticle__text:after {
    margin-bottom: calc((1 - 1.57143) * 0.5em);
  }
}

/* } */
/* .p-seasonal-excia { */
.p-seibunTagList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (min-width: 641px), print {
  .p-seibunTagList {
    margin-bottom: -8px;
    margin-right: -8px;
  }
}

@media screen and (max-width: 640px) {
  .p-seibunTagList {
    margin-bottom: -16px;
  }
}

.p-seibunTagList--orange .p-seibunTagList__item {
  background-color: #dbc0aa;
}

.p-seibunTagList--pink .p-seibunTagList__item {
  background-color: transparent;
  border: 1px solid #bc6a9a;
  color: #bc6a9a;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

@media screen and (min-width: 641px), print {
  .p-seibunTagList--pink .p-seibunTagList__item:hover {
    opacity: 1;
    background-color: #bc6a9a;
    border: 1px solid #ffffff;
    color: #ffffff;
  }
}

.p-seibunTagList__item {
  background-color: #333333;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  padding: 6px 15px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  color: #ffffff;
}

@media screen and (min-width: 641px), print {
  .p-seibunTagList__item {
    border-radius: 12px / 50%;
    margin-right: 20px;
    margin-bottom: 8px;
  }
  .p-seibunTagList__item:hover {
    opacity: 0.6;
  }
}

@media screen and (max-width: 640px) {
  .p-seibunTagList__item {
    border-radius: 14px / 50%;
    text-align: center;
    width: 100%;
    margin-bottom: 16px;
  }
}

@media screen and (min-width: 641px), print {
  .p-seibunTagList__itemText {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-seibunTagList__itemText {
    font-size: 12px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seibunTagList__itemText {
    font-size: calc(12 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-seibunTagList__itemText:before, .p-seibunTagList__itemText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seibunTagList__itemText:before {
    margin-top: 0;
  }
  .p-seibunTagList__itemText:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seibunTagList__itemText {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-seibunTagList__itemText {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-seibunTagList__itemText {
    font-size: 13px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seibunTagList__itemText {
    font-size: calc(13 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-seibunTagList__itemText:before, .p-seibunTagList__itemText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seibunTagList__itemText:before {
    margin-top: 0;
  }
  .p-seibunTagList__itemText:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seibunTagList__itemText {
    letter-spacing: 0.01em !important;
  }
}

/* } */
.p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__title {
  font-family: "lunchtype22";
  font-weight: normal;
  line-height: 1.2;
  padding: 0.1px;
  letter-spacing: 0.08em;
}

.p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__title:before, .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__title:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__title:before {
  margin-top: calc((1 - 1.2) * 0.5em);
}

.p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__title:after {
  margin-bottom: calc((1 - 1.2) * 0.5em);
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__title {
    font-size: 50px;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__title {
    font-size: 10.66667vw;
  }
}

.p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle {
  margin-top: 13px;
  letter-spacing: 0.16em !important;
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 2;
    padding: 0.1px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle {
    font-size: 16px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle {
    font-size: calc(16 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle:before, .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle:before {
    margin-top: 0;
  }
  .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle:before, .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle:before {
    margin-top: calc((1 - 2) * 0.5em);
  }
  .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle:after {
    margin-bottom: calc((1 - 2) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 2.28571;
    padding: 0.1px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle {
    font-size: calc(14 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle:before, .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle:before {
    margin-top: 0;
  }
  .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle:before, .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle:before {
    margin-top: calc((1 - 2.28571) * 0.5em);
  }
  .p-seasonal-excia .p-skincare-sectionTitle .p-skincare-sectionTitle__subtitle:after {
    margin-bottom: calc((1 - 2.28571) * 0.5em);
  }
}

.p-seasonal-excia .p-skincare-sectionTitle--h3 {
  position: relative;
  z-index: 1;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-align: center;
  margin-bottom: 30px;
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-skincare-sectionTitle--h3 {
    line-height: 1;
    padding: 0.1px;
  }
  .p-seasonal-excia .p-skincare-sectionTitle--h3:before, .p-seasonal-excia .p-skincare-sectionTitle--h3:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-skincare-sectionTitle--h3:before {
    margin-top: 0;
  }
  .p-seasonal-excia .p-skincare-sectionTitle--h3:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-skincare-sectionTitle--h3 {
    font-size: 5.33333vw;
    line-height: 1.5;
    padding: 0.1px;
  }
  .p-seasonal-excia .p-skincare-sectionTitle--h3:before, .p-seasonal-excia .p-skincare-sectionTitle--h3:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-skincare-sectionTitle--h3:before {
    margin-top: calc((1 - 1.5) * 0.5em);
  }
  .p-seasonal-excia .p-skincare-sectionTitle--h3:after {
    margin-bottom: calc((1 - 1.5) * 0.5em);
  }
}

.p-seasonal-excia .p-skincare-sectionTitle--h3 span {
  position: relative;
}

.p-seasonal-excia .p-skincare-sectionTitle--h3 span:after {
  content: '';
  position: absolute;
  left: calc(50% - 5px);
  bottom: -4px;
  width: 100%;
  height: 11px;
  display: inline-block;
  -webkit-transform: skewX(40deg) translateX(-50%);
          transform: skewX(40deg) translateX(-50%);
  background: #0bb58f;
  opacity: 0.2;
  z-index: -1;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-skincare-sectionTitle--h3 span:first-child:after {
    width: calc(100% + 8px);
    left: 50%;
  }
}

.p-seasonal-excia .p-sup--en {
  font-family: optima, "Tenor Sans";
}

.p-seasonal-excia .p-tyingProductInfo__callout {
  border-radius: 2px;
  color: #ffffff;
  display: inline-block;
  padding: 8px 10px;
  letter-spacing: 0.08em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-tyingProductInfo__callout {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__callout {
    font-size: calc(14 / 375 * 100vw);
  }
}

.p-seasonal-excia .p-tyingProductInfo__callout:before, .p-seasonal-excia .p-tyingProductInfo__callout:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-seasonal-excia .p-tyingProductInfo__callout:before {
  margin-top: 0;
}

.p-seasonal-excia .p-tyingProductInfo__callout:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__callout {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-tyingProductInfo__callout {
    margin-bottom: 25px;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__callout {
    margin-bottom: 16px;
  }
}

.p-seasonal-excia--skincare .p-tyingProductInfo__callout {
  background-color: #becbdc;
}

.p-seasonal-excia--makeup .p-tyingProductInfo__callout {
  background-color: #dabec7;
}

.p-seasonal-excia .p-tyingProductInfo__section {
  position: relative;
  width: 100%;
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-tyingProductInfo__section--widthFree {
    width: auto;
  }
  .p-seasonal-excia .p-tyingProductInfo__section--widthFree .p-tyingProductInfo__dd {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    padding-left: 16px;
    text-align: left;
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-tyingProductInfo__section + .p-tyingProductInfo__section {
    margin-top: 48px;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__section + .p-tyingProductInfo__section {
    margin-top: 48px;
  }
}

.p-seasonal-excia .p-tyingProductInfo__section + .p-tyingProductInfo__section:before {
  background-image: linear-gradient(to right, #eeeeee, #eeeeee 2px, transparent 2px, transparent 5px);
  background-repeat: repeat-x;
  background-size: 5px 1px;
  content: '';
  display: block;
  height: 1px;
  left: 0;
  margin: auto;
  position: absolute;
  top: -24px;
  width: 100%;
}

.p-seasonal-excia .p-tyingProductInfo__dl--en,
.p-seasonal-excia .p-tyingProductInfo__dt--en {
  letter-spacing: 0.04em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: optima, "Tenor Sans";
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-tyingProductInfo__dl--en,
  .p-seasonal-excia .p-tyingProductInfo__dt--en {
    font-size: 16px;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dl--en,
  .p-seasonal-excia .p-tyingProductInfo__dt--en {
    font-size: calc(16 / 375 * 100vw);
  }
}

.p-seasonal-excia .p-tyingProductInfo__dl--en:before, .p-seasonal-excia .p-tyingProductInfo__dl--en:after,
.p-seasonal-excia .p-tyingProductInfo__dt--en:before,
.p-seasonal-excia .p-tyingProductInfo__dt--en:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-seasonal-excia .p-tyingProductInfo__dl--en:before,
.p-seasonal-excia .p-tyingProductInfo__dt--en:before {
  margin-top: 0;
}

.p-seasonal-excia .p-tyingProductInfo__dl--en:after,
.p-seasonal-excia .p-tyingProductInfo__dt--en:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dl--en,
  .p-seasonal-excia .p-tyingProductInfo__dt--en {
    letter-spacing: 0.01em !important;
  }
}

.p-seasonal-excia .p-tyingProductInfo__dl--en:before, .p-seasonal-excia .p-tyingProductInfo__dl--en:after,
.p-seasonal-excia .p-tyingProductInfo__dt--en:before,
.p-seasonal-excia .p-tyingProductInfo__dt--en:after {
  display: none;
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-tyingProductInfo__dl,
  .p-seasonal-excia .p-tyingProductInfo__dt {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-seasonal-excia .p-tyingProductInfo__dl,
  .p-seasonal-excia .p-tyingProductInfo__dt {
    font-size: 14px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dl,
  .p-seasonal-excia .p-tyingProductInfo__dt {
    font-size: calc(14 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-tyingProductInfo__dl:before, .p-seasonal-excia .p-tyingProductInfo__dl:after,
  .p-seasonal-excia .p-tyingProductInfo__dt:before,
  .p-seasonal-excia .p-tyingProductInfo__dt:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-tyingProductInfo__dl:before,
  .p-seasonal-excia .p-tyingProductInfo__dt:before {
    margin-top: 0;
  }
  .p-seasonal-excia .p-tyingProductInfo__dl:after,
  .p-seasonal-excia .p-tyingProductInfo__dt:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dl,
  .p-seasonal-excia .p-tyingProductInfo__dt {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dl,
  .p-seasonal-excia .p-tyingProductInfo__dt {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.69231;
    padding: 0.1px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-seasonal-excia .p-tyingProductInfo__dl,
  .p-seasonal-excia .p-tyingProductInfo__dt {
    font-size: 13px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dl,
  .p-seasonal-excia .p-tyingProductInfo__dt {
    font-size: calc(13 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dl:before, .p-seasonal-excia .p-tyingProductInfo__dl:after,
  .p-seasonal-excia .p-tyingProductInfo__dt:before,
  .p-seasonal-excia .p-tyingProductInfo__dt:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-tyingProductInfo__dl:before,
  .p-seasonal-excia .p-tyingProductInfo__dt:before {
    margin-top: 0;
  }
  .p-seasonal-excia .p-tyingProductInfo__dl:after,
  .p-seasonal-excia .p-tyingProductInfo__dt:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dl,
  .p-seasonal-excia .p-tyingProductInfo__dt {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dl:before, .p-seasonal-excia .p-tyingProductInfo__dl:after,
  .p-seasonal-excia .p-tyingProductInfo__dt:before,
  .p-seasonal-excia .p-tyingProductInfo__dt:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-tyingProductInfo__dl:before,
  .p-seasonal-excia .p-tyingProductInfo__dt:before {
    margin-top: calc((1 - 1.69231) * 0.5em);
  }
  .p-seasonal-excia .p-tyingProductInfo__dl:after,
  .p-seasonal-excia .p-tyingProductInfo__dt:after {
    margin-bottom: calc((1 - 1.69231) * 0.5em);
  }
  .p-seasonal-excia .p-tyingProductInfo__dl--en,
  .p-seasonal-excia .p-tyingProductInfo__dt--en {
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: optima, "Tenor Sans";
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-seasonal-excia .p-tyingProductInfo__dl--en,
  .p-seasonal-excia .p-tyingProductInfo__dt--en {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dl--en,
  .p-seasonal-excia .p-tyingProductInfo__dt--en {
    font-size: calc(14 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dl--en:before, .p-seasonal-excia .p-tyingProductInfo__dl--en:after,
  .p-seasonal-excia .p-tyingProductInfo__dt--en:before,
  .p-seasonal-excia .p-tyingProductInfo__dt--en:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-tyingProductInfo__dl--en:before,
  .p-seasonal-excia .p-tyingProductInfo__dt--en:before {
    margin-top: 0;
  }
  .p-seasonal-excia .p-tyingProductInfo__dl--en:after,
  .p-seasonal-excia .p-tyingProductInfo__dt--en:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dl--en,
  .p-seasonal-excia .p-tyingProductInfo__dt--en {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dl--en:before, .p-seasonal-excia .p-tyingProductInfo__dl--en:after,
  .p-seasonal-excia .p-tyingProductInfo__dt--en:before,
  .p-seasonal-excia .p-tyingProductInfo__dt--en:after {
    display: none;
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-tyingProductInfo__dd {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-seasonal-excia .p-tyingProductInfo__dd {
    font-size: 12px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dd {
    font-size: calc(12 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-tyingProductInfo__dd:before, .p-seasonal-excia .p-tyingProductInfo__dd:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-tyingProductInfo__dd:before {
    margin-top: 0;
  }
  .p-seasonal-excia .p-tyingProductInfo__dd:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dd {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dd {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.69231;
    padding: 0.1px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-seasonal-excia .p-tyingProductInfo__dd {
    font-size: 13px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dd {
    font-size: calc(13 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dd:before, .p-seasonal-excia .p-tyingProductInfo__dd:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-tyingProductInfo__dd:before {
    margin-top: 0;
  }
  .p-seasonal-excia .p-tyingProductInfo__dd:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dd {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dd:before, .p-seasonal-excia .p-tyingProductInfo__dd:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-tyingProductInfo__dd:before {
    margin-top: calc((1 - 1.69231) * 0.5em);
  }
  .p-seasonal-excia .p-tyingProductInfo__dd:after {
    margin-bottom: calc((1 - 1.69231) * 0.5em);
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-tyingProductInfo__dd--large {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-seasonal-excia .p-tyingProductInfo__dd--large {
    font-size: 14px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dd--large {
    font-size: calc(14 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-tyingProductInfo__dd--large:before, .p-seasonal-excia .p-tyingProductInfo__dd--large:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-seasonal-excia .p-tyingProductInfo__dd--large:before {
    margin-top: 0;
  }
  .p-seasonal-excia .p-tyingProductInfo__dd--large:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dd--large {
    letter-spacing: 0.01em !important;
  }
}

.p-seasonal-excia .p-tyingProductInfo__dd--en {
  letter-spacing: 0.04em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: optima, "Tenor Sans";
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-tyingProductInfo__dd--en {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dd--en {
    font-size: calc(14 / 375 * 100vw);
  }
}

.p-seasonal-excia .p-tyingProductInfo__dd--en:before, .p-seasonal-excia .p-tyingProductInfo__dd--en:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-seasonal-excia .p-tyingProductInfo__dd--en:before {
  margin-top: 0;
}

.p-seasonal-excia .p-tyingProductInfo__dd--en:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__dd--en {
    letter-spacing: 0.01em !important;
  }
}

.p-seasonal-excia .p-tyingProductInfo__dd--en:before, .p-seasonal-excia .p-tyingProductInfo__dd--en:after {
  display: none;
}

.p-seasonal-excia .p-tyingProductInfo__dl {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.p-seasonal-excia .p-tyingProductInfo__dl + .p-tyingProductInfo__dl {
  margin-top: 12px;
}

.p-seasonal-excia .p-tyingProductInfo__dt {
  text-align: left;
}

.p-seasonal-excia .p-tyingProductInfo__dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: right;
}

.p-seasonal-excia .p-tyingProductInfo__text {
  letter-spacing: 0.08em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
  line-height: 1.66667;
  padding: 0.1px;
  color: #b5b9bd;
  display: inline-block;
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-tyingProductInfo__text {
    font-size: 12px;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__text {
    font-size: calc(12 / 375 * 100vw);
  }
}

.p-seasonal-excia .p-tyingProductInfo__text:before, .p-seasonal-excia .p-tyingProductInfo__text:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-seasonal-excia .p-tyingProductInfo__text:before {
  margin-top: 0;
}

.p-seasonal-excia .p-tyingProductInfo__text:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__text {
    letter-spacing: 0.01em !important;
  }
}

.p-seasonal-excia .p-tyingProductInfo__text:before, .p-seasonal-excia .p-tyingProductInfo__text:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-seasonal-excia .p-tyingProductInfo__text:before {
  margin-top: calc((1 - 1.66667) * 0.5em);
}

.p-seasonal-excia .p-tyingProductInfo__text:after {
  margin-bottom: calc((1 - 1.66667) * 0.5em);
}

.p-seasonal-excia .p-tyingProductInfo__text:not(:first-child) {
  margin-top: 15px;
}

.p-seasonal-excia .p-tyingProductInfo__text--en {
  letter-spacing: 0.04em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: optima, "Tenor Sans";
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
}

@media screen and (min-width: 641px), print {
  .p-seasonal-excia .p-tyingProductInfo__text--en {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__text--en {
    font-size: calc(14 / 375 * 100vw);
  }
}

.p-seasonal-excia .p-tyingProductInfo__text--en:before, .p-seasonal-excia .p-tyingProductInfo__text--en:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-seasonal-excia .p-tyingProductInfo__text--en:before {
  margin-top: 0;
}

.p-seasonal-excia .p-tyingProductInfo__text--en:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-tyingProductInfo__text--en {
    letter-spacing: 0.01em !important;
  }
}

.p-seasonal-excia .p-tyingProductInfo__text--en:before, .p-seasonal-excia .p-tyingProductInfo__text--en:after {
  display: none;
}

.p-seasonal-excia .p-tyingProductInfo__text--mataha {
  margin-bottom: 8px;
  margin-top: 15px;
}

.p-seasonal-excia .p-tyingProductInfo__footer {
  padding-top: 40px;
}

.p-seasonal-excia .p–youtube {
  background-color: #999999;
  position: relative;
}

.p-seasonal-excia .p–youtube.is-hide .p–youtube__thumb img {
  opacity: 0;
}

.p-seasonal-excia .p–youtube.is-disactive .p–youtube__thumb {
  display: none;
}

.p-seasonal-excia .p–youtube__thumb {
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 1;
}

.p-seasonal-excia .p–youtube__thumb img {
  opacity: 1;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
}

.p-seasonal-excia .p–youtube__video {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}

/* _main.scss */
.p-essay {
  color: #333333;
  /* p-essay__mainVisual */
  /* p-essay__contentWrapper */
  /* p-essay__issueListWrapper */
  /* p-essay__nextPageWrapper */
}

.p-essay h1,
.p-essay h2,
.p-essay h3,
.p-essay h4,
.p-essay h5,
.p-essay sup,
.p-essay figure {
  margin: 0;
}

@media screen and (min-width: 641px), print {
  .p-essay .p-essay__contentWrapper {
    margin-top: 80px;
  }
}

@media screen and (max-width: 640px) {
  .p-essay .p-essay__contentWrapper {
    margin-top: 64px;
  }
}

@media screen and (min-width: 641px), print {
  .p-essay .p-essay__issueListWrapper {
    margin-top: 60px;
  }
}

@media screen and (max-width: 640px) {
  .p-essay .p-essay__issueListWrapper {
    margin-top: 64px;
  }
}

@media screen and (min-width: 641px), print {
  .p-essay .p-essay__nextPageWrapper {
    margin-top: 80px;
  }
}

@media screen and (max-width: 640px) {
  .p-essay .p-essay__nextPageWrapper {
    margin-top: calc(60 / 375 * 100%);
  }
}

.p-seasonal-excia .p-nextPage--toMakeup.p-nextPage--toMakeupForEssay .p-nextPage__textArea::before {
  background-color: #c2b981;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-nextPage--toMakeup.p-nextPage--toMakeupForEssay .p-nextPage__textArea::before {
    margin-right: 30px;
  }
}

.p-seasonal-excia .p-nextPage--toMakeup.p-nextPage--toMakeupForEssay .p-nextPage__textArea {
  height: 180px;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-nextPage--toMakeup.p-nextPage--toMakeupForEssay .p-nextPage__textArea {
    height: 235px;
    padding-top: 0;
    padding-bottom: 0;
  }
  .p-seasonal-excia .p-nextPage--toMakeup.p-nextPage--toMakeupForEssay .p-nextPage__textArea::before {
    width: calc(284 / 375 * 100vw);
  }
}

.p-seasonal-excia .p-nextPage--toMakeup.p-nextPage--toMakeupForEssay .p-nextPage__imageArea {
  top: 30px;
  -webkit-transform: none;
          transform: none;
  height: 120px;
  left: -114px;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-nextPage--toMakeup.p-nextPage--toMakeupForEssay .p-nextPage__imageArea {
    width: calc(267 / 375 * 100vw);
    left: -31px;
  }
}

.p-seasonal-excia .p-nextPage--toMakeup.p-nextPage--toMakeupForEssay .p-nextPage__imageArea img {
  width: 504px;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-nextPage--toMakeup.p-nextPage--toMakeupForEssay .p-nextPage__imageArea img {
    width: 267px;
  }
}

.p-seasonal-excia .p-nextPage--toMakeup.p-nextPage--toMakeupForEssay .p-nextPage__content {
  padding-left: 114px;
  max-width: 558px;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-nextPage--toMakeup.p-nextPage--toMakeupForEssay .p-nextPage__content {
    padding-left: 31px;
  }
}

.p-seasonal-excia .p-nextPage--toMakeup.p-nextPage--toMakeupForEssay .p-viewmoreBtn {
  background-image: none;
  border: 1px solid #eeebd9;
}

.p-seasonal-excia .p-nextPage--toMakeup.p-nextPage--toMakeupForEssay .p-viewmoreBtn::before {
  color: #ffffff;
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-nextPage--toMakeup.p-nextPage--toMakeupForEssay .p-viewmoreBtn::after {
    background-image: url(/assets/img/excia/skincare/next-page/btn-arrow-beige.svg);
  }
}

.p-seasonal-excia .p-nextPage--toMakeup.p-nextPage--toMakeupForEssay .p-nextPage__btnArea {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (max-width: 640px) {
  .p-seasonal-excia .p-nextPage--toMakeup.p-nextPage--toMakeupForEssay .p-nextPage__btnArea {
    top: 80%;
    right: calc(60 / 375 * 100vw);
  }
}

/* .p-seasonal-excia--skincare { */
.p-binoshinsei {
  position: relative;
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei {
    padding-bottom: 120px;
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei {
    padding-top: 79px;
    padding-bottom: 80px;
  }
}

.p-binoshinsei::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: block;
  z-index: -1;
  background-repeat: no-repeat;
  background-position: center top;
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei::before {
    height: 720px;
    background-image: url("/assets/img/excia/include/skincare/binoshinsei/bg-pc.jpg");
    background-size: contain;
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei::before {
    width: 100%;
    height: 100%;
    background-image: url("/assets/img/excia/include/skincare/binoshinsei/bg-sp.png");
    background-size: cover;
  }
}

.p-binoshinsei__introductionLogo img {
  width: 100%;
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__introductionLogo {
    width: 200px;
    height: 69px;
    margin-left: 240px;
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__introductionLogo {
    width: calc(161 / 375 * 100vw);
    height: calc(55 / 375 * 100vw);
    padding-bottom: 50px;
  }
}

.p-binoshinsei__introductionTextArea {
  margin-left: 0;
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__introductionTextArea {
    padding-top: 118px;
  }
}

.p-binoshinsei__introductionTitle {
  margin-bottom: 40px;
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__introductionTitle {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-binoshinsei__introductionTitle {
    font-size: 28px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-binoshinsei__introductionTitle {
    font-size: calc(28 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__introductionTitle:before, .p-binoshinsei__introductionTitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-binoshinsei__introductionTitle:before {
    margin-top: 0;
  }
  .p-binoshinsei__introductionTitle:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-binoshinsei__introductionTitle {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__introductionTitle {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-binoshinsei__introductionTitle {
    font-size: 22px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-binoshinsei__introductionTitle {
    font-size: calc(22 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__introductionTitle:before, .p-binoshinsei__introductionTitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-binoshinsei__introductionTitle:before {
    margin-top: 0;
  }
  .p-binoshinsei__introductionTitle:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-binoshinsei__introductionTitle {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__introductionText {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-weight: 400;
    font-family: YakuHanMP, kinuta-maruminyoshino-stdn, serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 2.33333;
    padding: 0.1px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-binoshinsei__introductionText {
    font-size: 15px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-binoshinsei__introductionText {
    font-size: calc(15 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__introductionText:before, .p-binoshinsei__introductionText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-binoshinsei__introductionText:before {
    margin-top: 0;
  }
  .p-binoshinsei__introductionText:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-binoshinsei__introductionText {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__introductionText:before, .p-binoshinsei__introductionText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-binoshinsei__introductionText:before {
    margin-top: calc((1 - 2.33333) * 0.5em);
  }
  .p-binoshinsei__introductionText:after {
    margin-bottom: calc((1 - 2.33333) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__introductionText {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-weight: 400;
    font-family: YakuHanMP, kinuta-maruminyoshino-stdn, serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 2.13333;
    padding: 0.1px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-binoshinsei__introductionText {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-binoshinsei__introductionText {
    font-size: calc(14 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__introductionText:before, .p-binoshinsei__introductionText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-binoshinsei__introductionText:before {
    margin-top: 0;
  }
  .p-binoshinsei__introductionText:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-binoshinsei__introductionText {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__introductionText:before, .p-binoshinsei__introductionText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-binoshinsei__introductionText:before {
    margin-top: calc((1 - 2.13333) * 0.5em);
  }
  .p-binoshinsei__introductionText:after {
    margin-bottom: calc((1 - 2.13333) * 0.5em);
  }
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__List {
    margin-top: 200px;
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__List {
    margin-top: 75px;
  }
}

.p-binoshinsei__figureItem {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 以下は飾り文字について */
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__figureItem {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__figureItem + .p-binoshinsei__figureItem {
    margin-top: 200px;
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__figureItem + .p-binoshinsei__figureItem {
    margin-top: 120px;
  }
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__figureItem:nth-child(2) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__figureItem:nth-child(2) {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__figureItem:nth-child(2) .p-binoshinsei__figureItemImage {
    margin-right: 0;
    margin-left: 80px;
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__figureItem:nth-child(2) .p-binoshinsei__figureItemImage {
    -webkit-transform: translateX(30px);
            transform: translateX(30px);
  }
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__figureItem:nth-child(2) .p-binoshinsei__figureItemImage::before {
    right: -100px;
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__figureItem:nth-child(2) .p-binoshinsei__figureItemImage::before {
    right: 0;
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__figureItem:nth-child(1) .p-binoshinsei__figureItemImage, .p-binoshinsei__figureItem:nth-child(3) .p-binoshinsei__figureItemImage {
    -webkit-transform: translateX(-30px);
            transform: translateX(-30px);
  }
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__figureItem:nth-child(1) .p-binoshinsei__figureItemImage::before, .p-binoshinsei__figureItem:nth-child(3) .p-binoshinsei__figureItemImage::before {
    left: -100px;
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__figureItem:nth-child(1) .p-binoshinsei__figureItemImage::before, .p-binoshinsei__figureItem:nth-child(3) .p-binoshinsei__figureItemImage::before {
    left: 0;
  }
}

.p-binoshinsei__figureItem:nth-child(1)::before, .p-binoshinsei__figureItem:nth-child(2)::before, .p-binoshinsei__figureItem:nth-child(3)::before {
  display: block;
  content: '';
  position: absolute;
  background-repeat: no-repeat;
  background-size: cover;
}

.p-binoshinsei__figureItem:nth-child(1)::before {
  background-image: url("/assets/img/excia/include/skincare/binoshinsei/moji-touch.svg");
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__figureItem:nth-child(1)::before {
    width: 261px;
    height: 160px;
    top: 213px;
    left: 757px;
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__figureItem:nth-child(1)::before {
    width: calc(195 / 375 * 100vw);
    height: calc(120 / 375 * 100vw);
    top: calc(539 / 375 * 100vw);
    left: calc(151 / 375 * 100vw);
  }
}

.p-binoshinsei__figureItem:nth-child(2)::before {
  background-image: url("/assets/img/excia/include/skincare/binoshinsei/moji-design.svg");
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__figureItem:nth-child(2)::before {
    width: 332px;
    height: 164px;
    top: 211px;
    left: -115px;
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__figureItem:nth-child(2)::before {
    width: calc(250 / 375 * 100vw);
    height: calc(123 / 375 * 100vw);
    top: calc(535 / 375 * 100vw);
    left: calc(96 / 375 * 100vw);
  }
}

.p-binoshinsei__figureItem:nth-child(3)::before {
  background-image: url("/assets/img/excia/include/skincare/binoshinsei/moji-scent.svg");
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__figureItem:nth-child(3)::before {
    width: 349px;
    height: 168px;
    top: 205px;
    left: 667px;
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__figureItem:nth-child(3)::before {
    width: calc(262 / 375 * 100vw);
    height: calc(127 / 375 * 100vw);
    top: calc(530 / 375 * 100vw);
    left: calc(107 / 375 * 100vw);
  }
}

.p-binoshinsei__figureItemImage {
  position: relative;
}

.p-binoshinsei__figureItemImage img {
  width: 100%;
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__figureItemImage {
    width: 444px;
    height: 333px;
    margin-right: 80px;
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__figureItemImage {
    width: calc(290 / 375 * 100vw);
    height: calc(290 / 375 * 100vw);
    margin-bottom: 80px;
  }
}

.p-binoshinsei__figureItemImage:before {
  display: block;
  content: '';
  position: absolute;
  top: 0;
  /* left or right は上述 */
  /* z-index: $excia-zindexBg; */
  background-color: #fafafa;
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__figureItemImage:before {
    width: 444px;
    height: 333px;
    top: -80px;
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__figureItemImage:before {
    width: calc((290 - 55) / 375 * 100vw);
    height: calc((290 + 80) / 375 * 100vw);
    top: -40px;
  }
}

.p-binoshinsei__figureItemImageInner {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__figureItemTextArea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.p-binoshinsei__figureItemTextAreaTitle {
  color: #666666;
  letter-spacing: 0.1em !important;
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__figureItemTextAreaTitle {
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-weight: 300;
    font-family: garamond-premier-pro-display, serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    margin-bottom: 45px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-binoshinsei__figureItemTextAreaTitle {
    font-size: 40px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-binoshinsei__figureItemTextAreaTitle {
    font-size: calc(40 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__figureItemTextAreaTitle:before, .p-binoshinsei__figureItemTextAreaTitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-binoshinsei__figureItemTextAreaTitle:before {
    margin-top: 0;
  }
  .p-binoshinsei__figureItemTextAreaTitle:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-binoshinsei__figureItemTextAreaTitle {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__figureItemTextAreaTitle {
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-weight: 300;
    font-family: garamond-premier-pro-display, serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-binoshinsei__figureItemTextAreaTitle {
    font-size: 32px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-binoshinsei__figureItemTextAreaTitle {
    font-size: calc(32 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__figureItemTextAreaTitle:before, .p-binoshinsei__figureItemTextAreaTitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-binoshinsei__figureItemTextAreaTitle:before {
    margin-top: 0;
  }
  .p-binoshinsei__figureItemTextAreaTitle:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-binoshinsei__figureItemTextAreaTitle {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__figureItemTextAreaTitle img {
    width: auto;
  }
}

.p-binoshinsei__figureItemTextAreaTitle span {
  display: inline-block;
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__figureItemTextAreaSubtitle {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    margin-bottom: 40px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-binoshinsei__figureItemTextAreaSubtitle {
    font-size: 24px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-binoshinsei__figureItemTextAreaSubtitle {
    font-size: calc(24 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__figureItemTextAreaSubtitle:before, .p-binoshinsei__figureItemTextAreaSubtitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-binoshinsei__figureItemTextAreaSubtitle:before {
    margin-top: 0;
  }
  .p-binoshinsei__figureItemTextAreaSubtitle:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-binoshinsei__figureItemTextAreaSubtitle {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__figureItemTextAreaSubtitle {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-binoshinsei__figureItemTextAreaSubtitle {
    font-size: 22px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-binoshinsei__figureItemTextAreaSubtitle {
    font-size: calc(22 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__figureItemTextAreaSubtitle:before, .p-binoshinsei__figureItemTextAreaSubtitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-binoshinsei__figureItemTextAreaSubtitle:before {
    margin-top: 0;
  }
  .p-binoshinsei__figureItemTextAreaSubtitle:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-binoshinsei__figureItemTextAreaSubtitle {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__figureItemTextAreatext {
    white-space: nowrap;
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-weight: 400;
    font-family: YakuHanMP, kinuta-maruminyoshino-stdn, serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 2.33333;
    padding: 0.1px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-binoshinsei__figureItemTextAreatext {
    font-size: 15px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-binoshinsei__figureItemTextAreatext {
    font-size: calc(15 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__figureItemTextAreatext:before, .p-binoshinsei__figureItemTextAreatext:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-binoshinsei__figureItemTextAreatext:before {
    margin-top: 0;
  }
  .p-binoshinsei__figureItemTextAreatext:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-binoshinsei__figureItemTextAreatext {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__figureItemTextAreatext:before, .p-binoshinsei__figureItemTextAreatext:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-binoshinsei__figureItemTextAreatext:before {
    margin-top: calc((1 - 2.33333) * 0.5em);
  }
  .p-binoshinsei__figureItemTextAreatext:after {
    margin-bottom: calc((1 - 2.33333) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__figureItemTextAreatext {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-weight: 400;
    font-family: YakuHanMP, kinuta-maruminyoshino-stdn, serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 2.13333;
    padding: 0.1px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-binoshinsei__figureItemTextAreatext {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-binoshinsei__figureItemTextAreatext {
    font-size: calc(14 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__figureItemTextAreatext:before, .p-binoshinsei__figureItemTextAreatext:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-binoshinsei__figureItemTextAreatext:before {
    margin-top: 0;
  }
  .p-binoshinsei__figureItemTextAreatext:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-binoshinsei__figureItemTextAreatext {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__figureItemTextAreatext:before, .p-binoshinsei__figureItemTextAreatext:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-binoshinsei__figureItemTextAreatext:before {
    margin-top: calc((1 - 2.13333) * 0.5em);
  }
  .p-binoshinsei__figureItemTextAreatext:after {
    margin-bottom: calc((1 - 2.13333) * 0.5em);
  }
}

@media screen and (min-width: 641px), print {
  .p-binoshinsei__caption {
    margin-top: 16px;
  }
}

@media screen and (max-width: 640px) {
  .p-binoshinsei__caption {
    margin-top: 32px;
  }
}

.p-treatment {
  position: relative;
  text-align: center;
}

@media screen and (min-width: 641px), print {
  .p-treatment {
    padding-top: 120px;
    padding-bottom: 120px;
  }
}

@media screen and (max-width: 640px) {
  .p-treatment {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.p-treatment::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: block;
  z-index: -1;
  background-repeat: no-repeat;
  background-position: center top;
  margin: 0 auto;
}

@media screen and (min-width: 641px), print {
  .p-treatment::before {
    width: 100%;
    height: 100%;
    background-image: url("/assets/img/excia/include/skincare/treatment/bg-pc.jpg");
    background-size: cover;
  }
}

@media screen and (max-width: 640px) {
  .p-treatment::before {
    width: 100vw;
    height: 100%;
    background-image: url("/assets/img/excia/include/skincare/treatment/bg-sp.jpg");
    background-size: cover;
  }
}

.p-treatment__title {
  margin-bottom: 40px;
}

@media screen and (min-width: 641px), print {
  .p-treatment__title {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.5;
    padding: 0.1px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-treatment__title {
    font-size: 28px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-treatment__title {
    font-size: calc(28 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-treatment__title:before, .p-treatment__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-treatment__title:before {
    margin-top: 0;
  }
  .p-treatment__title:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-treatment__title {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-treatment__title:before, .p-treatment__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-treatment__title:before {
    margin-top: calc((1 - 1.5) * 0.5em);
  }
  .p-treatment__title:after {
    margin-bottom: calc((1 - 1.5) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-treatment__title {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.45455;
    padding: 0.1px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-treatment__title {
    font-size: 22px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-treatment__title {
    font-size: calc(22 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-treatment__title:before, .p-treatment__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-treatment__title:before {
    margin-top: 0;
  }
  .p-treatment__title:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-treatment__title {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-treatment__title:before, .p-treatment__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-treatment__title:before {
    margin-top: calc((1 - 1.45455) * 0.5em);
  }
  .p-treatment__title:after {
    margin-bottom: calc((1 - 1.45455) * 0.5em);
  }
}

@media screen and (min-width: 641px), print {
  .p-treatment__text {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-weight: 400;
    font-family: YakuHanMP, kinuta-maruminyoshino-stdn, serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 2.33333;
    padding: 0.1px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-treatment__text {
    font-size: 15px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-treatment__text {
    font-size: calc(15 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-treatment__text:before, .p-treatment__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-treatment__text:before {
    margin-top: 0;
  }
  .p-treatment__text:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-treatment__text {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-treatment__text:before, .p-treatment__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-treatment__text:before {
    margin-top: calc((1 - 2.33333) * 0.5em);
  }
  .p-treatment__text:after {
    margin-bottom: calc((1 - 2.33333) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-treatment__text {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-weight: 400;
    font-family: YakuHanMP, kinuta-maruminyoshino-stdn, serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 2.13333;
    padding: 0.1px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-treatment__text {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-treatment__text {
    font-size: calc(14 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-treatment__text:before, .p-treatment__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-treatment__text:before {
    margin-top: 0;
  }
  .p-treatment__text:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-treatment__text {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-treatment__text:before, .p-treatment__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-treatment__text:before {
    margin-top: calc((1 - 2.13333) * 0.5em);
  }
  .p-treatment__text:after {
    margin-bottom: calc((1 - 2.13333) * 0.5em);
  }
}

@media screen and (min-width: 641px), print {
  .p-areaArticleAndBnr {
    padding-top: 120px;
  }
}

@media screen and (max-width: 640px) {
  .p-areaArticleAndBnr {
    padding-top: 80px;
  }
}

@media screen and (min-width: 641px), print {
  .p-areaArticleAndBnr--radeance .p-areaArticleAndBnr__BnrArea {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-transform: translateX(115px);
            transform: translateX(115px);
  }
  .p-areaArticleAndBnr--radeance .p-areaArticleAndBnr__BnrThumb::before {
    left: 0;
  }
  .p-areaArticleAndBnr--radeance .p-areaArticleAndBnr__BnrThumbInner {
    -webkit-transform: translateX(-115px);
            transform: translateX(-115px);
  }
}

@media screen and (max-width: 640px) {
  .p-areaArticleAndBnr--radeance .p-areaArticleAndBnr__BnrThumb::before {
    right: 30px;
  }
}

@media screen and (min-width: 641px), print {
  .p-areaArticleAndBnr--brightning .p-areaArticleAndBnr__BnrArea {
    -webkit-transform: translateX(-115px);
            transform: translateX(-115px);
  }
  .p-areaArticleAndBnr--brightning .p-areaArticleAndBnr__BnrThumb::before {
    right: 0;
  }
  .p-areaArticleAndBnr--brightning .p-areaArticleAndBnr__BnrThumbInner {
    -webkit-transform: translateX(115px);
            transform: translateX(115px);
  }
  .p-areaArticleAndBnr--brightning .p-areaArticleAndBnr__BnrTextArea {
    margin-left: 195px;
  }
}

@media screen and (max-width: 640px) {
  .p-areaArticleAndBnr--brightning .p-areaArticleAndBnr__BnrThumb {
    -webkit-transform: translateX(-30px);
            transform: translateX(-30px);
  }
  .p-areaArticleAndBnr--brightning .p-areaArticleAndBnr__BnrThumb::before {
    left: 0;
  }
}

.p-areaArticleAndBnr__titleWrapper {
  text-align: center;
}

.p-areaArticleAndBnr__titleWrapper--lined {
  /* 引いたラインを白で上書きする */
  position: relative;
}

.p-areaArticleAndBnr__titleWrapper--lined::before {
  display: block;
  content: '';
  height: 1px;
  width: 100%;
  background-color: #cccccc;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: -1;
}

.p-areaArticleAndBnr__titleWrapper--lined .p-areaArticleAndBnr__titleInner {
  display: inline-block;
  position: relative;
}

.p-areaArticleAndBnr__titleWrapper--lined .p-areaArticleAndBnr__titleInner::before {
  display: block;
  content: '';
  height: 1em;
  background-color: white;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}

@media screen and (min-width: 641px), print {
  .p-areaArticleAndBnr__titleWrapper--lined .p-areaArticleAndBnr__titleInner::before {
    width: calc(100% + 28px + 28px);
  }
}

@media screen and (max-width: 640px) {
  .p-areaArticleAndBnr__titleWrapper--lined .p-areaArticleAndBnr__titleInner::before {
    width: calc(100% + 16px + 16px);
  }
}

@media screen and (min-width: 641px), print {
  .p-areaArticleAndBnr__title {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.5;
    padding: 0.1px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-areaArticleAndBnr__title {
    font-size: 28px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-areaArticleAndBnr__title {
    font-size: calc(28 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-areaArticleAndBnr__title:before, .p-areaArticleAndBnr__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-areaArticleAndBnr__title:before {
    margin-top: 0;
  }
  .p-areaArticleAndBnr__title:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-areaArticleAndBnr__title {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-areaArticleAndBnr__title:before, .p-areaArticleAndBnr__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-areaArticleAndBnr__title:before {
    margin-top: calc((1 - 1.5) * 0.5em);
  }
  .p-areaArticleAndBnr__title:after {
    margin-bottom: calc((1 - 1.5) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-areaArticleAndBnr__title {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.45455;
    padding: 0.1px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-areaArticleAndBnr__title {
    font-size: 22px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-areaArticleAndBnr__title {
    font-size: calc(22 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-areaArticleAndBnr__title:before, .p-areaArticleAndBnr__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-areaArticleAndBnr__title:before {
    margin-top: 0;
  }
  .p-areaArticleAndBnr__title:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-areaArticleAndBnr__title {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-areaArticleAndBnr__title:before, .p-areaArticleAndBnr__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-areaArticleAndBnr__title:before {
    margin-top: calc((1 - 1.45455) * 0.5em);
  }
  .p-areaArticleAndBnr__title:after {
    margin-bottom: calc((1 - 1.45455) * 0.5em);
  }
}

@media screen and (min-width: 641px), print {
  .p-areaArticleAndBnr__title--en {
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-weight: 400;
    font-family: kudryashev-d-contrast, sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-areaArticleAndBnr__title--en {
    font-size: 28px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-areaArticleAndBnr__title--en {
    font-size: calc(28 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-areaArticleAndBnr__title--en:before, .p-areaArticleAndBnr__title--en:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-areaArticleAndBnr__title--en:before {
    margin-top: 0;
  }
  .p-areaArticleAndBnr__title--en:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-areaArticleAndBnr__title--en {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-areaArticleAndBnr__title--en {
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-weight: 400;
    font-family: kudryashev-d-contrast, sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-areaArticleAndBnr__title--en {
    font-size: 22px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-areaArticleAndBnr__title--en {
    font-size: calc(22 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-areaArticleAndBnr__title--en:before, .p-areaArticleAndBnr__title--en:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-areaArticleAndBnr__title--en:before {
    margin-top: 0;
  }
  .p-areaArticleAndBnr__title--en:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-areaArticleAndBnr__title--en {
    letter-spacing: 0.01em !important;
  }
}

.p-areaArticleAndBnr__title--en::before, .p-areaArticleAndBnr__title--en::after {
  display: none;
}

.p-areaArticleAndBnr__subTitle {
  text-align: center;
}

@media screen and (min-width: 641px), print {
  .p-areaArticleAndBnr__subTitle {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.45455;
    padding: 0.1px;
    margin-bottom: 38px;
    /* 相殺を前提 */
    margin-top: 13px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-areaArticleAndBnr__subTitle {
    font-size: 22px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-areaArticleAndBnr__subTitle {
    font-size: calc(22 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-areaArticleAndBnr__subTitle:before, .p-areaArticleAndBnr__subTitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-areaArticleAndBnr__subTitle:before {
    margin-top: 0;
  }
  .p-areaArticleAndBnr__subTitle:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-areaArticleAndBnr__subTitle {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-areaArticleAndBnr__subTitle:before, .p-areaArticleAndBnr__subTitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-areaArticleAndBnr__subTitle:before {
    margin-top: calc((1 - 1.45455) * 0.5em);
  }
  .p-areaArticleAndBnr__subTitle:after {
    margin-bottom: calc((1 - 1.45455) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-areaArticleAndBnr__subTitle {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    margin-bottom: 28px;
    /* 相殺を前提 */
    margin-top: 16px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-areaArticleAndBnr__subTitle {
    font-size: 22px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-areaArticleAndBnr__subTitle {
    font-size: calc(22 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-areaArticleAndBnr__subTitle:before, .p-areaArticleAndBnr__subTitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-areaArticleAndBnr__subTitle:before {
    margin-top: 0;
  }
  .p-areaArticleAndBnr__subTitle:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-areaArticleAndBnr__subTitle {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-areaArticleAndBnr__subTitle--small {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-areaArticleAndBnr__subTitle--small {
    font-size: 16px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-areaArticleAndBnr__subTitle--small {
    font-size: calc(16 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-areaArticleAndBnr__subTitle--small:before, .p-areaArticleAndBnr__subTitle--small:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-areaArticleAndBnr__subTitle--small:before {
    margin-top: 0;
  }
  .p-areaArticleAndBnr__subTitle--small:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-areaArticleAndBnr__subTitle--small {
    letter-spacing: 0.01em !important;
  }
}

.p-areaArticleAndBnr__articleList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (min-width: 641px), print {
  .p-areaArticleAndBnr__articleList {
    width: 908px;
    margin: 0 auto;
  }
}

@media screen and (min-width: 641px), print {
  .p-areaArticleAndBnr__articleItem {
    width: 216px;
    white-space: nowrap;
  }
  .p-areaArticleAndBnr__articleItem:nth-of-type(n + 2):not(:nth-of-type(3n + 1)) {
    margin-left: 130px;
  }
  .p-areaArticleAndBnr__articleItem:nth-of-type(n + 4) {
    margin-top: 39px;
  }
}

@media screen and (max-width: 640px) {
  .p-areaArticleAndBnr__articleItem {
    width: 100%;
  }
  .p-areaArticleAndBnr__articleItem:nth-of-type(n + 2) {
    margin-top: 40px;
  }
  .p-areaArticleAndBnr__articleItem:nth-of-type(2n) .p-seibunArticle {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

@media screen and (min-width: 641px), print {
  .p-areaArticleAndBnr__articleListCaption {
    margin-top: 48px;
  }
}

@media screen and (max-width: 640px) {
  .p-areaArticleAndBnr__articleListCaption {
    margin-top: 40px;
  }
}

@media screen and (min-width: 641px), print {
  .p-areaArticleAndBnr__BnrArea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: 64px;
    padding-bottom: 64px;
    margin-top: 80px;
    margin-bottom: 80px;
  }
}

@media screen and (max-width: 640px) {
  .p-areaArticleAndBnr__BnrArea {
    padding-top: 40px;
    margin-top: 40px;
    margin-bottom: 64px;
  }
}

.p-areaArticleAndBnr__BnrThumb {
  position: relative;
}

@media screen and (min-width: 641px), print {
  .p-areaArticleAndBnr__BnrThumb {
    width: 50%;
  }
}

@media screen and (max-width: 640px) {
  .p-areaArticleAndBnr__BnrThumb {
    width: 100vw;
  }
}

.p-areaArticleAndBnr__BnrThumb::before {
  display: block;
  content: '';
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: -1;
  background-color: #fdf7f2;
}

@media screen and (min-width: 641px), print {
  .p-areaArticleAndBnr__BnrThumb::before {
    width: 50vw;
    height: calc(314px + (64px * 2));
  }
}

@media screen and (max-width: 640px) {
  .p-areaArticleAndBnr__BnrThumb::before {
    width: calc(290 / 375 * 100vw);
    height: calc((200 + (40 * 2)) / 375 * 100vw);
  }
}

.p-areaArticleAndBnr__BnrThumbInner {
  -webkit-box-shadow: 5.142px 6.128px 32px 0px rgba(6, 0, 1, 0.06);
          box-shadow: 5.142px 6.128px 32px 0px rgba(6, 0, 1, 0.06);
}

@media screen and (min-width: 641px), print {
  .p-areaArticleAndBnr__BnrThumbInner {
    width: 558px;
    height: 314px;
  }
}

@media screen and (max-width: 640px) {
  .p-areaArticleAndBnr__BnrThumbInner {
    width: calc(345 / 375 * 100vw);
    height: calc(200 / 375 * 100vw);
  }
}

.p-areaArticleAndBnr__BnrThumbInner > img {
  width: 100%;
}

@media screen and (min-width: 641px), print {
  .p-areaArticleAndBnr__BnrTextArea {
    width: 50%;
    white-space: nowrap;
  }
}

@media screen and (max-width: 640px) {
  .p-areaArticleAndBnr__BnrTextArea {
    margin-top: 80px;
  }
}

@media screen and (min-width: 641px), print {
  .p-bihakuSeibun {
    margin-top: 57px;
  }
}

@media screen and (max-width: 640px) {
  .p-bihakuSeibun {
    margin-top: 55px;
  }
}

.p-bihakuSeibun__title {
  text-align: center;
}

@media screen and (min-width: 641px), print {
  .p-bihakuSeibun__title {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.45455;
    padding: 0.1px;
    margin-bottom: 38px;
    /* 相殺を前提 */
    margin-top: 13px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-bihakuSeibun__title {
    font-size: 22px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-bihakuSeibun__title {
    font-size: calc(22 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-bihakuSeibun__title:before, .p-bihakuSeibun__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-bihakuSeibun__title:before {
    margin-top: 0;
  }
  .p-bihakuSeibun__title:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-bihakuSeibun__title {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-bihakuSeibun__title:before, .p-bihakuSeibun__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-bihakuSeibun__title:before {
    margin-top: calc((1 - 1.45455) * 0.5em);
  }
  .p-bihakuSeibun__title:after {
    margin-bottom: calc((1 - 1.45455) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-bihakuSeibun__title {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    margin-bottom: 28px;
    /* 相殺を前提 */
    margin-top: 16px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-bihakuSeibun__title {
    font-size: 22px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-bihakuSeibun__title {
    font-size: calc(22 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-bihakuSeibun__title:before, .p-bihakuSeibun__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-bihakuSeibun__title:before {
    margin-top: 0;
  }
  .p-bihakuSeibun__title:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-bihakuSeibun__title {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-bihakuSeibun__itemList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.p-bihakuSeibun__item {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (min-width: 641px), print {
  .p-bihakuSeibun__item {
    padding-top: 32px;
    width: calc((306 / 1130) * 100%);
    /* width: calc((100% - 49px) / 2); */
  }
  .p-bihakuSeibun__item--wide {
    width: calc((420 / 1130) * 100%);
  }
}

@media screen and (max-width: 640px) {
  .p-bihakuSeibun__item {
    padding-top: 24px;
  }
}

.p-bihakuSeibun__item::before {
  display: block;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #b5b9bd;
}

@media screen and (max-width: 640px) {
  .p-bihakuSeibun__item + .p-bihakuSeibun__item {
    margin-top: 40px;
  }
}

.p-bihakuSeibun__itemTitleWrapper {
  display: inline-block;
  position: relative;
  padding-left: 31px;
  margin-bottom: 24px;
}

.p-bihakuSeibun__itemTitleWrapper::before {
  content: '\025ce';
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  font-size: 18px;
}

@media screen and (min-width: 641px), print {
  .p-bihakuSeibun__itemTitle {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    letter-spacing: 0.02em;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-bihakuSeibun__itemTitle {
    font-size: 18px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-bihakuSeibun__itemTitle {
    font-size: calc(18 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-bihakuSeibun__itemTitle:before, .p-bihakuSeibun__itemTitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-bihakuSeibun__itemTitle:before {
    margin-top: 0;
  }
  .p-bihakuSeibun__itemTitle:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-bihakuSeibun__itemTitle {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-bihakuSeibun__itemTitle {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.5;
    padding: 0.1px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-bihakuSeibun__itemTitle {
    font-size: 16px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-bihakuSeibun__itemTitle {
    font-size: calc(16 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-bihakuSeibun__itemTitle:before, .p-bihakuSeibun__itemTitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-bihakuSeibun__itemTitle:before {
    margin-top: 0;
  }
  .p-bihakuSeibun__itemTitle:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-bihakuSeibun__itemTitle {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-bihakuSeibun__itemTitle:before, .p-bihakuSeibun__itemTitle:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-bihakuSeibun__itemTitle:before {
    margin-top: calc((1 - 1.5) * 0.5em);
  }
  .p-bihakuSeibun__itemTitle:after {
    margin-bottom: calc((1 - 1.5) * 0.5em);
  }
}

@media screen and (min-width: 641px), print {
  .p-bihakuSeibun__itemTitle--en {
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: optima, "Tenor Sans";
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-bihakuSeibun__itemTitle--en {
    font-size: 18px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-bihakuSeibun__itemTitle--en {
    font-size: calc(18 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-bihakuSeibun__itemTitle--en:before, .p-bihakuSeibun__itemTitle--en:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-bihakuSeibun__itemTitle--en:before {
    margin-top: 0;
  }
  .p-bihakuSeibun__itemTitle--en:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-bihakuSeibun__itemTitle--en {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-bihakuSeibun__itemTitle--en {
    letter-spacing: 0.04em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: optima, "Tenor Sans";
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-bihakuSeibun__itemTitle--en {
    font-size: 16px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-bihakuSeibun__itemTitle--en {
    font-size: calc(16 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-bihakuSeibun__itemTitle--en:before, .p-bihakuSeibun__itemTitle--en:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-bihakuSeibun__itemTitle--en:before {
    margin-top: 0;
  }
  .p-bihakuSeibun__itemTitle--en:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-bihakuSeibun__itemTitle--en {
    letter-spacing: 0.01em !important;
  }
}

.p-bihakuSeibun__itemTitle--en::before, .p-bihakuSeibun__itemTitle--en::after {
  display: none;
}

.p-bihakuSeibun__itemSubtitle {
  letter-spacing: 0.08em;
  /* fontWeightは指定がなければ値を設定しない */
  font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  /* 基本的に1行のものはline-heightを指定しなくて済むように */
  line-height: 1;
  padding: 0.1px;
  -webkit-font-feature-settings: 'pwid';
          font-feature-settings: 'pwid';
  /* letterspacingがどうしてもつまらないので */
  color: #dbc0aa;
}

@media screen and (min-width: 641px), print {
  .p-bihakuSeibun__itemSubtitle {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) {
  .p-bihakuSeibun__itemSubtitle {
    font-size: calc(14 / 375 * 100vw);
  }
}

.p-bihakuSeibun__itemSubtitle:before, .p-bihakuSeibun__itemSubtitle:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.p-bihakuSeibun__itemSubtitle:before {
  margin-top: 0;
}

.p-bihakuSeibun__itemSubtitle:after {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .p-bihakuSeibun__itemSubtitle {
    letter-spacing: 0.01em !important;
  }
}

.p-bihakuSeibun__tagArea {
  margin-top: 16px;
}

/* } */
@media screen and (min-width: 641px), print {
  .p-suhadaNextpage {
    margin-top: 120px;
  }
}

@media screen and (max-width: 640px) {
  .p-suhadaNextpage {
    margin-top: 136px;
  }
}

.p-suhadaNextpage__content {
  position: relative;
  width: 100%;
  color: #ffffff;
}

.p-suhadaNextpage__imageArea {
  position: absolute;
  z-index: 1;
}

@media screen and (min-width: 641px), print {
  .p-suhadaNextpage__imageArea {
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 558px;
    height: 408px;
  }
}

@media screen and (max-width: 640px) {
  .p-suhadaNextpage__imageArea {
    left: 50%;
    top: calc(56 / 375 * -100%);
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: calc(260 / 375 * 100vw);
    height: calc(190 / 375 * 100vw);
  }
}

.p-suhadaNextpage__imageArea img {
  width: 100%;
}

.p-suhadaNextpage__textArea {
  position: relative;
  background-color: #001a4e;
}

@media screen and (min-width: 641px), print {
  .p-suhadaNextpage__textArea {
    width: 672px;
    height: 536px;
  }
}

@media screen and (max-width: 640px) {
  .p-suhadaNextpage__textArea {
    width: 100%;
    padding-top: calc(176 / 375 * 100vw);
    padding-bottom: calc(40 / 375 * 100vw);
  }
}

.p-suhadaNextpage__textAreaSide {
  position: absolute;
  left: 0;
}

@media screen and (min-width: 641px), print {
  .p-suhadaNextpage__textAreaSide {
    top: 0;
    width: 27px;
    height: auto;
  }
}

@media screen and (max-width: 640px) {
  .p-suhadaNextpage__textAreaSide {
    bottom: 0;
    width: calc(21 / 375 * 100vw);
    height: auto;
  }
}

.p-suhadaNextpage__textAreaSide img {
  width: 100%;
}

@media screen and (min-width: 641px), print {
  .p-suhadaNextpage__textAreaInner {
    position: absolute;
    top: 130px;
    left: 118px;
  }
}

@media screen and (max-width: 640px) {
  .p-suhadaNextpage__textAreaInner {
    width: 100%;
  }
}

.p-suhadaNextpage__label {
  font-family: optima, "Tenor Sans";
  font-style: italic;
  color: #7d98ba;
}

@media screen and (min-width: 641px), print {
  .p-suhadaNextpage__label {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    margin-bottom: 30px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-suhadaNextpage__label {
    font-size: 18px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-suhadaNextpage__label {
    font-size: calc(18 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-suhadaNextpage__label:before, .p-suhadaNextpage__label:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-suhadaNextpage__label:before {
    margin-top: 0;
  }
  .p-suhadaNextpage__label:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-suhadaNextpage__label {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-suhadaNextpage__label {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    text-align: center;
    margin-bottom: 22px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-suhadaNextpage__label {
    font-size: 16px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-suhadaNextpage__label {
    font-size: calc(16 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-suhadaNextpage__label:before, .p-suhadaNextpage__label:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-suhadaNextpage__label:before {
    margin-top: 0;
  }
  .p-suhadaNextpage__label:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-suhadaNextpage__label {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-suhadaNextpage__title {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.42857;
    padding: 0.1px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-suhadaNextpage__title {
    font-size: 28px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-suhadaNextpage__title {
    font-size: calc(28 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-suhadaNextpage__title:before, .p-suhadaNextpage__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-suhadaNextpage__title:before {
    margin-top: 0;
  }
  .p-suhadaNextpage__title:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-suhadaNextpage__title {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-suhadaNextpage__title:before, .p-suhadaNextpage__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-suhadaNextpage__title:before {
    margin-top: calc((1 - 1.42857) * 0.5em);
  }
  .p-suhadaNextpage__title:after {
    margin-bottom: calc((1 - 1.42857) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-suhadaNextpage__title {
    text-align: center;
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.45455;
    padding: 0.1px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-suhadaNextpage__title {
    font-size: 22px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-suhadaNextpage__title {
    font-size: calc(22 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-suhadaNextpage__title:before, .p-suhadaNextpage__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-suhadaNextpage__title:before {
    margin-top: 0;
  }
  .p-suhadaNextpage__title:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-suhadaNextpage__title {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-suhadaNextpage__title:before, .p-suhadaNextpage__title:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-suhadaNextpage__title:before {
    margin-top: calc((1 - 1.45455) * 0.5em);
  }
  .p-suhadaNextpage__title:after {
    margin-bottom: calc((1 - 1.45455) * 0.5em);
  }
}

@media screen and (min-width: 641px), print {
  .p-suhadaNextpage__text {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.75;
    padding: 0.1px;
    margin-top: 40px;
    margin-bottom: 100px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-suhadaNextpage__text {
    font-size: 16px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-suhadaNextpage__text {
    font-size: calc(16 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-suhadaNextpage__text:before, .p-suhadaNextpage__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-suhadaNextpage__text:before {
    margin-top: 0;
  }
  .p-suhadaNextpage__text:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-suhadaNextpage__text {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (min-width: 641px), print {
  .p-suhadaNextpage__text:before, .p-suhadaNextpage__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-suhadaNextpage__text:before {
    margin-top: calc((1 - 1.75) * 0.5em);
  }
  .p-suhadaNextpage__text:after {
    margin-bottom: calc((1 - 1.75) * 0.5em);
  }
}

@media screen and (max-width: 640px) {
  .p-suhadaNextpage__text {
    text-align: center;
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanMP, "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    line-height: 1.71429;
    padding: 0.1px;
    margin-top: 30px;
    margin-bottom: 28px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-suhadaNextpage__text {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-suhadaNextpage__text {
    font-size: calc(14 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-suhadaNextpage__text:before, .p-suhadaNextpage__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-suhadaNextpage__text:before {
    margin-top: 0;
  }
  .p-suhadaNextpage__text:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-suhadaNextpage__text {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-suhadaNextpage__text:before, .p-suhadaNextpage__text:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-suhadaNextpage__text:before {
    margin-top: calc((1 - 1.71429) * 0.5em);
  }
  .p-suhadaNextpage__text:after {
    margin-bottom: calc((1 - 1.71429) * 0.5em);
  }
}

.p-suhadaNextpage__btnArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (min-width: 641px), print {
  .p-suhadaNextpage__btnArea {
    margin-left: 90px;
  }
}

@media screen and (max-width: 640px) {
  .p-suhadaNextpage__btnArea {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media screen and (min-width: 641px), print {
  .p-suhadaNextpage__btnText {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    margin-right: 24px;
  }
}

@media screen and (min-width: 641px) and (min-width: 641px), print {
  .p-suhadaNextpage__btnText {
    font-size: 16px;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-suhadaNextpage__btnText {
    font-size: calc(16 / 375 * 100vw);
  }
}

@media screen and (min-width: 641px), print {
  .p-suhadaNextpage__btnText:before, .p-suhadaNextpage__btnText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-suhadaNextpage__btnText:before {
    margin-top: 0;
  }
  .p-suhadaNextpage__btnText:after {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 640px) {
  .p-suhadaNextpage__btnText {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .p-suhadaNextpage__btnText {
    letter-spacing: 0.08em;
    /* fontWeightは指定がなければ値を設定しない */
    font-family: YakuHanJP, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    /* 基本的に1行のものはline-heightを指定しなくて済むように */
    line-height: 1;
    padding: 0.1px;
    -webkit-font-feature-settings: 'pwid';
            font-feature-settings: 'pwid';
    /* letterspacingがどうしてもつまらないので */
    margin-right: 13px;
  }
}

@media screen and (max-width: 640px) and (min-width: 641px) {
  .p-suhadaNextpage__btnText {
    font-size: 13px;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-suhadaNextpage__btnText {
    font-size: calc(13 / 375 * 100vw);
  }
}

@media screen and (max-width: 640px) {
  .p-suhadaNextpage__btnText:before, .p-suhadaNextpage__btnText:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
  .p-suhadaNextpage__btnText:before {
    margin-top: 0;
  }
  .p-suhadaNextpage__btnText:after {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .p-suhadaNextpage__btnText {
    letter-spacing: 0.01em !important;
  }
}

@media screen and (max-width: 640px) {
  .u-only-pc {
    display: none !important;
  }
}

@media screen and (min-width: 641px), print {
  .u-only-sp {
    display: none !important;
  }
}

body.touch .u-only-desktop {
  display: none !important;
}

body:not(.touch) .u-only-touch {
  display: none !important;
}

.u-bg-lightGray {
  background: #f2f2f2;
}

.u-fw-normal {
  font-weight: normal;
}

.u-fw-bold {
  font-weight: bold;
}

.u-copy-protection {
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.u-fadeup {
  opacity: 0;
  -webkit-transition: opacity cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform cubic-bezier(0.4, 0, 0.2, 1);
  transition: opacity cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform cubic-bezier(0.4, 0, 0.2, 1);
  transition: opacity cubic-bezier(0.4, 0, 0.2, 1), transform cubic-bezier(0.4, 0, 0.2, 1);
  transition: opacity cubic-bezier(0.4, 0, 0.2, 1), transform cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform cubic-bezier(0.4, 0, 0.2, 1);
}

@media screen and (min-width: 641px), print {
  .u-fadeup {
    -webkit-transform: translate3d(0, 20px, 0);
            transform: translate3d(0, 20px, 0);
  }
}

@media screen and (max-width: 640px) {
  .u-fadeup {
    -webkit-transform: translate3d(0, 10px, 0);
            transform: translate3d(0, 10px, 0);
  }
}

.u-fadeup.is-start {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.u-fadein {
  opacity: 0;
  -webkit-transition: opacity cubic-bezier(0.4, 0, 0.2, 1);
  transition: opacity cubic-bezier(0.4, 0, 0.2, 1);
}

.u-fadein.is-start {
  opacity: 1;
}

.u-slidein {
  opacity: 0;
  -webkit-transform: translateX(30px);
          transform: translateX(30px);
  -webkit-transition: cubic-bezier(0.4, 0, 0.2, 1);
  transition: cubic-bezier(0.4, 0, 0.2, 1);
}

.u-slidein.is-start {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.u-fadeup,
.u-fadein,
.u-slidein {
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
}

.u-fadeup--slow,
.u-fadein--slow,
.u-slidein--slow {
  -webkit-transition-duration: 1750ms;
          transition-duration: 1750ms;
}

.u-fadeup--long,
.u-fadein--long,
.u-slidein--long {
  -webkit-transition-duration: 2500ms;
          transition-duration: 2500ms;
}

.u-fadeup--fast,
.u-fadein--fast,
.u-slidein--fast {
  -webkit-transition-duration: 750ms;
          transition-duration: 750ms;
}

/*# sourceMappingURL=al-app.css.map */
