@charset "UTF-8";
@import url("https://use.typekit.net/ikk7lge.css");

.fs-l-page {
  position: relative;
}

.is-mobile .drawer__category--pc,
.is-desktop .drawer__category--sp {
  display: none;
}

/*-------------
  header
---------------*/
.header__common {
  position: sticky;
  top: 0;
  z-index: 100;
  height: calc(80 / 375 * 100vw);
}

.header__inner {
  padding: calc(15 / 375 * 100vw) calc(8 / 375 * 100vw) 0 calc(18 / 375 * 100vw);
  display: flex;
  align-items: flex-start;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
  height: 100%;
}

.header__logo {
  width: calc(72 / 375 * 100vw);
}

.header__logo svg {
  width: calc(72 / 375 * 100vw);
  height: calc(49 / 375 * 100vw);
  vertical-align: middle;
}

.header__btn {
  display: flex;
  align-items: center;
  margin-left: auto;
  margin-top: calc(5 / 375 * 100vw);
}

.header__btn li {
  margin: 0 calc(10 / 375 * 100vw);
  position: relative;
}

.header__icon {
  width: calc(26 / 375 * 100vw);
  height: calc(23 / 375 * 100vw);
}

.fs-l-page {
  padding: 0;
}

#drawer {
  position: fixed;
  top: 0;
  right: 100%;
  width: 100%;
  height: 100vh;
  background: #F6F5F4;
  overflow: hidden;
  transition: transform 500ms ease-in-out;
  height: calc(var(--vh, 1vh) * 100);
}

#drawer.drawer__open {
  transform: translate3d(100%, 0, 0);
}

.drawer__inner {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transition: margin-left 400ms ease;
}

.drawer__inner.hide {
  margin-left: -100vw;
}

.drawer__head {
  position: sticky;
  padding: calc(20 / 375 * 100vw) calc(20 / 375 * 100vw) calc(28 / 375 * 100vw);
  overflow: hidden;
}

.drawer__close {
  padding: calc(20 / 375 * 100vw);
  position: absolute;
  top: 0;
  right: 0;
}

.drawer__close img {
  width: calc(14 / 375 * 100vw);
}

#drawer__guest.my-true,
#drawer__member.my-false {
  display: none;
}

.drawer__account {
  font-size: calc(12 / 375 * 100vw);
  display: flex;
  align-items: center;
  margin-bottom: calc(30 / 375 * 100vw);
}

.drawer__account li + li {
  border-left: 1px solid #000;
}

.drawer__account a,
.drawer__account span {
  display: block;
  padding: calc(2 / 375 * 100vw) calc(15 / 375 * 100vw) calc(2 / 375 * 100vw) calc(15 / 375 * 100vw);
}

.drawer__account li:first-child a,
.drawer__account li:first-child span {
  padding-left: 0;
}

.drawer__tool {
  display: flex;
}

.drawer__tool li + li {
  margin-left: calc(10 / 375 * 100vw);
}

.drawer__tool a {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fff;
  text-align: center;
  width: calc(80 / 375 * 100vw);
  height: calc(80 / 375 * 100vw);
  padding-top: calc(20 / 375 * 100vw);
}

.drawer__tool svg {
  width: calc(28 / 375 * 100vw);
  height: calc(25 / 375 * 100vw);
}

.drawer__tool__cart {
  position: relative;
  display: inline-flex;
  transform: translateX(calc(-3 / 375 * 100vw));
}

.fs-client-cart-count {
  position: absolute;
  top: calc(-1 / 375 * 100vw);
  right: calc(-2 / 375 * 100vw);
  width: calc(12 / 375 * 100vw);
  height: calc(12 / 375 * 100vw);
  border-radius: calc(6 / 375 * 100vw);
  background-color: #5A94A9;
  color: #fff;
  overflow: hidden;
  font-size: calc(9 / 375 * 100vw);
  line-height: calc(12 / 375 * 100vw);
  text-align: center;
  font-family: gill-sans-nova;
}

.drawer__tool strong {
  font-weight: 400;
  margin-top: calc(10 / 375 * 100vw);
  font-size: calc(10 / 375 * 100vw);
}

.drawer__menu  {
  overflow: auto;
}

.drawer__menu__title {
  font-size: calc(16 / 375 * 100vw);
  font-family: gill-sans-nova;
  letter-spacing: .2em;
  font-weight: 500;
  padding: 0 0 calc(10 / 375 * 100vw) calc(20 / 375 * 100vw);
  line-height: 1;
}

.drawer__menu__title:not(:first-child) {
  margin-top: calc(34 / 375 * 100vw);
}

.drawer__menu__list {
  border-top: 1px solid #ccc;
  background-color: #fff;
  font-size: calc(12 / 375 * 100vw);
}

.drawer__menu__list li {
  border-bottom: 1px solid #ccc;
}

.drawer__menu__list a {
  display: block;
  position: relative;
  padding: calc(17 / 375 * 100vw) calc(40 / 375 * 100vw) calc(17 / 375 * 100vw) calc(20 / 375 * 100vw);
}

.drawer__menu__list a[data-subnav]:after {
  content: "";
  width: calc(6 / 375 * 100vw);
  height: calc(6 / 375 * 100vw);
  border-top: 1px solid #5A94A9;
  border-right: 1px solid #5A94A9;
  position: absolute;
  right: calc(18 / 375 * 100vw);
  top: 50%;
  transform: rotate(45deg);
  transform-origin: center top;
  margin-top: calc(-3 / 375 * 100vw);
}

.drawer__menu__list img {
  width: calc(27 / 375 * 100vw);
  height: calc(27 / 375 * 100vw);
  display: inline-block;
  vertical-align: middle;
  margin-right: calc(20 / 375 * 100vw);
}

.drawer__inner--top .drawer__head {
  height: calc(181 / 375 * 100vw);
}

.drawer__inner--top .drawer__menu {
  height: calc(100% - calc(181 / 375 * 100vw));
}

.drawer__category--sp .drawer__subnav__inner {
  position: absolute;
  z-index: 1;
  left: 100%;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #F6F5F4;
  transition: 400ms ease;
}

.drawer__category--sp .drawer__subnav__inner.show {
  left: 0;
}

.drawer__category--sp .drawer__subnav__inner.hide {
  margin-left: -100vw;
}

.drawer__return {
  width: calc(60 / 375 * 100vw);
}

.drawer__subnav__inner .drawer__head {
  height: calc(110 / 375 * 100vw);
}

.drawer__subnav__inner .drawer__menu {
  height: calc(100% - calc(110 / 375 * 100vw));
}


/*-------------
  footer
---------------*/
#footer__common {
  background-color: #EFEDEC;
  margin-top: calc(120 / 375 * 100vw);
}

.footer__inner {
  padding: calc(35 / 375 * 100vw) 0 calc(15 / 375 * 100vw) calc(18 / 375 * 100vw);
}

.footer__copy {
  text-align: center;
  font-size: calc(12 / 375 * 100vw);
  font-family: gill-sans-nova;
  letter-spacing: .2em;
}

.footer__menu {
  margin-bottom: calc(24 / 375 * 100vw);
}

.footer__menu a {
  display: flex;
  align-items: center;
  padding: calc(12 / 375 * 100vw) 0;
}

.footer__menu__icon {
  width: calc(20 / 375 * 100vw);
}

.footer__menu__icon svg {
  width: calc(20 / 375 * 100vw);
  height: calc(16 / 375 * 100vw);
  vertical-align: middle;
}

.footer__menu strong {
  font-weight: 400;
  font-size: calc(14 / 375 * 100vw);
  margin-left: calc(18 / 375 * 100vw);
  line-height: 1;
}

.footer__sub {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: calc(32 / 375 * 100vw);
}

.footer__sub li {
  font-size: calc(14 / 375 * 100vw);
  font-feature-settings: "palt";
}

.footer__sub li:nth-child(odd) {
  width: 46%;
}

.footer__sub li:nth-child(even) {
  width: 54%;
}

.footer__sub li.footer__sub-en {
  font-size: calc(16 / 375 * 100vw);
  font-family: gill-sans-nova;
  letter-spacing: .2em;
}

.footer__sub a {
  display: block;
  padding: calc(8 / 375 * 100vw) 0;
}

.footer__sns {
  display: flex;
  justify-content: center;
  margin-bottom: calc(30 / 375 * 100vw);
}

.footer__sns a {
  padding: calc(15 / 375 * 100vw);
  display: block;
}

.footer__sns img {
  width: calc(24 / 375 * 100vw);
}

.top__btn__csalon {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 1;
  display: none;
}

.top__btn__csalon a {
  display: block;
}

.top__btn__csalon img {
  width: calc(98 / 375 * 100vw);
}


/*-------------
  SEARCH
---------------*/
.size__result {
  display: inline-block;
  font-weight: 600;
  font-size: 1.2rem;
}


/*-------------
  MY PAGE
---------------*/
.mypage__logout {
  text-align: right;
}
.mypage__logout a {
  text-underline-offset: 3px;
  text-decoration: underline !important;
  color: #5A94A9 !important;
  display: inline-block;
  padding: 15px 12px;
  font-size: 11px;
}
.edit__carte .pageTitle span,
.edit__carte .pageTitle strong,
.register__carte .pageTitle span,
.register__carte .pageTitle strong {
  display: block;
  font-weight: 400;
}
.edit__carte .pageTitle span,
.register__carte .pageTitle span {
  font-family: eb-garamond;
  font-size: calc(26 / 375 * 100vw);
  letter-spacing: .05em;
  line-height: 1.2;
}
.edit__carte .pageTitle strong,
.register__carte .pageTitle strong {
  font-size: calc(10 / 375 * 100vw);
}
#fs_EditAccountSettings.edit__carte .fs-c-inputInformation__message,
#fs_EditAccountSettings.edit__carte .fs-c-inputTable tbody tr:nth-of-type(-n + 18),
.edit__carte .btn_delete-account,
.mycarte__endBox,
#fs_MyAccountSettings.edit__carte .fs-c-inputInformation {
  display: none;
}
.fs-body-my-account-settings-edit.is-mobile .fs-c-inputInformation__button .fs-c-button__label {
  font-size: 0;
}
.fs-body-my-account-settings-edit.is-mobile .fs-c-inputInformation__button .fs-c-button__label::before {
  content: "変更";
  font-size: 10px;
}
.edit__carte.fs-body-my-account-settings-edit .fs-c-inputInformation__button .fs-c-button__label::before {
  content: "診断結果を会員情報に保存する";
  font-size: 1.2rem;
}
.edit__carte .fs-c-button--confirmChange {
  background: #595A62;
  border-radius: 3px;
  width: 240px;
  line-height: 45px;
  letter-spacing: .05em;
  padding: 0;
}
#fs_MyAccountSettings.edit__carte .mycarte__endBox {
  display: block;
}
.mycarte__endBox .carte__main {
  height: calc(252 / 375 * 100vw);
  background: url(https://chut.itembox.design/item/images/chart/carte2.png) no-repeat center top / auto calc(252 / 375 * 100vw);
  margin: 0 auto calc(50 / 375 * 100vw);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
.mycarte__endBox .carte__head {
  font-size: calc(26 / 375 * 100vw);
  font-weight: 400;
  margin-bottom: calc(20 / 375 * 100vw);
  line-height: 1.2;
  color: #5A94A9;
}
.mycarte__endBox .carte__text {
  font-size: calc(16 / 375 * 100vw);
  line-height: 2;
}
.mycarte__app__title {
  text-align: center;
  font-size: calc(12/ 375 * 100vw);
  margin-bottom: calc(20 / 375 * 100vw);
}
.mycarte__app {
  display: flex;
  justify-content: center;
}
.mycarte__app li {
  width: calc(135/ 375 * 100vw);
  margin: 0 calc(10/ 375 * 100vw);
}
.edit__carte__title {
  text-align: center !important;
}
.edit__carte__title strong {
  font-size: 1.4rem;
  display: block;
}
.edit__carte__title span {
  font-size: 1.2rem;
  display: block;
  margin-top: 3px;
  margin-bottom: 15px;
  font-weight: 400;
}
.edit__carte__title a {
  text-decoration: underline !important;
}
#fs_EditAccountSettings.is-mobile .fs-c-dropdown {
  width: 100%;
}
.edit__carte .edit__carte__title {
  display: none;
}
.edit__carte .fs-c-inputInformation__field {
  background-color: #EFEDEC;
}
#fs_input_additionalItemadditional6,
#fs_input_additionalItemadditional7,
#fs_input_additionalItemadditional8 {
  pointer-events: none;
  background-color: #F7F7F7 !important;
  border: none !important;
}
#fs_EditAccountSettings.is-mobile #fs_input_additionalItemadditional6,
#fs_EditAccountSettings.is-mobile #fs_input_additionalItemadditional7,
#fs_EditAccountSettings.is-mobile #fs_input_additionalItemadditional8 {
  font-size: 1.2rem !important;
}
.edit__carte.is-mobile .fs-c-inputTable {
  width: 100%;
}
.edit__carte .fs-c-buttonContainer--myPageTop {
  display: none;
}
.btn__Gobackone {
  font-size: 1.2rem;
  text-align: center;
  min-width: 200px;
  padding: 12px;
  width: fit-content;
  margin: 30px auto 0;
  border-radius: 3px;
  border: 1px solid;
  text-decoration: none;
  letter-spacing: .05em;
  color: #000;
  border-color: #ccc;
  background-color: #fff;
  display: none;
}
.edit__carte .btn__Gobackone {
  display: block;
}


/*-------------
  新規会員登録画面
---------------*/
#fs_Register .fs-c-inputTable > tbody > tr:nth-of-type(n + 17) {
  display: none;
}
.register__carte .btn_pageback {
  display: none;
}
.register__carte .fs-c-inputInformation__field {
  background-color: #EFEDEC;
}
.register__carte .fs-c-button--sendVerificationCode {
  line-height: 1.5;
  background-color: #595A62;
  color: #fff;
  border: none;
  border-radius: 3px;
  padding: 12px 0;
  width: 240px;
}
.register__carte .fs-c-button--sendVerificationCode span {
  color: #fff;
}
#fs_Register .fs-c-inputInformation__buttonMessage {
  text-align: center;
  margin-top: 30px;
}
.register__carte .btn__Gobackone {
  display: block;
}
#fs_RegisterSuccess.register__carte .mycarte__endBox {
  margin-bottom: 30px;
}
