@charset "utf-8";
/*---------------------------
  0.common
  1.header
  2.footer
  3.front
  4.page
  5.blog
---------------------------*/

/*-------------------------

  common

-------------------------*/

html {scroll-behavior: smooth;}

body {

  font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;

  line-height: 1.65;

  overflow-x: hidden;

  color: #000;

}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {

  color: #000;

  line-height: 1.4;

}

a {text-decoration: none; color: #000;}

a:hover {text-decoration: none;opacity: .7; color: #000; transition: .3s;}

ul,li {list-style-type: none;}

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

th,td {padding: 5px;}

p {font-size: 14px;}

.lead {

  margin-bottom: 15px;

  line-height: 1.65;

  color: #000;

}



.videowrap {

  position: relative;

  width: 100%;

  padding-top: 56.25%;

}



.videowrap video {

  position: absolute;

  top: 0px;

  left: 0px;

  width: 100%;

  height: 100%;

}



.pagetop {

  cursor: pointer;

  position: fixed;

  right: 20px;

  bottom: 20px;

  width: 45px;

  height: 45px;

  background: url(../img/common/icon-pagetop.svg) no-repeat;

  background-size: contain;

  background-color: #fff;

  border-radius: 50%;

  opacity: 0;

  visibility: hidden;

}



.mailicon {

  cursor: pointer;

  position: fixed;

  right: 20px;

  bottom: 70px;

  width: 45px;

  height: 45px;

  border-radius: 50%;

  opacity: 0;

  visibility: hidden;

}



.pagetop.active,

.mailicon.active{

opacity: 1;

visibility: visible;

}



.pagetop.absolute,

.mailicon.absolute{

position: absolute;

}



.btn {

  margin: 30px 0 0;

  padding: 0;

  text-align: center;

}



.btn a {

  display: inline-block;

  position: relative;

  padding: 15px 30px 15px 30px;

  border: 1px solid #bdbdbd;

  font-size: 14px;

  font-weight: bold;

}



.btn a::after {

  display: inline-block;

  content: '';

  position: absolute;

  top: 50%;

  right: 5%;

  transform: translateY(-50%);

  -webkit-transform: translateY(-50%);

  -ms-transform: translateY(-50%);

  width: 10px;

  height: 10px;

  margin-top: -5px;

  border-top: 2px solid #F4185A;

  border-left: 2px solid #F4185A;

  transform: rotate(135deg);

}



.pinkbtn {

  position: relative;

  display: block;

  width: 240px;

  margin: 30px auto 0;

  padding: 10px 30px;

  border-radius: 30px;

  background: #F4185A;

  color: #fff;

  text-align: center;

}



.pinkbtn::after {

  content:'';

  position: absolute;

  top: 50%;

  right: 10%;

  transform: translateY(-50%);

  -webkit-transform: translateY(-50%);

  -ms-transform: translateY(-50%);

  width: 10px;

  height: 10px;

  margin-top: -5px;

  border-top: 2px solid #fff;

  border-left: 2px solid #fff;

  transform: rotate(135deg);

}



.pinkbtn:hover {

  color: #fff;

  opacity: .7;

  transition: .3s;

}



.fw-b {font-weight: bold;}

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

.red {color: #ff0000;}



/* overlay

-------------------------*/

.overlay {

  display: none;

  width: 100%;

  height: 100%;

  background: rgba(0, 0, 0, 0.8);

  position: fixed;

  z-index: 1001;

}



.overlay h1 {

  text-align: center;

}



.overlay .btn_area {

  position: absolute;

  top: 50%;

  left: 50%;

  transform: translate(-50%, -50%);

  -webkit-transform: translate(-50%, -50%);

  -ms-transform: translate(-50%, -50%);

  max-width: 600px;

  width: 90%;

  padding: 20px;

  background-color: #fff;

  text-align: center;

  z-index: 1002;

}



.overlay .alert {

  font-weight: bold;

}



.overlay .btn-box {

  display: flex;

  justify-content: center;

  gap: 15px;

  text-align: center;

  font-weight: bold;

}



.overlay .btn-box button {

  background: #ee2737;

  border: none;

  outline: none;

  -webkit-appearance: none;

  -moz-appearance: none;

  appearance: none;

  min-width: 100px;

  margin: 0;

  padding: 10px;

  color: #fff;

}



.overlay .btn-box a {

  min-width: 100px;

  padding: 10px;

  border: 2px solid #666;

  color: #666;

}



/*-------------------------

  header

-------------------------*/

.ec-itemNav__nav li.has-child ul {

  display: none !important;

}



.ec-itemNav__nav li.has-child.open ul {

  display: block !important;

}



.ec-itemNav__nav li > a {

  position: relative;

  display: block;

  padding-right: 1.5em;

}



.ec-itemNav__nav li:not(.has-child) > a::after,

.ec-itemNav__nav li.has-child ul li > a::after {

  content: '＞';

  position: absolute;

  right: 1em;

  top: 50%;

  transform: translateY(-50%);

  font-size: 13px;

  color: #999;

}



.ec-itemNav__nav > li.has-child > a::after {

  content: '+';

  float: right;

  font-size: 1.2em;

  font-weight: bold;

  margin-left: 8px;

  transition: content 0.2s;

}



.ec-itemNav__nav > li.has-child.open > a::after {

  content: '−';

}



.ec-itemNav__nav li a,

.ec-itemNav__nav li ul li a {

  font-size: 15px;

}



.header .header__head {

  display: flex;

  align-items: center;

  padding: 10px 15px;

  background: #F4185A;

  color: #fff;

}



.header__head .description {

  font-size: 12px;

}



.header__head .header-nav_list {

  display: flex;

  margin: 0 0 0 auto;

  font-size: 11px;

}



.header__head .nav-item a {

  color: #fff;

}



.header__head .nav-item:first-child a {

  padding-right: 7px;

}



.header__head .nav-item:last-child a {

  padding-left: 7px;

}



.header__head .nav-item.pc {

  display: none;

}



.header__nav {

  display: flex;

  flex-wrap: wrap;

  align-items: center;

  padding: 5px 15px;

}



.header__nav .header__logo {

  max-width: 160px;

}



.header__nav .header__desc {

  order: 2;

  width: 100%;

}



.header__nav .header__desc .large {

  font-size: 16px;

}



.header__nav .header__desc p {

  font-size: 12px;

}



@media (min-width: 960px) {

  .header__nav {

    flex-wrap: nowrap;

  }

  .header__nav .header__logo {

      margin-right: 15px;

  }

  .header__nav .header__desc {

    order: initial;

    width: initial;

  }

}



.header__nav .header-sp_list {

  display: flex;

  align-items: center;

  gap: 5px;

  margin: 0 0 0 auto;

  padding: 10px 0 0;

}



.header-sp_list .nav-item {

  display: flex;

  flex-direction: column;

  align-items: center;

  width: 50px;

  height: 45px;

}



.header-sp_list .nav-item .text {

  display: block;

  margin-top: auto;

  font-size:11px;

}



.header-sp_list .nav-item.cart .ec-cartNavi {

  padding:0;

  color: #f6125c;

}



.header-sp_list .ec-headerNaviRole {

  padding: 0;

}



.header-sp_list .ec-headerNaviRole__left {

  width: initial;

}



.header-sp_list .ec-headerNavSP {

  position: initial;

  left: initial;

  padding: 0;

  width: initial;

  height: initial;

  background: none;

  color: #f6125c;

}



.header-sp_list .ec-headerNaviRole .fa-bars {

  position: initial;

  transform: initial;

}



.ec-cartNavi .ec-cartNavi__badge {

  background:#f6125c;

  color: #fff;

}



.ec-cartNavi .ec-cartNavi__icon {

  color: #f6125c;

}



/* drawer-open

-------------------------*/

.drawer-open .header .drawer-hamburger {

  position: fixed;

  top: 30px;

  left: 60px;

  height: 35px;

  width: 35px;

  padding: 5px;

  background: #fff;

  border-radius: 50%;

}



.drawer-open .header .drawer-hamburger-icon {

  margin-top: 0;

}



.drawer-open .header .drawer-hamburger-icon:after,

.drawer-open .header .drawer-hamburger-icon:before {

  width: 50%;

  height: 3px;

  left: 9px;  background: #000;

}



.header .drawer-hamburger {

  position: initial;

  width: 20px;

  padding: 0;

}



.drawer-hamburger-icon:before {

  top: -7px;

}



.drawer-hamburger-icon:after {

  top: 7px;

}



.header .drawer-menu {

  padding-bottom: 40px;

}



.header .drawer-menu_logo img {

    margin: 10px auto;

}



.header .drawer-menu_tel {

  padding: 0 10px;

}



.header .drawer-menu_mail {

  padding: 10px;

}



.header .drawer-menu_mail .btn {

  margin: 0;

}



.header .drawer-menu_mail .btn a {

    width: 100%;

}



.ec-headerSearch .ec-headerSearch__keyword {

  min-width: 200px;

  background: #fff;

  border-radius: 10px;

}



.ec-headerSearch .ec-headerSearch__keyword input[type="search"] {

  border-radius: 10px;

}



.header .header-search {

  padding: 15px 10px;

}



.header .header-search_select {

  position: relative;

}



.header .header-search_select select {

  appearance: none;

  width: 100%;

  padding: 5px 10px;

  background: #000;

  color: #fff;

}



.header .header-search_select select::-ms-expand {

  display: none;

}



.header .header-search_select::after {

  border-left: 6px solid transparent;

  border-right: 6px solid transparent;

  border-top: 8px solid #fff;

  content: "";

  position: absolute;

  top: 50%;

  right: 15px;

  transform: translateY(-50%);

  -webkit-transform: translateY(-50%);

  -ms-transform: translateY(-50%);

  width: 0;

}



.header .header-search_keyword {

  position: relative;

}



.header .header-search_keyword input {

  width: 100%;

  padding: 5px 10px;

  border: 1px solid #333;

  border-top: none;

}



.header .header-search_keyword button {

  position: absolute;

  top: 50%;

  right: 5px;

  transform: translateY(-50%);

  -webkit-transform: translateY(-50%);

  -ms-transform: translateY(-50%);

  background: none;

  border: none;

  margin-top: -2px;

}



.header .header-search_keyword .icon {

  width:  20px;

  height: 20px;

}



.drawer-open .drawer-nav {

  z-index:9999;

  min-width: 260px;

  overflow: visible;

}



.drawer-open .drawer-nav_list {

  padding: 0;

}



.drawer-open .drawer-item.logo {

  padding: 20px 10px;

  text-align: center;

}



.drawer-open .drawer-item.tel {

  padding: 0 10px;

}



.drawer-open .drawer-item.tel .info {

  margin-bottom: 10px;

}



.drawer-open .drawer-item.mail .btn {

  margin-top: 15px;

}



.drawer-open .drawer-item.search {

  padding: 10px;

}



.drawer-open .drawer-item.search .ec-headerSearch__keyword {

  background: #fff;

  border: 1px solid #f5f5f5;

  border-radius: 5px;

}



.drawer-open .drawer-item.dropdown,

.drawer-open .drawer-item.page {

  background: #000;

}



.drawer-open .drawer-item.dropdown a,

.drawer-open .drawer-item.page a {

  position: relative;

  display: block;

  padding: 10px 20px;

  color: #fff;

  font-weight: bold;

  border-bottom: 1px solid #ccc;

}



.drawer-open .drawer-item,

.drawer-open .drawer-item .header-nav_list_child li {

  position: relative;

}



.drawer-open .drawer-item::after,

.drawer-open .drawer-item .header-nav_list_child li::after {

  display: inline-block;

  content: '';

  position: absolute;

  top: 50%;

  right: 5%;

  transform: translateY(-50%);

  -webkit-transform: translateY(-50%);

  -ms-transform: translateY(-50%);

  background: url(../img/common/icon-arrow-right_white.svg) no-repeat;

  width: 27px;

  height: 27px;

  background-size: contain;

  pointer-events: none;

}



.drawer-open .drawer-item.dropdown:has(ul) > a {

  pointer-events: none;

}



.drawer-open .drawer-item.dropdown:has(ul) {

  position: relative;

}



.drawer-open .drawer-item.dropdown:has(ul)::before,

.drawer-open .drawer-item.dropdown:has(ul)::after {

  content: '';

  display: block;

  position: absolute;

  top: 22px;

  right: 20px;

  width: 15px;

  height: 2px;

  background: none;

  border-radius: 5px;

  background: #fff;

  transition: 0.5s;

}



.drawer-open .drawer-item.dropdown:has(ul)::after {

  transform: rotate(90deg);

}



.drawer-open .drawer-item.dropdown:has(ul).active {

  background: #F4185A;

}



.drawer-open .drawer-item.dropdown:has(ul).active::after {

  transform: rotate(0deg);

  transition: 0.5s;

}



.drawer-open .drawer-item.dropdown:has(ul).active ul {

  background: #535553;

}



.drawer-open .drawer-item.dropdown > ul {

  display: none;

}



.drawer-open .drawer-item.dropdown.active > ul {

  display: block;

  padding: 0;

}



.ec-drawerRole {

  background: #fff;

}



.ec-drawerRole .logo {

  text-align: center;

}



.ec-drawerRole .section-contact__wrap{

  padding:10px 15px 0;

}



.ec-drawerRole .btn {

  display: block;

  margin: 0 auto 20px;

}



.header-pc_list.pc,

.header__pc-nav {

  display: none;

}

@media (min-width: 768px) {
  .header-nav_list_child li > a{
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }

  .header-nav_list_child li[class*="nav-item--cat"] > a::before{
    content:"";
    width:20px;
    height:20px;
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
    display:block;
    flex-shrink:0;
  }

  .nav-item--cat11  > a::before{ background-image:url(../img/header/logo-artdoll.jpg); }
  .nav-item--cat18  > a::before{ background-image:url(../img/header/logo-axbdoll.jpg); }
  .nav-item--cat704 > a::before{ background-image:url(../img/header/logo-fanreal.jpg); }
  .nav-item--cat17 > a::before{ background-image:url(../img/header/logo-fudoll.jpg); }
  .nav-item--cat1321 > a::before{ background-image:url(../img/header/logo-gamelady.jpg); }
  .nav-item--cat15 > a::before{ background-image:url(../img/header/logo-ildoll.jpg); }
  .nav-item--cat834 > a::before{ background-image:url(../img/header/logo-jcute.jpg); }
  .nav-item--cat23 > a::before{ background-image:url(../img/header/logo-jydoll.jpg); }
  .nav-item--cat22 > a::before{ background-image:url(../img/header/logo-mozudoll.jpg); }
  .nav-item--cat58 > a::before{ background-image:url(../img/header/logo-mzrdoll.jpg); }
  .nav-item--cat26 > a::before{ background-image:url(../img/header/logo-piperdoll.jpg); }
  .nav-item--cat19 > a::before{ background-image:url(../img/header/logo-realgirl.jpg); }
  .nav-item--cat10 > a::before{ background-image:url(../img/header/logo-rzrdoll.jpg); }
  .nav-item--cat12 > a::before{ background-image:url(../img/header/logo-sanhuidoll.jpg); }

  .nav-item--cat1835 > a::before{ background-image:url(../img/header/logo-ajldoll.webp); }
  .nav-item--cat1410 > a::before{ background-image:url(../img/header/logo-angel-kiss.webp); }
  .nav-item--cat427 > a::before{ background-image:url(../img/header/logo-autome.webp); }
  .nav-item--cat682 > a::before{ background-image:url(../img/header/logo-bbdoll.webp); }
  .nav-item--cat441  > a::before{ background-image:url(../img/header/logo-bezlya-doll.webp); }
  .nav-item--cat697 > a::before{ background-image:url(../img/header/logoo-cosdoll.webp); }
  .nav-item--cat1029 > a::before{ background-image:url(../img/header/logo-doll-senior.webp); }
  .nav-item--cat529 > a::before{ background-image:url(../img/header/logo-domdoll.webp); }
  .nav-item--cat1121 > a::before{ background-image:url(../img/header/logo-elsababe.webp); }
  .nav-item--cat1575 > a::before{ background-image:url(../img/header/logo-evas-doll.webp); }
  .nav-item--cat1401 > a::before{ background-image:url(../img/header/logo-exdoll.webp); }
  .nav-item--cat9 > a::before{ background-image:url(../img/header/logo-gdsino.webp); }
  .nav-item--cat1246 > a::before{ background-image:url(../img/header/logo-guavadoll.webp); }
  .nav-item--cat1208 > a::before{ background-image:url(../img/header/logo-houyu-doll.webp); }
  .nav-item--cat1703 > a::before{ background-image:url(../img/header/logo-hrdoll.webp); }
  .nav-item--cat1776 > a::before{ background-image:url(../img/header/logo-hsdoll.webp); }  
  .nav-item--cat27 > a::before{ background-image:url(../img/header/logo-irokebijin.webp); }
  .nav-item--cat28 > a::before{ background-image:url(../img/header/logo-irontechdoll.webp); }
  .nav-item--cat1751 > a::before{ background-image:url(../img/header/logo-jsldoll.webp); }
  .nav-item--cat24 > a::before{ background-image:url(../img/header/logo-jiusheng-doll.webp); }
  .nav-item--cat1369 > a::before{ background-image:url(../img/header/logo-lacedoll.webp); }
  .nav-item--cat1884 > a::before{ background-image:url(../img/header/logo-lusandydoll.webp); }
  .nav-item--cat1791 > a::before{ background-image:url(../img/header/logo-md-doll.webp); }
  .nav-item--cat578 > a::before{ background-image:url(../img/header/logo-mini-doll.webp); }
  .nav-item--cat1475 > a::before{ background-image:url(../img/header/logo-mmx-doll.webp); }
  .nav-item--cat1850 > a::before{ background-image:url(../img/header/logo-mrl-dolls.webp); }
  .nav-item--cat20 > a::before{ background-image:url(../img/header/logo-myloliwaifu.webp); }
  .nav-item--cat1536 > a::before{ background-image:url(../img/header/logo-mw-girl.webp); }
  .nav-item--cat1486 > a::before{ background-image:url(../img/header/logo-otaku-doll.webp); }
  .nav-item--cat16 > a::before{ background-image:url(../img/header/logo-only-love.webp); }
  .nav-item--cat812 > a::before{ background-image:url(../img/header/logo-orange-in-lovedoll.webp); }
  .nav-item--cat26 > a::before{ background-image:url(../img/header/logo-piper-doll.webp); }
  .nav-item--cat32 > a::before{ background-image:url(../img/header/logo-qita.webp); }
  .nav-item--cat830 > a::before{ background-image:url(../img/header/logo-reallady.webp); }
  .nav-item--cat657 > a::before{ background-image:url(../img/header/logo-sanmudoll.webp); }
  .nav-item--cat31 > a::before{ background-image:url(../img/header/logo-sedoll.webp); }
  .nav-item--cat520 > a::before{ background-image:url(../img/header/logo-shedoll.webp); }
  .nav-item--cat25 > a::before{ background-image:url(../img/header/logo-silikodoll.webp); }
  .nav-item--cat8 > a::before{ background-image:url(../img/header/logo-sino-doll.webp); }
  .nav-item--cat29 > a::before{ background-image:url(../img/header/logo-starpery.webp); }
  .nav-item--cat1845 > a::before{ background-image:url(../img/header/logo-sydoll.webp); }
  .nav-item--cat1257 > a::before{ background-image:url(../img/header/logo-tantaly.webp); }
  .nav-item--cat1493 > a::before{ background-image:url(../img/header/logo-cydoll.webp); }
  .nav-item--cat7 > a::before{ background-image:url(../img/header/logo-top-sino.webp); }
  .nav-item--cat14 > a::before{ background-image:url(../img/header/logo-trueidols.webp); }
  .nav-item--cat21 > a::before{ background-image:url(../img/header/logo-waxdoll.webp); }
  .nav-item--cat92 > a::before{ background-image:url(../img/header/logo-wmdoll.webp); }
  .nav-item--cat13 > a::before{ background-image:url(../img/header/logo-wmdoll.webp); }
  .nav-item--cat1824 > a::before{ background-image:url(../img/header/logo-wtdoll.webp); }
  .nav-item--cat800 > a::before{ background-image:url(../img/header/logo-xtdoll.webp); }
  .nav-item--cat690 > a::before{ background-image:url(../img/header/logo-xydoll.webp); }
  .nav-item--cat742 > a::before{ background-image:url(../img/header/logo-yearndoll.webp); }
  .nav-item--cat1739 > a::before{ background-image:url(../img/header/logo-yfdoll.webp); }
  .nav-item--cat1302 > a::before{ background-image:url(../img/header/logo-yue-doll.webp); }
  .nav-item--cat964 > a::before{ background-image:url(../img/header/logo-zelex.webp); }
  .nav-item--cat1812 > a::before{ background-image:url(../img/header/logo-zucki.webp); }
  .nav-item--cat1233 > a::before{ background-image:url(../img/header/logo-jingu-hakoniwa.webp); }
  .nav-item--cat1227 > a::before{ background-image:url(../img/header/logo-bqdoll.webp); }
  .nav-item--cat923 > a::before{ background-image:url(../img/header/logo-firefly-diary-doll.webp); }
  .nav-item--cat1345 > a::before{ background-image:url(../img/header/logo-white-rabbit.webp); }
}

/*-------------------------

  footer

-------------------------*/

.footer {

  margin: 15px 0 0;

  background: #f8f8f8;

}

.footer-in {

  max-width: 1280px;

  margin: 0 auto;

  padding: 30px 15px 0;

}

.footer .footer-logo {

    max-width: 200px;

    margin: 0 auto 10px;

}

.footer .footer-sns__list {

  display: flex;

  justify-content: center;

  padding: 0;

}

.footer .footer-sns__listitem a {

  display: inline-block;

  width: 35px;

  height: 35px;

}

.footer .footer-link__dl:first-child {

  margin:0;

}

.footer .footer-link__dl {

  margin: 30px 0 0;

}

.footer .footer-link__dl dt {

  font-weight: bold;

}

.footer .footer-link__dl .menu li {

  position: relative;

  margin: 10px 0;

  font-size: 14px;

}

.footer .footer-link__dl .menu li::before {

  display: inline-block;

  content: '';

  position: absolute;

  top: 50%;

  left: -20px;

  transform: translateY(-50%);

  -webkit-transform: translateY(-50%);

  -ms-transform: translateY(-50%);

  width: 6px;

  height: 6px;

  margin-top: -3px;

  border-top: 2px solid #ccc;

  border-left: 2px solid #ccc;

  transform: rotate(135deg);

}

.footer .copyright {

  display: block;

  width: 100vw;

  margin: 40px calc(-50vw + 50%) 0;

  padding: 10px 10px;

  background: #f5155b;

  color: #fff;

  text-align: center;

}



/*-------------------------

  front

-------------------------*/

.front_page .ec-layoutRole__mainBottom {

  padding: 0 15px;

}

.top-section,

.section-contact {

  padding-top: 40px;

}

.section-contact {

  padding-bottom: 60px;

}

.top-section.top-campaign {

  padding-top: 20px;

}



/* slick-main-visual

-------------------------*/

.main-visual-wrap .main-visual {

  padding: 0;

}

.main-visual .slick-img img {

  max-width: 100%;

  max-height: 100%;

  width: 100%;

  margin: auto;

  object-fit: cover;

}

.main-visual .slick-arrow::before {

  content: '';

  display: block;

  width: 12px;

  height: 12px;

  border: 1px solid #09000d;

  border-width: 3px 3px 0 0;

  position: absolute;

  top: 24px;

  transform: rotate(45deg);

}

.main-visual .slick-next {

  right: 0;

}

.main-visual .slick-prev {

  left: 0;

}

.main-visual .slick-next::before {

  left: 20px;

}

.main-visual .slick-prev::before {

  border-width: 0 0 3px 3px;

  right: 22px;

}

.main-visual .slick-dots {

  padding-top: 10px;

  text-align: center;

}

.main-visual .slick-dots li {

  display: inline-block;

}

.main-visual .slick-dots button {

  display: block;

  width: 10px;

  height: 10px;

  margin: 6px;

  font-size: 0;

  padding: 0;

  border: 0;

  outline: none;

  cursor: pointer;

  background: #bcbcbc;

  border-radius: 50%;

}

.main-visual .slick-active button {

  background: #F4185A;

}

.slick-dots {

  margin: 0;

  padding: 30px 0 0;

}



/* slick-certificate

-------------------------*/

.certificate .slick-track {

  display: flex;

  align-items: center;

}

.top-brand .slick-dots,

.top-certificate .slick-dots {

  position: relative;

  z-index: 3;

  margin: -20px auto;

  text-align: center;

}

.top-brand .slick-dots li,

.top-certificate .slick-dots li {

  display: inline-block;

  margin: 0 5px;

}

.top-brand .slick-dots button,

.top-certificate .slick-dots button {

  padding: 0;

  color: transparent;

  outline: none;

  width: 40px;

  border: unset;

  height: 4px;

  display: block;

  background: #ccc;

  cursor: pointer;

}

.top-brand .slick-active button,

.top-certificate .slick-active button {

  background: #F4185A;

}

.top-section__brandlist {

  padding: 0;

}



/* 

-------------------------*/

.top-section__heading {

  display: flex;

  align-items: center;

  margin: 40px 0 20px;

}

.top-section__heading.col-2 .heading {

  width: 70%;

  margin: 0;

  font-size: 22px;

}

.top-section__heading.col-2 .more {

  margin: 0 0 0 auto;

  text-align: right;

}

.top-section__heading.col-2 .more a {

  position: relative;

  padding: 4px 10px 4px 25px;

  background: #f5155b;

  border-radius: 10px;

  color: #fff;

  font-size: 12px;

}

.top-section__heading.col-2 .more a::before {

  display: block;

  content: "";

  position: absolute;

  top: 50%;

  left: 0px;

  transform: translateY(-50%);

  -webkit-transform: translateY(-50%);

  -ms-transform: translateY(-50%);

  width: 25px;

  height: 25px;

  background: url(../img/common/icon-arrow-right_white.svg) no-repeat;

  background-size: contain;

}

.top-section__heading.col-1 {

  justify-content: center;

  text-align: center;

}

.top-section__listItem {

  display:flex;

  flex-direction: column;

  gap: 15px;

}

.top-section__listItem .article-item {

  border: 1px solid #f1f1f1;

}

.top-section__listItem .article-item__link {

  display: flex;

  height: 100%;

}

.top-section__listItem .article-item__img {

  position: relative;

  max-width: 40%;

  min-width: 140px;

  height: 280px;

}

.top-section__listItem .article-item__img .no {

  position: absolute;

  top: 8px;

  left: 8px;

  width: 24px;

  height: 24px;

  background: #fff;

  border-radius: 50%;

  text-align: center;

  font-family: Century;

}

.top-section__listItem .article-item__img .no.no-1 {background:#D6AD44;color:#fff;}

.top-section__listItem .article-item__img .no.no-2 {background:#677991;color:#fff;}

.top-section__listItem .article-item__img .no.no-3 {background:#874B43;color:#fff;}

.top-section__listItem .article-item__img .no.no-4 {background:#fff;color:#000;}

.top-section__listItem .article-item__img .no.no-5 {background:#fff;color:#000;}

.top-section__listItem .article-item__img img {

  height:100%;

  object-fit: cover;

}

.top-section__listItem .article-item__detail {

  display: flex;

  flex-direction: column;

  width: calc(100% - 140px);

  padding: 10px;

}

.top-section__listItem .article-item__detail .label {

  align-self: flex-start;

  padding: 5px 10px;

  background: #ff1b1b;

  color: #fff;

  font-size: 12px;

  font-weight: bold;

}

.top-section__listItem .article-item__detail .heading {

  margin: 10px 0 5px;

  font-weight: normal;

  font-size: 18px;

  font-weight: bold;

}

.top-section__listItem .article-item__detail .spec {

  font-size: 11px;

}

.top-section__listItem .article-item__detail .price {

  margin: 10px 0;

}

.top-section__listItem .article-item__detail .price-new {

  color: #ff1b1b;

  font-size:20px;

  font-weight: bold;

}

.top-section__listItem .article-item__detail .price-old {

  margin-left: 10px;

  color: #9B9B9B;

  font-size:13px;

}

.top-section__listItem .article-item__detail .price-new .yen {

  margin-right:4px;

  font-size: 0.7em;

  vertical-align: top;

}

.top-section__listItem .article-item__detail .discount-price {

    color: #ff1b1b;

    font-size: 20px;

    font-weight: bold;

}

.top-section__listItem .article-item__detail .brand {

  margin-top: auto;

  color: #888;

  font-size: 14px;

}



.top-news .top-section__heading {

  margin: 40px 0 0;

}



.top-news h2.heading,

.top-twitter h2.heading {

  width: 100%;

  margin: 0;

  padding: 15px 0px;

  background: #f6125c;

  color: #fff;

  font-size: 20px;

}



.top-guidance h2 {

  margin: 0;

  padding: 15px 10px;

  background: #12b5f6;

  color: #fff;

  text-align: center;

  font-size: 16px;

}



.top-guidance p {

  padding: 10px 15px;

  background: #d9f6ff;

  color: #000;

  font-size: 14px;

  font-weight: bold;

}



/* greeting

-------------------------*/

.top-greeting__list {

  display: flex;

  flex-direction: column;

  gap: 30px;

}



.top-greeting__listitem {

  padding: 30px 20px;

  border: 1px solid #f1f1f1;

  box-shadow: 8px 8px 13px #00000021;

}



.top-greeting__list .heading {

  font-weight: bold;

}



/* ピックアップ商品

-------------------------*/

.top-pickup__list {

  display: flex;

  flex-wrap: wrap;

  gap: 10px;

  padding: 0;

}

.top-pickup__listitem {

  position: relative;

  width: calc(100% / 2 - 5px);

}

.top-pickup__listitem .heading {

  position: absolute;

  bottom: 5%;

  left: 50%;

  transform: translateX(-50%);

  -webkit-transform: translateX(-50%);

  -ms-transform: translateX(-50%);

  width: 90%;

  margin: 0;

  background: #f4185a59;

  color: #fff;

  text-align: center;

  font-size: 18px;

}



/* お客様の声

-------------------------*/

.top-voice__list {

  display: flex;

  flex-direction: column;

}

.top-voice__list .top-voice__listitem {

  position: relative;

}

.top-voice__list .top-voice__listitem::after {

  content: '';

  position: absolute;

  top: 0;

  left: 50%;

  transform: translateX(-50%);

  -webkit-transform: translateX(-50%);

  -ms-transform: translateX(-50%);

  width: 100%;

  height: 1px;

  border-bottom: 1px solid #e3e3e3;

}

.top-voice__list .top-voice__listitem:first-child::after {

  content: none;

}

.top-voice__list .top-voice__listitem .item {

  display: flex;

  flex-direction: column;

  align-items: center;

  margin-top: 20px;

}

.top-voice__list .top-voice__listitem .item .btn {

  position: relative;

  width: 180px;

  padding: 10px 30px 10px 30px;

  background: #222;

  border-radius: 30px;

  color: #fff;

}

.top-voice__list .top-voice__listitem .item .heading {

  font-size: 18px;

}

.top-voice__list .top-voice__listitem .item .btn::after {

  display: inline-block;

  content: '';

  position: absolute;

  top: 50%;

  right: 10%;

  transform: translateY(-50%);

  -webkit-transform: translateY(-50%);

  -ms-transform: translateY(-50%);

  width: 8px;

  height: 8px;

  margin-top: -4px;

  border-top: 2px solid #fff;

  border-left: 2px solid #fff;

  transform: rotate(135deg);

}

.top-voice__list .top-voice__listitem .circle {

  display: inline-block;

  overflow: hidden;

  max-width: 160px;

  border-radius: 50%;

}

.top-voice__list .top-voice__listitem .detail {

  text-align: center;

}

.top-voice__list .top-voice__listitem .detail dt {

  font-weight: bold;

}

.top-voice__list .top-voice__listitem .voice {

  position: relative;

  margin: 30px 0 20px;

  padding: 30px 20px 20px;

  background: #F8F8F8;

  border-radius: 10px;

}

.top-voice__list .top-voice__listitem .voice::before {

  content: '';

  position: absolute;

  display: block;

  width: 0;

  height: 0;

  top: -20px;

  left: 30%;

  border-right: 28px solid #F8F8F8;

  border-top: 20px solid transparent;

}

.top-voice__list .top-voice__listitem .voice .text {

  margin-top: 20px;

  font-size: 14px;

  font-weight: 500;

}



/* ハピネスドールの特徴 */

.l-container {

  max-width: 960px;

  margin: 0 auto;

  padding: 20px;

}



/* Project */

.p-infoSection {

  margin-bottom: 30px;

}



.p-infoSection__title {

  font-size: 24px;

  font-weight: bold;

  margin-bottom: 20px;

}



.p-infoSection__block + .p-infoSection__block {

  margin-top: 20px;

}



/* Component */

.c-card {

  border: 1px solid #ddd;

  border-radius: 8px;

  padding: 20px;

  background: #fff;

}



.c-card__title {

  font-size: 18px;

  font-weight: bold;

  margin-bottom: 10px;

}



.c-card__body p,

.c-card__list {

  margin-bottom: 10px;

  line-height: 1.8;

  font-size: 16px;

}



.c-card__body {

  font-size: 16px;

}



.c-card__body ul {

  padding: 0;

}



.c-card__label {

  font-weight: bold;

  margin-top: 10px;

  margin-bottom: 5px;

  font-size: 16px;

}



.c-card__btn {

  display: inline-block;

  padding: 6px 12px;

  margin-top: 5px;

  margin-right: 8px;

  font-size: 15px;

  font-weight: bold;

  background-color: #007acc;

  color: #fff;

  border-radius: 4px;

  text-decoration: none;

  transition: background-color 0.2s;

  position: relative;

  padding-right: 24px;

}



.c-card__btn::after {

  content: '＞';

  position: absolute;

  right: 10px;

  top: 50%;

  transform: translateY(-50%);

  font-size: 16px;

}



.c-card__btn:hover {

  background-color: #005f99;

  text-decoration: none;

}





/* 新着情報

-------------------------*/

.ec-newsRole__newsDescription {

  display: none;

}

.ec-newsRole__news {

  padding: 20px;

  background:#ffecf0;

}

.ec-newsRole__newsItem {

  margin-bottom: 10px;

  padding-bottom: 10px;

  border-bottom: 2px solid #fff;

}

.ec-newsRole__newsColumn {

  display: flex;

}

.ec-newsRole__newsTitle {

  font-weight: bold;

}

.ec-newsRole__newsClose {

  margin: 0 0 0 auto;

}



/*-------------------------

  page

-------------------------*/

.ec-pageHeader h1 {

  margin: 20px 0 30px;

  border: none;

  font-size: 24px;

  text-align: center;

}

.ec-pageHeader h2 {

  font-size: 15px;

  font-weight: bold;

}



.heading {

  margin: 30px 0 15px;

}



h2.heading {

  font-size: 24px;

}



h3.heading {

  font-size: 20px;

}



.section-contact .section-contact__wrap {

  display: flex;

  flex-direction: column;

  gap: 15px;

}



.section-contact__box .info {

  border: 1px solid #f1f1f1;

  text-align: center;

}



.section-contact__box .info dt,

.section-contact__box .info dd {

  padding: 10px;

}



.section-contact__box .info dt {

  background: #f1f1f1;

  font-size:14px;

  font-weight: bold;

}



.section-contact__box .info .phone-number {

  position: relative;

  padding-left: 20px;

  color: #F4185A;

  font-size:24px;

  font-weight: bold;

}



.section-contact__box .info .phone-number::before {

  content: '';

  position: absolute;

  top: 50%;

  left: 0%;

  transform: translateY(-50%);

  -webkit-transform: translateY(-50%);

  -ms-transform: translateY(-50%);  width:20px;

  height:20px;

  background: url(../img/common/icon-phone_pink.png) no-repeat;

  background-size: contain;

}



.section-contact__box .info dd span {

  display:block;

  font-size:12px;

}



/* お支払いについて

-------------------------*/

.payment-nav_list {

  display: flex;

  flex-wrap: wrap;

  gap: 10px;

  padding: 0;

}



.payment-nav_item {

  width: calc(100% / 1);

}



.payment-nav_item a {

  position: relative;

  display: flex;

  align-items: center;

  height: 100%;

  padding: 10px 15px;

  background: #d50058;

  color: #fff;

  font-weight: bold;

}



.payment-nav_item a::before,

.payment-nav_item a::after {

  content: "";

  position: absolute;

  right: 15px;

  top: 0;

  bottom: 0;

  width: 2px;

  height: 10px;

  margin: auto 0;

  border-radius: 9999px;

  background-color: #fff;

  transform-origin: 50% calc(100% - 0px);

}



.payment-nav_item a::before {

  transform: rotate(45deg);

}



.payment-nav_item a::after {

  transform: rotate(-45deg);

}



/* common
-------------------------*/

.sec-content {
  margin: 0 20px;
}

.heading-h1 {
  margin: 40px 0 30px;
  text-align: center;
  font-size: 26px;
}

.heading-h2 {
  position: relative;
  margin: 40px 0 20px;
  padding: 0 0 10px;
  border-bottom: 4px solid #f8f8f8;
  font-size: 20px;
}

.heading-h2::before {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 25%;
  height: 0px;
  border: 2px solid #F4185A;
}

.heading-h3 {
  margin: 40px 0 20px;
  font-size: 20px;
}

.heading-h4 {
  margin: 30px 0 20px;
  font-size: 18px;
}

.lead {
  margin-bottom: 10px;
}

.list {
  padding: 0;
  font-size: 16px;
}

ul.list .item {
  margin-bottom: 10px;
  text-indent: -1em;
  padding-left: 1em;
}

ul.list .item:last-child {
  margin-bottom: 0;
}



ul.list .item::before {

  content: '・';

}



ol.list {

  counter-reset: li;

  position: relative;

}



ol.list .item {

  position: relative;

  margin-bottom: 10px;

  padding-left: 2em;

  text-indent: 0;

}



ol.list .item::before {

  position: absolute;

  counter-increment: li;

  content: counter(li) "";

  left: 0;

  color: #fff;

  width: 24px;

  height: 24px;

  padding: 6px 0;

  text-align: center;

  border-radius: 100%;

  line-height: .8;

  background: #F4185A;

  font-weight: bold;

}



.list .item:last-child {

  margin-bottom: 0;

}



.def {

  display: flex;

  flex-flow: column;

  width: 100%;

  font-size: 16px;

}



.def .title {

  flex-basis: 15%;

  padding: 15px 20px;

  background-color: #f1f1f1;

}



.def .data {

  flex-basis: 85%;

  padding: 15px 20px;

  background-color: #fff;

}



.link {

  color: #06a1ff;

}



.link:hover {

  color: inherit;

  opacity: 0.7;

}



/* about

-------------------------*/





/* 

-------------------------*/

.staff-service .contact-mail {

  margin: 20px 0;

  background: #f8f8f8;

  border: 1px solid #ebebeb;

  border-radius: 15px;

  text-align: center;

}



.staff-service .contact-mail a {

  display: block;

  padding: 20px 30px;

}



.staff-service .contact-tel {

  margin: 20px 0;

  padding: 20px 30px;

  background: #f8f8f8;

  border: 1px solid #ebebeb;

  border-radius: 15px;

  text-align: center;

}



.staff-service .contact-tel .tel {

  font-size: 24px;

}



/* お客様の声

-------------------------*/



.sec-content .group {

  display: flex;

  flex-wrap: wrap;

  gap: 20px;

}



.sec-content.voice .voice-ttl {

  color: #f4195b;

  text-align: center;

  font-weight: bold;

  font-size: 20px;

}



.sec-content.voice h2 {

  font-size: 16px;

}



.sec-content.voice .list-voice {

  display: flex;

  flex-wrap:  wrap;

  gap: 30px 0;

  list-style: none;

  margin: 40px 0 0;

  padding: 0;

}



.sec-content.voice .list-voice li {

  width: calc(100% / 1);

}



.sec-content.voice .list-voice figure {

  margin: 0;

}



.sec-content.voice .list-voice dl dt {

  margin: 5px 0 0;

}



.sec-content.voice .list-voice .item img {

  display: block;

  max-width: 200px;

  margin: 0 auto;

  border-radius: 50%;

}



.sec-content.voice .list-voice .btn {

  margin: 0;

}



.sec-content.voice .item {

  text-align: center;

}



.sec-content.voice .info {

  margin: 30px 0 0;

}



.sec-content.voice .customer {

  position: relative;

  margin: 0 0 20px;

  padding: 30px 20px 20px;

  background: #F8F8F8;

  border-radius: 10px;

}



.sec-content.voice .customer::before {

  content: '';

  position: absolute;

  display: block;

  width: 0;

  height: 0;

  top: -20px;

  left: 30%;

  border-right: 28px solid #F8F8F8;

  border-top: 20px solid transparent;

}



.list-campaign_item {

  max-width: 400px;

}



.list-campaign_item li {

  display: flex;

  margin: 10px 0;

  font-weight: bold;

}



.list-campaign_item li span {

  margin: 0 0 0 auto;

  padding: 0px 5px;

  background: #f4185a;

  color: #fff;

}



/* よくあるご質問

-------------------------*/



.dl-faq {

  margin: 40px 0 0;

  border-bottom: 1px solid #e3e3e3;

}



.dl-faq dt {

  position: relative;

  margin: 0 0 20px;

  padding: 20px 10px 0px 35px;

  border-top: 1px solid #e3e3e3;

  font-size: 1.1em;

  font-weight: bold;

}



.dl-faq dt::before {

  content: "Q.";

  position: absolute;

  z-index: 1;

  left: 0;

  top: 0;

  margin-right: 10px;

  padding: 15px 0 0 5px;

  letter-spacing: 0;

  color: #f4195b;

  font-size: 1.4em;

}



.dl-faq dd {

  position: relative;

  margin-bottom: 20px;

  padding: 5px 10px 0px 35px;

}



.dl-faq dd::before {

  content: "A.";

  position: absolute;

  z-index: 1;

  left: 0;

  top: 0;

  margin-right: 10px;

  padding: 0 0 0 5px;

  letter-spacing: 0;

  color: #333;

  font-size: 1.4em;

  font-weight: bold;

}

/* 返品・キャンセル

-------------------------*/

/* ドール購入の流れ

-------------------------*/
.sec-content.flow .flow-box {
  display: flex;
  flex-wrap: wrap;
  margin: 40px 0 0;
}

.flow-box .img {
  border: 1px solid #e3e3e3;
}

.flow-box .text {
  padding: 20px 0 0;
}

.flow-box .text .number {
  display: block;
  color: #fa5c9a;
  font-size: 12px;
  font-weight: bold;
}

.flow-box .text h3 {
  margin: 10px 0 20px;
}

.sec-content.flow .rental {
  margin: 60px 0 0;
}

.p-lineCopy {
  background: #f7f7f7;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  padding: 16px;
}

.p-lineCopy__text {
  font-size: 1.4rem;
  line-height: 1.8;
  white-space: pre-wrap;
  margin: 16px 0 0;
  padding: 0;
  font-family: inherit;
}

.p-lineCopy__button {
  display: block;
  width: 100%;
  padding: 12px;
  background: #000;
  color: #fff;
  font-size: 1.4rem;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: 0.3s;
}

.p-lineCopy__button:hover {
  opacity: 0.8;
}


/* 商品一覧

-------------------------*/

.ec-shelfGrid.campaign .price02-default {

  color: #ff0000;

}



.ec-category_head {

  display: flex;

  align-items: center;

  flex-wrap: wrap;

  margin: 0 0 20px;

  padding: 20px 15px;

}



.ec-category_head h1 {

  width: 100vw;

  margin: 0 calc(50% - 50vw) 20px;

  padding: 10px;

  color: #000;

  text-align: center;

  font-size: 24px;

  font-weight: bold;

}



.ec-category_head h2 {

  font-size: 18px;

  font-weight: bold;

}



.ec-category_head h3 {

  font-size: 16px;

  font-weight: bold;

}



.ec-category_head p {

  font-size: 16px;

}



.ec-category_head .detail {

  width: 100%;

}



.ec-category_head .search {

  width: 100%;

}



.ec-category_head .search .list {

  display: flex;

  flex-wrap: wrap;

  gap: 15px 10px;

  margin: 20px 0 30px;

  padding: 0;

  list-style: none;

}



.ec-category_head .search .list a {

  padding: 5px 10px;

  background: #f3f3f3;

  border-radius: 10px;

  color: #000;

  font-size:14px;

}



.ec-categoryRole__listItem img {

  max-width: 180px;

}



.ec-productRole__shipment {

  margin: 10px 0 0;

}



.ec-shelfGrid__item a:hover {

  opacity: initial;

}



.ec-shelfGrid .ec-shelfGrid__item-image {

  height: 260px;

}



.ec-shelfGrid .ec-shelfGrid__item img {

  width: 100%;

  object-fit: cover;

}



.ec-shelfGrid__item-title {

  display: -webkit-box;

  -webkit-line-clamp: 3;

  -webkit-box-orient: vertical;

  overflow: hidden;

}

.product-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding: 0;
}

.product-tags__item {
  padding: 2px 10px;
  background: #F4185A;
  color: #fff;
  font-size: 14px;
}

.ec-shelfGrid__item-image {
  position: relative;
}

.product-badge {
  position: absolute;
  top: 5px;
  right: 5px;
  padding: 5px;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  background: #e60012;
  border-radius: 50%;
  width: 45px;
  height: 45px;
  line-height: 3;
  letter-spacing: 1px;
  text-align: center;
}

.product-badge--new {
  background: #f6125c;
}

.product-badge--detail {
  position: static;
  display: inline-block;
  margin-left: 8px;
  vertical-align: middle;
  border-radius: 5px;
  width: initial;
  height: initial;
  padding: 5px 10px;
  line-height: 1.65;
}

/* 商品詳細

-------------------------*/

.ec-sliderItemRole {

  margin-bottom: 50px;

}



.item_visual .slick-arrow {

  display: block !important;

  z-index: 2;

  width: 40px;

  height: 40px;

  background: #f64378;

  border: none;

  border-radius: 50%;

  color: #fff;

  font-size: 30px;

  line-height: 1;

}



.item_visual .slick-prev {

  position: absolute;

  top: 50%;

  left: 3%;

  transform: translateY(-50%);

  -webkit-transform: translateY(-50%);

  -ms-transform: translateY(-50%);

}



.item_visual .slick-next {

  position: absolute;

  top: 50%;

  right: 3%;

  transform: translateY(-50%);

  -webkit-transform: translateY(-50%);

  -ms-transform: translateY(-50%);

}



.item_visual .slick-dots {

  bottom: initial;

}



.slick-dots li.slick-active button:before {

  opacity: 1;

  background-color: #F4185A;

}



.product-list {

  display: flex;

  flex-wrap: wrap;

  gap: 5px;

}



.product-list_item {

  display: flex;

  flex-direction: column;

  width: calc(100% / 3 - 4px);

  padding: 5px;

  border: 1px solid #aaa;

  border-radius: 5px;

}



.product-list label {

  margin: 0;

}



.product-list .checked-item {

  background: #ffeff6;

  border: 1px solid #c04383;

}



.product-list input[type="radio"] {

  display: none;

}



.product-list .img {

  margin: auto 0 0;

}



.ec-productRole .ec-productRole__title .ec-headingTitle {

  color: #000;

  font-weight: bold;

  line-height: 1.5;

}



.ec-productRole__pinpoint_sale_default {

  font-size: 14px;

}



.ec-productRole .pinpoint-default {

  text-decoration: line-through;

  color: #bbb;

}



.ec-productRole .ec-productRole__priceRegularTax {

  margin-left: 0;

  color: #bbb;

}



.ec-productRole__price .ec-price {

  color: #ff1b1b;

}



.ec-price .ec-price__price {

  padding: 0;

  font-size: 24px;

}



.ec-price .ec-price__tax {

  font-size: 14px;

}



.ec-productRole .ec-productRole__category {

  font-size: 14px;

}



.ec-radio .ec-required {

  color: #ff1b1b;

  font-weight: bold;

}



.ec-productRole .ec-radio,

.ec-productRole .ec-numberInput,

.ec-productRole .ec-checkbox,

.ec-productRole .ec-select,

.ec-productRole .ec-input {

  margin-top: 20px;

}



.ec-productRole .ec-productRole__description h2 {

  padding: 20px 0 10px;

  border-bottom: 1px solid #dbdbdb;

  font-size: 18px;

  font-weight: bold;

}



.ec-productRole__description .detail_table th {

  padding: 0 15px 5px 0;

}



.ec-productRole__description .size_table {

  table-layout: fixed;

  width: 100%;

}



.ec-productRole__description .size_table th {

  background:#f1f1f1;

}



.ec-productRole__description .size_table th,

.ec-productRole__description .size_table td {

  padding: 10px 5px;

  vertical-align: top;

}



.ec-catItemRole__list {

  display: flex;

  flex-wrap: wrap;

  list-style: none;

  gap: 10px;

  margin: 0 0 30px;

  padding: 0;

}



.ec-catItemRole__list li {

  width: calc(100% / 2 - 5px);

}



.ec-newItemRole .ec-newItemRole__listItem:first-child a {

  color: #000;

}



.ec-newItemRole .ec-newItemRole__listItemTitle {

  font-size: 16px;

}



.ec-newItemRole .ec-newItemRole__listItemPrice {

  color: #ff0000;

  font-size: 16px;

}



.ec-productRole__description ul,

.ec-productRole__description li {

  list-style: disc;

}

.ec-productRole__description ul li {

  margin-top: 5px;

}

.ec-productRole__description .iframe-wrap {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  margin: 10px 0;
}

.ec-productRole__description .iframe-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#option_price_box {

  font-size: 0.57em;

}



#option_price_inctax_default {

  font-size: 1em;

  font-weight: bold;

}



.ec-sliderItemRole {

  padding: 0;

}



.ec-productRole__btn--sp-favorite {

  margin-top: 40px;

}

/* タイムセールあり-販売価格 */
.ec-productRole__priceRegular + .ec-productRole__price {
  padding-top: 0;
}

.ec-productRole__price .price__current {
  color: #000;
  font-size: 16px;
}

.ec-productRole__price .price__current .ec-price__price {
  font-size: 16px;
  font-weight: normal; 
}

.ec-productRole__price .price__discount {
  font-size: 16px;
}

.ec-productRole__price .price__current--highlight .ec-price__price {
  color: #ff1b1b;
  font-size: 24px;
  font-weight: bold;
}

.ec-productRole__price .price__current--highlight .ec-price__tax {
  color: #ff1b1b;
}


/* TABACMS */

.tabacms_post_list li label {

  background-color: #7d7d7d;

  font-size: 1.2rem;

}



.tabacms_blog_list .tabacms_detail label {

  background-color: #7d7d7d;

  font-size: .8em;

}



.tabacms_tagcloud_list .tabacms_tagcloud_1 {

  font-size: 1.4rem;

}



.tabacms_post label {

  background-color: #7d7d7d;

  font-size: 1.2rem;

}



.p-imageList {

  display: flex;

  flex-wrap: wrap;

  justify-content: center;

  gap: 16px;

  padding: 0;

  margin: 0;

  list-style: none;

}



.p-imageList__item {

  width: 100%;

  max-width: 850px

}

/* ドール体験サービス
-------------------------*/

.l-priceTables {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.l-priceTables table {
  width: 100%;
  border-collapse: collapse;
  background-color: #fff;
  border: 1px solid #ddd;
}

.l-priceTables thead th {
  padding: 12px;
  font-weight: 600;
  text-align: center;
  background-color: #f5f5f5;
  border-bottom: 1px solid #ddd;
}

.l-priceTables tbody th,
.l-priceTables tbody td {
  padding: 10px 12px;
  border-bottom: 1px solid #eee;
  font-size: 14px;
}

.l-priceTables tbody th {
  text-align: left;
  font-weight: 500;
}

.l-priceTables tbody td {
  text-align: right;
  white-space: nowrap;
}

.l-priceTables tbody tr:last-child th,
.l-priceTables tbody tr:last-child td {
  border-bottom: none;
}

.c-mediaGrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.c-mediaGrid__figure {
  margin: 0;
  overflow: hidden;
  border-radius: 12px;
  background: #f2f2f2;
}

.c-mediaGrid__img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* 会社概要
-------------------------*/
.company-maker__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}


/*-------------------------

  タブレット

-------------------------*/

@media only screen and (min-width: 600px) {



/* common

-------------------------*/

.lead {

  margin-bottom: 20px;

    font-size: 18px;

}

.pinkbtn {

  font-size: 18px;

}



/* header

-------------------------*/

.header__head .description,

.header__head .header-nav_list {

  font-size: 14px;

}



.header__nav .header__logo {

  max-width: 210px;

}



.header__nav .header-sp_list {

  display:none;

}



.header__nav .header-pc_list {

  display: flex;

  gap: 0 10px;

  align-items: center;

  margin: 0 0 0 auto;

}



.header__nav .ec-cartNavi .text {

  display: none;

}



.header__pc-nav {

  display: block;

  background: #f5f5f5;

}



.header__pc-nav .header-nav_list {

  position: relative;

  display: flex;

  flex-wrap: wrap;

  justify-content: center;

  height: 100%;

  max-width: 1100px;

  margin: 0 auto;

  padding: 0;

  font-size: 14px;

}



.header__pc-nav .nav-item {

  -webkit-box-align: center;

  align-items: center;

  display: -webkit-box;

  display: flex;

}



.header__pc-nav .nav-item:hover {

  background: #e5e5e5;

}



.header__pc-nav .nav-item > a {

  position: relative;

  display: block;

  padding: 10px 20px;

  font-weight: bold;

  color: #212121;

}



.header__pc-nav .nav-item > a:hover {

  background: #e5e5e5;

}



.header__pc-nav .header-nav_list_child {

  display: flex;

  flex-wrap: wrap;

  position: absolute;

  top: 100%;

  left: 0;

  box-sizing: border-box;

  width: 100%;

  padding: 20px 2%;

  background: #e5e5e5;

  -webkit-transition: all .2s ease;

  transition: all .2s ease;

  z-index:10;

  visibility: hidden;

}



.header__pc-nav .nav-item:hover .header-nav_list_child {

  display: flex;

  top: 55px;

  visibility: visible;

  opacity: 1;

  z-index: 999;

  font-size: 16px;

}



.header__pc-nav .header-nav_list_child li {

  width: calc(100% / 4);

  padding: 10px;

}



.header__pc-nav .nav-item:hover .drawer-overlay {

  position: fixed;

  z-index: 1;

  top: 0;

  left: 0;

  display: none;

  width: 100%;

  height: 100%;

  background-color: rgba(0,0,0,.2);

}



.nav-item > a {

  position: relative;

  padding-right: 1.5em;

  display: inline-block;

}



.nav-item.has-child > a::after {

  content: '▼';

  position: absolute;

  right: 5px;

  top: 50%;

  transform: translateY(-50%);

  font-size: 0.8em;

  color: #888;

}



.nav-item:not(.has-child) > a::after {

  content: '＞';

  position: absolute;

  right: 5px;

  top: 50%;

  transform: translateY(-50%);

  font-size: 0.8em;

  color: #888;

}



/* footer

-------------------------*/

.footer-in {

  padding: 40px 30px 0;

}

.footer .footer-logo {

  max-width: 300px;

}

.footer-link {

  display: flex;

  margin: 40px 0 0;

}

.footer .footer-link__dl {

  margin: 0;

  width: calc(100% / 2);

}

.footer .footer-link__dl dt {

  font-size: 18px;

}

.footer .footer-link__dl .menu li {

  margin: 15px 0;

  font-size: 16px;

}



/* all-page

-------------------------*/

.main {

  margin: 0 30px;

}

.section-contact .section-contact__wrap {

  flex-direction: row;

}

.section-contact__wrap .section-contact__box {

  width: calc(100% / 3);

}

.section-contact__box .info dt {

  font-size:16px;

}

.section-contact__box .info .phone-number {

  font-size: 28px;

}

.section-contact__box .info dd span {

  font-size: 14px;

}



/* common

-------------------------*/

.sec-content {

  padding: 80px 0;

}



.heading-h1 {

  margin: 60px 0 40px;

  font-size: 32px;

}



.heading-h2 {

  margin: 60px 0 40px;

  font-size: 26px;

}



.heading-h3 {

  margin: 60px 0 40px;

  font-size: 20px;

}



.list {

  font-size: 18px;

}



.def {

  flex-flow: row wrap;

  border-bottom: 1px solid #f1f1f1;

}



.def .title {

  flex-basis: 30%;

  background-color: #fff;

  border-top: 1px solid #f1f1f1;

}



.def .data {

  flex-basis: 70%;

  border-top: 1px solid #f1f1f1;

}





/* front

-------------------------*/

.main-visual {

  max-width: 1920px;

  width: 100%;

  margin: 0 auto;

}

.main-visual .slick-img img {

  opacity: .3;

  transform: scale(.8);

  transition: opacity .5s, transform .5s;

}

.main-visual .slick-active img {

  opacity: 1;

  transform: scale(1);

}

.top-section, .section-contact {

  padding-top: 60px;

}

.top-section__heading {

  margin: 60px 0 30px;

}

.top-section__heading.col-2 .heading,

.top-section__heading.col-1 .heading {

  font-size:32px;

}

.top-section__heading.col-2 .more a {

  padding: 10px 20px 10px 35px;

  border-radius: 20px;

  font-size: 16px;

}

.top-section__listItem {

  flex-direction: row;

  flex-wrap: wrap;

  gap: 10px;

}

.top-section__listItem .article-item {

  width:calc(100% / 4 - 10px);

  box-sizing: content-box;

}

.top-section__listItem .article-item__link {

  flex-direction: column;

}

.top-section__listItem .article-item__link:hover {

  opacity: 0.7;

  transition: .3s;

}

.top-section__listItem .article-item__img {

  max-width: 100%;

  width: 100%;

  height: 405px;

}

.top-section__listItem .article-item__img .no {

  width: 35px;

  height: 35px;

  font-size: 20px;

}

.top-section__listItem .article-item__img img {

  width: 100%;

}

.top-section__listItem .article-item__detail {

  width: 100%;

  height: 100%;

}

.top-section__listItem .article-item__detail .spec {

  font-size: 14px;

}

.top-section__listItem .article-item__detail .price-new {

  font-size: 24px;

}

.top-section__listItem .article-item__detail .discount-price {

  font-size: 24px

}

.top-section__listItem .article-item__detail .price-new .yen {

  font-size: 20px;

}

.top-section__listItem .article-item__detail .price-old {

  font-size: 16px;

}

.top-guidance h2 {

  font-size: 18px;

}

.top-guidance p {

  padding: 20px;

  font-size: 16px;

}



/* ピックアップ

-------------------------*/

.top-pickup__list {

  flex-wrap: nowrap;

}

/* greeting

-------------------------*/

.top-greeting__list {

  flex-direction: row;

}

.top-greeting__listitem {

  width: calc(100% / 3);

  padding: 30px 20px;

}

/* 動画

-------------------------*/

.top-movie__list {

  display:flex;

  gap: 30px;

}

.top-movie__listitem {

  width: calc(100% / 2 - 0px);

}

.top-movie__listitem .heading {

  font-size: 18px;

}

/* お客様の声

-------------------------*/

.top-voice__list {

  flex-direction: row;

  gap: 30px;

}

.top-voice__list .top-voice__listitem {

  width: calc(100% / 2);

}

.top-voice__list .top-voice__listitem::after {

  content: none;

}

.top-voice__list .top-voice__listitem .item .btn:hover {

  opacity: .7;

  transition: .3s;

}

/* 新着情報

-------------------------*/

.top-info_wrap {

  display: flex;

  flex-wrap:nowrap;

  gap: 50px;

}

.top-info_wrap .top-news {

  width: 60%;

}

.top-info_wrap .top-twitter {

  width: 40%;

}

.ec-newsRole__newsItem {

  font-size: 16px;

  font-weight: bold;

}



.top-info_wrap .top-section__heading {

  margin: 60px 0 0;

}



/* page

-------------------------*/



.sec-content .group {

  flex-wrap: nowrap;

}

.sec-content .group .text {

  width: 70%;

}

.sec-content .group .img {

  width: 30%;

}



/* お客様の声

-------------------------*/

.sec-content.voice .list-voice {

  gap: 20px;

  margin: 60px 0 0;

  padding-top: 20px;

  border-top: 1px solid #e3e3e3;

}

.sec-content.voice .list-voice li {

  width: calc(100% / 2 - 10px);

  padding: 0px 20px 30px;

}

.sec-content.voice .list-voice li:nth-child(odd){

  border-right: 1px solid #e3e3e3;

  border-bottom: 1px solid #e3e3e3;

}

.sec-content.voice .list-voice li:nth-child(even){

  border-bottom: 1px solid #e3e3e3;

}



.sec-content.voice .list-voice .item img {

  max-width: 150px;

}

.sec-content.voice .list-voice figure {

  display: flex;

  padding: 0 20px 0 0;

}

.sec-content.voice .info {

  margin: 30px 0 0 20px;

}

.sec-content.voice .customer::before {

  left: -20px;

  top: 75px;

  border-right: 20px solid #F8F8F8;

  border-bottom: 28px solid transparent;

}



/* よくあるご質問

-------------------------*/

.dl-faq {

  margin: 60px 0 0;

}

.dl-faq dt {

  margin: 0 0 30px;

  padding: 40px 10px 0px 45px;

  font-size: 1.3em;

}

.dl-faq dt::before {

  padding: 30px 0 10px 8px;

}

.dl-faq dd {

  margin-bottom: 40px;

  padding: 5px 10px 0px 45px;

  font-size: 1.2em;

}

.dl-faq dd::before {

  padding: 0 0 0 10px;

}



/* ドール購入の流れ

-------------------------*/

.sec-content.flow .flow-box {

  align-items: center;

  flex-wrap: nowrap;

  gap: 0 40px;

  margin: 60px 0 0;

}

.flow-box .img {

  width: 35%;

}

.flow-box .text {

  width: 65%;

  padding: 0;

}

.flow-box .text h3 {

  margin: 10px 0 20px;

}

.sec-content.flow .rental {

  margin: 100px 0 0;

}



/* 商品一覧

-------------------------*/

.ec-category_head {

  margin: 0;

  padding: 40px 30px 0;

}

.ec-category_head h1 {

  width: 100%;

  margin: 0 0 20px;

  padding: 0;

  text-align: left;

}



/* 商品詳細

-------------------------*/

.product-list_item {

  width: calc(100% / 5 - 4px);

  padding: 5px;

}

.product-list_item label {

  font-size: 14px;

}


/* お支払いについて

-------------------------*/

.payment-nav_list {

  flex-wrap: nowrap;

  gap: 15px;

}



.payment-nav_item {

  width: calc(100% / 4);

}



}



/*-------------------------

  タブレット

-------------------------*/

@media only screen and (min-width: 768px) {



  /* 商品一覧

  -------------------------*/

  .ec-shelfGrid .ec-shelfGrid__item-image {

    height: 372px;

  }



  /* 商品詳細

  -------------------------*/

  .ec-productRole {

    margin: 20px auto 0;

  }



  .ec-sliderItemRole .item_nav {

    gap: 15px;

  }



  .ec-sliderItemRole .slideThumb {

    width: calc(100% / 3 - 10px);

    margin-bottom: 0;  

  }



  .ec-sliderItemRole .slideThumb img {

    width: 100%;

  }



  .ec-productRole .ec-productRole__title .ec-headingTitle {

    font-size: 26px;

  }

  .ec-productRole__btn--sp-favorite {

    display: none;

  }



  /* taba

  -------------------------*/

  .p-imageList {

    justify-content: flex-start;

  }



  .p-imageList__item {

    width: calc(50% - 8px);

  }



  .p-imageList__item--full {

    width: 100%;

    max-width: 100%;

    display: flex;

    justify-content: center;

  }



  .p-imageList__item--full .p-imageList__img {

    width: 850px;

  }

  /* ドール体験サービス
  -------------------------*/
  .l-priceTables {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }

  .c-mediaGrid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }

}



/*-------------------------

  PC

-------------------------*/

@media only screen and (min-width: 1025px) {



/* common

-------------------------*/

p {font-size: 16px;}



/* header

-------------------------*/

.header__pc-nav .nav-item > a {

  padding: 15px 25px;

  font-size: 17px;

}







/* all-page

-------------------------*/

.main {

  margin: 0 auto;

}



/* front

-------------------------*/

.main-visual-wrap {

  width: 100vw;

  margin: 0 calc(50% - 50vw);

}



}