﻿@charset "UTF-8";


/* =============================================================

  Common.css

============================================================= */


/*  Var
======================================================= */

:root {
 /*===================== colors */
 --color-basic: #000;
 --color-primary: #053931;
 --color-secondary: #212121;
 --color-tertiary: #6E6E6E;
 --color-highlight: #EBFE9A;
 /*===================== fonts */
 --font-base:  pragmatica, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN,HiraKakuProN-W3, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;
 --font-en: pragmatica, sans-serif;

  --color-summer-citrus: #f88329;
  --text-color-default: #212121;
}

/*  Responsive Setting
======================================================= */

@media (max-width: 768px) {
  .pc_only {display: none !important;}

}

@media (min-width: 769px) {
  .sp_only {display: none !important;}
}


/*  Animation Setting
======================================================= */

@keyframes menu_fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}


/* =============================================================

　　　　　　　　　　　　HEADER COMMON SETTING

============================================================= */

#header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: auto;
  font-size: 1.5rem;
  background: #fff !important;
}

#header.scroll, #header.top.scroll {
  box-shadow: 3px 2px 7px 0px rgba(0,0,0,0.06);
}

.header_inner,
.header_inner a {
  color: var(--color-basic);
}

.header_inner input[type="text"],
.header_inner input[type="email"],
.header_inner input[type="tel"],
.header_inner input[type="url"],
.header_inner input[type="password"],
.header_inner select,
.header_inner textarea {color: var(--color-primary);}

.header_inner img {
  width: auto;
}

#header.top,
#header.sp_open {
  box-shadow: none;
  border-bottom-color: transparent;
}

#header.scroll {
  position: fixed;
  top: -8rem;
  right: 0;
  left: 0;
  z-index: 999;
  animation: hdrfx .3s ease 0s 1 forwards;
}

@keyframes hdrfx {
  100% {
    top: 0;
  }
}


#header,
#header:before,
#header:after,
#header *,
#header *:before,
#header *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.header_inner {
  margin: 0 auto;
  letter-spacing: .05em;
}

.header_inner,
.header_inner a,
.header_inner p,
.header_inner h1,
.header_inner h2,
.header_inner h3,
.header_inner h4,
.header_inner h5,
.header_inner span,
.header_inner pre,
.header_inner dt,
.header_inner dd {
  color: var(--color-secondary);
}

.header_inner,
.header_nav,
.header_nav_list,
.header_utiliry {
  display: flex;
  align-content: center;
  align-items: center;
  justify-content: center;
}

.header_inner>div:last-of-type{
  margin-left: auto;
}
.header_inner a:hover {
  opacity: .5;
}


/* Info
---------------------------------- */

#header_info {
  background: #e22c2c;
}

#header_info p,
#header_info a {
  color: #fff;
}

#header_info .header_inner {
  padding: 1rem 0;
  text-align: center;
}

/* Logo
---------------------------------- */

.header_logo {
  float: none;
  margin: 0;
  padding: 0;
}

.header_logo img {
  width: 100%;
  max-width: 100%;
  vertical-align: -1rem;
  transform: scale(1, 1.01);
  margin-top: .1rem;
}

/* Header Navi
---------------------------------- */

.header_nav_list {
  font-weight: normal;
  line-height: 1.5;
}

.header_nav_list li {
  width: auto;
  cursor: pointer;
  text-align: center;
}

.header_nav_list .menu_ttl {
  text-align: center;
}

.menu_contents {
  position: relative;
  z-index: 0;
  padding-top: 2rem;
}

/* Search Modal
---------------------------------- */

.search_modal__btn {
  position: relative;
  z-index: 99999;
  transition: opacity .2s ease-in-out;
  cursor: pointer;
}

.search_modal__btn:hover {
  opacity: .6;
}

.search_modal {
  display: none;
  opacity: 0;
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999999;
  height: auto;
  background: rgba(255, 255, 255, 0.6);
}

@keyframes menu_fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;

  display: none;
  }
}

.search_modal.is-active {
  display: block;
  animation: menu_fadein .25s ease 0s 1 forwards;
}

.search_modal,
.search_modal p,
.search_modal a {
  color: var(--color-primary);
}

.search_modal__inner {
  position: relative;
  background: #fff;
  border-top: 1px solid #f2f2f2;
  text-align: center;
}

.search_modal__inner .inner {
  margin: 0 auto;
}

/* ---- Search Box ---- */

.search_modal .search_box {
  position: relative;
  margin: 0 auto;
}

.search_modal .search_box input {
  outline: none;
  width: 100%;
  border-bottom: 1px solid var(--color-primary);
  background-color: transparent;
  box-shadow: none;
  border-radius: 0;
}

.search_modal .search_box .icn_search {
  position: absolute;
}

.search_modal .search_box .icn_search {
  display: inline-block;
  width: 2.6rem !important;
  height: 2.6rem;
  background: url(../img/common/icn_search.svg) no-repeat;
  background-size: 100%;
}

.search_modal .search_box .icn_search img {
  display: none;
  max-width: 96%;
}

/* -- Placeholder Color -- */

.search_modal .search_box input:placeholder-shown {
  color: #9bb0ad;
}

.search_modal .search_box input::-webkit-input-placeholder {
  color: #9bb0ad;
}

.search_modal .search_box input:-moz-placeholder {
  color: #9bb0ad;
}

.search_modal .search_box input::-moz-placeholder {
  color: #9bb0ad;
}

.search_modal .search_box input:-ms-input-placeholder {
  color: #9bb0ad;
}


/* ------ Header Keywords ------ */

.header_keywords {
}

.header_keywords dt {
  display: block;
  font-weight: 400;
  text-align: center;
}

.header_keywords dd {
  display: block;
  text-align: center;
}

.header_keywords ul {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
}

.header_keywords li {
}

.header_keywords a {
  display: block;
  border: 1px solid #707070;
  border-radius: 20rem;
  color: var(--color-primary);
  text-align: center;
}

.header_keywords a:hover {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
  color: #fff;
}

/* ------ Modal Close Button ------ */

.search_modal__close {
  position: absolute;
  background: url(../img/common/icn_close.svg) no-repeat 0 0;
  cursor: pointer;
  transition: opacity .3s ease-in-out;
}

.search_modal__close:hover {
  opacity: .6;
}

.header_nav .menu_contents,
.header_nav .menu_contents a {
  color: var(--color-primary);
  font-weight: normal;
}

.header_nav .menu_contents a:hover {
  opacity: .6;
  color: inherit;
}


/* Header Category
---------------------------------- */

.header_nav .cate_list {
  display: flex;
  justify-content: space-between;
}

.header_nav .cate_list dt {
  margin: 0 0 .85rem;
  font-size: 1.6rem;
}

.header_nav .cate_list dt a {
  display: block;
  width: 100%;
  font-weight: 600;
}
.header_nav .cate_list dl {
  padding: .5rem 0;
}

.header_nav .cate_list dd {
  font-size: 1.25rem;
  text-align: left;
}

.header_nav .cate_list .chaild_cate_list li {
  padding: 0 0 .6rem 0;
  text-align: left;
}

.header_nav .cate_list > li {
  padding: 0;
}


/* Header Brand
---------------------------------- */
/* 確認用
.nav__brand .menu_contents {
  height: auto;
  z-index: 9999;
  opacity: 1;
  visibility: visible;
}
*/

.menu_contents__brand {
  display: flex;
}

.nav__brand .menu_brand__tab {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
  width: 49rem;
  margin: -.5rem;
  font-size: 2rem;
}

.nav__brand .menu_brand__tab li {
  transition: background-color ease-in-out .2s,border-color ease-in-out .2s,color ease-in-out .2s;
  overflow: hidden;
  display: flex;
  align-content: center;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  margin: .5rem;
  padding: 0;
  border: 1px solid #b9b9b9;
  background: #fff;
  border-radius: .5rem;
  cursor: pointer;
}

.nav__brand .menu_brand__tab li {
  width: 6rem;
  height: 6rem;
}

.nav__brand .menu_brand__tab li:last-child {
  width: 13rem;
}

.nav__brand .menu_brand__tab li.is-active,
.nav__brand .menu_brand__tab li.is-active:hover {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
}

.nav__brand .menu_brand__tab li.is-none {
  pointer-events: none;
  background-color: #EDEDED;
  border-color: #EDEDED;
  color: #BDBDBD;
}

.nav__brand .menu_brand__tab li:hover {
  background-color: #f3efe2;
}

/* ---- content ---- */

.nav__brand .menu_brand__content {
  width: calc(100% - 49rem);
  padding-left: 6rem;
  font-size: 2rem;
}

.nav__brand .menu_brand__list {
  display: none;
  opacity: 0;
}

.nav__brand .menu_brand__list.is-active {
  display: block;
  animation-name: displayAnime;
  animation-duration: .3s;
  animation-fill-mode: forwards;
}

@keyframes displayAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
.nav__brand .menu_brand__list ul {
  display: flex;
  flex-wrap: wrap;
  margin-top: -1rem;
  margin-left: -2rem;
}

.nav__brand .menu_brand__list li {
  display: inline-block;
  width: calc(100% / 2 - 2rem);
  margin-top: 1rem;
  margin-left: 2rem;
  padding: 0;
  vertical-align: top;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
}

.nav__brand .menu_brand__list li .txt_en {
  display: inline-block;
  padding-right: .5rem;
}

.nav__brand .menu_brand__list li .txt_ja {
  display: inline-block;
  padding: .5rem .5rem .5rem 0;
  font-size: 1.2rem;
  line-height: 1.2;
}

.nav__brand .menu_brand__list dt {
  display: block;
  margin: 0 0 2.4rem;
  padding: 0 0 .5rem;
  border-bottom: 1px solid #d0d0d0;
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.4;
}

.nav__brand .menu_brand__list dd li {
  display: inline-block;
}

.nav__brand .menu_brand__list dd li .txt_ja {
}


/* Header Utiliry
---------------------------------- */

.header_utiliry {
}

.header_utiliry li img {
  vertical-align: middle;
}

.header_search {
  padding: 0;
}

.btn_header_search:hover {
  opacity: .6;
}

/* IE11用 */
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .header_search {
    padding: 0;
  }
}

/* ---- Cart ---- */

.utility_cart a {
  position: relative;
  display: inline-block;
}

.utility_cart .num {
  position: absolute;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  background: var(--color-highlight);
  border-radius: 100%;
  font-weight: 400;
  color: var(--color-basic) !important;
  text-align: center;
  line-height: 1;
  content: "";
}


/* =============================================================

　　　　　　　　　　　　FOOTER COMMON SETTING

============================================================= */

#footer,
#footer:before,
#footer:after,
#footer *,
#footer *:before,
#footer *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

#footer {
  margin-top: -1px;/* Retinaで線が出る対策*/
  background-color: #f5f5f5;
  border-top: 10px solid #D9D9D9;
}

.footer_inner,
.footer_inner p,
.footer_inner span,
.footer_inner dt,
.footer_inner dd {
  color: var(--color-tertiary);
}

.footer_inner,
.footer_inner a,
.footer_inner a:link {
  color: var(--color-tertiary);
}

.footer_inner {
  margin: 0 auto;
  font-family: var(--font-base);
  font-weight: 400;
  letter-spacing: .04em;
}

#footer img {
  max-width: 100%;
}

#footer a:hover {
  opacity: .6;
}


/* Footer App
---------------------------------- */

#footer .footer_app {
  letter-spacing: 0;
}

#footer .footer_app .footer_app__thumb {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

#footer .footer_app .footer_app__thumb img {
  width: 100%;
  height: auto;
  overflow: hidden;
}

#footer .footer_app dl {
  position: relative;
}

#footer .footer_app ul {
}

#footer .footer_app ul li {
  display: inline-block;
  vertical-align: middle;
}

#footer .footer_app ul li a {
  display: inline-block;
  background: url(../img/common/icn_btn_arw.svg) no-repeat right center;
  line-height: 1;
}

#footer .footer_app ul li a,
#footer .footer_app ul li a span {
  color: #053931;
}


/* Footer Link
---------------------------------- */

.footer_link {
}

.footer_link a:hover {
  opacity: .6;
}

.footer_copyright {
}

/* Footer SNS
---------------------------------- */

.footer_sns {
}

.footer_sns li img {
  max-width: 100%;
}

.footer_sns a:hover {
  opacity: .6;
}


/* Footer Navi
---------------------------------- */

#footer .footer_nav .nav_shopping_guide a {
  background-image: url(../img/common/icn_shopping_guide.svg);
}

#footer .footer_nav .nav_faq a {
  background-image: url(../img/common/icn_faq.svg);
}

#footer .footer_nav .nav_members a {
  background-image: url(../img/common/icn_members.svg);
}

#footer .footer_nav .nav_shop_list a {
  background-image: url(../img/common/icn_shop_list.svg);
}


/*//////////////////////////////////////////////////

　　　　　　　　　　PC ONLY SETTING

//////////////////////////////////////////////////*/


@media (min-width: 769px) {

  /* =================================

  　　　　　　　　HEADER

  ================================= */

  .header_inner {
    max-width: 110rem;
    justify-content: flex-start;
  }

  /* SP MENU NONE */
  .sp_menu {
    display: block !important;
  }

  .header_nav .menu_contents {
    height: 0;
    opacity: 0;
    transition: opacity .3s ease-in-out;
    visibility: hidden;
    z-index: -1;
    position: absolute;
    top: 6.5rem;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid #ececec;
    box-shadow: 0 6px 6px rgba(0,0,0,0.3);
    padding: 3rem 0 1rem;
  }

  .header_nav .menu_contents::before {
    position: absolute;
    top: -1.7rem;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    content: "";
  }

  .header_nav .header_nav_list a:hover,
  .header_nav .header_nav_list li:hover .menu_ttl {
    opacity: 1;
  }

  .header_nav .header_nav_list > li:hover .menu_contents  {
    height: auto;
    z-index: 9999;
    opacity: 1;
    visibility: visible;
  }
  /* //SP MENU NONE */


  .header_nav_list.is-active {
  }

  .header_nav_list + .bg_header_nav_list {
    height: 0;
    visibility: hidden;
    opacity: 0;
    z-index: -1;
    transition: opacity .3s ease-in-out ,z-index .3s ease-in-out ,visibility .3s ease-in-out,background-color .3s ease-in-out;
    position: absolute;
    top: 7rem;
    right: 0;
    left: 0;
    bottom: 0;
    background: #fff;
  }

  .header_nav_list.is-active + .bg_header_nav_list {
    opacity: .3;
    height: 100dvh;
    z-index: 88;
    visibility: visible;
    background: #000;
  }

  .header_nav_list > li:nth-child(-n+3),
  .header_nav_list > li:nth-child(-n+3) > p,
  .header_nav_list > li:nth-child(-n+3) > a,
  .header_nav_list > li:nth-child(-n+3) > p > a {
    color: var(--color-primary);
    font-weight: bold;
  }

  .header_nav_list > li:nth-child(-n+3) > a {
    position: relative;
    display: block;
    padding: .8rem 0;
  }

  .header_nav_list > li:nth-child(-n+3) > a::before {
    transition: opacity .2s ease-in-out;
    opacity: 0;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    height: 3px;
    background: var(--color-primary);
    content: "";
  }

  .header_nav_list > li:nth-child(-n+3):hover > a::before {
    opacity: 1;
  }

  #header .cate_toggle,
  #header .btn_cate {
    pointer-events: none;
  }

  /* Scroll Navi
  ---------------------------------- */

  #header.scroll {
    position: fixed;
    top: -20rem;
    z-index: 300;
    animation: hdrfx .8s ease 0s 1 forwards;
  }

  @keyframes hdrfx {
    100% {
      top: 0;
    }
  }

  #header.scroll .inner {
    padding: 1.5rem 0;
  }

  #header.scroll #sitemenu {
    padding-top: 0;
  }

  #header.scroll #logo {
    width: 18rem;
    padding-left: 2rem;
    font-size: 1em;
  }

  #header.scroll #logo a {
    padding-top: 0;
  }

  #header.scroll #logo a img {
    display: none;
  }

  #header.scroll #logo a .txt-logo {
    display: block;
  }

  /* Info
  ---------------------------------- */

  /* Logo
  ---------------------------------- */

  .header_logo {
    float: none;
    width: 18rem;
    margin: 0;
    padding: 0;
  }


  /* Header Utiliry
  ---------------------------------- */

  .header_utiliry {
    margin-left: auto;
  }

  .header_utiliry li {
    position: relative;
    z-index: 2;
    padding: 0 1.4rem;
  }

  .header_utiliry .utility_search {
    padding-top: .3rem;
  }

  .header_utiliry .utility_search img {
    width: 2.15rem;
  }

  .header_utiliry .utility_favorite img {
    width: 2.3rem;
  }

  .header_utiliry .utility_mypage img {
    width: 1.8rem;
  }

  .header_utiliry .utility_cart img {
    width: 2.3rem;
  }


  /* Search Modal
  ---------------------------------- */

  .search_modal {
    padding-top: 7rem;
  }

  .search_modal__inner {
    padding: 20rem 12rem 12rem;
    font-size: 2rem;
  }

  .search_modal__inner .inner {
    width: 110rem;
    max-width: 100%;
  }

  /* ---- Search Box ---- */

  .search_modal .search_box {
    width: 82.5rem;
  }

  .search_modal .search_box input {
    padding: 1.8rem 10rem 1.8rem 2.2rem;
    font-size: 2.2rem;
  }

  .search_modal .search_box .icn_search {
    top: 26%;
    right: 4.5rem;
    width: 2.8rem;
  }

  /* ------ Header Keywords ------ */

  .header_keywords {
    padding-top: 12rem;
  }

  .header_keywords dt {
    margin: 0 0 4.5rem;
    font-size: 2.4rem;
  }

  .header_keywords ul {
    margin-top: -3.5rem;
    margin-left: -3rem;
  }

  .header_keywords li {
    padding: 3.5rem 0 0 3rem !important;
  }

  .header_keywords a {
    transition: background-color .25s ease-in-out,border-color .25s ease-in-out,color .25s ease-in-out;
    padding: 0.8rem 5rem;
    border-radius: 20rem;
    font-size: 1.4rem;
  }

  .header_keywords a:hover {
    opacity: 1;
  }

  /* ------ Modal Close Button ------ */

  .search_modal__close {
    width: 5rem;
    height: 5rem;
    right: 3rem;
    top: 3rem;
  }

  /* ---- Cart ---- */

  .utility_cart .num {
    top: -.8rem;
    right: -1.2rem;
    width: 1.8rem;
    height: 1.8rem;
    padding: 0 0 0 .05rem;
    font-size: 1rem;
    letter-spacing: -.01em;
    text-indent: -0.1em;
  }



  /* Header Navi
  ---------------------------------- */

  .header_nav .menu_contents__inner {
    width: 110rem;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 0 3rem;
  }

  .header_nav_list {
    padding: 1.45rem 0rem 1.45rem 2rem;
  }

  .header_nav_list li {
  }

  /* カテゴリ一覧 */

  .header_nav .cate_list {
    display: flex;
    font-size: 1.3rem;
  }

  .header_nav .cate_list > li {
    width: 25%;
    margin-left: 2.05rem;
    padding-left: 2.05rem;
    border-left: 1px solid #f7f7f7;
  }

  .header_nav .cate_list > li:first-child {
    margin-left: 0;
    padding-left: 0;
    border-left-width: 0;
  }

   .header_nav .cate_list > li > dl:first-child {
     padding-top: 0;
   }

  .header_nav .cate_list dt,
  .header_nav .cate_list dt > a,
  .header_nav .cate_list > li > p > a {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 4.5rem;
    margin: 0 0 1.5rem;
    padding: 0 1rem;
    border-radius: .5rem;
    background: #f8f7ef;
    font-size: 1.5rem;
    font-weight: bold;
    color: var(--color-secondary);
  }

  .header_nav .cate_list dt span,
  .header_nav .cate_list dt > a span,
  .header_nav .cate_list > li > p > a span {
    font-weight: bold;
  }

  .header_nav .cate_list dt > a.link-none {
    pointer-events: none;
    cursor: default;
  }

  .header_nav .cate_list dt > a::before,
  .header_nav .cate_list > li > p > a::before {
    position: absolute;
    top: 0;
    right: 0;
    width: 5rem;
    height: 100%;
    background-color: var(--color-primary);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: 62%;
    content: "";
  }

  .header_nav .cate_skincare dt > a::before {
    mask-image: url(../img/common/icn_cate_skincare.svg);
  }

  .header_nav .cate_haircare dt > a::before {
    mask-image: url(../img/common/icn_cate_haircare.svg);
  }

  .header_nav .cate_bodycare dt > a::before {
    mask-image: url(../img/common/icn_cate_bodycare.svg);
  }

  .header_nav .cate_feeling dt > a::before {
    width: 4rem !important;
    mask-image: url(../img/common/icn_cate_feeling.svg);
  }

  .header_nav .cate_yobou dt > a::before {
    mask-image: url(../img/common/icn_cate_yobou.svg);
  }

  .header_nav .cate_make dt > a::before {
    mask-image: url(../img/common/icn_cate_make.svg);
  }

  .header_nav .cate_uv dt > a::before {
    mask-image: url(../img/common/icn_cate_uv.svg);
  }

  .header_nav .cate_haircare dt > a::before {
    mask-image: url(../img/common/icn_cate_haircare.svg);
  }

  .header_nav .cate_mama dt > a::before {
    mask-image: url(../img/common/icn_cate_mama.svg);
  }

  .header_nav .cate_etiquette dt > a::before {
    mask-image: url(../img/common/icn_cate_etiquette.svg);
  }

  .header_nav .cate_aroma dt > a::before {
    mask-image: url(../img/common/icn_cate_aroma.svg);
  }

  .header_nav .cate_innercare dt > a::before {
    mask-image: url(../img/common/icn_cate_innercare.svg);
  }

  .header_nav .cate_bath dt > a::before {
    mask-image: url(../img/common/icn_cate_bath.svg);
  }

  .header_nav .cate_kit dt > a::before {
    mask-image: url(../img/common/icn_cate_kit.svg);
  }

  .header_nav .cate_food dt > a::before {
    mask-image: url(../img/common/icn_cate_food.svg);
  }

  .header_nav .cate_zakka dt > a::before {
    mask-image: url(../img/common/icn_cate_zakka.svg);
  }

  .header_nav .cate_gift > a::before {
    mask-image: url(../img/common/icn_cate_gift.svg);
  }


  .header_nav .cate_list dt > a {
    width: calc(100% + 2rem);
    margin: 0 -1rem;
  }

  .header_nav .cate_list dt .btn_cate,
  .header_nav .cate_list > li > p > a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }

  .header_nav_list li {
	padding-right: 1.3rem;
	padding-left: 1.3rem;
	text-align: left;
  }

  .header_nav_list .child_cate_list,
  .header_nav_list .child_cate_list a {
    color: var(--color-secondary);
  }

  .header_nav_list .child_cate_list {
    padding: 0 1rem;
    font-size: 1.3rem;
  }

  .header_nav_list .child_cate_list li {
    margin: 0 0 1rem;
    padding: 0;
    line-height: 1.4;
    letter-spacing: -0.02em;
  }


  /* =================================

  　　　　　　　　FOOTER

  ================================= */

  #footer {
    padding: 6rem 0 4rem;
  }

  .footer_inner {
    width: 110rem;
    max-width: 100%;
    margin: 0 auto;
    padding-right: 0;
    padding-left: 0;
    font-size: 1.2rem;
  }

  .footer_inner__top {
    display: flex;
    align-content: center;
    align-items: flex-start;
  }

  .footer_inner__column {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    padding: 0 0 0 4.7rem;
    border-left: 1px solid #d9d9d9;
  }

  .footer_inner__column:nth-child(1) {
    width: 38rem;
    padding-right: 4.7rem;
    padding-left: 0;
    border-left: none;
  }

  .footer_inner__column:nth-child(2) {
    width: 80rem;
  }

  /* Footer Logo
  ---------------------------------- */

  .footer_logo {
    width: 24rem;
    margin: 0 0 2.9rem;
  }

  /* Footer App
  ---------------------------------- */

  #footer .footer_app {
    margin-bottom: 2.8rem;
  }

  #footer .footer_app dl {
    padding-top: .15rem;
    padding-left: 7.1rem;
  }

  #footer .footer_app .footer_app__thumb {
    width: 6rem;
    height: 6rem;
  }

  #footer .footer_app .footer_app__ttl {
    display: inline-block;
    padding-bottom: .5rem;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: -.02rem;
  }

  #footer .footer_app .footer_app__cont {
    font-size: 1.2rem;
    letter-spacing: -0.02em;
    text-align: left;
  }

  #footer .footer_app ul {
    margin-top: -.8rem;
    margin-left: -1.2rem;
    padding: 1.25rem 0 0;
    font-size: 1.2rem;
  }

  #footer .footer_app ul li {
    padding-top: 1rem;
    padding-left: 1.2rem;
  }

  #footer .footer_app ul li a {
    padding: 0 1.4rem 0 0;
    background-size: .8rem;
  }

  /* Footer SNS
  ---------------------------------- */

  #footer .footer_sns ul {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #footer .footer_sns li {
    width: 3.5rem;
  }

  #footer .footer_sns li {
    margin-left: 3rem;
  }

  #footer .footer_sns li:first-child {
    margin-left: 0;
  }


  /* Footer Navi
  ---------------------------------- */

  #footer .footer_nav li,
  #footer .footer_nav li a,
  #footer .footer_nav li a:link {
    color: var(--color-tertiary);
  }

  #footer .footer_nav li {
    display: inline-block;
    margin-bottom: 2.5rem;
    font-size: 1.6rem;
  }

  #footer .footer_nav .nav_icn {
    margin-left: 1.75rem;
    margin-bottom: 4rem;
  }

  #footer .footer_nav .nav_icn:first-child {
    margin-left: 0;
  }

  #footer .footer_nav .nav_icn a {
    padding: .4rem .4rem .4rem 2.8rem;
    background-position: 0 center;
    background-repeat: no-repeat;
    background-size: 2.2rem 2.2rem;
    font-weight: bold;
  }

  #footer .footer_nav .nav_icn.nav_shopping_guide a {
    background-position: -0.2rem center;
  }


  /* Footer Link
  ---------------------------------- */

  #footer .footer_link {
  }

  #footer .footer_link ul {
    margin-bottom: -.8rem;
  }

  #footer .footer_link li {
    width: 48%;
    margin-bottom: .8rem;
    font-size: 1.2rem;
  }

  #footer .nav_cosme {
    margin-bottom: 0 !important;
    padding: 1rem 0 0;
  }

  #footer .nav_cosme .acc_btn {
    margin-bottom: 1rem;
    font-size: 1.3rem;
    color: #6e6e6e;
    font-weight: bold;
    pointer-events: none;
  }

  #footer .acc_content {
    display: block !important;
  }

  #footer .nav_cosme .acc_content {
    font-size: 1.2rem;
  }

  #footer .nav_cosme .acc_content .footer_link {
    margin-bottom: -.8rem;
  }


  .footer_inner__bottom {
    padding: 6rem 0 0;
    text-align: center;
  }

  #footer .footer_inner__bottom .footer_nav {
    margin-bottom: 4rem;
    font-size: 0.9rem;
  }

  #footer .footer_inner__bottom .footer_nav ul {
    display: flex;
    justify-content: center;
  }


  #footer .footer_inner__bottom .footer_nav li {
    width: auto;
    margin: 0;
    padding: 0 2rem;
    font-size: 1.2rem;
  }

  #footer .footer_inner__bottom .footer_nav li,
  #footer .footer_inner__bottom .footer_nav li a {
    color: #acacac;
  }

  #footer .footer_nav > ul > li  {
    padding: 0 !important;
  }

  #footer .footer_nav .acc_content .footer_link li {
  }

  #footer .footer_copyright {
    display: block;
    font-weight: 100;
    letter-spacing: 0;
  }


}



/*//////////////////////////////////////////////////

　　　　　　　　　　SP ONLY SETTING

//////////////////////////////////////////////////*/


@media (max-width: 768px) {

  /* =================================

  　　　　　　　　HEADER

  ================================= */

  #header .header_inner {
    position: relative;
    z-index: 22;
    height: calc(66 * (100vw / 428));
    background: #fff;
    border-bottom: 1px solid #f2f2f2;
    font-size: calc(16 * (100vw / 428));
  }

  .header_inner .sp_only {
    display: block;
  }

  .header_inner .sp_only.is-hidden {
    display: none;
  }

  #Wrap {
    padding-top: calc(178 * (100vw / 586));
  }

  #header.sp_open {
    height: 100dvh;
    overflow-y: scroll;
    white-space: nowrap;
  }
  #header.scroll {
    border-bottom-color: transparent;
  }

  body.noScroll {
    overflow: hidden;
    height: 100dvh;
  }

  .header_inner {
    position: relative;
    padding: calc(25* (100vw / 586)) calc(30* (100vw / 586));
    text-align: center;
    -webkit-overflow-scrolling: touch;
  }

  .header_inner,
  .header_nav,
  .header_nav_list,
  .header_utiliry {
    display: block;
  }

  .header_inner {
    padding: 0;
    white-space: nowrap;
  }

  /* SP Menu
  ---------------------------------- */

  .sp_menu {
    display: none;
    opacity: 0;
    position: absolute;
    top: calc(66* (100vw / 428));
    left: 0;
    right: 0;
    width: auto;
    background: #fff;
  }

  .sp_menu.is-menu-open {
    display: block;
    animation: menu_fadein .3s ease 0s 1 forwards;
  }

  .sp_menu.sp_only {
    display: none;
  }

  .sp_menu__inner {
    position: relative;
    padding: 0 0 calc(20* (100vw / 428));
  }

  .header_nav {
    position: inherit;
    top: auto;
    right: auto;
    text-align: center;
  }

  .noScroll .navigation-overlay {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    z-index: 998;
    background: #fff;
  }

  /* Logo
  ---------------------------------- */

  .header_logo {
    position: relative;
    z-index: 2;
    float: left;
    width: calc(180* (100vw / 428));
    margin: 0;
    padding: 0 0 0 calc(20* (100vw / 428));
  }

  .header_logo img {
    width: 100%;
    max-width: 100%;
    vertical-align: calc(-7* (100vw / 428));
  }


  /* Hamburger Menu
  ---------------------------------- */

  .header_inner .hamburger {
    position: absolute;
    top: calc(11 * (100vw / 428));
    right: 0;
    z-index: 999999;
    width: calc(53* (100vw / 428));
    height: calc(44 * (100vw / 428));
    border-radius: calc(10* (100vw / 428)) 0 0 calc(10* (100vw / 428));
    cursor: pointer;
    background: var(--color-primary);
  }

  .header_inner .hamburger::before,
  .header_inner .hamburger::after,
  .header_inner .hamburger span {
    position: absolute;
    left: 50%;
    bottom: auto;
    width: calc(18 * (100vw / 428));
    height: 2px;
    margin-left: calc(-9 * (100vw / 428));
    background-color: #fff;
    border-radius: 0;
    transition: transform .5s,top .5s,left .5s;
  }

  .header_inner .hamburger::before,
  .header_inner .hamburger::after {
    left: 50%;
    content: "";
  }

  .header_inner .hamburger span {
    display: block;
    top: calc(11 * (100vw / 586));
  }

  .sp_open .header_inner .hamburger span {
    height: 0
  }

  .header_inner .hamburger span {
    top: calc(14 * (100vw / 428));
  }

  .header_inner .hamburger::before {
    top: calc(21 * (100vw / 428));
  }

  .header_inner .hamburger::after {
    top: calc(28 * (100vw / 428));
  }

  .sp_open .header_inner .hamburger {
    position: fixed;
    top: calc(11 * (100vw / 428));
    left: auto;
  }

  .sp_open .header_inner .hamburger::before,
  .sp_open .header_inner .hamburger::after {
    background-color: #fff;
  }

  .sp_open .header_inner .hamburger::before {
    transform: rotate(45deg);
    top: 50%;
  }

  .sp_open .header_inner .hamburger::after {
    transform: rotate(-45deg);
    top: 50%;
  }


  /* Navi Menu
  ---------------------------------- */

  .header_nav {
    display: flex;
    justify-content: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
    width: 100%;
    text-align: left;
  }

  /* -------- Utiliry -------- */

  .header_utiliry {
    order: 1;
    width: 90vw;
    text-align: center;
  }

  .utility_search {
    padding: calc(24 * (100vw / 586)) calc(23 * (100vw / 586)) !important;
  }

  .utility_search .search_modal__btn:hover {
    opacity: 1;
  }

  .header_search {
    position: relative;
    height: calc(62 * (100vw / 586));
  }

  .search_box input {
    width: 100%;
    height: calc(62 * (100vw / 586));
    background: #efeadf;
    border: none;
    border-radius: 200px;
    box-shadow: 2px 2px 4px 0px rgba(215, 212, 203,1) inset;
    margin: 0;
    padding: calc(16 * (100vw / 586)) calc(24 * (100vw / 586)) calc(14 * (100vw / 586)) calc(70 * (100vw / 586));
    -webkit-appearance: none;
    appearance: none;
  }

  .search_box input:placeholder-shown {
    color: #efeadf;
  }

  .search_box input::-webkit-input-placeholder {
    color: #efeadf;
  }

  .search_box input:-moz-placeholder {
    color: #efeadf;
  }

  .search_box input::-moz-placeholder {
    color: #efeadf;
  }

  .search_box input:-ms-input-placeholder {
    color: #efeadf;
  }

  .search_box input:focus {
    outline: none;
  }

  .search_box .icn_search {
    position: absolute;
    top: 52.2%;
    left: calc(24 * (100vw / 586));
    margin-top: calc(-16 * (100vw / 586));
  }

  .search_box .icn_search img {
    width: calc(28 * (100vw / 586));
  }

  /* ---- Login Message ---- */
  /*2401 renew cate*/
  .login_message {
    padding: calc(15 * (100vw / 586));
    background: #eae1c9;
    color: inherit;
    font-size: calc(21 * (100vw / 586));
    letter-spacing: 0.02em;
  }

  .login_message .user_name {
    display: inline-block;
    max-width: calc(400 * (100vw / 586));
    margin: 0 calc(5 * (100vw / 586)) 0 calc(10 * (100vw / 586));
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    vertical-align: calc(-9 * (100vw / 586));
    color: inherit;
    font-weight: bold;
  }

  /* ---- Navi Common ---- */

  .header_nav > dl {
    width: 100%;
  }

  .header_nav > dl > dt {
    display: block;
    padding: calc(14 * (100vw / 428)) calc(18 * (100vw / 428)) calc(12 * (100vw / 428));
    background: #f7f5ef;
    color: var(--color-secondary);
    font-size: calc(20 * (100vw / 428));
    font-weight: bold;
    letter-spacing: 0.02em;
  }

  .header_nav > .header_nav_list > li {
    font-weight: bold;
  }

  .header_nav .header_nav_list {
    overflow: hidden;
    width: 100%;
    padding: 0 calc(18 * (100vw / 586));
  }

  .header_nav .cate_list {
    display: block;
  }

  .header_nav .cate_list > li {
    border: none;
  }

  .header_nav .cate_list > li dt {
    margin: 0;
  }

  .header_nav .cate_list > li dd {
    display: none;
  }

  .header_nav .header_nav_list > li,
  .header_nav .cate_list > li dl {
    padding: 0;
    border-bottom: 1px solid #f2f2f2;
  }

  /*
  .header_nav .header_nav_list > li:first-child {
    border-top: 1px solid #f2f2f2;
  }
  */

  .header_nav dd .header_nav_list > li:first-child {
    border-top-width: 0;
  }
  /*
  .header_nav .header_nav_list > li:last-child {
    border-bottom-width: 0;
  }*/

  .header_nav > dl:last-child .header_nav_list > li:last-child {
    border-bottom-width: 1px;
  }


  .header_nav .header_nav_list > li > a,
  .header_nav .header_nav_list > li .menu_ttl.cate_toggle,
  .header_nav .header_nav_list > li .menu_ttl > a {
    display: block;
    background: url(../img/common/icn_btn_arw_black.svg) no-repeat 97.8% center;
    background-size: calc(10 * (100vw / 428));
    padding: calc(15 * (100vw / 428)) calc(40 * (100vw / 428)) calc(15 * (100vw / 428)) 0;
    font-size: calc(18 * (100vw / 428));
    letter-spacing: .02em;
    line-height: 2;
    text-align: left;
  }

  .header_nav .header_nav_list > li > a > img, .header_nav .header_nav_list > li > a > svg {
    width: calc(25 * (100vw / 428));
    margin-right: calc(20 * (100vw / 428));
    margin-left: calc(12 * (100vw / 428));
    vertical-align: calc(-6 * (100vw / 428));
  }

  .header_nav .header_nav_list > li > a.icn_login > img,
  .header_nav .header_nav_list > li > a.icn_login > svg,
  .header_nav .header_nav_list > li > a.icn_mypage > img,
  .header_nav .header_nav_list > li > a.icn_mypage > svg {
    margin-right: calc(23 * (100vw / 428));
    margin-left: calc(13 * (100vw / 428));
    width: calc(21 * (100vw / 428));
  }

  .header_nav .header_nav_list .menu_ttl.cate_toggle,
  .header_nav .header_nav_list .menu_ttl > a {
    transition: background-color .3s ease-in-out,opacity .3s ease-in-out,color .1s ease-in-out,padding-left .4s ease,color .1s ease-in-out;
  }

  .header_nav .header_nav_list .menu_ttl.is-active {
    opacity: 1;
    color: #fff;
    background-color: #55bc8f;
  }

  .header_nav .header_nav_list li:hover .menu_ttl {
    opacity: 1;
  }

  .header_nav .header_nav_list .is-hidden {
    display: none;
  }

  /* ---- Navi Utility ---- */
  /*2401 renew cate*/

  .header_nav .header_nav_utility {
    display: flex !important;
    flex-wrap: wrap;
    padding: 0;
  }

  .header_nav .header_nav_utility > li {
    width: calc(142 * (100vw / 428));
    height: calc(100 * (100vw / 428));
    border: none;
    border-bottom: 1px solid #f2f2f2;
    border-left: 1px solid #f2f2f2;
  }

  .header_nav .header_nav_utility > li > a {
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    align-items: center;
    gap: calc(8 * (100vw / 428));
    width: 100%;
    height: 100%;
    background: none;
    padding: calc(6 * (100vw / 428)) 0 0;
    font-size: calc(13 * (100vw / 428));
    font-weight: bold;
    letter-spacing: 0.01em;
  }

  .header_nav .header_nav_utility > li > a > svg {
    width: auto;
    height: calc(26 * (100vw / 428));
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /*マイページ*/
  .header_nav .header_nav_utility > li:nth-child(1) > a > svg {
    height: calc(30 * (100vw / 428));
  }

  /*お気に入り商品*/
  .header_nav .header_nav_utility > li:nth-child(2) > a > svg {
    height: calc(25 * (100vw / 428));
  }

  /*オンライン診断用*/
  .header_nav .header_nav_utility > li:nth-child(5) > a > svg {
    height: calc(30 * (100vw / 428));
  }

  /*オンライン診断用*/
  .header_nav .header_nav_utility > li:nth-child(6) > a > svg {
    height: calc(32 * (100vw / 428));
  }
  /* ---- Navi Global ---- */
  /*2401 renew cate*/
  .header_nav .header_nav_global {
    padding-left: 0;
  }

  .header_nav .header_nav_global > li > a {
    position: relative;
    padding-left: calc(70 * (100vw / 428));
  }

  .header_nav .header_nav_global > li > a::before {
    position: absolute;
    top: 0;
    left: 0;
    width: calc(80 * (100vw / 428));
    height: 100%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: calc(20 * (100vw / 428)) center;
    -webkit-mask-size: calc(34 * (100vw / 428));
    background-color: var(--color-primary);
    content: "";
  }

  .header_nav .header_nav_global .nav__cate > a::before {
    mask-image: url(../img/common/icn_cate_skincare.svg);
  }

  .header_nav .header_nav_global .nav__brand > a::before {
    mask-image: url(../img/common/icn_nav_brand.svg?240130);
  }

  .header_nav .header_nav_global .nav__onayami > a::before {
    mask-image: url(../img/common/icn_nav_onayami.svg);
  }

  .header_nav .header_nav_global .nav__ranking > a::before {
    mask-image: url(../img/common/icn_nav_ranking.svg);
  }

  .header_nav .header_nav_global .nav__gift > a::before {
    mask-image: url(../img/common/icn_cate_gift.svg);
  }

  .header_nav .header_nav_global .nav__kit > a::before {
    mask-image: url(../img/common/icn_cate_kit.svg);
  }

  .header_nav .header_nav_global .nav__outlet > a::before {
    mask-image: url(../img/common/icn_cate_sale.svg?240603);
    background-color: #dd5e39;
  }

  .header_nav .header_nav_global .nav__feature > a::before {
    mask-image: url(../img/common/icn_nav_feature.svg);
  }

  .header_nav .header_nav_global .nav__news > a::before {
    mask-image: url(../img/common/icn_nav_news.svg);
  }

  .header_nav .header_nav_global .nav__concept > a::before {
    mask-image: url(../img/common/icn_nav_concept.svg);
  }

  /* ---- Navi Contents ---- */

  .header_nav .menu_contents {
    display: none;
    visibility: hidden;
    opacity: 0;
    height: 0;
    z-index: -1;
    background: none;
    padding: 0;
    font-weight: 200;
    transition: opacity .3s ease-in-out;
  }

  .header_nav .menu_contents.is-active {
    display: block;
    visibility: visible;
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: auto;
    height: auto;
    background: #fff;
    padding-bottom: calc(20 * (100vw / 428));
  }

  .header_nav .menu_btn__back {
    float: right;
    display: inline-block;
    padding-left: calc(20 * (100vw / 428));
    background: url(../img/common/icn_btn_arw_back_black.svg) no-repeat 0 center;
    background-size: calc(8 * (100vw / 428));
    font-size: calc(16 * (100vw / 428));
  }

  .header_nav .menu_contents__inner {
    width: auto;
    padding: 0 calc(10 * (100vw / 428)) calc(10 * (100vw / 428));
  }

  .header_nav .menu_contents__inner > ul {
    padding: 0;
  }

  .header_nav .menu_contents__inner > ul > li {
    padding: 0;
    border-bottom: 1px solid #55bc8f;
  }

  .header_nav .menu_contents__inner > ul > li:last-child,
  .header_nav .menu_contents__inner .cate_list > li:last-child dl:last-child {
    border-bottom-width: 0;
  }

  .header_nav .menu_contents__inner .cate_list > li dl {
    padding: 0;
  }

  .header_nav .menu_contents__inner > ul > li > a {
    display: block;
    background: url(../img/common/icn_menu_arw.svg) no-repeat 94% center;
    background-size: calc(16 * (100vw / 586));
    padding: calc(16 * (100vw / 586)) calc(90 * (100vw / 586)) calc(16 * (100vw / 586)) 0;
    font-size: calc(20 * (100vw / 586));
    font-weight: 600;
    letter-spacing: .02em;
    line-height: 1.8;
    text-align: left;
  }

  /* ---- カテゴリ一覧 ---- */

  .header_nav .menu_contents__ttl {
    clear: both;
    padding: calc(20 * (100vw / 428)) calc(5 * (100vw / 428)) calc(18 * (100vw / 428));
    font-size: calc(20 * (100vw / 428));
    font-weight: bold;
  }

  .header_nav dd + .menu_contents__ttl {
    padding-top: calc(26 * (100vw / 428));
  }

  .header_nav .cate_list > li,
  .header_nav .cate_list > li > dl,
  .header_nav .cate_list > li > dl > dt {
    display: inline;
  }

  .header_nav .cate_list > li dt > a,
  .header_nav .cate_list > li dt > span,
  .header_nav .cate_list > li p > a,
  .header_nav .child_cate_list > ul > li > a {
    float: left;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 47.5%;
    height: calc(58 * (100vw / 428));
    margin: 0 1.2% calc(10 * (100vw / 428));
    background: #f5f5f5;
    border-radius: calc(10 * (100vw / 428));
    padding: 0 calc(10 * (100vw / 428));
    font-size: calc(18 * (100vw / 428));
    font-weight: bold;
    white-space: normal;
    line-height: 1.2;
    text-align: left;
    color: var(--color-secondary);
  }

  .header_nav .cate_list > li dt > a > span {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }

  .header_nav .cate_list > li dt img,
  .header_nav .cate_list > li p img {
    width: calc(34 * (100vw / 428));
    vertical-align: middle;
  }

  .header_nav .cate_list > li p img {
    margin-right: calc(6 * (100vw / 428));
    vertical-align: calc(-10 * (100vw / 428));
  }

  .is-cate-active .header_nav .header_nav_list > li {
    display: none;
  }

  .is-cate-active .header_nav .header_nav_list > li.nav__cate {
    display: block;
  }


  /* ---- サブカテゴリ ---- */

  .header_nav .child_cate_list {
    display: none;
    visibility: hidden;
    opacity: 0;
    height: 0;
    z-index: -1;
    background: none;
    padding: 0 calc(10 * (100vw / 428));
    font-weight: 200;
    transition: opacity .6s ease-in-out;
  }

  .header_nav .child_cate_list.is-active {
    display: block;
    visibility: visible;
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 30;
    height: 70vh;
    overflow: hidden;
    background: #fff;
  }

  .header_nav .child_cate_list .sp_only {
    display: inline;
  }

  .header_nav .child_cate_list ul {
    overflow: hidden;
    padding-bottom: calc(10 * (100vw / 428));
  }

  .header_nav .child_cate_list ul li {
    padding: 0;
  }

  .header_nav .child_cate_list a {
    color: var(--color-secondary);
  }

  .header_nav .child_cate_list .menu_contents__ttl {
    display: block;
  }

  #header.is-child-cate-active {
  }

  #header.is-child-cate-active .menu_contents__sale,
  #header.is-child-cate-active .menu_contents__cate .cate_list li > p  {
    display: none;

  }

  /* ---- 購入履歴 ---- */

  .header_nav .history_list {
    margin: 0;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: calc(20 * (100vw / 428)) calc(12 * (100vw / 428)) calc(25 * (100vw / 428));
  }

  .header_nav .history_list .item_list {
    overflow: hidden;
    overflow-x: scroll;
    margin: calc(-15 * (100vw / 428)) calc(-12 * (100vw / 428));
    padding: 0;
  }

  .header_nav .history_list::-webkit-scrollbar,
  .header_nav .history_list .item_list::-webkit-scrollbar {
    display: none;
  }

  .header_nav .history_list .item_list .item_list__inner {
    display: block;
    margin: 0;
    padding: calc(15 * (100vw / 428));
    white-space: nowrap;
  }

  .header_nav .history_list .item_list .item_list__item {
    display: inline-block;
    width: calc(106 * (100vw / 428));/*2401 renew cate*/
    height: calc(106 * (100vw / 428));/*2401 renew cate*/
    min-height: auto;
    margin: 0 calc(3 * (100vw / 428));
    padding: 0;
  }

  .header_nav .history_list .item_list .item_list__item a,
  .header_nav .history_list .item_list .item_list__item .item_list__img {
    display: block;
    width: 100%;
    height: 100%;
  }

  .header_nav .history_list .item_list .item_list__item:last-child {
    margin-right: calc(5 * (100vw / 428));
  }

  .header_nav .history_list .item_list .item_list__item .item_list__img {

    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    padding: 0;
  }

  .header_nav .history_list .item_list .item_list__item img {
    width: 100%;
    max-height: 100%;
  }

  /* ---- 最新記事 ---- */

  .header_feature > dl > dt {
    padding: calc(20 * (100vw / 428)) 0 calc(10 * (100vw / 428));
    font-size: calc(18 * (100vw / 428));
    text-align: left;
  }

  .header_feature > dl > dd {
    white-space: nowrap;
    overflow: hidden;
    overflow-x: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
    margin: 0 calc(-16 * (100vw / 428));
    padding: 0 calc(18 * (100vw / 428)) calc(20 * (100vw / 428));
  }

  .header_feature > dl > dd::-webkit-scrollbar {
    display: none;
  }

  .header_feature .feature_list_common {
    margin: 0;
    border-bottom: none;
  }

  .header_feature .feature_list_common > ul {
    display: block;
    margin: 0 calc(-4 * (100vw / 428));
  }

  .header_feature .feature_list_common > ul > li {
    display: inline-block;
    width: calc(180 * (100vw / 428));
    margin: 0 calc(4 * (100vw / 428));
    padding: 0;
    vertical-align: top;
  }

  .header_feature .feature_list_common > ul > li:last-child {
    margin-right: calc(20 * (100vw / 428));
  }

  .header_feature .feature_list_common .feature_ttl {
    margin-bottom: calc(8 * (100vw / 428));
    font-size: calc(14 * (100vw / 428));
    font-weight: 300;
    -webkit-line-clamp: 3;
  }

  .header_feature .feature_list_common  .feature_data {
    font-size: calc(16 * (100vw / 428));
    text-align: left;
  }



  /* Search Modal
  ---------------------------------- */

  .search_modal {
    top: calc(88.5 * (100vw / 586));
  }

  .search_modal__inner {
    padding: 0;
    font-size: calc(13 * (100vw / 586));
  }

  /* ---- Search Modal Button ---- */

  .search_modal__btn {
    z-index: 999;
  }

  /* ---- Search Box ---- */
/*
  .search_modal .search_box {
    width: 82%
  }

  .search_modal .search_box input {
    padding: calc(18 * (100vw / 586)) calc(50 * (100vw / 586)) calc(18 * (100vw / 586)) calc(14 * (100vw / 586));
    font-size: calc(26 * (100vw / 586)) !important;
  }

  .search_modal .search_box .icn_search {
    top: 26%;
    right: calc(12 * (100vw / 586));
    left: auto;
    width: calc(28 * (100vw / 586)) !important;
    height:  calc(28 * (100vw / 586));
    margin-top: 0;
  }*/

  /* ------ Header Keywords ------ */

  .header_keywords {
    padding-top: calc(50 * (100vw / 586));
  }

  .header_keywords dt {
    margin: 0 0 calc(25 * (100vw / 586));
    font-size: calc(25 * (100vw / 586));
    letter-spacing: .03em;
  }

  .header_keywords ul {
    margin-top: calc(-20 * (100vw / 586));
    margin-left: calc(-15 * (100vw / 586));
  }

  .header_keywords li {
    width: auto;
    padding: calc(20 * (100vw / 586)) 0 0 calc(15 * (100vw / 586)) !important;
  }

  .header_keywords a {
    padding: calc(9 * (100vw / 586)) calc(18 * (100vw / 586)) calc(6 * (100vw / 586));
    border-radius: calc(200 * (100vw / 586));
    font-size: calc(17 * (100vw / 586));
  }

  /* ------ Modal Close Button ------ */

  .search_modal__close {
    width: calc(30 * (100vw / 586));
    height: calc(30 * (100vw / 586));
    top: calc(30 * (100vw / 586));
    right: calc(30 * (100vw / 586));
  }

  /* SNS
  ---------------------------------- */

  .header_sns {
    padding: calc(54 * (100vw / 586)) calc(44 * (100vw / 586)) calc(200 * (100vw / 586));
  }

  .header_sns ul {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
  }

  .header_sns li {
    padding: 0 calc(22 * (100vw / 586));
  }

  .header_sns img {
    width: calc(48 * (100vw / 586));
  }

  /* Header Utiliry
  ---------------------------------- */

  .header_utiliry {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    position: absolute;
    top: calc(20 * (100vw / 428));
    right: calc(70 * (100vw / 428));
    letter-spacing: 0;
  }

  .header_utiliry li {
    padding: 0 0 0 calc(20 * (100vw / 428));
    vertical-align: 0;/*2401 renew cate*/
    line-height: 1;/*2401 renew cate*/
  }

  /*2401 renew cate*/
  .header_utiliry li > a,
  .header_utiliry li svg {
    display: block;
    vertical-align: 0;
  }

  .header_utiliry .utility_search {
    height: auto;
    padding: calc(2 * (100vw / 428)) 0 0 !important;
  }

  .header_utiliry .utility_search .header_search {
    height: auto;
  }

  /*2401 renew cate*/
  .header_utiliry .utility_search img,
  .header_utiliry .utility_search svg {
    width: calc(20 * (100vw / 428));
    height: auto;
  }

  .header_utiliry .utility_favorite {
    vertical-align: calc(1 * (100vw / 428));
  }

  .header_utiliry .utility_favorite a {
    display: block;
    vertical-align: calc(1 * (100vw / 428));
  }

  /*2401 renew cate*/
  .header_utiliry .utility_favorite img,
  .header_utiliry .utility_favorite svg {
    width: calc(21 * (100vw / 428));
    height: auto;
  }

  .header_utiliry .utility_mypage {
    right: calc(30 * (100vw / 428));
  }

  .header_utiliry .utility_mypage a {
    display: block;
    padding: 0 calc(2 * (100vw / 428));
  }

  /*2401 renew cate*/
  .header_utiliry .utility_mypage img,
  .header_utiliry .utility_mypage svg {
    width: calc(16 * (100vw / 428));
    height: auto;
  }


  /* ---- Cart ---- */

  .utility_cart {
  }

  /*2401 renew cate*/
  .utility_cart img,
  .utility_cart svg {
    width: calc(20 * (100vw / 428));
    height: auto;
  }

  .utility_cart .num {
    top: calc(-5 * (100vw / 586));
    right: calc(-12 * (100vw / 586));
    width: calc(20 * (100vw / 586));
    height: calc(20 * (100vw / 586));
    padding: 0 0 0 calc(1 * (100vw / 586));
    font-size: calc(12 * (100vw / 586));
    line-height: calc(22 * (100vw / 586));
  }


  /* =================================

  　　　　　　　　FOOTER

  ================================= */

  #footer {
    position: relative;
    padding: calc(30 * (100vw / 428)) calc(16 * (100vw / 428))  calc(20 * (100vw / 428));
    border-top: 10px solid #d9d9d9;
    font-size: calc(16 * (100vw / 428));
  }

  #footer .footer_inner {
    width: auto;
    margin: 0 auto;
  }

  #footer .footer_inner__top {
    display: block;
  }

  #footer .footer_inner__column {
    display: block;
    padding: 0;
    border-left: none;
  }

  #footer .footer_inner__column:nth-child(1) {
    width: auto;
    padding-left: 0;
    border-left: none;
  }

  #footer .footer_inner__column:nth-child(2) {
    width: auto;
  }

  /* Footer App
  ---------------------------------- */

  #footer .footer_app {
    position: relative;
    padding-right: calc(10 * (100vw / 428));
    padding-left: calc(10 * (100vw / 428));
    margin-bottom: calc(25 * (100vw / 428));
    letter-spacing: 0;
  }

  #footer .footer_app.is-ios .footer_app__android {
    display: none;
  }

  #footer .footer_app.is-android .footer_app__ios {
    display: none;
  }

  #footer .footer_app .footer_app__link,
  #footer .footer_app .footer_app__link ul {
    margin: 0;
    padding: 0;
  }

  #footer .footer_app .footer_app__link span {
    display: none;
  }

  #footer .footer_app .footer_app__link a {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    padding: 0;
    background: none;
  }


  #footer .footer_app dl {
    position: relative;
    padding-left: calc(85 * (100vw / 428));
  }

  #footer .footer_app .footer_app__thumb {
    width: calc(70 * (100vw / 428));
    height: calc(70 * (100vw / 428));
  }

  #footer .footer_app .footer_app__thumb img {
  }

  #footer .footer_app .footer_app__thumb img {
    width: 100%;
  }

  #footer .footer_app .footer_app__ttl {
    display: block;
    margin-bottom: calc(2 * (100vw / 428));
    font-size: calc(16 * (100vw / 428));
    font-weight: bold;
  }

  #footer .footer_app .footer_app__cont {
    font-size: calc(16 * (100vw / 428));
  }

  #footer .footer_app ul {
    margin-left: calc(-20 * (100vw / 428));
    padding: calc(12 * (100vw / 428)) 0 0;
    font-size: calc(13 * (100vw / 428));
  }

  #footer .footer_app ul li {
    padding-left: calc(20 * (100vw / 428));
  }

  #footer .footer_app ul li a {
    padding: 0 calc(18 * (100vw / 428)) 0 0;
    background-size: calc(8 * (100vw / 428));
  }

  /* Footer SNS
  ---------------------------------- */

  #footer .footer_sns ul {
    position: absolute;
    right: 0;
    left: 0;
    bottom: calc(62 * (100vw / 428));
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: center;
  }

  #footer .footer_sns li {
    width: calc(35 * (100vw / 428));
    height: calc(35 * (100vw / 428));
    margin: 0 calc(16 * (100vw / 428));
    padding: 0;
  }

  #footer .footer_sns li img {
    width: 100%;
  }

  /* Footer Navi
  ---------------------------------- */

  #footer .footer_nav {
    text-align: left;
    font-size: calc(18 * (100vw / 428));
  }

  #footer .footer_nav li {
    padding-top: 0;
    line-height: 1;
  }

  #footer .footer_nav > ul > li {
    border-top: 1px solid #d9d9d9;
  }

  #footer .footer_inner__bottom .footer_nav > ul > li:last-child {
    border-bottom: 1px solid #d9d9d9;
  }

  #footer .footer_nav li a,
  #footer .footer_nav li p {
    display: block;
    padding: calc(20 * (100vw / 428)) calc(11 * (100vw / 428)) ;
  }

  #footer .footer_nav > ul > li > a,
  #footer .footer_nav > ul > li > p {
  }

  #footer .footer_nav .nav_icn a {
    padding-left: calc(40 * (100vw / 428));
    background-position: calc(8 * (100vw / 428)) center;
    background-repeat: no-repeat;
    background-size: calc(26 * (100vw / 428)) calc(26 * (100vw / 428));
    color: var(--color-tertiary);
    font-weight: bold;
  }


  /* Footer Link
  ---------------------------------- */

  #footer .acc_btn {
    background: url(../img/common/icn_footer_arw.svg) no-repeat calc(100% - 5 * (100vw / 428) ) center ,url(../img/common/icn_footer_arw_active.svg) 200px 200px no-repeat;
    background-size: calc(26 * (100vw / 428));
    padding-right:  calc(34 * (100vw / 428));
    color: var(--color-tertiary);
  }

  #footer .acc_btn.is-active {
    background-image: url(../img/common/icn_footer_arw_active.svg);
  }

  #footer .acc_content {
    display: none;
    padding-left: calc(10 * (100vw / 428));
  }

  #footer .footer_link {
    padding: 0 0 calc(5 * (100vw / 428));
    font-size: calc(14 * (100vw / 428));
  }

  #footer .footer_link li {
    padding-bottom: calc(18 * (100vw / 428));
    border-width: 0;
  }

  #footer .footer_link li a {
    padding: calc(2 * (100vw / 428));
    color: var(--color-tertiary);
  }

  #footer .footer_inner__bottom {
    padding: 0;
  }

  #footer .footer_copyright {
    display: block;
    padding: calc(80 * (100vw / 428)) 0 0;
    font-size: calc(10 * (100vw / 428));
    letter-spacing: 0;
    text-align: center;
  }


}
