﻿
/* このファイルはUTF-8のBOMなし(UTF-8N)で保存しています */

/**
 * CSS Information
 * ===============================================================
 *
 * Site URL:  http://test.albion-cosmetics.com/
 * File name: module.css
 * Summary:   モジュール用スタイル
 * Author:    CrEa., Inc.
 *
 * -----------------------------------
 *
 * TOC:
 *     =1    modules
 *     =2    modules fo javascript
 *
 * ===============================================================
*/

/** =1
 * ========================================
 * modules
 * ========================================
 */

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
}

/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
}

/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
}

/*
* nav
* ----------------------------------
*/

/* [ navHeader ]
  ------------------------------ */
#navHeader {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 10001;
  letter-spacing: 0.075em;
}
#navHeader a {
  text-decoration: none;
  -webkit-transition: all 0.6s ease-out;
  -moz-transition: all 0.6s ease-out;
  -o-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
}

/* -- >>> styles for narrow & medium layout ----- */
@media screen and (max-width: 959px) {
  #navHeader {
    display: none;
    overflow: auto;
    top: 0;
    bottom: 0;
    z-index: 9999;
    background-color: rgba(0, 0, 0, 0.75);
  }
}
/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  #navHeader {
    /*top: 60px;*/
    padding-top: 60px;
    height: -webkit-calc(100% - 60px);
    height: calc(100% - 60px);
  }
}
/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
  #navHeader {
    overflow: hidden;
    /*top: 120px*/
    padding-top: 120px;
    height: -webkit-calc(100% - 120px);
    height: calc(100% - 120px);
    text-align: center;
  }
}

/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  #navHeader {
    top: 150px;
    border-top: 1px solid #514f61;
    -webkit-transition: top 0.25s ease-out;
    -moz-transition: top 0.25s ease-out;
    -o-transition: top 0.25s ease-out;
    transition: top 0.25s ease-out;
    background-color: #1e1a34;
  }
  .is-scrolled #navHeader {
    top: 60px;
  }
}

/* navMain */
.navMain {
}

/* -- >>> styles for narrow & medium layout ----- */
@media screen and (max-width: 959px) {
  .navMain {
    border-bottom: 1px solid #dcdcdc;
    background-color: #fff;
    font-size: 14px;
  }
  .navMain .itemNav {
    margin-bottom: -1px;
    border-bottom: 1px solid #dcdcdc;
  }
  .navMainContent > .itemNav.displayNoneSp {
    display: none;
  }
  .navMain .itemNav > a {
    display: block;
  }
  .navMain .itemNav > a.js-acdnHandler::before,
  .navMain .itemNav > a.js-acdnHandler::after {
    right: 15px;
  }
  .no-touch .navMain .itemNav > a:hover {
    background-color: #f0f0f0;
    color: #c8c8c8;
  }
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .navMain .itemNav > a {
    position: relative;
    padding: 0.8em 15px;
  }
  .navMain .itemNav > a:not(.js-acdnHandler):before {
    display: block;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
    opacity: 0;
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: 0;
    width: 5px;
    background-color: #c8c8c8;
    content: "";
    -webkit-transition: all 0.6s ease-out;
    -moz-transition: all 0.6s ease-out;
    -o-transition: all 0.6s ease-out;
    transition: all 0.6s ease-out;
  }
  .no-touch .navMain .itemNav a:hover:before {
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
  }
}

/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
  .navMain .navMainContent {
    margin-right: -1px;
  }
  .navMain .itemNav {
    width: 50%;
    float: left;
    border-right: 1px solid #dcdcdc;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  /* .navMain .itemNav:nth-child(2n) { border-right: none; } */
  .navMain .itemNav > a {
    padding: 1.35em 5%;
  }
}

/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  .js-navHandler {
    display: none;
  }

  .navMain {
    font-size: 0;
    text-align: center;
    letter-spacing: -0.4em;
    word-spacing: -0.4em;
  }
  .navMainContent > .itemNav {
    display: inline-block;
    /*margin: 0 1.75em;*/
  }
  .navMainContent > .itemNav.displayNonePc {
    display: none;
  }
  .navMainContent > .itemNav > a {
    display: block;
    position: relative;
    padding: 17px 2em;
    color: #fff;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 16px;
    letter-spacing: 0.05em;
    word-spacing: 0;
  }
  .navMainContent > .itemNav > a:before {
    display: block;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
    opacity: 0;
    position: absolute;
    right: 2em;
    bottom: 0;
    left: 2em;
    height: 4px;
    background-color: rgba(255, 255, 255, 0.7);
    content: "";
    -webkit-transition: all 0.6s ease-out;
    -moz-transition: all 0.6s ease-out;
    -o-transition: all 0.6s ease-out;
    transition: all 0.6s ease-out;
  }
  .navMainContent > .itemNav:hover > a,
  .navMainContent > .itemNav > a:hover {
    /* color: #a0a0a0; */
    -webkit-transition: all 0.6s ease-out;
    -moz-transition: all 0.6s ease-out;
    -o-transition: all 0.6s ease-out;
    transition: all 0.6s ease-out;
  }
  .navMainContent > .itemNav:hover > a:before,
  .navMainContent > .itemNav > a:hover:before {
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
  }
}

/* navSub */
.navSub {
}

/* -- >>> styles for narrow & medium layout ----- */
@media screen and (max-width: 959px) {
  .navSub {
    display: none;
  }
}
/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  .navSub {
    position: absolute;
    top: 50px;
    right: 0;
    left: 0;
    z-index: 1;
    background-color: #eee;
    background-color: rgba(238, 238, 238, 0.95);
  }
}

/* navIcon */
.navIcon {
}

/* -- >>> styles for narrow & medium layout ----- */
@media screen and (max-width: 959px) {
}
/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  .navIcon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 20px 10px;
  }
  .navIcon.cf::before,
  .navIcon.cf::after {
    display: none;
  }
  .navIcon .itemNav {
    /* float: left; */
    width: 160px;
    margin: 0 10px;
  }
  .navIcon .itemNav a {
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid #fff;
    background-color: #fff;
  }

  .navIcon .itemNav .itemImage {
    flex-shrink: 0;
    overflow: hidden;
    width: 100%;
    height: 79px;
  }
  .navIcon .itemNav .itemImage img {
    width: 100%;
    height: auto;
  }

  .navIcon .itemNav .itemText {
    flex-grow: 1;
    display: grid;
    place-items: center;
    padding: calc(8 / 13 * 1em) 0 calc(2 / 13 * 1em);
    background-color: #fff;
    color: #000;
    font-size: 13px;
    font-size: 1.3rem;
    text-align: center;
    letter-spacing: 0;
    line-height: 1.4;
    word-spacing: 0;
  }
}

/* navCategory */
.navCategory {
}

/* -- >>> styles for narrow & medium layout ----- */
@media screen and (max-width: 959px) {
}
/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  .navCategory {
    float: left;
    /* width: 440px; */
    width: 545px;
    margin-bottom: -30px;
    padding: 35px 0 60px;
    text-align: left;
  }
  .navCategoryTitle {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #a0a0a0;
    color: #000;
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0;
  }
  .navCategoryTitleSub {
    margin-bottom: 10px;
    color: #000;
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0;
  }
  .navCategoryTitleSub a {
    color: inherit;
  }
  /* .navCategoryContent {
            padding-top: 25px;
          } */
  .navCategoryContent + .navCategoryTitleSub {
    margin-top: 10px;
  }
  .navCategory .itemNav {
    float: left;
    width: 180px;
    margin-bottom: 1em;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.4;
    letter-spacing: 0.075em;
    word-spacing: 0;
  }
  .navCategory .itemNav a {
    color: #000;
  }
  .navCategory .itemNav a:hover {
    color: #a0a0a0;
  }
}

/* navSeries */
.navSeries {
}

/* -- >>> styles for narrow & medium layout ----- */
@media screen and (max-width: 959px) {
}
/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  .navSeries {
    float: right;
    /* width: 455px; */
    width: 350px;
    padding: 35px 0 60px;
    text-align: left;
  }
  .navSeriesTitle {
    margin-bottom: 15px;
    color: #000;
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0;
    word-spacing: 0;
  }
  .navSeries .itemNav {
    overflow: hidden;
    float: left;
    width: 104px;
    height: 60px;
    margin: 0 10px 10px 0;
    border: 1px solid #dcdcdc;
    background-color: #fff;
    letter-spacing: 0;
    word-spacing: 0;
  }
  /* .navSeries .itemNav:nth-child(4n) { margin-right: 0; } */
  .navSeries .itemNav:nth-child(3n) {
    margin-right: 0;
  }
  .navSeries .itemNav a {
    display: block;
  }
  .navSeries .itemNav img {
    width: 100%;
    height: auto;
  }
}

/* navSubSp */
.navSubSp {
}

/* -- >>> styles for narrow & medium layout ----- */
@media screen and (max-width: 959px) {
  .navSubSp {
    background-color: #eee;
    background-color: rgba(238, 238, 238, 0.95);
  }
  .navSubSp .navSubSpList {
    padding: 0.5em 0;
  }
  .navSubSp .itemNavSub a {
    display: block;
    padding: 0.3em 15px;
  }
}
/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
  .navMain .itemNav.js-accordion {
    position: relative;
  }
  .navSubSp.js-acdnContent {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
  }
}
/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  .navSubSp {
    display: none;
  }
}

/* navGlobal */
.navGlobal {
}

/* -- >>> styles for narrow & medium layout ----- */
@media screen and (max-width: 959px) {
  .navGlobal {
    border-bottom: 1px solid #322e45;
    background-color: #1e1a34;
    font-size: 14px;
  }
  .navGlobal .l-inner {
    margin: 0;
  }
}

/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  .navGlobal {
    opacity: 1;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1;
    color: #fff;
    font-size: 11px;
    font-size: 1.1rem;
    -webkit-transition: all 0.25s ease-out;
    -moz-transition: all 0.25s ease-out;
    -o-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
  }
  .is-scrolled .navGlobal {
    filter: alpha(opacity=0);
    -ms-filter: "alpha(opacity=0)";
    -moz-opacity: 0;
    opacity: 0;
  }
}

/* navCountry */
.navCountry {
}
.navCountry .itemNav a {
  display: block;
  color: #8f8d9a;
}
.no-touch .navCountry .itemNav a:hover {
  background-color: #353149;
  color: #fff;
}
/* webkit系ブラウザで透明度を操作するとき文字がちらつく現象の対策 */
.no-touch .navCountryContent * {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* -- >>> styles for narrow & medium layout ----- */
@media screen and (max-width: 959px) {
  .navCountry {
    text-align: center;
    text-transform: uppercase;
  }
  .navCountryTitle {
    display: none;
  }
  .navCountryContent.js-dropdown {
    display: block;
  }
  .navCountryList {
    border: 1px solid #494460;
    background-color: #1b172f;
  }
  .navCountryList .itemNav {
    margin-bottom: -1px;
    border-bottom: 1px solid #494460;
  }
  .navCountry .itemNav a {
    padding-top: 0.8em;
    padding-bottom: 0.8em;
  }

  #navHandlerClose {
    border-bottom: 1px solid #3c3c3c;
    background-color: #161327;
  }
  #navHandlerClose a {
    display: block;
    height: 52px;
    background-image: url(../image/icon_close.png);
    background-position: center center;
    background-repeat: no-repeat;
    text-indent: -9999px;
  }
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .navCountry {
    padding: 15px;
  }

  #navHandlerClose a {
    height: 45px;
    background-image: url(../image/icon_close1.png);
    background-size: 16px auto;
  }
}

/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
  .navCountry {
    padding: 3%;
  }
  .navCountryList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    -webkit-align-items: stretch;
    align-items: stretch;
    -ms-flex-line-pack: stretch;
    -webkit-align-content: stretch;
    align-content: stretch;
  }
  .navCountryList .itemNav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    -ms-flex-line-pack: center;
    -webkit-align-content: center;
    align-content: center;
    width: 33%;
    border-right: 1px solid #494460;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
  }
  .touch .navCountryList .itemNav:first-child {
    margin-left: -1px;
  }
  .navCountryList .itemNav:nth-child(3n-1) {
    width: 34%;
  }
  .navCountryList .itemNav:nth-child(3n) {
    border-right: none;
  }
  .no-flexbox .navCountryList .itemNav {
    float: left;
  }
  .navCountryList .itemNav a {
    width: 100%;
    padding-right: 1em;
    padding-left: 1em;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
}

/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  .navCountry {
    position: relative;
    float: left;
    letter-spacing: 0.1em;
  }
  .navCountryTitle {
    position: relative;
    padding: 10px 0 10px 24px;
    line-height: 20px;
    cursor: pointer;
  }
  .navCountryTitle:before,
  .navCountryTitle:after {
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    content: "";
  }
  .navCountryTitle:before {
    z-index: 1;
    margin-top: -3px;
    border-top: 6px solid #fff;
  }
  .navCountryTitle:after {
    z-index: 2;
    margin-top: -4px;
    border-top: 6px solid #1e1a34;
  }
  .navCountryContent {
    top: 40px;
    right: 0;
    left: 0;
    z-index: -1;
    width: 230px;
    padding: 15px 0;
    border: 1px solid #353149;
    background-color: #1e1a34;
    text-align: center;
  }
  .navCountry .itemNav {
    text-align: left;
  }
  .navCountry .itemNav a {
    padding: 0.5em 24px;
  }
}

/* KONAYOU GARDEN (US) */
.albionUSModal {
}
.albionUSModalContent {
}

.albionUSModal .albionUSModalContent .itemTitle {
  border-bottom: 1px solid #e3e3e3;
  text-transform: none;
}

.albionUSModal .albionUSModalContent .itemContent {
  text-align: center;
}
.albionUSModal .albionUSModalContent .itemContent a {
  display: inline-block;
}

.albionUSModal .albionUSModalContent .itemContent a img {
  transition: opacity 0.3s ease-out;
}
.albionUSModal .albionUSModalContent .itemContent a:hover img {
  opacity: 0.4;
}

/* -- >>> styles for narrow & medium layout ----- */
@media screen and (max-width: 959px) {
  .albionUSModal .albionUSModalContent .itemTitle {
    font-size: 20px;
    font-size: 2rem;
    padding-bottom: 12px;
    margin-bottom: 0;
  }

  .albionUSModal .albionUSModalContent .itemContent img {
    max-width: 60%;
    height: auto;
  }
}
/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .albionUSModal .albionUSModalContent .itemContent {
    padding-bottom: 10px;
  }
}
/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
  .albionUSModal .albionUSModalContent .itemTitle {
    margin-bottom: 10px;
  }
}
/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  .albionUSModal .albionUSModalContent .itemTitle {
    font-size: 28px;
    font-size: 2.8rem;
    /* padding-bottom: 26px;
        margin-bottom: 40px; */
    padding-bottom: 20px;
    margin-bottom: 10px;
  }
}

/* KONAYOU TW */
.albionTWModal {
}

.albionTWModal .albionTWModalContent .itemTitle {
  border-bottom: 1px solid #e3e3e3;
  text-transform: none;
}
.albionTWModal .albionTWModalContent .itemContent {
  overflow: hidden;
}

/* -- >>> styles for narrow & medium layout ----- */
@media screen and (max-width: 959px) {
  .albionTWModal .albionTWModalContent .itemTitle {
    font-size: 20px;
    font-size: 2rem;
    padding-bottom: 12px;
  }
}
/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .albionTWModal .albionTWModalContent .itemTitle {
    padding-top: 10px;
  }
  .albionTWModal .albionTWModalContent .itemContent {
    padding-bottom: 10px;
  }
}
/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  .albionTWModal .albionTWModalContent .itemTitle {
    font-size: 28px;
    font-size: 2.8rem;
    padding-bottom: 20px;
  }
}

.albionTWModal .listStoreTW {
  margin-bottom: -1.4em;
}
.albionTWModal .listStoreTWItem {
  padding-block: 1.8em 1.4em;
  border-bottom: 1px solid #e3e3e3;
}
.albionTWModal .listStoreTW .itemName {
  margin-bottom: 0.5em;
  color: #000;
  font-weight: bold;
  font-size: 1.7rem;
}
.albionTWModal .listStoreTW dd + dd {
  margin-top: 0.2em;
}
/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 600px) {
  .albionTWModal .listStoreTW {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .albionTWModal .listStoreTWItem:nth-child(odd) {
    padding-inline: 0 1em;
  }
  .albionTWModal .listStoreTWItem:nth-child(even) {
    padding-inline: 1em 0;
  }
}

/* boxSocialGlobal */
.boxSocialGlobal .handlerOpen a {
  display: block;
  text-align: center;
  letter-spacing: 0.1em;
}
.no-touch .boxSocialGlobal .handlerOpen a:hover {
  background-color: #353149;
  color: #fff;
}

.boxSocialGlobal .handlerOpen a {
}
.no-touch .boxSocialGlobal .handlerOpen a:hover {
  filter: alpha(opacity=40);
  -ms-filter: "alpha(opacity=40)";
  -moz-opacity: 0.4;
  opacity: 0.4;
  background-color: transparent;
}
.boxSocialGlobal .handlerOpen .itemText {
  margin-bottom: 0.5em;
  color: #fff;
}
.boxSocialGlobal .handlerOpen .itemImage {
  font-size: 0;
  letter-spacing: -0.4em;
  word-spacing: -0.4em;
}
.boxSocialGlobal .handlerOpen .itemImage .image {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 0;
  word-spacing: 0;
}

/*.boxSocialGlobal .socialModal {
      display: none;
      position: fixed;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 20000;
      background-color: #000;
      background-color: rgba(0,0,0,.9);
      cursor: pointer;
    }*/

/*.boxSocialGlobal .socialModal .socialModalContent {
      background: #fff;
      cursor: default;
    }*/
.socialModal .socialModalContent .itemTitle {
  border-bottom: 1px solid #e3e3e3;
}
.socialModal .socialModalContent .itemBox img {
  display: inline-block;
  max-width: 100%;
  height: auto;
}
.socialModal .socialModalContent .itemBox a {
  display: inline-block;
  text-decoration: none;
}
.socialModal .socialModalContent .itemBox .itemBtn {
  float: left;
  text-align: center;
  line-height: 1.4;
}
.socialModal .socialModalContent .itemBox .itemBtn a {
  color: #000;
  text-decoration: none;
  -webkit-transition: all 0.6s ease-out;
  -moz-transition: all 0.6s ease-out;
  -o-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
}
.no-touch .socialModal .socialModalContent .itemBox .itemBtn a:hover {
  color: #a0a0a0;
}
.no-touch .socialModal .socialModalContent .itemBox .itemBtn .text img {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

.socialModal .js-modalHandler.close {
  position: absolute;
  background-position: center center;
  background-repeat: no-repeat;
  text-indent: -9999px;
}

/* -- >>> styles for narrow & medium layout ----- */
@media screen and (max-width: 959px) {
  .boxSocialGlobal .handlerOpen a {
    padding-top: 0.8em;
    padding-bottom: 0.8em;
    border: 1px solid #494460;
    color: #8f8d9a;
  }
  #navHeader .boxSocialGlobal .handlerOpen a .itemText {
    color: #8f8d9a;
  }
  .boxSocialGlobal .handlerOpen .itemImage .image + .image {
    margin-left: 10px;
  }
  .boxSocialGlobal .handlerOpen .itemImage img {
    width: 36px;
  }

  .socialModal .socialModalContent .itemTitle {
    font-size: 20px;
    font-size: 2rem;
    padding-bottom: 12px;
    margin-bottom: 20px;
  }
  .socialModal .socialModalContent .itemBox .itemBtn {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .socialModal .socialModalContent .itemBox .itemBtn img {
    width: 40px;
    height: auto;
  }
  .socialModal .socialModalContent .itemBox .itemBtn .image {
    margin-bottom: 10px;
  }
  .socialModal .socialModalContent .itemBox .itemBtn .text + .text {
    margin-top: 0.5em;
  }
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .boxSocialGlobal .handlerOpen {
    padding: 0 15px 15px;
  }
  #footer .boxSocialGlobal .handlerOpen {
    padding: 0 0 15px;
  }

  #footer .boxSocialGlobal .handlerOpen a {
    padding-top: 14px;
    padding-bottom: 10px;
    border-color: #413f4c;
  }
  #footer .boxSocialGlobal .handlerOpen .itemText {
    font-size: 16px;
    font-size: 1.6rem;
  }
  #footer .boxSocialGlobal .handlerOpen .itemImage .image + .image {
    margin-left: 20px;
  }
  #footer .boxSocialGlobal .handlerOpen .itemImage img {
    width: 36px;
  }

  .socialModal .l-inner {
    padding: 0 15px;
  }

  .socialModal .socialModalContent .itemBox .itemBtn {
    width: 38%;
    margin-left: 8%;
    margin-bottom: 25px;
  }
  .socialModal .socialModalContent .itemBox .itemBtn:nth-child(2n) {
    margin-right: 8%;
  }

  .socialModal#weibo .socialModalContent .itemTitle,
  .socialModal#wechat .socialModalContent .itemTitle {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .socialModal#weibo .socialModalContent .itemBox img,
  .socialModal#wechat .socialModalContent .itemBox img {
    width: 80px;
  }
}

/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 600px) {
  .blockSocialGlobal {
    padding-top: 50px;
    padding-bottom: 80px;
    background-color: #a0a0a0;
  }

  #footer .boxSocialGlobal .handlerOpen {
    width: 380px;
    margin: 0 auto;
  }
  #footer .boxSocialGlobal .handlerOpen a {
    padding-top: 24px;
    padding-bottom: 12px;
    border-color: #c8c8c8;
    line-height: 1.2;
  }
  #footer .boxSocialGlobal .handlerOpen .itemText {
    font-size: 18px;
    font-size: 1.8rem;
  }
  #footer .boxSocialGlobal .handlerOpen .itemImage .image + .image {
    margin-left: 15px;
  }
  #footer .boxSocialGlobal .handlerOpen .itemImage img {
    width: 48px;
  }
}

/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
  .blockSocialGlobal {
    padding-top: 4.2%;
    padding-bottom: 6.7%;
  }

  .boxSocialGlobal .handlerOpen {
    padding: 0 3% 3%;
  }
  #footer .boxSocialGlobal .handlerOpen {
    padding: 0;
  }

  .socialModal .l-inner {
    padding: 0 5%;
  }

  .socialModal .socialModalContent .itemBox .itemBtn {
    width: 15%;
    /* width: 17.5%; */
    /*width: 20.5%;*/
    /*width: 28%;*/
  }
  .socialModal .socialModalContent .itemBox .itemBtn + .itemBtn {
    margin-left: 2%;
    /* margin-left: 3.125%; */
    /*margin-left: 6%;*/
    /*margin-left: 8%;*/
  }

  .socialModal#weibo .socialModalContent .itemBox img,
  .socialModal#wechat .socialModalContent .itemBox img {
    width: 160px;
  }
}

/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  /* .boxSocialGlobal {
          float: right;
        } */
  #navHeader .boxSocialGlobal {
    display: none;
  }
  /* #footer .boxSocialGlobal {
          float: none;
        } */

  .boxSocialGlobal .handlerOpen {
    width: 100px;
    margin: 8px 0;
    margin-left: 15px;
  }
  .boxSocialGlobal .handlerOpen a {
    padding: 4px 0;
    border: 1px solid #fff;
    color: #fff;
    line-height: 14px;
  }

  .socialModal.js-modal .l-inner {
    width: 920px;
  }

  .socialModal .socialModalContent .itemTitle {
    font-size: 32px;
    font-size: 3.2rem;
    padding-bottom: 26px;
    margin-bottom: 40px;
  }
  .socialModal .socialModalContent .itemBox .itemBtn {
    width: 120px;
    /*width: 140px;*/
    /*width: 200px;*/
  }
  .socialModal .socialModalContent .itemBox .itemBtn + .itemBtn {
    /*margin-left: 40px;*/
    /* margin-left: 20px; */
    margin-left: 16px;
  }
  .socialModal .socialModalContent .itemBox .itemBtn .image {
    margin-bottom: 20px;
  }
  .socialModal .socialModalContent .itemBox .itemBtn .text + .text {
    margin-top: 1em;
  }

  .socialModal#weibo .socialModalContent .itemTitle,
  .socialModal#wechat .socialModalContent .itemTitle {
    font-size: 20px;
    font-size: 2rem;
  }
  .socialModal#weibo .socialModalContent .itemBox img,
  .socialModal#wechat .socialModalContent .itemBox img {
    width: 200px;
  }
}

/* boxSocialRegion */
.boxSocialRegion {
  font-size: 0;
  text-align: center;
  letter-spacing: -0.4em;
  word-spacing: -0.4em;
}
.boxSocialRegion .itemBtn {
  display: inline-block;
}
.boxSocialRegion .itemBtn a {
  display: block;
}
.boxSocialRegion .itemBtn a img {
  width: 100%;
  height: auto;
}

/* -- >>> styles for narrow & medium layout ----- */
@media screen and (max-width: 959px) {
  .boxSocialRegion .itemBtn {
    width: 40px;
  }
  .boxSocialRegion .itemBtn + .itemBtn {
    margin-left: 10px;
  }
  .no-touch .boxSocialRegion .itemBtn a:hover {
    filter: alpha(opacity=40);
    -ms-filter: "alpha(opacity=40)";
    -moz-opacity: 0.4;
    opacity: 0.4;
  }
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .boxSocialRegion {
    padding: 0 15px 15px;
  }
}

/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 600px) {
  #footer .boxSocialRegion {
    padding: 0;
    text-align: left;
  }
  #footer .boxSocialRegion .itemBtn {
    width: 30px;
    background: none;
  }
  #footer .boxSocialRegion .itemBtn a {
    border: none;
  }
  .no-touch #footer .boxSocialRegion .itemBtn a:hover {
    filter: alpha(opacity=60);
    -ms-filter: "alpha(opacity=60)";
    -moz-opacity: 0.6;
    opacity: 0.6;
  }
  #footer .boxSocialRegion .itemBtn.btn_facebook:first-child {
    margin-left: -10px;
  }
}

/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
  .boxSocialRegion {
    padding: 0 3% 3%;
  }
}

/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  .boxSocialRegion {
    /* float: right; */
    padding: 5px 0;
  }
  #navHeader .boxSocialRegion {
    display: none;
  }
  #footer .boxSocialRegion {
    /* float: none;
          position: absolute;
          right: 0;
          bottom: 0;
          padding-bottom: 10px;
          float: none; */
  }

  .boxSocialRegion .itemBtn {
    width: 30px;
  }
  .boxSocialRegion .itemBtn + .itemBtn {
    margin-left: 5px;
    background: center center no-repeat;
  }
  .boxSocialRegion .itemBtn.btn_twitter {
    background: url(../image/twitter_ov.png);
  }
  .boxSocialRegion .itemBtn.btn_facebook {
    background: url(../image/facebook_ov.png);
  }
  .boxSocialRegion .itemBtn.btn_instagram {
    background: url(../image/instagram_ov.png);
  }
  .boxSocialRegion .itemBtn.btn_weibo {
    background: url(../image/weibo_ov.png);
  }
  .boxSocialRegion .itemBtn.btn_wechat {
    background: url(../image/wechat_ov.png);
  }
  .boxSocialRegion .itemBtn a {
    display: block;
    border: 1px solid #8f8d9a;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    background-color: #1e1a34;
  }
  .no-touch .boxSocialRegion .itemBtn a:hover {
    filter: alpha(opacity=0);
    -ms-filter: "alpha(opacity=0)";
    -moz-opacity: 0;
    opacity: 0;
  }
}

/* [ navSide ]
  ------------------------------ */
.navSide {
}
.navSideTitle {
  line-height: 1;
}
.navSide .navItem {
  line-height: 1.3;
  letter-spacing: 0.075em;
}
.navSide .navItem a {
  color: #000;
  text-decoration: none;
  -webkit-transition: color 0.6s ease-out;
  -moz-transition: color 0.6s ease-out;
  -o-transition: color 0.6s ease-out;
  transition: color 0.6s ease-out;
}
.no-touch .navSide .navItem a:hover {
  color: #a9a9a9;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .navSideTitle {
    margin-bottom: 30px;
    font-size: 2.8rem;
    text-align: center;
  }

  .navSide {
    margin-bottom: 80px;
  }
  .navSideContent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    -webkit-align-items: stretch;
    align-items: stretch;
    -ms-flex-line-pack: stretch;
    -webkit-align-content: stretch;
    align-content: stretch;
    border: 1px solid #c8c8c8;
  }
  .navSide .navItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    -ms-flex-line-pack: center;
    -webkit-align-content: center;
    align-content: center;
    width: 50%;
    margin-bottom: -1px;
    border-bottom: 1px solid #c8c8c8;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
  }
  .touch .navSide .navItem:first-child {
    margin-left: -1px;
  }
  .navSide .navItem:nth-child(odd) {
    border-right: 1px solid #c8c8c8;
  }
  .navSide .navItem a {
    display: block;
    padding: 1em 1.25em;
    color: #666;
  }
}

/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 600px) {
  .navSideTitle {
    margin-bottom: 35px;
    font-size: 22px;
    font-size: 2.2rem;
  }
  .navSide .navItem {
    margin-bottom: 1.25em;
    font-size: 12px;
    font-size: 1.2rem;
  }
}
/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
}
/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
}

/* [ navFooter ]
  ------------------------------ */

/* navMainFooter */
.navMainFooter {
  letter-spacing: 0.075em;
}
.navMainFooterContent {
}

.navMainFooter .itemTitle {
  color: #fff;
  font-family: "HelveticaLTPro-Bold", "Helvetica Neue", Helvetica, Arial,
    sans-serif;
  font-weight: bold;
}
.navMainFooter .itemTitle a {
  color: #fff;
}
.no-touch .navMainFooter .itemTitle a:hover {
  color: #a5a3ae;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .navMainFooter {
    padding-top: 15px;
  }

  .navMainFooter .itemTitle,
  .navMainFooter .itemNav {
    margin-bottom: 1.75em;
  }
  .navMainFooter .itemTitle {
    font-size: 1.4rem;
  }
}

/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 600px) {
  .navMainFooter {
    margin: 40px 0 20px;
  }
  .navMainFooterContent {
    min-width: 120px;
  }
  .navMainFooter .itemTitle,
  .navMainFooter .itemNav {
    margin-bottom: 1.2em;
  }
}
/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
  .navMainFooter {
    display: grid;
    grid-template-columns: auto auto;
    gap: 40px;
    width: calc(100% - 200px);
  }
}
/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  .navMainFooter {
    display: flex;
    gap: 60px;
  }
}

/* navSiteFooter */
.navSiteFooter {
  display: flex;
  column-gap: 1em;
  margin-top: 1em;
}
.navSiteFooter .itemNav:not(:first-child)::before {
  padding-right: 1.2em;
  content: "|";
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .navSiteFooter {
    justify-content: center;
    flex-wrap: wrap;
    text-align: center;
  }
}
/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 443px) {
  .navSiteFooter .itemNav:nth-child(3) {
    width: 100%;
  }
  .navSiteFooter .itemNav:nth-child(3)::before {
    display: none;
  }
}

/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 600px) {
  .navSiteFooter {
    /* float: left; */
    /* width: 50%; */
    margin-top: 1em;
  }
}
/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
}
/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
}

/*
* bread crumb
* ----------------------------------
*/
.breadCrumb {
  background-color: #f2f2f2;
  color: #a0a0a0;
  margin-left: -0.5em;
  padding: 1.6em 0;
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 1.35;
}
.breadCrumb a {
  padding: 0 0.5em;
  color: #a0a0a0;
  text-decoration: none;
}
/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .breadCrumb {
    display: none;
  }
}

/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 600px) {
}
/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
}
/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
}

/*
* pagetop
* ----------------------------------
*/

.pagetop {
  display: none;
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 10;
  background-color: rgba(255, 255, 255, 0.25);
}
.pagetop.is-static {
  position: absolute;
}

.pagetop a {
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../image/pagetop.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  text-indent: -9999px;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .pagetop {
    width: 30px;
    height: 30px;
    margin: 0 15px 15px 0;
  }
}

/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 600px) {
  .pagetop {
    width: 60px;
    height: 60px;
    margin: 0 30px 30px 0;
  }
}

/*
* title
* ----------------------------------
*/
.titlePage {
  line-height: 1;
}
.titlePage.line_bottom {
  border-bottom: 1px solid #c8c8c8;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .titlePage {
    margin-bottom: 25px;
    font-size: 2.8rem;
    text-align: center;
  }
  .titlePage.line_bottom {
    margin-bottom: 20px;
    padding-bottom: 30px;
  }
}

/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 600px) {
  .titlePage {
    margin-bottom: 55px;
    font-size: 40px;
    font-size: 4rem;
  }
  .titlePage.line_bottom {
    margin-bottom: 35px;
    padding-bottom: 50px;
  }
}

/*
* button
* ----------------------------------
*/
.btn,
.btn:link,
.btn:visited,
.btn:hover,
.btn:active {
  display: inline-block;
  margin-right: auto;
  margin-left: auto;
  padding: 0.6em 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.6s ease-out;
  -moz-transition: all 0.6s ease-out;
  -o-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
}
.btn.white {
  color: #000;
  background-color: #fff;
}
.btn.white:hover {
  color: #a9a9a9;
}
.btn.black {
  color: #fff;
  background-color: #000;
}
.btn.black:hover {
  background-color: #4d4d4d;
}
.btn.gray {
  color: #000;
  background-color: #e3e3e3;
}
.btn.gray:hover {
  background-color: #eee;
  color: #a9a9a9;
}
.btn.ghost {
  color: #000;
  border: 1px solid #000;
}
.btn.ghost:hover {
  color: #919191;
  border-color: #cbcbcb;
}

.btn.small {
  padding: 0.25em 0;
  line-height: 1.5;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .btn {
    width: 100%;
  }
  .btn.small {
    width: 140px;
    font-size: 1.1rem;
  }
}

/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 600px) {
  .btn {
    width: 200px;
  }
  .btn.small {
    width: 140px;
    font-size: 12px;
    font-size: 1.2rem;
  }
}
/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
}
/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
}

/*
* banner
* ----------------------------------
*/
.banner,
.banner:link,
.banner:visited,
.banner:hover,
.banner:active {
  display: block;
  position: relative;
  padding: 10px;
  background-color: #fff;
  color: #000;
  font-size: 0;
  text-decoration: none;
  letter-spacing: -0.4em;
  word-spacing: -0.4em;
}
.banner .itemImage,
.banner .itemText {
  display: inline-block;
  vertical-align: middle;
  letter-spacing: 0.05em;
  word-spacing: 0;
}
.banner .itemImage img {
  width: 100%;
  height: auto;
}
.banner .itemText {
  font-family: "HelveticaLTPro-Bold", "Helvetica Neue", Helvetica, Arial,
    sans-serif;
  font-weight: bold;
  line-height: 1.3;
}
.banner .itemText .textCaption {
  display: inline-block;
  font-weight: normal;
  line-height: 1.2;
}

.banner:before,
.banner:after {
  display: block;
  position: absolute;
  top: 50%;
  content: "";
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .banner,
  .banner:link,
  .banner:visited,
  .banner:hover,
  .banner:active {
    border: 5px solid #f2f2f2;
  }
  .banner .itemImage {
    width: 14%;
    margin-right: 2%;
  }
  .banner .itemText {
    width: 76%;
    font-size: 1.2rem;
  }
  .banner .itemText .textCaption {
    font-size: 1rem;
  }

  .banner:before,
  .banner:after {
    margin-top: -10px;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
  }
  .banner:before {
    right: 3.5%;
    border-left: 10px solid #000;
  }
  .banner:after {
    right: 4.2%;
    right: -webkit-calc(3.5% + 2px);
    right: calc(3.5% + 2px);
    border-left: 10px solid #fff;
  }
}

/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 600px) {
  .banner,
  .banner:link,
  .banner:visited,
  .banner:hover,
  .banner:active {
    border: 10px solid #f2f2f2;
  }
  .banner .itemImage {
    width: 11%;
    margin-right: 1.5%;
  }
  .banner .itemText {
    width: 79.5%;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .banner .itemText .textCaption {
    font-size: 13px;
    font-size: 1.3rem;
  }

  .banner:before,
  .banner:after {
    margin-top: -20px;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
  }
  .banner:before {
    right: 20px;
    border-left: 20px solid #000;
  }
  .banner:after {
    right: 22px;
    border-left: 20px solid #fff;
  }
}
/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
}
/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
}

/*
* icon
* ----------------------------------
*/

/* icon-popup */
.icon-popup {
}
.icon-popup:after {
  display: inline-block;
  filter: alpha(opacity=40);
  -ms-filter: "alpha(opacity=40)";
  -moz-opacity: 0.4;
  opacity: 0.4;
  width: 8px;
  height: 8px;
  margin-left: 0.5em;
  background-position: center center;
  background-repeat: no-repeat;
  vertical-align: middle;
  content: "";
  -webkit-transition: all 0.6s ease-out;
  -moz-transition: all 0.6s ease-out;
  -o-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
}
.no-touch .icon-popup:hover:after {
  filter: alpha(opacity=100);
  -ms-filter: "alpha(opacity=100)";
  -moz-opacity: 1;
  opacity: 1;
}
/* -- >>> styles for narrow & medium layout ----- */
@media screen and (max-width: 959px) {
  .icon-popup:after {
    background-image: url(../image/icon_popup.png);
    background-size: 8px auto;
  }
}
/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  .icon-popup:after {
    background-image: url(../image/icon_popup1.png);
  }
}

/*
* text
* ----------------------------------
*/

/* error */
.text_error {
  color: #d95555;
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 1.4;
}
.text_error:before {
  display: inline-block;
  width: 1.4em;
  margin-right: 0.5em;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #d95555;
  color: #fff;
  font-size: 10px;
  font-size: 1rem;
  line-height: 1.4em;
  text-align: center;
  content: "!";
}

/* notice */
.text_notice {
  color: #a0a0a0;
  font-size: 12px;
  font-size: 1.2rem;
}

/*
 * iframe
 * ----------------------------------
 */

.iframeWrapper {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.iframeWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

/*
* sectionPickupInfoList
* ----------------------------------
*/
.sectionPickupInfoList {
}
.sectionPickupInfoList .itemPickup {
}
.sectionPickupInfoList .itemPickup a {
  display: block;
  background-color: #1e1a34;
  color: #fff;
  text-decoration: none;
  text-align: center;
}
.sectionPickupInfoList.ver2 .itemPickup a {
  background-color: transparent;
  color: #666;
}
.sectionPickupInfoList .itemPickup .image img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
.no-touch .sectionPickupInfoList.ver2 .itemPickup a .image {
  transition: all 0.6s ease-out;
}
.no-touch .sectionPickupInfoList.ver2 .itemPickup a:hover .image {
  opacity: 0.6;
}
.sectionPickupInfoList .itemPickup .text {
  padding: 0.75em 1em;
}
.sectionPickupInfoList.ver2 .itemPickup .text {
  margin-top: 1em;
  padding: 0 1.5em;
}
.sectionPickupInfoList.ver2 .itemPickup .more {
  margin-top: 1em;
}
.no-touch .sectionPickupInfoList.ver2 .itemPickup a:hover .btn.ghost {
  border-color: #1e1a34;
  background-color: #1e1a34;
  color: #fff;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .sectionPickupInfoList .itemPickup + .itemPickup {
    margin-top: 30px;
  }

  .l-inner .sectionPickupInfoList.ver2 {
    margin-right: -15px;
    margin-left: -15px;
  }
  .sectionPickupInfoList.ver2 .itemPickup .btn {
    max-width: 200px;
  }
}

/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 600px) {
  .sectionPickupInfoList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .sectionPickupInfoList .itemPickup {
    width: 50%;
    box-sizing: border-box;
  }

  .sectionPickupInfoList.ver2 .itemPickup {
    margin-top: 60px;
  }
  .sectionPickupInfoList.ver2 .itemPickup:nth-child(-n + 2) {
    margin-top: 0;
  }
}
/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
  .sectionPickupInfoList {
    margin-right: -10px;
    margin-left: -10px;
  }
  .sectionPickupInfoList .itemPickup {
    margin-top: 20px;
    padding: 0 10px;
  }
  .sectionPickupInfoList .itemPickup:nth-child(-n + 2) {
    margin-top: 0;
  }
}

/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  .sectionPickupInfoList {
    margin-right: -20px;
    margin-left: -20px;
  }
  .sectionPickupInfoList .itemPickup {
    margin-top: 40px;
    padding: 0 20px;
  }
  .sectionPickupInfoList .itemPickup:nth-child(-n + 2) {
    margin-top: 0;
  }
}

/* modal handler */
.sectionPickupInfoList.ver2 .js-modalHandler.open.movie::before,
.sectionPickupInfoList.ver2 .js-modalHandler.open.movie::after {
  display: none;
}

.sectionPickupInfoList.ver2 .js-modalHandler.open.movie .image {
  position: relative;
}

.sectionPickupInfoList.ver2 .js-modalHandler.open.movie .image::before,
.sectionPickupInfoList.ver2 .js-modalHandler.open.movie .image::after {
  display: block;
  position: absolute;
  content: "";
}

.sectionPickupInfoList.ver2 .js-modalHandler.open.movie .image::before {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}

.sectionPickupInfoList.ver2 .js-modalHandler.open.movie .image::after {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  border-top: 28px solid transparent;
  border-bottom: 28px solid transparent;
  border-left: 44px solid #fff;
  border-left: 44px solid rgba(255, 255, 255, 0.5);
}

.no-csstransforms
  .sectionPickupInfoList.ver2
  .js-modalHandler.open.movie
  .image::after {
  margin-top: -28px;
  margin-left: -22px;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .sectionPickupInfoList.ver2 .js-modalHandler.open.movie .image::after {
    border-top: 16px solid transparent;
    border-bottom: 16px solid transparent;
    border-left: 24px solid #fff;
    border-left: 24px solid rgba(255, 255, 255, 0.5);
  }
}

/*
* sectionProductList
* ----------------------------------
*/
.sectionProductList {
}
.sectionProductList .itemList {
  float: left;
}
.sectionProductList .itemList .itemListInner,
.sectionProductList .itemList .itemListInner > a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 20px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  text-decoration: none;
}
.sectionProductList .itemList[class*="icon_"] .itemListInner:before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 58px;
  height: auto;
  border: 1px solid #cdb55b;
  font-size: 11px;
  line-height: 18px;
  text-align: center;
  content: "";
}
.sectionProductList .itemList.icon_new .itemListInner:before {
  background: #cdb55b;
  color: #fff;
  content: "NEW";
}
.sectionProductList .itemList.icon_limited .itemListInner:before {
  background: #fff;
  color: #cdb55b;
  content: "LIMITED";
}
.sectionProductList .itemList .itemListInner > a {
  width: auto;
  margin: -20px;
}

.sectionProductList .itemImage {
  overflow: hidden;
  position: relative;
  margin-bottom: 20px;
  padding-top: 100%;
}
.sectionProductList .itemImage img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

.sectionProductList .itemText .textSeries {
  margin-bottom: 0.25em;
  color: #a0a0a0;
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 1;
}
.sectionProductList .itemText .textName {
  color: #000;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.075em;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .sectionProductList .itemList {
  }
}

/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
  .sectionProductList .itemList {
  }
}

/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  .sectionProductList .itemList {
  }
}

/* default */
.sectionProductList.default {
}
.sectionProductList.default .itemList .itemListInner {
  border: 1px solid #c8c8c8;
}
/* .sectionProductList.default .itemList.icon_new .itemListInner:before {
      width: 40px;
      height: 40px;
      background-image: url(../../../../src/region/common/pc/common/icon_new.png);
      background-position: left top;
      background-repeat: no-repeat;
      background-size: contain;
      content: "";
    } */
.sectionProductList.default .itemList[class*="icon_"] .itemListInner:before {
  top: -1px;
  left: -1px;
}
/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .sectionProductList.default .itemList {
  }
  /* .sectionProductList.default .itemList.icon_new .itemListInner:before {
          background-image: url(../../../../src/region/common/sp/common/icon_new.png);
        } */
}

/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
  .sectionProductList.default .itemList {
  }
}

/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  .sectionProductList.default .itemList {
  }
}

/* series */
.sectionProductList.series {
}
.sectionProductList.series .itemList {
}
.sectionProductList.series .itemList .itemListInner {
  padding-top: 30px;
}
/* .sectionProductList.series .itemList.icon_new .itemListInner:before {
      margin: 6px 5px 5px;
      padding: 0 .5em;
      border: 1px solid #cdb55b;
      background-color: #fff;
      color: #cdb55b;
      font-size: 10px;
      font-size: 1.0rem;
      content: "NEW";
    } */
.sectionProductList.series .itemList[class*="icon_"] .itemListInner:before {
  margin: 6px 5px 5px;
}
.sectionProductList.series .itemList .itemListInner > a {
  margin-top: -30px;
  padding-top: 30px;
}
/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .sectionProductList.series .itemList {
  }
}

/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
  .sectionProductList.series .itemList {
  }
}

/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  .sectionProductList.series .itemList {
  }
}

/* icon */
.sectionProductList.icon {
  font-size: 0;
  letter-spacing: -0.4em;
  word-spacing: -0.4em;
  text-align: center;
}
.sectionProductList.icon .itemList {
  display: inline-block;
  float: none;
  text-align: center;
  font-size: 1em;
  letter-spacing: 0.05em;
  word-spacing: 0;
  vertical-align: top;
}
.sectionProductList.icon .itemList .itemImage {
  margin-bottom: 5px;
}
.sectionProductList.icon .itemList .textName a {
  display: inline;
  padding: 0;
  color: #000;
  text-decoration: none;
}
/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .sectionProductList.icon .itemList .textName {
    font-size: 1.2rem;
  }
}

/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 600px) {
  .sectionProductList.icon .itemList .textName {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

/*
* Icon Product - Module
* ----------------------------------
*/
/* [ Icon Products Menu ]
  ------------------------------ */
.sectionIconMenu {
}

.sectionIconMenu .itemMenu {
}
.sectionIconMenu .itemMenu a {
  display: block;
  overflow: hidden;
  position: relative;
  padding-top: 100%;
  text-decoration: none;
}
.sectionIconMenu .itemMenu a:before {
  display: block;
  position: absolute;
  top: 10px;
  right: 10px;
  bottom: 10px;
  left: 10px;
  border: 3px solid #fff;
  content: "";
}
.sectionIconMenu .itemMenu .itemName {
  position: absolute;
  right: 10px;
  bottom: 10px;
  left: 10px;
  padding: 0.6em 0;
  background-color: #fff;
  color: #000;
  text-align: center;
}
.sectionIconMenu .itemMenu .itemImage {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  -webkit-transition: all 0.6s ease-out;
  -moz-transition: all 0.6s ease-out;
  -o-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
}
.sectionIconMenu .itemMenu .itemImage img {
  width: 100%;
  height: auto;
}

.sectionIconMenu .itemMenu a:hover .itemImage {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -o-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .sectionIconMenu {
    margin-bottom: 50px;
  }
}

/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 600px) {
  .sectionIconMenu {
    margin-bottom: 100px;
  }
  .sectionIconMenu .itemMenu {
    float: left;
    width: 20%;
  }
}

/* [ Icon Products Menu ( image only ) ]
  ------------------------------ */
.sectionIconMenuOnlyImage {
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
}
.sectionIconMenuOnlyImage .itemMenu a {
  display: block;
}
.sectionIconMenuOnlyImage .itemMenu img {
  width: 100%;
  height: auto;
}
/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
}
/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 600px) {
  .sectionIconMenuOnlyImage .sectionIconMenuContent:not(.displaySp) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
  }
  .sectionIconMenuOnlyImage .itemMenu {
    /* width: 20%; */
    width: 25%;
    width: calc(1 / 4 * 100%);
    /* width: 33.33%;
    width: calc(1 / 3 * 100%); */
  }
}

.sectionProductsIndex.sectionIconMenuOnlyImage {
  padding-top: 80px;
}
.sectionProductsIndexTitle {
  margin-bottom: 60px;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .sectionProductsIndex.sectionIconMenuOnlyImage {
    padding-top: 40px;
  }
  .sectionProductsIndexTitle {
    margin-bottom: 34px;
  }
}

/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
}

/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
}

/* [ Lead Icon Products ]
  ------------------------------ */
.articleLeadIcon {
  border-top: 1px solid #ddd;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.articleLeadIcon.ip-milk {
  background-image: url(../image/bg_milk.jpg);
}
.articleLeadIcon.ip-skicon {
  background-image: url(../image/bg_skicon.jpg);
}
.articleLeadIcon.ip-chiffon {
  background-image: url(../image/bg_chiffon.jpg);
}
.articleLeadIcon.ip-herbal {
  background-image: url(../image/bg_herbal.jpg);
}
.articleLeadIcon.ip-poudre {
  background-image: url(../image/bg_poudre.jpg);
}
.articleLeadIcon.ip-authentique {
  background-image: url(../image/bg_authentique.jpg);
}

.articleLeadIcon .ff_title {
  text-transform: none;
}

/* sectionLeadIcon */
.sectionLeadIcon {
  text-align: center;
}
.sectionLeadIcon .itemText {
  width: 80%;
  margin-right: auto;
  margin-left: auto;
  text-shadow: 0px 1px 0px #fff;
  text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.35);
  letter-spacing: 0.05em;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .articleLeadIcon {
    padding-top: 35px;
  }

  .sectionLeadIcon {
    margin-top: -20px;
    margin-bottom: 30px;
  }
  .sectionLeadIcon .itemText {
    margin-bottom: 15px;
  }
  .sectionLeadIcon .itemBtn {
    width: 150px;
    margin: 0 auto;
  }
}

/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 600px) {
  .articleLeadIcon {
    padding-top: 75px;
  }

  .sectionLeadIcon {
    margin-top: -45px;
    margin-bottom: 80px;
  }
  .sectionLeadIcon .itemText {
    margin-bottom: 30px;
  }
}

/*
* boxMovie
* ----------------------------------
*/
.boxMovie {
  position: relative;
  text-align: center;
}
.boxMovie a {
  display: block;
  color: #fff;
  text-decoration: none;
}
.boxMovie a.js-modalHandler.open.movie {
  display: block;
}
.boxMovie .js-modalHandler.open.movie::before,
.boxMovie .js-modalHandler.open.movie::after {
  display: none;
}

.boxMovieContent {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
}
.boxMovieThumb img {
  width: 100%;
  height: auto;
}
.boxMovieIconPlay {
  width: 81px;
  height: 81px;
  margin-right: auto;
  margin-bottom: 15px;
  margin-left: auto;
  background-image: url(../image/icon_play.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
.boxMovieIconPlay .text {
  display: none;
}

@media screen and (max-width: 599px) {
  .boxMovie a {
    position: relative;
    width: 100%;
    padding-top: calc(400 / 750 * 100%);
  }
  .boxMovieThumb {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .boxMovieThumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .boxMovieIconPlay {
    width: 60px;
    height: 60px;
  }
}
@media screen and (min-width: 600px) {
  .boxMovieTitle {
    font-size: 2rem;
  }
}

/*
* バナー - FInd your milk
* ----------------------------------
*/
.boxBannerFindYourMilk {
  overflow: hidden;
  position: fixed;
  right: 0;
  bottom: 120px;
  z-index: 10;
  border-top-left-radius: 999px;
  border-bottom-left-radius: 999px;
  background-color: #fff;
}
.boxBannerFindYourMilk[id="js-bannerFindYourMilk"] {
  transition: transform 0.6s ease;
}
.boxBannerFindYourMilk[id="js-bannerFindYourMilk"].is-hidden {
  transform: translateX(100%);
}

.boxBannerFindYourMilk .bannerFindYourMilk {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 0.6rem;
  padding-right: 2.8rem;
  background-color: #1c2465;
  color: #fff;
  text-decoration: none;
}
.boxBannerFindYourMilk .bannerFindYourMilk::after {
  display: block;
  position: absolute;
  right: 1.6rem;
  transform: rotate(45deg);
  width: 7px;
  height: 7px;
  margin-top: -4px;
  border: none;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  content: "";
}
.boxBannerFindYourMilk .bannerFindYourMilk .bannerFindYourMilkImage {
  flex-shrink: 0;
}
.boxBannerFindYourMilk .bannerFindYourMilk .bannerFindYourMilkText {
  max-width: 14em;
  font-size: 1.3rem;
  text-transform: uppercase;
}
@media screen and (max-width: 599px) {
  .boxBannerFindYourMilk {
    bottom: 60px !important;
  }
  .boxBannerFindYourMilk[id="js-bannerFindYourMilk"] {
    transform: translateX(0);
  }
  .boxBannerFindYourMilk[id="js-bannerFindYourMilk"].is-minify {
    transform: translateX(calc(100% - (48px + 1.2rem)));
  }
  .boxBannerFindYourMilk[id="js-bannerFindYourMilk"].is-minify
    .bannerFindYourMilk {
    pointer-events: none;
  }
}
@media screen and (min-width: 600px) {
  .boxBannerFindYourMilk.is-absolute {
    position: absolute;
  }
}

/*
* sectionAboutMenu
* ----------------------------------
*/
body[id="about"] .sectionAboutMenu,
body[id="history"] .sectionAboutMenu {
  padding-top: clamp(50px, calc(80 / 960 * 100vw), 80px);
  border-top: 1px solid #ddd;
}

/* listAboutMenu */
.listAboutMenu {
  display: flex;
}
a.listAboutMenuLink {
  display: grid;
  color: #000;
  text-decoration: none;
}
.listAboutMenuImage img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 599px) {
  .listAboutMenu {
    flex-direction: column;
    row-gap: 2px;
  }
  .listAboutMenuLink {
    grid-template-columns: 120px auto;
    align-items: center;
    background-color: #f2f2f2;
  }
  .listAboutMenuName {
    padding: 12px 16px;
  }
}
@media screen and (min-width: 600px) {
  .listAboutMenu {
    justify-content: center;
    max-width: 1280px;
    margin-inline: auto;
  }
  .listAboutMenuItem {
    width: calc(1 / 3 * 100%);
  }
  .listAboutMenuLink {
    row-gap: 16px;
    text-align: center;
  }
}

/** =2
 * ========================================
 * modules for javascript
 * ========================================
 */

/*
* PC⇔SP画像切替え
* ----------------------------------
*/
.js-switchImg,
.js-switchImgAttr {
  visibility: hidden;
}

/*
* hasLinkBox
* ----------------------------------
*/
.js-hasLinkBox {
  cursor: pointer;
}
/*.no-touch .js-hasLinkBox {
  -webkit-transition: all 0.6s ease-out;
  -moz-transition: all 0.6s ease-out;
  -o-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
}
.no-touch .js-hasLinkBox:hover {
  filter: alpha(opacity=60);
  -ms-filter: "alpha(opacity=60)";
  -moz-opacity:0.60;
  opacity:0.60;
}*/

/*
* dropdown
* ----------------------------------
*/
.js-dropdown {
}

/* -- >>> styles for narrow & medium layout ----- */
@media screen and (max-width: 959px) {
  .js-dropdown {
    display: none;
  }
}
/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  .js-dropdown {
    display: none;
    position: absolute;
  }
}

/*
* modal
* ----------------------------------
*/
.js-overlayModal {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 20000;
  width: 100%;
  height: 100%;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.8);
  cursor: pointer;
}
.js-modal {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}
.js-modal > .l-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.js-overlayModal .js-modal {
  display: block;
}

.js-modalScrollArea {
  /* overflow-y: scroll; */
  width: calc(100% + 30px);
  margin: 0 -15px;
  padding: 0 15px;
}
.js-modalScrollArea .simplebar-scrollbar:before {
  background-color: #eee;
}
.js-modalScrollArea .simplebar-track.simplebar-vertical {
  right: 0;
  width: 9px;
}
.js-modalScrollArea .simplebar-track.simplebar-horizontal {
  bottom: 0;
  height: 9px;
}

.js-modalContent {
  background-color: #fff;
  box-sizing: border-box;
  cursor: default;
}

.js-modal .handlerClose {
  position: absolute;
  background-position: center center;
  background-repeat: no-repeat;
  text-indent: -9999px;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .js-modal {
    height: 100vh;
    height: 100dvh;
  }
  .js-modalScrollArea {
    max-height: calc(90vh - 80px);
    max-height: calc(100dvh - 80px);
    margin-bottom: 10vh;
    margin-bottom: 0dvh;
  }
  .js-modalScrollArea .simplebar-track.simplebar-vertical {
    right: 5px;
    width: 7px;
  }
  .js-modalScrollArea .simplebar-track.simplebar-horizontal {
    bottom: 5px;
    height: 7px;
  }
  .js-modalContent {
    /* margin-top: 40px; */
    padding: 12px 15px 15px;
  }

  .js-modal .handlerClose {
    top: 10px;
    right: 15px;
    width: 16px;
    height: 16px;
    background-image: url(../image/icon_close1.png);
    background-size: 16px auto;
  }
}

/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
  .js-modalScrollArea {
    max-height: calc(100vh - 120px);
  }
  .js-modalContent {
    /* margin-top: 60px; */
    padding: 4% 5% 5%;
  }

  .js-modal .handlerClose {
    top: 20px;
    right: 0;
    width: 22px;
    height: 22px;
    margin-right: 3%;
    background-image: url(../image/icon_close.png);
  }
}

/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  .js-modal .l-inner {
    width: 800px;
  }
  .js-modalScrollArea {
    max-height: calc(100vh - 200px);
  }
  .js-modalContent {
    /* margin-top: 120px; */
    padding: 36px 60px 60px;
  }

  .js-modal .handlerClose {
    top: 40px;
    right: 40px;
    width: 38px;
    height: 38px;
    background-image: url(../image/icon_close2.png);
  }
}

/* movie */
.js-overlayModal .js-modal.modalMovie {
}
.js-overlayModal .js-modal.modalMovie .js-modalContent.modalMovieContent {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  padding-top: 56.25%;
}
.js-overlayModal .js-modal.modalMovie .js-modalContent.modalMovieContent iframe,
.js-overlayModal
  .js-modal.modalMovie
  .js-modalContent.modalMovieContent
  .playerYouku {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .js-overlayModal .js-modal.modalMovie .js-modalContent.modalMovieContent {
    max-width: calc((100vh - 80px) * (16 / 9));
    padding-top: min(56.25%, calc(100vh - 80px));
  }
}
/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
  .js-overlayModal .js-modal.modalMovie .js-modalContent.modalMovieContent {
    max-width: calc((100vh - 120px) * (16 / 9));
    padding-top: min(56.25%, calc(100vh - 120px));
  }
}
/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  .js-overlayModal .js-modal.modalMovie .js-modalContent.modalMovieContent {
    max-width: calc((100vh - 200px) * (16 / 9));
    padding-top: min(56.25%, calc(100vh - 200px));
  }
}

.js-modalHandler.open.movie {
  position: relative;
  display: inline-block;
}
.js-modalHandler.open.movie:before,
.js-modalHandler.open.movie:after {
  display: block;
  position: absolute;
  content: "";
}
.js-modalHandler.open.movie:before {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}
.js-modalHandler.open.movie:after {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  border-top: 36px solid transparent;
  border-bottom: 36px solid transparent;
  border-left: 56px solid #fff;
  border-left: 56px solid rgba(255, 255, 255, 0.5);
}
.no-csstransforms .js-modalHandler.open.movie:after {
  margin-top: -36px;
  margin-left: -28px;
}

.js-modalHandler.open.movie.onlyText::before,
.js-modalHandler.open.movie.onlyText::after {
  display: none;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .js-modalHandler.open.movie:after {
    border-top: 16px solid transparent;
    border-bottom: 16px solid transparent;
    border-left: 24px solid #fff;
    border-left: 24px solid rgba(255, 255, 255, 0.5);
  }
}
/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
}
/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
}

/* attention */
.js-overlayModal.overlayAttention {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9);
}
.js-overlayModal .js-modal.modalAttention {
}
.js-overlayModal .js-modal.modalAttention .handlerClose {
  display: none;
}
.js-overlayModal .js-modal.modalAttention .js-modalContent {
  -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 0 40px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.2);
}
.js-overlayModal .js-modal.modalAttention .modalAttentionContent {
  border-top: 1px solid #e3e3e3;
}
.js-overlayModal
  .js-modal.modalAttention
  .modalAttentionContent
  .boxAttentionSales
  .itemTitle {
  color: #000;
  font-family: "HelveticaLTPro-Bold", "Helvetica Neue", Helvetica, Arial,
    sans-serif;
  font-weight: bold;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .js-overlayModal .js-modal.modalAttention .modalAttentionTitle {
    font-size: 2.2rem;
  }
  .js-overlayModal .js-modal.modalAttention .modalAttentionContent {
    margin-top: 1em;
    padding-top: 1em;
  }
  .js-overlayModal
    .js-modal.modalAttention
    .modalAttentionContent
    .boxAttentionSales
    .itemTitle {
    margin-bottom: 0.5em;
  }
  .js-overlayModal .js-modal.modalAttention .modalAttentionContent .itemForm {
    margin-top: 1em;
  }
  .js-overlayModal .js-modal.modalAttention .modalAttentionContent .itemBtn {
    margin-top: 0.75em;
  }
}
/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 600px) {
  .js-overlayModal .js-modal.modalAttention .modalAttentionTitle {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .js-overlayModal .js-modal.modalAttention .modalAttentionContent {
    margin-top: 1.8em;
    padding-top: 1.8em;
  }
  .js-overlayModal
    .js-modal.modalAttention
    .modalAttentionContent
    .boxAttentionSales
    .itemTitle {
    margin-bottom: 1em;
  }
  .js-overlayModal .js-modal.modalAttention .modalAttentionContent .itemForm {
    margin-top: 2.4em;
  }
  .js-overlayModal .js-modal.modalAttention .modalAttentionContent .itemBtn {
    margin-top: 1em;
  }
}

/* promotion */
.js-overlayModal.overlayPromotion {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9);
}
.js-overlayModal .js-modal.modalPromotion {
}
.js-overlayModal .js-modal.modalPromotion .js-modalContent {
  -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 0 40px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.2);
}
.js-overlayModal .js-modal.modalPromotion .modalPromotionContent {
  border-top: 1px solid #e3e3e3;
}
.js-overlayModal .js-modal.modalPromotion .modalPromotionContent img {
  max-width: 100%;
  height: auto;
}
.js-overlayModal .js-modal.modalPromotion .boxPromotionPickup .itemText {
  color: #000;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .js-overlayModal .js-modal.modalPromotion .handlerClose {
    background-image: url(../image/icon_close_black.png);
  }
  .js-overlayModal .js-modal.modalPromotion .js-modalContent {
    padding-bottom: 35px;
  }
  .js-overlayModal .js-modal.modalPromotion .modalPromotionTitle {
    font-size: 2.4rem;
  }
  .js-overlayModal .js-modal.modalPromotion .modalPromotionContent {
    margin-top: 1em;
    padding-top: 1em;
  }
  .js-overlayModal .js-modal.modalPromotion .boxPromotionPickup .itemImage {
    margin-bottom: 1.25em;
  }
  .js-overlayModal .js-modal.modalPromotion .boxPromotionPickup .itemText {
    font-size: 1.6rem;
  }
  .js-overlayModal .js-modal.modalPromotion .boxPromotionPickup .itemBtn {
    margin-top: 1.25em;
  }
}
/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 600px) {
  .js-overlayModal .js-modal.modalPromotion .modalPromotionTitle {
    font-size: 36px;
    font-size: 3.6rem;
  }
  .js-overlayModal .js-modal.modalPromotion .modalPromotionContent {
    margin-top: 1.8em;
    padding-top: 1.8em;
  }
  .js-overlayModal .js-modal.modalPromotion .boxPromotionPickup .itemImage {
    margin-bottom: 1.5em;
  }
  .js-overlayModal .js-modal.modalPromotion .boxPromotionPickup .itemText {
    font-size: 20px;
    font-size: 2rem;
  }
  .js-overlayModal .js-modal.modalPromotion .boxPromotionPickup .itemBtn {
    margin-top: 1.5em;
  }
}
/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
  .js-overlayModal .js-modal.modalPromotion .handlerClose {
    background-image: url(../image/icon_close_black1.png);
  }
}
/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  .js-overlayModal .js-modal.modalPromotion .handlerClose {
    background-image: url(../image/icon_close_black2.png);
  }
}

/*
* accordion
* ----------------------------------
*/
.js-accordion {
}

.js-accordion .js-acdnHandler {
  position: relative;
  cursor: pointer;
}
.js-accordion .js-acdnHandler:before,
.js-accordion .js-acdnHandler:after {
  display: block;
  position: absolute;
  top: 50%;
  height: 2px;
  margin-top: -1px;
  background-color: #000;
  content: "";
}
.js-accordion .js-acdnHandler.icon-white:before,
.js-accordion .js-acdnHandler.icon-white:after {
  background-color: #fff;
}
.js-accordion .js-acdnHandler:after {
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.js-accordion.is-open .js-acdnHandler:after {
  filter: alpha(opacity=0);
  -ms-filter: "alpha(opacity=0)";
  -moz-opacity: 0;
  opacity: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
}

.js-accordion .js-acdnContent {
  display: none;
}
.js-accordion.is-open .js-acdnContent {
  display: block;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .js-accordion .js-acdnHandler:before,
  .js-accordion .js-acdnHandler:after {
    right: 5px;
    width: 16px;
  }
}

/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 600px) {
  .js-accordion .js-acdnHandler:before,
  .js-accordion .js-acdnHandler:after {
    right: 10px;
    width: 18px;
  }

  .js-accordion.only-sp .js-acdnHandler {
    cursor: auto;
  }
  .js-accordion.only-sp .js-acdnHandler:before,
  .js-accordion.only-sp .js-acdnHandler:after {
    display: none;
  }
  .js-accordion.only-sp .js-acdnContent {
    display: block !important;
  }
}

/*
* carousel (slick.js)
* ----------------------------------
*/
.slick-loading .slick-list {
  background: #fff url("../image/loader.gif")
    center center no-repeat;
}
.slick-arrow {
  display: block;
  position: absolute;
  /*top: 50%;*/
  top: 0;
  z-index: 10;
  width: 18px;
  height: 100%;
  /*margin-top: -15px;*/
  padding: 0;
  border: none;
  background: none;
  background-position: center center;
  background-repeat: no-repeat;
  text-indent: -9999px;
  outline: none;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.no-touch .slick-slider .slick-arrow:hover {
  background-color: rgba(255, 255, 255, 0.35);
}
.slick-arrow.slick-prev {
  left: 0;
  background-image: url(../image/arrow-left.png);
}
.slick-arrow.slick-next {
  right: 0;
  background-image: url(../image/arrow-right.png);
}
.slick-arrow.slick-disabled,
.slick-arrow.slick-disabled:hover {
  filter: alpha(opacity=20);
  opacity: 0.2;
}
/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .slick-arrow {
    width: 12px;
    /*margin-top: -10px;*/
    background-size: 12px auto;
  }
}

/* slider */
.js-slider {
}
.js-slider .slick-arrow.slick-prev {
  left: 0;
}
.js-slider .slick-arrow.slick-next {
  right: 0;
}
.js-slider .slick-dots {
  display: block;
  position: static;
  width: 100%;
  padding: 0;
  list-style: none;
  text-align: center;
}
.js-slider .slick-dots li {
  display: inline-block;
  /*width: 0;
    height: 0;*/
  vertical-align: middle;
}
.js-slider .slick-dots li button {
  display: block;
  position: relative;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 0;
  line-height: 0;
  text-indent: -9999px;
  outline: none;
  cursor: pointer;
}
.js-slider .slick-dots li button:after {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #aaa;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  content: "";
}
.js-slider .slick-dots li button:hover:after,
.js-slider .slick-dots li button:focus:after {
  border-color: #c8c8c8;
}
.js-slider .slick-dots li.slick-active button:after {
  border-color: #000;
}

/* -- >>> styles for narrow layout ----- */
@media screen and (max-width: 599px) {
  .js-slider {
    margin-bottom: 30px;
  }
  .js-slider .slick-arrow {
    width: 32px;
    height: -webkit-calc(100% - 30px);
    height: calc(100% - 30px);
  }
  .js-slider .slick-dots {
    height: 30px;
    line-height: 20px;
  }
  .js-slider .slick-dots li {
    margin-top: 5px;
  }
  .js-slider .slick-dots li button {
    width: 20px;
    height: 20px;
  }
  .js-slider .slick-dots li button:after {
    margin-top: -4px;
    margin-left: -4px;
    border-width: 4px;
  }
}

/* -- >>> styles for medium & wide layout ----- */
@media screen and (min-width: 600px) {
  .js-slider {
    margin-bottom: 60px;
  }
  .js-slider .slick-arrow {
    width: 58px;
    height: -webkit-calc(100% - 60px);
    height: calc(100% - 60px);
  }
  .js-slider .slick-dots {
    height: 60px;
    line-height: 28px;
  }
  .js-slider .slick-dots li {
    margin-top: 16px;
  }
  .js-slider .slick-dots li button {
    width: 28px;
    height: 28px;
  }
  .js-slider .slick-dots li button:after {
    margin-top: -6px;
    margin-left: -6px;
    border-width: 6px;
  }
}

/* carousel */
.js-carousel {
}
.js-carousel.slick-slider .slick-track {
  margin-right: auto;
  margin-left: auto;
}
.js-carousel.slick-slider .slick-slide {
  padding-bottom: 1px;
}
/* -- >>> styles for medium layout ----- */
@media screen and (min-width: 600px) and (max-width: 959px) {
  .js-carousel .slick-arrow {
    display: none;
  }
  /*.js-carousel .slick-arrow.slick-prev { left: -15px; }
      .js-carousel .slick-arrow.slick-next { right: -15px; }*/
}
/* -- >>> styles for wide layout ----- */
@media screen and (min-width: 960px) {
  .js-carousel .slick-arrow.slick-prev {
    left: -40px;
  }
  .js-carousel .slick-arrow.slick-next {
    right: -40px;
  }
}
