@charset "UTF-8";

/**********************************************************
SFCC移行時の追加設定
**********************************************************/
#info_contents {
  justify-content: center;
  display: flex;
  align-items: center;
}

#info_contents #section {
  max-width: 720px;
  margin: 0 8px;
}

#info_contents #section a:hover {
  color: #333 !important;
  text-decoration: none;
}

#info_contents #section a:link {
  color: #333;
  text-decoration: underline;
}

#info_contents #section .page-summary p {
  line-height: 1.5;
}

#info_contents #section .box--bg img.common-img {
  /*width: 60%;*/
  margin: 30px auto 0 auto;
}

/**********************************************************
PC、スマホ共通の全体設定
**********************************************************/

@media screen and (min-width: 768px) {
  #info_contents {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  #info_contents {
    font-size: 16px;
  }
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}

/*========================================
会長
========================================*/
.yoshidayoshiaki,
.takatani {
  display: inline-block;
  width: 4em;
  overflow: hidden;
  text-indent: -4em;
}

.miyazaki {
  display: inline-block;
  width: 4em;
  overflow: hidden;
  text-indent: -3em;
}

.yoshidayoshiaki:after {
  content: "\e900田嘉明";
}

.takatani:after {
  content: "\e9b3谷成夫";
}

.miyazaki:after {
  content: "宮\e9b4緑";
}

/*========================================
軽減税率
========================================*/
.cart_box span.icon-tax {
  color: #f99;
}

/*========================================
非表示
========================================*/
.pc_none,
.sph_none {
  display: none !important;
}

/*========================================
seo
========================================*/
.contents_seo {
  background: none !important;
  height: 1px;
}

.contents_seo * {
  display: block;
  text-indent: -9999em;
  background: none !important;
}

.contents_seo img {
  display: none;
}

/*========================================
navi_link
========================================*/
.navi_link {
  text-align: right;
  margin: 0.3em 0;
}

.navi_link a:hover {
  opacity: 0.7;
}

.navi_link a:after {
  content: "\e964";
  font-family: "icomoon";
  font-weight: normal;
  margin-left: 0.1em;
  text-decoration: none;
  display: inline-block;
}

.navi_link a[href^="#"]:after {
  content: "\e962" /*アンカーの場合は下矢印に*/;
}

.navi_link a[target="_blank"]:after {
  content: "\e906" /*別窓のときは別窓マークに*/;
}

/*========================================
navi_btn
========================================*/
.navi_btn {
  text-align: center;
  margin-bottom: 1em;
}

.navi_btn a {
  display: inline-block;
  margin: 0.5em 1em;
  border: 2px solid #ccc;
  padding: 0.5em 1em;
  text-decoration: none;
  font-weight: bold;
  background-color: #fff;
  border-radius: 0.5em;
  -webkit-border-radius: 0.5em;
  -moz-border-radius: 0.5em;
}

.navi_btn a:after {
  content: "\e96a";
  font-family: "icomoon";
  font-weight: normal;
  margin-left: 0.15em;
  font-size: 1.4em;
  vertical-align: -0.15em;
}

.navi_btn a[href^="#"]:after {
  content: "\e968" /*アンカーの場合は下矢印に*/;
}

.navi_btn a[target="_blank"]:after {
  content: "\e906" /*別窓のときは別窓マークに*/;
  margin-left: 0.3em;
  opacity: 0.7;
}

.navi_btn a:hover {
  /* border-color:#666;*/
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
  .navi_btn {
    font-size: 0.8em;
  }
}

/*========================================
navi_list
========================================*/
.navi_list a {
  display: block;
  padding: 0.15em 0 0.7em;
  padding-left: 1.2em;
}

.navi_list a:before {
  display: inline-block /*下線を無効に*/;
  content: "\e983";
  font-family: icomoon;
  margin-right: 0.2em;
  text-decoration: none;
  text-indent: -1.2em;
}

.navi_list a[href^="#"]:before {
  content: "\e982" /*アンカーの場合は下矢印に*/;
}

/*========================================
20230130追記 化粧品カテTOP
========================================*/
@media screen and (max-width: 768px) {
  #skintop .navi_list a:before,
  #healthtop .navi_list a:before {
    content: none;
  }

  #skintop .navi_list a[href^="#"]:before,
  #healthtop .navi_list a[href^="#"]:before {
    content: none;
  }
}

.navi_list a[target="_blank"]:after {
  content: "\e906" /*別窓のときは別窓マークを追加*/;
  display: inline-block /*下線を無効に*/;
  font-family: icomoon;
  margin-left: 0.2em;
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  .navi_list a {
    text-decoration: none;
  }

  .navi_list a:hover {
    background: #f0f0f0;
  }
}

/*========================================
thum_menu
========================================*/
.thum_menu:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.thum_menu {
  min-height: 1px;
}

* html .thum_menu {
  /*height: 1px;/*\*/
  /*/
  height: auto;
  overflow: hidden;
  /**/
}

.thum_menu li {
  width: 33.3%;
  float: left;
}

@media screen and (max-width: 768px) {
  .thum_menu li {
    width: 50%;
  }
}

.thum_menu li a {
  display: block;
  text-decoration: none;
  padding: 0.8em 1em;
  border: 0.1em solid #ccc;
  margin: 0.3em;
  border-radius: 0.3em;
  -webkit-border-radius: 0.3em;
  -moz-border-radius: 0.3em;
  position: relative;
}

@media screen and (max-width: 768px) {
  .thum_menu li a {
    text-align: center;
    font-size: 0.8em;
  }

  .thum_menu li a img {
    display: block;
    margin: 0 auto 0.3em;
  }
}

.thum_menu li a:after {
  content: "";
  display: inline-block;
  border: 0.4em solid #ccc;
  border-top-color: transparent !important;
  border-left-color: transparent !important;
  position: absolute;
  right: 0.5em;
  bottom: 0.5em;
}

.thum_menu li a:hover {
  border-color: #000;
}

.thum_menu li a:hover:after {
  right: 0.4em;
  bottom: 0.4em;
}

.thum_menu li a img {
  height: 3.5em;
  vertical-align: middle;
  margin-right: 0.3em;
}

/*========================================
thum_menu2 複数行のメニュー
========================================*/
.thum_menu2:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.thum_menu2 {
  min-height: 1px;
}

* html .thum_menu2 {
  /*height: 1px;/*\*/
  /*/
  height: auto;
  overflow: hidden;
  /**/
}

.thum_menu2 li {
  width: 33.3%;
  float: left;
}

@media screen and (max-width: 768px) {
  .thum_menu2 li {
    width: 50%;
  }
}

.thum_menu2 li a {
  text-decoration: none;
  border: 0.1em solid #ccc;
  margin: 0.3em;
  border-radius: 0.3em;
  -webkit-border-radius: 0.3em;
  -moz-border-radius: 0.3em;
  position: relative;
}

@media screen and (min-width: 768px) {
  .thum_menu2 li a {
    display: table;
    width: 96%;
  }

  .thum_menu2 li a span {
    display: table-cell;
    vertical-align: middle;
    padding: 0.8em 0;
  }

  .thum_menu2 li a span:first-child {
    padding-left: 1em;
    padding-right: 0.5em;
    width: 4em;
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  .thum_menu2 li a {
    display: block;
    text-align: center;
    font-size: 0.8em;
    padding: 0.8em 0;
  }

  .thum_menu2 li a img {
    display: block;
    margin: 0 auto 0.3em;
  }
}

.thum_menu2 li a:after {
  content: "";
  display: inline-block;
  border: 0.4em solid #ccc;
  border-top-color: transparent !important;
  border-left-color: transparent !important;
  position: absolute;
  right: 0.5em;
  bottom: 0.5em;
}

.thum_menu2 li a:hover {
  border-color: #000;
}

.thum_menu2 li a:hover:after {
  right: 0.4em;
  bottom: 0.4em;
}

.thum_menu2 li a img {
  height: 3.5em;
  vertical-align: middle;
  margin-right: 0.3em;
}

/*========================================
サムネイル付きリスト
========================================*/
.thum_list {
  overflow: hidden;
}

.thum_list li {
  display: table;
  table-layout: fixed;
  position: relative;
}

@media screen and (min-width: 768px) {
  .thum_list li {
    width: 50%;
    float: left;
  }
}

.thum_list .img_box,
.thum_list .txt_box {
  display: table-cell;
  vertical-align: top;
  padding: 0.5em 0;
  padding-right: 0.6em;
  line-height: 1.4;
}

.thum_list a {
  text-decoration: none;
}

.thum_list .img_box {
  width: 60px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .thum_list .img_box img {
    height: 60px;
  }
}

@media screen and (min-width: 768px) {
  .thum_list .img_box {
    width: 5em;
  }
}

.thum_list .name {
  margin-bottom: 0.3em;
  font-weight: bold;
  text-decoration: underline;
}

.thum_list .name:hover {
  text-decoration: none;
}

.thum_list .copy {
  font-size: 0.88em;
}

.thum_list .txt_box p {
  font-size: 0.88em;
  margin-bottom: 0;
}

/*========================================
注意　warning_box
========================================*/
@media screen and (min-width: 768px) {
  .warning_box {
    margin: 1em 0;
  }

  .warning_title {
    display: inline-block;
    border: 3px double #666;
    padding: 0.2em 0.5em;
    font-weight: bold;
  }

  .warning_body {
    margin-top: 0.5em;
  }
}

@media screen and (max-width: 768px) {
  .warning_title:before {
    content: "\e98a";
    font-family: icomoon;
    margin-right: 0.3em;
    display: inline-block;
    text-decoration: none;
    color: #666;
  }

  .warning_box {
    margin: 0.5em 0;
  }

  .warning_title {
    text-decoration: underline;
    text-indent: -0.6em;
    padding-left: 1.2em;
  }

  .warning_body {
    display: none;
  }
}

/*========================================
とは？　teaching_box
========================================*/
.teaching_title:before {
  content: "\e984";
  font-family: icomoon;
  margin-right: 0.3em;
  display: inline-block;
  text-decoration: none;
  color: #666;
}

.teaching_box {
  margin: 0.5em 0;
}

@media screen and (max-width: 768px) {
  .teaching_box {
    font-size: 0.88em;
  }
}

.teaching_title {
  text-decoration: underline;
  text-indent: -0.6em;
  padding-left: 1.2em;
}

.teaching_body {
  display: none;
  padding: 0.6em 1em;
  background: #fff;
  box-shadow: rgba(0, 0, 0, 0.25) 0.2em 0.2em 0.4em 0 inset;
  -webkit-box-shadow: rgba(0, 0, 0, 0.25) 0.2em 0.2em 0.4em 0 inset;
  -moz-box-shadow: rgba(0, 0, 0, 0.25) 0.2em 0.2em 0.4em 0 inset;
  border: 0.1em solid #ccc;
  font-size: 0.9em;
}

/*========================================
ツールチップ　tooltip
========================================*/
@media screen and (min-width: 768px) {
  .tooltip {
    display: inline-block;
    position: relative;
    font-size: 14px;
    /*フォントサイズ絶対指定*/
    line-height: 1;
    /*?マークの縦位置をテキストと揃える*/
    vertical-align: middle;
  }

  .tooltip:not(:target) {
    z-index: 1\9;
    /*IE9*/
  }

  .tooltip_mark {
    text-indent: -9999em;
    width: 1em;
    height: 1em;
    background: url("/common/image/mark_question.png") no-repeat left center;
    display: inline-block;
    cursor: help;
    margin-left: 5px;
    z-index: 1;
  }

  .tooltip_box {
    display: none;
    position: absolute;
    width: 20em;
    top: 0;
    left: 2em;
    background-color: #fff;
    padding: 0.1em;
    text-align: left;
    font-size: 0.88em;
    line-height: 1.6;
    border: 0.1em solid #666;
    box-shadow: rgba(0, 0, 0, 0.25) 0.4m 0.4em 0.5em 0;
    -webkit-box-shadow: rgba(0, 0, 0, 0.25) 0.4em 0.4em 0.5em 0;
    -moz-box-shadow: rgba(0, 0, 0, 0.25) 0.4em 0.4em 0.5em 0;
    z-index: 9999;
  }

  .tooltip_title,
  .tooltip_body {
    padding: 0.5em 0.7em;
    font-weight: normal;
  }

  .tooltip_title {
    font-weight: bold;
    border-bottom: 0.1em dotted #ccc;
    background: #f0f0f0;
  }

  .tooltip_body {
    font-weight: normal;
  }

  .tooltip .tooltip_close {
    cursor: pointer;
    float: right;
    text-align: right;
    width: 4.5em;
    background: none\9;
    /*IE8で非表示*/
    padding-right: 0\9;
    /*IE8で非表示*/
  }
}

/*----------------------------------------
スマホ
----------------------------------------*/
@media screen and (max-width: 768px) {
  .tooltip_box,
  .tooltip_title {
    display: inline;
  }

  .tooltip_box {
    font-size: 0.88em;
    margin-bottom: 0.5em;
  }

  .tooltip_title {
    padding: 0.5em 0;
    text-decoration: underline;
    font-weight: normal;
  }

  .tooltip_title:before {
    content: "\e984";
    font-family: icomoon;
    font-weight: normal;
    margin-right: 0.3em;
    display: inline-block;
    text-decoration: none;
    color: #666;
  }

  .tooltip_body {
    display: none;
    background: #fff;
    box-shadow: rgba(0, 0, 0, 0.25) 0.2em 0.2em 0.4em 0 inset;
    -webkit-box-shadow: rgba(0, 0, 0, 0.25) 0.2em 0.2em 0.4em 0 inset;
    -moz-box-shadow: rgba(0, 0, 0, 0.25) 0.2em 0.2em 0.4em 0 inset;
    border: 0.1em solid #ccc;
    padding: 0.5em 0.8em;
    font-weight: normal;
    font-size: 0.88em;
  }

  .tooltip_mark,
  .tooltip_close {
    display: none !important;
  }
}

/*----------------------------------------
発送遅れ商品
----------------------------------------*/
@media screen and (min-width: 768px) {
  .tooltip_shipping_delay .tooltip_mark

    /*発送遅れ商品*/ {
    background-image: url(/common/image/mark_attention.png);
  }
}

@media screen and (max-width: 768px) {
  .tooltip_shipping_delay {
    display: inline;
  }

  .tooltip_shipping_delay .tooltip_title {
    display: inline-block;
    text-indent: -9999em;
    width: 12px;
    height: 12px;
    overflow: hidden;
    background: url("/common/image/mark_attention.png") no-repeat left center;
  }

  .tooltip_shipping_delay .tooltip_body {
    color: #f66;
  }
}

/*========================================
no contents
========================================*/
.no_contents {
  margin: 1em 0;
  padding: 8em 0;
  border: 0.1em dashed #ccc;
  text-align: center;
  color: #666;
  background: rgba(255, 255, 255, 0.9);
}

@media screen and (max-width: 768px) {
  .no_contents {
    padding: 3em 0;
    font-size: 0.88em;
  }
}

/*========================================
キャプチャ
========================================*/
.pict_cap {
  margin: 1em;
  text-align: center;
}

.pict_cap img {
  padding:
        /*0.7em*/ 2%;
  border: 0.1em solid #fff;
  box-shadow: rgba(0, 0, 0, 0.3) 0 0 0.5em 0;
  -webkit-box-shadow: rgba(0, 0, 0, 0.3) 0 0 0.5em 0;
  -moz-box-shadow: rgba(0, 0, 0, 0.3) 0 0 0.5em 0;
  border-radius: 0.8em;
  -webkit-border-radius: 0.8em;
  -moz-border-radius: 0.8em;
}

@media screen and (min-width: 768px) {
  .pict_cap img {
    max-width: 80%;
  }

  .pict_cap.sph img {
    max-width: 45%;
  }
}

/*========================================
sph_topcontrol 上へボタン
========================================*/
.scrollcontrol {
  position: fixed;
  bottom: 0;
  right: 0;
  display: table;
  z-index: 99;
  border-spacing: 0.5em;
  border-collapse: separate;
}

.scrollcontrol a {
  display: table-cell;
  text-align: right;
}

.scrollcontrol a img {
  height: 3em;
}

/*========================================
loading
========================================*/
.loading {
  text-align: center;
}

.contents_main .loading {
  padding: 3em 0;
}

@media screen and (min-width: 768px) {
  .loading img {
    max-width: 100px;
    height: auto;
  }
}

/*========================================
contents_box
========================================*/
.contents_main .contents_box {
  margin-bottom: 2em;
}

@media screen and (max-width: 768px) {
  .contents_main .contents_box {
    margin-bottom: 1.5em;
  }
}

/*clearfix*/
.contents_box:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.contents_box {
  min-height: 1px;
}

* html .contents_box {
  /*height: 1px;/*\*/
  /*/
  height: auto;
  overflow: hidden;
  /**/
}

/*20240612追加 特集一覧さる丸の一覧非表示*/
#info_contents div#medical div.contents_box:nth-of-type(2) {
  display: none;
}

/*========================================
paging
========================================*/
.paging {
  border: none !important
        /*base.css相殺*/
    ;
  padding: 1em 0;
  text-align: center;
  margin-bottom: 1.5em;
  /*231219追加*/
}

@media screen and (max-width: 768px) {
  .paging {
    font-size:
            /*3.2vw*/ 0.75em;
  }
}

.paging ul,
.paging li {
  display: inline-block;
  text-align: center;
}

.paging li.copy {
  width: 100%;
  font-size: 0.88em;
  margin-bottom: 0.5em;
}

#body_cart .paging li.page_prev a {
  padding: 1em 2em;
  /*231219変更*/
  text-decoration: none;
  /*231219追加*/
  border: 1px solid #ccc;
  /*231219追加*/
  border-radius: 3px;
  /*231219追加*/
}

.paging li a,
.paging li.page_now,
.paging li.active {
  padding: 0.5em 1em;
}

.paging li.page_now,
.paging li.active {
  background: #f0f0f0;
  font-weight: bold;
}

.paging li:first-child,
.paging li:last-child {
  background: none /*pagingプラグインバグ対策*/;
}

.paging li.page_prev a:before,
.paging a.prev:before {
  /*    content: "\e963";*/
  /*231219追加*/
  margin-right: 0.1em;
  display: inline-block;
  text-decoration: none;
}

.paging li.page_next a:after,
.paging a.next:after {
  content: "\e964";
  margin-left: 0.1em;
  display: inline-block;
  text-decoration: none;
}

/*========================================
スマホ用テーブルスクロール
========================================*/
.table_scroll {
  overflow: auto;
}

@media screen and (max-width: 768px) {
  /*.addsize,
    .table_scroll{overflow:auto;position:relative; }
    .addsize:before,
    .table_scroll:before{display:inline-block;content:"スクロール >>";background:#ccc;padding:0.2em 0.5em;color:#fff;font-size:0.6em;
        position:absolute;right:0;top:0;
    }*/
  .table_scroll {
    white-space: nowrap;
  }
}

.table_scroll::-webkit-scrollbar {
  height: 0.5em;
}

.table_scroll::-webkit-scrollbar-track {
  background: #f0f0f0;
}

.table_scroll::-webkit-scrollbar-thumb {
  background: #666;
  border-radius: 1em;
  -webkit-border-radius: 1em;
  -moz-border-radius: 1em;
}

/*========================================
reply
========================================*/
#mydhc_contact {
  padding: 1em 0;
  font-size: 0.88em;
}

dl.fromDHC {
  border: 1px solid #ccc;
  background: #fffbe6;
  padding: 1em;
  margin: 1em 0;
}

dl.fromDHC dt {
  font-weight: bold;
  background: #fffbe6 url("//www.dhc.co.jp/common/image/mark_mail.png")
    no-repeat top left;
  background-size: 2.8em auto;
  -webkit-background-size: 2.8em auto;
  -moz-background-size: 2.8em auto;
  -o-background-size: 2.8em auto;
  -ms-background-size: 2.8em auto;
  padding: 0.9em;
  padding-left: 3.5em;
  width: 100%;
  float: none;
  text-align: left;
  background-position: 0 0 !important;
}

dl.fromDHC dt:after {
  content: "：";
}

dl.fromDHC dd {
  margin-left: 0;
}

/*========================================
レイアウト
========================================*/
.contents {
  position: relative;
}

/*clearfix*/
.contents:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.contents {
  min-height: 1px;
}

* html .contents {
  /*height: 1px;/*\*/
  /*/
  height: auto;
  overflow: hidden;
  /**/
}

/*----------------------------------------
PC
----------------------------------------*/
@media screen and (min-width: 768px) {
  .contents {
    width: 950px /*1000px*/;
    margin: 0 auto;
  }

  .contents_main,
  .contents_side {
    margin-bottom: 2em;
  }

  .contents_main {
    width: 720px;
    float: right;
    margin-bottom: 1em;
  }

  .contents_side {
    width: 200px /*240px*/;
    float: left;
  }

  .layout_mydhc .contents_main {
    width: 750px;
    float: left;
  }

  .layout_mydhc .contents_side {
    width: 170px /*210px*/;
    float: right;
  }

  .layout_login .contents_main {
    width: 100%;
    float: none;
  }

  .layout_login .contents_side {
    width: 100%;
    float: none;
  }

  #global_footer {
    clear: both;
  }

  .layout_contents .contents_main {
    width: 950px;
    margin: 0 auto;
    float: none;
  }

  .layout_form .pankuzu_list,
  .layout_form #header_mini,
  .layout_form .flow_box,
  .layout_form .contents_main,
  .layout_form .contents_side {
    width: 780px;
    margin-left: auto;
    margin-right: auto;
    float: none;
  }

  .layout_popup .contents {
    width: 100%;
    max-width: 600px;
  }

  .layout_popup .contents_main,
  .layout_popup .contents_side {
    width: auto;
    float: none;
  }
}

/*----------------------------------------
SPH
----------------------------------------*/
@media screen and (max-width: 768px) {
  #contents_popup {
    padding: 0.5em;
    /*以下相殺*/
    border: none;
    width: 100%;
    margin: 0;
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    box-shadow: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
  }

  #contents,
  .contents {
    /*以下相殺*/
    width: auto !important;
    min-width: inherit !important;
    max-width: inherit !important;
  }

  .contents {
    padding: 0;
  }

  .contents_main,
  .contents_side {
    margin: 0 0.5em 0.5em;
    /*以下相殺*/
    width: auto !important;
    float: none;
    padding: 0 !important;
  }

  .contents_main #top_category .bn_layout2,
  .contents_side #top_category .bn_layout2,
  #guide_shopping {
    margin: 0 -0.5em 0.5em !important;
  }
}

/*========================================
layout_popup
========================================*/
.layout_popup p {
  line-height: 1.7;
}

@media screen and (min-width: 768px) {
  .layout_popup .contents_main {
    border: 1px solid #ccc;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    box-shadow: rgb(204, 204, 204) 2px 2px 5px 1px;
    -webkit-box-shadow: rgb(204, 204, 204) 2px 2px 5px 1px;
    -moz-box-shadow: rgb(204, 204, 204) 2px 2px 5px 1px;
    text-align: left;
    margin: 0 auto;
    padding: 1.5em;
  }
}

.layout_popup .date {
  text-align: right;
}

/*========================================
contents_side
========================================*/
@media screen and (min-width: 768px) {
  .contents_side {
    font-size: 0.85em /*0.9em*/;
  }
}

.layout_form .contents_side {
  font-size: 1em;
}

.contents_side img {
  max-width: 100%;
}

/*========================================
#global_header
========================================*/
@media screen and (max-width: 768px) {
  #global_header * {
    box-sizing: border-box !important;
    -webkit-box-sizing: border-box !important;
    -moz-box-sizing: border-box !important;
  }
}

#global_header {
  /*border-top:0.3em solid #00569c;*/
  background: #fff;
  width: 100%;
}

/*clearfix*/
#global_header:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

#global_header {
  min-height: 1px;
}

* html #global_header {
  /*height: 1px;/*\*/
  /*/
  height: auto;
  overflow: hidden;
  /**/
}

/*========================================
#global_footer
========================================*/
#global_footer {
  background: #e6e6e6;
  overflow: hidden;
}

/*clearfix*/
/*#global_footer:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}
#global_footer { min-height: 1px; }
* html #global_footer { /*height: 1px;/*\*/
/*/
  height: auto;
  overflow: hidden;
  /**/
/*}*/
@media screen and (max-width: 768px) {
  #global_footer * {
    box-sizing: border-box !important;
    -webkit-box-sizing: border-box !important;
    -moz-box-sizing: border-box !important;
    text-decoration: none;
  }

  #global_footer {
    font-size: 10px;
    font-size: 3vw;
  }

  /*clearfix*/
  #footer_navi:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }

  #footer_navi {
    min-height: 1px;
  }

  * html #footer_navi {
    /*height: 1px;/*\*/
    /*/
      height: auto;
      overflow: hidden;
      /**/
  }

  #footer_navi {
    padding: 0.5em;
  }

  #footer_navi ul {
    overflow: hidden;
    margin-bottom: 0.5em;
  }

  #footer_navi .menu_next li {
    width: 50%;
    float: left;
  }

  #footer_navi .menu_next li a {
    background: #fff url("//www.dhc.co.jp/sph/image/select_next.png") no-repeat
      right center;
  }

  #footer_navi .menu_back li a {
    background: #00569c url("//www.dhc.co.jp/sph/image/tab_prev.png") no-repeat
      left center;
    color: #fff;
    text-align: center;
  }

  #footer_navi .menu_next li a,
  #footer_navi .menu_back li a {
    display: block;
    padding: 0.8em;
    background-size: auto 30%;
    -webkit-background-size: auto 30%;
    -moz-background-size: auto 30%;
    -o-background-size: auto 30%;
    -ms-background-size: auto 30%;
    border: 0.1em solid #ccc;
    margin: 0.1em;
  }

  #sphfooter {
    clear: both;
    background-color: #fff;
  }
}

/*========================================
.global_color
========================================*/
.global_bg {
  background: #00569c;
}

/*========================================
.global_top_img
========================================*/
.global_top_img {
  border: 4px solid #ccc;
  padding: 3em;
  text-align: center;
  margin-bottom: 1em;
  background-repeat: no-repeat;
  background-position: left bottom;
}

@media screen and (max-width: 768px) {
  .global_top_img {
    background-position: center bottom;
    background-size: auto 8em;
    -webkit-background-size: auto 8em;
    -moz-background-size: auto 8em;
    -o-background-size: auto 8em;
    -ms-background-size: auto 8em;
    padding: 1.5em 3em 9em;
    margin: 0.5em;
  }
}

.global_top_img h1 {
  position: absolute;
  text-indent: -9999em;
}

/*========================================
.global_end_img
========================================*/
.global_end_img {
  padding-top: 1em;
  text-align: center;
  background: url("//www.dhc.co.jp/common/image/global_end_img.png") no-repeat
    center bottom;
  background-size: auto 12em;
  -webkit-background-size: auto 12em;
  -moz-background-size: auto 12em;
  -o-background-size: auto 12em;
  -ms-background-size: auto 12em;
  padding-bottom: 12em;
  margin-bottom: 2em;
}

@media screen and (max-width: 768px) {
  .global_end_img {
    background-size: auto 7em;
    -webkit-background-size: auto 7em;
    -moz-background-size: auto 7em;
    -o-background-size: auto 7em;
    -ms-background-size: auto 7em;
    padding-bottom: 7em;
  }
}

.global_end_img h2 {
  font-size: 1.3em;
  margin-bottom: 1em;
}

.global_end_img h2 span {
  display: inline-block;
  font-size: 1em;
  font-weight: bold;
  margin: 0;
}

.global_end_img p {
  margin-bottom: 1em;
}

@media screen and (min-width: 768px) {
  .global_end_img p span {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .global_end_img p span {
    display: inline;
  }
}

.global_end_img .btn_box {
  margin: 2em 1em;
}

/*========================================
#display_mode
========================================*/
/*#display_mode {
    text-align:center;
    margin-bottom:1em;
}
#display_mode a {
    color:#7acce4;
    text-decoration:underline;
}
/*========================================
#copyright
========================================*/
#copyright {
  background-color: #00569c;
  padding: 1.2em 1em;
  color: #fff;
  text-align: center;
}

#copyright ul a {
  color: #fff !important;
  border-left: 1px solid #fff;
  padding: 0 0.8em;
}

#copyright ul {
  margin-top: 1em;
}

#copyright li:first-child a {
  border: none;
}

#copyright li {
  display: inline;
}

@media screen and (min-width: 768px) {
  #copyright img {
    width: 540px;
  }
}

@media screen and (max-width: 768px) {
  #copyright img {
    width: 100%;
    padding-right: 14%;
  }
}

/*========================================
#header_mini
========================================*/
#header_mini {
  padding: 0.7em 0;
}

/*========================================
ロゴ
========================================*/
#global_header .logo a {
  /*    display: block;
    text-indent: -9999em;
    background-image: url("/common/image/logo.png");
    background-size:contain;
    -webkit-background-size:contain;
    -moz-background-size:contain;
    -o-background-size:contain;
    -ms-background-size:contain;
    background-position: left center;
    background-repeat: no-repeat;
    image-rendering:-webkit-optimize-contract;*/
  display: block;
  width: 86px;
}

@media screen and (min-width: 768px) {
  #global_header .logo {
    width: 19.5%;
    padding-bottom: 2px;
  }

  /*#global_header .logo a { height: 38px; }*/
}

@media screen and (max-width: 768px) {
  #global_header .logo {
    height: 46px;
    width: 12%;
    margin-bottom: 2px;
  }

  #global_header .logo a {
    text-indent: 0;
    background: none;
    margin-left: 10px;
    width: auto /*相殺*/;
  }

  #global_header .logo img {
    width: 40%;
  }

  #global_header .header_box {
    display: block;
    width: 100%;
  }

  #global_header .logo,
  #global_header .menu_box {
    display: table-cell;
    vertical-align: middle;
  }
}

/*=========================================
ヘッダメニュー
=========================================*/
@media screen and (max-width: 768px) {
  .menu_box {
    width: 55%;
    padding: 0.1em 0.2em;
    text-align: right;
    font-size: 9.2vw;
    line-height: 1;
  }

  .menu_box li {
    display: inline-block;
    vertical-align: bottom;
    position: relative;
    text-align: center;
  }

  .menu_box li a {
    text-decoration: none;
  }

  .menu_box li a span {
    display: block;
    color: #666;
    margin-bottom: 0.05em;
  }

  .menu_box li a span[class^="icon-"] {
    -webkit-font-smoothing: antialiased;
    -webkit-text-stroke-color: #fff;
    -webkit-text-stroke-width: 0.3px;
  }

  .menu_box li a span.icon-cart {
    margin-right: 0.18em /*カート位置微調整*/;
  }

  .menu_box li a span:nth-child(2) {
    font-size: 0.24em;
  }

  .menu_box li img {
    width: 100%;
  }
}

a.menu_cart_link {
  display: block;
}

img.num {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/*=========================================
ヘッダ固定
=========================================*/
#global_header .header_box.fixed {
  width: 100%;
  top: 0;
  z-index: 10;
}

#global_header .header_box.fixed .logo a {
  width: 80%;
}

#global_header .header_box.fixed .menu_box span:nth-child(2) {
  display: none;
}

#global_header .header_box.fixed .menu_box {
  font-size: 9vw;
  padding: 0.2em 0.3em;
}

/*========================================
ショッピングガイド（sph）
========================================*/
@media screen and (max-width: 768px) {
  #shopguide * {
    box-sizing: border-box !important;
    -webkit-box-sizing: border-box !important;
    -moz-box-sizing: border-box !important;
  }

  #shopguide {
    background: #fff;
    font-size: 4vw;
  }

  #shopguide a {
    color: #333;
    text-decoration: none;
  }

  #shopguide ul {
    margin: 0.5em;
  }

  /*clearfix*/
  #shopguide ul:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }

  #shopguide ul {
    min-height: 1px;
  }

  * html #shopguide ul {
    /*height: 1px;/*\*/
    /*/
      height: auto;
      overflow: hidden;
      /**/
  }

  #shopguide .title {
    clear: both;
    background-color: #f0f0f0;
    padding: 0.2em 0.5em;
    font-weight: bold;
    border-top: 0.15em solid #000;
  }

  #shopguide .title:before {
    font-family: icomoon;
    font-weight: normal;
    margin-right: 0.2em;
    color: #777;
  }

  #footer_present .title:before {
    content: "\e937";
  }

  #footer_category .title:before {
    content: "\e944";
  }

  #footer_campaign .title:before {
    content: "\e940";
  }

  .menu_list {
    width: 100%;
    overflow: hidden;
  }

  .menu_list li {
    width: 20%;
    float: left;
    border: 0.1em solid #ccc;
    padding: 1.2em 1em;
  }

  .menu_list li a {
    display: block;
  }

  #footer_present li {
    width: 33.3%;
    float: left;
  }

  #footer_present li a {
    display: block;
    margin: 0.2em;
  }

  #footer_category li {
    width: 24%;
    float: left;
    background: #fff;
    text-align: center;
    border: 0.15em solid #ccc;
    margin: 0.2em 0.5%;
    font-size: 0.65em;
    padding: 0.5em;
    border-radius: 0.5em;
    -webkit-border-radius: 0.5em;
    -moz-border-radius: 0.5em;
  }

  #footer_category li span {
    font-size: 3.5em;
    display: block;
    margin: 0.15em auto;
  }

  /* 20230414更新 総TOPのカテゴリボタン追加*/
  #footer_category.contents_box li {
    width: 32%;
  }
}

/*========================================
ぱんくずリスト
========================================*/
.pankuzu_list {
  line-height: 1;
}

.pankuzu_list li {
  display: inline-block;
  margin-right: 0;
}

.pankuzu_list li a:after {
  content: "\e96a";
  font-family: icomoon;
  display: inline-block;
  text-decoration: none;
  opacity: 0.5;
}

.pankuzu_list li span {
  display: inline-block;
  padding: 0 0.2em;
  max-width: 30em;
  white-space: nowrap;
}

/*----------------------------------------
PC
----------------------------------------*/
@media screen and (min-width: 768px) {
  .pankuzu_list {
    font-size: 0.88em;
    padding: 0.8em 0;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
  }

  .pankuzu_list li a span {
    text-decoration: underline;
  }

  .pankuzu_list li a:hover span {
    text-decoration: none;
  }

  .pankuzu_list li span {
    padding-bottom: 1px /*chrome欠け対策*/;
    overflow: hidden;
    text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
  }
}

/*----------------------------------------
SPH
----------------------------------------*/
@media screen and (max-width: 768px) {
  .pankuzu_list {
    font-size: 3vw;
    padding-left: 0.6em;
  }

  .breadcrumbs,
  .pankuzu_list ul {
    overflow: hidden;
  }

  /*.breadcrumbs,
    .pankuzu_list { border-top:1px solid #666; }
    */
  .breadcrumbs .pankuzu_list {
    border-top: none /*ボーダーごとスライドするための処置*/;
  }

  .pankuzu_list li span {
    padding-top: 0.8em;
    padding-bottom: 0.8em;
  }
}

/*========================================
ボタン
========================================*/
@media screen and (max-width: 768px) {
  .btn_box div,
  .btn_box li {
    display: inline;
  }

  .btn_box div > a,
  .btn_box li > a {
    display: inline-block;
    border: 1px solid #ccc;
    border-radius: 0.5em;
    -webkit-border-radius: 0.5em;
    -moz-border-radius: 0.5em;
    padding: 0.5em 0.7em;
    box-shadow: rgba(0, 0, 0, 0.3) 2px 2px 3px 0px;
    -webkit-box-shadow: rgba(0, 0, 0, 0.3) 2px 2px 3px 0px;
    -moz-box-shadow: rgba(0, 0, 0, 0.3) 2px 2px 3px 0px;
    cursor: pointer;
    text-decoration: none;
  }

  .btn_mydhc a {
    margin: 0 auto;
  }
}

/*========================================
見出し
========================================*/
h1,
h2,
h3,
h4,
h5,
h6,
.title,
.global_title {
  font-family:
        /*"icomoon", */ "Yu Gothic", YuGothic, "メイリオ", Meiryo,
    Arial, sans-serif;
  /* Better Font Rendering =========== 
  -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;*/
}

h1 span:not([class$="_none"]),
h2 span:not([class$="_none"]),
h3 span:not([class$="_none"]) {
  font-weight: normal;
  display: inline-block;
  margin-left: 1em;
  vertical-align: middle;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  h2 span {
    font-size: 0.5em;
  }

  h3 span {
    font-size: 0.85em;
  }
}

@media screen and (max-width: 768px) {
  h1 span {
    font-size: 0.85em;
  }
}

/*----------------------------------------
共通見出し共通設定
----------------------------------------*/
.global_h2,
.mydhc_h2,
.catop_h2,
.global_h3,
.mydhc_h3,
.catop_h3,
.global_h4,
/*.mydhc_h4,*/
.catop_h4 {
  margin-bottom: 0.7em;
}

@media screen and (min-width: 768px) {
  .global_h2,
  .mydhc_h2,
  .catop_h2 {
    font-size: 1.8em;
    font-weight: normal;
  }
}

.global_h2,
.mydhc_h2 {
  border-bottom: 1px solid #666;
  padding-bottom: 0.3em;
}

@media screen and (min-width: 768px) {
  .catop_h2 {
    border-bottom: 1px dotted #ccc;
  }

  .global_h3,
  .mydhc_h3,
  .catop_h3 {
    font-size: 1.3em;
  }

  .global_h4,
  .mydhc_h4,
  .catop_h4 {
    font-size: 1.2em;
  }

  .global_h5,
  .mydhc_h5,
  .catop_h5 {
    font-size: 1.12em;
  }

  h6 {
    font-size: 1em;
  }
}

@media screen and (max-width: 768px) {
  .global_h2,
  .mydhc_h2 {
    border-bottom-width: 0.1em;
  }

  .global_h2,
  .mydhc_h2,
  .catop_h2 {
    font-size: 1.2em;
  }
}

/*----------------------------------------
グローバル
----------------------------------------*/
.global_h1,
/*.global_h2,*/
.global_h3,
.global_h4 {
  font-weight: bold;
}

.global_title {
  background: #f0f0f0;
  padding: 0.5em;
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 1em;
}

@media screen and (min-width: 768px) {
  .contents_main .global_title

    /*:not(h1)*/ {
    border-top: 0.2em solid #000;
    font-size: 1.13em;
    letter-spacing: 0.1em;
  }

  /*.contents_side .global_title {
        text-align:center;
        font-size:1.2em;
        margin-bottom:0.5em;
        font-weight:bold;
    }*/
}

.global_h1 {
  font-size: 1.3em;
  text-align: center;
}

.global_h1:after {
  content: "\a";
}

.global_h2 {
  /*border-bottom: 1px solid #666;*/
  margin-top: 2em;
}

.global_h3 {
  border: 0.1em solid #999;
  margin-top: 1.5em;
  padding: 0.5em 0.5em 0.3em;
  font-weight: normal;
}

@media screen and (max-width: 768px) {
  .global_h3 {
    font-size: 1em;
  }
}

.global_h4 {
  margin-top: 1.5em;
  border-left: 0.35em solid #ccc;
  padding-left: 0.5em;
}

.global_h5:before {
  content: "■";
  margin-right: 0.2em;
  color: #ccc;
}

/*----------------------------------------
.contents_box相殺
----------------------------------------*/
.contents_box .global_h2,
.contents_box .global_h3,
.contents_box .global_h4,
.contents_box .global_h5 {
  margin-top: 0;
}

/*----------------------------------------
マイDHC
----------------------------------------*/
.mydhc_h1 {
  color: #fff;
  background-color: #00569c;
  font-weight: normal;
  letter-spacing: 0.1em;
}

@media screen and (min-width: 768px) {
  .mydhc_h1 {
    /*color:#fff;
        background-color:#54aea5#00569c;*/
    font-size: 1.2em;
    margin-bottom: 2em;
    line-height: 1;
    padding:
            /*0.3em */ 0.5em;
  }
}

@media screen and (max-width: 768px) {
  .mydhc_h1 {
    padding: 5px 10px;
    font-size: 1em;
    /*color: #fff;
        background-color: #54aea5;*/
  }

  .contents_main .mydhc_h1,
  .contents_main .global_title {
    margin-bottom: 1em;
  }
}

.mydhc_h2 {
  margin-top: 2em;
  border-color: #00569c;
  padding-bottom: 0.3em;
  /*position:relative;*/
}

/*.mydhc_h2:after {
    content:"";
    display:block;
    line-height:0;
    overflow:hidden;
    position:absolute;
    left:0;
    bottom:-1px;
    width:50%;
    border-bottom:1px solid #00569c;
}*/
.mydhc_h3 {
  /*border-left:0.3em solid #00569c;
    padding-left:0.6em;*/
  font-weight: normal;
}

.mydhc_h3:before {
  content: "";
  border-left: 0.3em solid #00569c;
  margin-right: 0.6em;
}

@media screen and (min-width: 768px) {
  /*.mydhc_h3 {
        border-left:5px solid #54aea5;
        padding-left:0.5em;
    }*/
  .mydhc_h3 .date {
    font-size: 0.88em;
  }
}

@media screen and (max-width: 768px) {
  .mydhc_h3,
  .privilege_title {
    margin-top: 1.5em;
    font-weight: bold;
    /*border-left: 0.3em solid #54aea5;
        padding-left: 0.5em;*/
  }
}

.mydhc_h4 {
  color:
        /*#54aea5*/ #00569c;
  font-weight: bold;
}

.mydhc_h5:before {
  content: "■";
  color:
        /*#54aea5*/ #00569c;
  margin-right: 0.2em;
}

/*----------------------------------------
.contents_box相殺
----------------------------------------*/
.contents_box .mydhc_h2,
.contents_box .mydhc_h3,
.contents_box .mydhc_h4,
.contents_box .mydhc_h5 {
  margin-top: 0 !important;
}

/*----------------------------------------
カテTOP
----------------------------------------*/
.catop_h3 {
  padding: 0.5em 0.5em 0.3em;
  margin: 0.4em 0 1em;
  font-size: 1.1em;
}

h2 + h3.catop_h3 {
  margin-top: 0;
}

.catop_h3 a {
  display: block;
  text-decoration: none;
}

.catop_h3 a:after {
  content: "\e96a";
  font-family: icomoon;
  font-weight: normal;
  display: block;
  width: 1em;
  float: right;
}

@media screen and (min-width: 768px) {
  .catop_h2 {
    border-bottom-color: #999;
    padding-left: 0.5em;
    border-left: 0.2em solid #000;
  }

  /*.catop_h2:before{content:"";border-left:0.25em solid #00569c;margin-right:0.5em;}*/
  .catop_h3 {
    /*background:#f0f0f0 url("/common/image/bg_slash.png") repeat left top;
        padding:0.6em;
        color:#fff;*/
    padding: 0.4em 0.5em;
    background: #f0f0f0;
  }

  .catop_h4 {
    border-bottom: 1px dotted #999;
    padding-bottom: 0.2em;
  }

  .catop_h5:before {
    content: "■";
    margin-right: 0.2em;
  }

  .catop_h6 {
    font-size: 1em;
    margin-bottom: 0.5em;
  }

  .catop_h6:before {
    content: "【";
  }

  .catop_h6:after {
    content: "】";
  }
}

@media screen and (max-width: 768px) {
  .catop_h2 {
    margin-top: 1.2em;
    border-left: 0.35em solid #ccc;
    padding-left: 0.5em;
  }

  .catop_h2 span {
    margin-left: 0;
    font-size: 0.6em;
    display: block;
  }

  .catop_h3 {
    border-bottom: 2px solid #ccc;
  }

  .catop_h3 span {
    margin-left: 0;
    font-size: 0.8em;
    display: block;
  }

  .catop_h4 {
    padding: 0;
    margin: 0.5em 0;
  }

  .catop_h4:before {
    content: "■";
    margin-right: 0.2em;
  }
}

/*----------------------------------------
.detail_title
----------------------------------------*/
@media screen and (min-width: 768px) {
  .detail_title {
    font-weight: bold;
    padding-bottom: 0.3em;
    border-bottom: 3px solid #ccc;
    margin-top: 2.5em;
    margin-bottom: 1em;
    position: relative;
  }

  .detail_title:after {
    content: "";
    display: block;
    line-height: 0;
    overflow: hidden;
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 30%;
    border-bottom: 3px solid #000;
  }
}

@media screen and (max-width: 768px) {
  .detail_title {
    background-color: #666;
    color: #fff;
    font-weight: bold;
    margin-bottom: 0.5em;
    padding:
            /* 0.2em */ 0.5em;
  }
}

/*----------------------------------------
.contents_box相殺
----------------------------------------*/
.contents_box .catop_h2,
/*.contents_box .catop_h3,*/
.contents_box .catop_h4,
.contents_box .catop_h5,
.contents_box .catop_h6 {
  margin-top: 0;
}

/*========================================
coupon_box　クーポン券基礎要素
========================================*/
dl.coupon_box dt img {
  float: left;
  margin-right: 0.7em;
}

dl.coupon_box .price_box strong {
  font-size: 1.5em;
}

dl.coupon_box .price_box span {
  display: inline-block;
}

@media screen and (max-width: 768px) {
  dl.coupon_box dt strong {
    display: block;
  }

  dl.coupon_box .price_box {
    text-align: center;
  }

  dl.coupon_box dd.price_box,
  dl.coupon_box dd.item {
    clear: both;
  }
}

/*========================================
バナーレイアウト
========================================*/
div.bn_layout1,
.bn_layout1 > li,
.bn_layout2 > li,
.bn_layout3 > li,
.bn_layout4 > li,
.bn_layout5 > li,
.bn_p3s2 > li {
  margin-bottom: 0.7em;
}

.bn_layout1 > li a,
.bn_layout2 > li a,
.bn_layout3 > li a,
.bn_layout4 > li a,
.bn_layout5 > li a,
.bn_p3s2 > li a {
  display: block;
  text-decoration: none;
}

.bn_layout2 > li,
.bn_layout3 > li,
.bn_layout4 > li,
.bn_layout5 > li,
.bn_p3s2 > li {
  font-size: 0.88em;
  line-height: 1.3;
}

.bn_layout1 img,
.bn_layout2 img,
.bn_layout3 img,
.bn_layout4 img,
.bn_layout5 img,
.bn_p3s2 img {
  margin-bottom: 0.1em;
}

.bn_layout1 img + span,
.bn_layout2 img + span,
.bn_layout3 img + span,
.bn_layout4 img + span,
.bn_layout5 img + span,
.bn_p3s2 > li + span {
  padding-top: 0.3em;
}

.bn_layout1 li > a > span:not(.img_box),
.bn_layout2 li > a > span:not(.img_box),
.bn_layout3 li > a > span:not(.img_box),
.bn_layout4 li > a > span:not(.img_box),
.bn_layout5 li > a > span:not(.img_box),
.bn_p3s2 li > a > span:not(.img_box) {
  display: block;
  padding-bottom: 1.2em;
}

/*.bn_layout1 { text-align:center; }*/
.bn_layout1 img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.bn_layout2:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.bn_layout2 {
  min-height: 1px;
}

* html .bn_layout2 {
  /*height: 1px;/*\*/
  /*/
  height: auto;
  overflow: hidden;
  /**/
}

.bn_layout3:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.bn_layout3 {
  min-height: 1px;
}

* html .bn_layout3 {
  /*height: 1px;/*\*/
  /*/
  height: auto;
  overflow: hidden;
  /**/
}

.bn_layout4:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.bn_layout4 {
  min-height: 1px;
}

* html .bn_layout4 {
  /*height: 1px;/*\*/
  /*/
  height: auto;
  overflow: hidden;
  /**/
}

.bn_layout5:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.bn_layout5 {
  min-height: 1px;
}

* html .bn_layout5 {
  /*height: 1px;/*\*/
  /*/
  height: auto;
  overflow: hidden;
  /**/
}

.bn_p3s2:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.bn_p3s2 {
  min-height: 1px;
}

* html .bn_p3s2 {
  /*height: 1px;/*\*/
  /*/
  height: auto;
  overflow: hidden;
  /**/
}

.bn_layout2 > li {
  float: left;
  width: 49%;
}

@media screen and (max-width: 768px) {
  #top_category .bn_layout2 > li {
    padding: 1%;
    width: 50%;
  }
}

.bn_layout2 > li:nth-child(even) {
  margin-left: 2%;
}

@media screen and (max-width: 768px) {
  #top_category .bn_layout2 > li:nth-child(even) {
  }

  margin-left: 0% !important;
}

.bn_layout3 > li {
  float: left;
  width: 32%;
  margin-right: 2%;
}

.bn_layout3 > li:nth-child(3n) {
  margin-right: 0;
}

.bn_layout4 > li {
  float: left;
  width: 23.8%;
  margin-right: 1.6%;
}

.bn_layout4 > li:nth-child(4n) {
  margin-right: 0;
}

.bn_layout5 > li {
  float: left;
  width: 18.8%;
  margin-right: 1.5%;
}

.bn_layout5 > li:nth-child(5n) {
  margin-right: 0;
}

@media screen and (min-width: 768px) {
  .bn_p3s2 > li {
    float: left;
    width: 32%;
    margin-right: 2%;
  }

  .bn_p3s2 > li:nth-child(3n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 768px) {
  .bn_p3s2 > li {
    float: left;
    width: 49%;
  }

  .bn_p3s2 > li:nth-child(even) {
    margin-left: 2%;
  }
}

/*========================================
ページインデックス
========================================*/
div.page_index {
  border: 3px double #ccc;
  margin-bottom: 1em;
}

/*========================================
20230130追記 化粧品カテTOP========================================*/
@media screen and (max-width: 768px) {
  #skintop div.page_index,
  #healthtop div.page_index {
    border: none;
    margin-bottom: 1em;
  }
}

div.page_index ul {
  font-size: 0.9em;
  line-height: 1;
}

/*========================================
20230130追記 化粧品カテTOP
========================================*/
@media screen and (max-width: 768px) {
  #skintop div.page_index ul,
  #healthtop div.page_index ul {
    font-size: 0.7em;
    line-height: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 0px;
    justify-content: space-between;
  }
}

div.page_index li {
  display: inline-block;
  margin-right: 1em;
}

/*========================================
20230130追記 化粧品カテTOP
========================================*/
@media screen and (max-width: 768px) {
  #skintop div.page_index li,
  #healthtop div.page_index li {
    border: 1px solid #ccc;
    display: block;
    width: 32.3%;
    margin-right: 0em;
  }

  #skintop div.page_index ul li:first-child,
  #healthtop div.page_index ul li:first-child {
    background: #dedede;
  }

  #skintop div.page_index li a,
  #healthtop div.page_index li a {
    padding: 7% 0%;
  }
}

div.page_index li a {
  padding-top: 0.25em;
  padding-bottom: 0.25em;
}

div.page_index li a:before {
  color: #00569c;
}

/*----------------------------------------
PC
----------------------------------------*/
@media screen and (min-width: 768px) {
  div.page_index {
    display: table;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 0.6em;
    border-right: none;
    border-left: none;
  }

  div.page_index .title,
  div.page_index ul {
    display: table-cell;
    vertical-align: middle;
  }

  div.page_index .title {
    white-space: nowrap;
    padding-right: 1.5em;
    font-weight: normal;
  }

  div.page_index ul {
    border-left: 0.1em dotted #ccc;
    padding-left: 1em;
  }

  div.page_index .title:before {
    content: "";
    display: block;
    float: left;
    border-left: 0.3em solid #00569c;
    margin-right: 0.5em;
    height: 1.5em;
  }
}

/*----------------------------------------
SPH
----------------------------------------*/
@media screen and (max-width: 768px) {
  div.page_index {
    padding: 0.4em;
    border-left: none;
    border-right: none;
    text-align: center;
    font-size: 0.88em;
  }
}

/*========================================
20230130追記 化粧品カテTOP
========================================*/
@media screen and (max-width: 768px) {
  #skintopdiv.page_index,
  #healthtopdiv.page_index {
    padding: 0;
    text-align: center;
    font-size: 1em;
  }

  div.page_index .title + ul {
    border-top: 0.1em dotted #ccc;
    margin-top: 0.4em;
    padding-top: 0.4em;
  }
}

/*========================================
ページインデックス
========================================*/
/*.page_index{overflow:hidden;margin-bottom:1em;}
.page_index .title{display:none;}
.page_index li{float:left;}
@media screen and (min-width: 768px) {
    .page_index li{width:25%;}
}
@media screen and (max-width: 768px) {
    .page_index li{width:50%;font-size:0.8em;}
}
/*========================================
.sns_list
========================================*/
ul.sns_list {
  background: -moz-linear-gradient(top, #fff 0%, #fff 3%, #e6e6e6 3%, #fff);
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#fff),
    color-stop(0.03, #fff),
    color-stop(0.03, #e6e6e6),
    to(#fff)
  );
  border-radius: 0.5em;
  -moz-border-radius: 0.5em;
  -webkit-border-radius: 0.5em;
  border: 0.1em solid #ccc;
  overflow: hidden;
  display: table;
  border-collapse: separate /*角丸対策*/;
  table-layout: fixed;
  width: 95%;
  margin: 0.5em auto;
  font-size: 0.83em;
}

@media screen and (max-width: 768px) {
  ul.sns_list {
    font-size: 0.7em;
    margin-bottom: 1em;
  }
}

ul.sns_list li {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  border-left: 0.1em dotted #ccc;
}

ul.sns_list li:first-child {
  border: 0;
}

ul.sns_list li a {
  display: block;
  padding: 0.3em;
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  ul.sns_list li a {
    padding: 0.5em;
  }
}

ul.sns_list li a:hover {
  opacity: 0.7;
}

ul.sns_list li a img {
  vertical-align: middle;
  margin: 0.3em;
  width: 1.5em;
  height: auto;
}

ul.sns_list li a span {
  display: inline-block;
}

/*ul.sns_list li.sns_facebook { background:#4267b2; }
ul.sns_list li.sns_twitter { background:#1b95e0; }
ul.sns_list li.sns_line { background:#00c300; }*/
/*========================================
tab_title 開閉式タイトル
========================================*/
.tab_title:after {
  content: "\e9ab";
  font-family: icomoon;
  opacity: 0.7;
  font-weight: normal;
  display: block;
}

@media screen and (min-width: 768px) {
  .tab_title:after {
    float: right;
  }
}

@media screen and (max-width: 768px) {
  .tab_title {
    position: relative;
  }

  .tab_title:after {
    /*font-size:1.5em;*/
    font-family: icomoon;
    line-height: 1;
    width: 1em;
    height: 1em;
    position: absolute;
    right: 1em;
    top: 0;
    bottom: 0;
    margin: auto;
  }
}

.tab_title.ygchange:after {
  content: "\e96c";
}

h2.tab_title {
  border: 0.1em solid #000;
  font-size: 1.7em;
  padding:
        /* 0.2em */ 0.5em;
  margin: 0.5em 0;
  background: #fff;
}

h2.tab_title.ygchange {
  border-color: #666;
}

@media screen and (max-width: 768px) {
  h2.tab_title {
    padding: 0.7em 0.5em;
    padding-right: 2em;
    font-size: 1em;
  }
}

/*clearfix*/
.tab_box:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.tab_box {
  min-height: 1px;
}

* html .tab_box {
  /*height: 1px;/*\*/
  /*/
  height: auto;
  overflow: hidden;
  /**/
}

/*========================================
ネットポイント,商品番号表示,定期定価表示
========================================*/
dl.goodscode,
dl.netpoint,
dl.goodsprice {
  display: inline-block;
  margin-right: 1em;
  font-size: 0.75em;
}

.netpoint dt,
.netpoint dd,
.goodscode dt,
.goodscode dd,
.goodsprice dt,
.goodsprice dd {
  display: inline-block;
}

/*========================================
電話番号
========================================*/
.contact_us {
  display: block;
  border: 3px double #ccc;
  margin: 1em 0;
  background-color: #fff;
  line-height: 1.3;
}

.contact_us .title,
.contact_us .phone,
.contact_us .copy,
.contact_us ul {
  padding: 0.5em 3%;
  display: block;
}

.contact_us .title {
  display: block;
  border-bottom: 1px solid #ccc;
  font-weight: bold;
}

.contact_us .title span {
  font-weight: normal;
  font-size: 0.8em;
  margin-left: 0.2em;
  display: inline-block;
}

.contact_us .phone {
  font-size: 0.83em;
  text-align: center;
}

.contact_us .phone a,
.contact_us .hours {
  display: inline-block;
  vertical-align: middle;
}

.contact_us .phone a {
  margin: 0.3em 0;
  cursor: default;
  font-size: 2.5em;
  font-weight: bold;
  text-decoration: none !important;
  color: #00569c !important;
  line-height: 1;
}

.contact_us .copy {
  padding-top: 0;
  display: block;
  font-size: 0.75em;
}

#cs_health.contact_us .phone a {
  color: #060;
}

#cs_skin.contact_us .phone a {
  color: #f36;
}

/*文中使用*/
p .contact_us,
p .contact_us .title,
p .contact_us .title span,
p .contact_us .phone,
p .contact_us .phone a,
p .contact_us .hours,
p .contact_us .copy,
p span.phone,
p span.phone span,
li .contact_us,
li .contact_us .title,
li .contact_us .title span,
li .contact_us .phone,
li .contact_us .phone a,
li .contact_us .hours,
li .contact_us .copy {
  display: inline !important;
  padding: 0;
  margin: 0;
  font-weight: normal;
  border: none;
  font-size: 1em !important;
  background: none;
  vertical-align: baseline;
}

p .contact_us .phone a,
li .contact_us .phone a {
  color: #333;
}

.phone a:link {
  text-decoration: none;
  padding: 0 0.2em;
}

@media screen and (max-width: 768px) {
  .phone .hours {
    font-size: 0.88em;
  }
}

/*========================================
特典アイコン
========================================*/
.privilege_list {
  box-sizing: content-box;
}

.privilege_list li .title {
  padding: 0.3em;
  text-align: center;
  color: #fff;
  line-height: 1;
  border-radius: 0.3em;
  -webkit-border-radius: 0.3em;
  -moz-border-radius: 0.3em;
}

.myprivilege_box h2 {
  padding: 0.4em;
  border: 0.15em solid #ccc;
  background-repeat: no-repeat;
  background-position: 0.5em center;
  background-color: #fff !important;
  border-radius: 0.4em;
  -webkit-border-radius: 0.4em;
  -moz-border-radius: 0.4em;
}

@media screen and (max-width: 768px) {
  .myprivilege_box h2 {
    font-size: 1em !important;
  }
}

.myprivilege_box.vip h2,
.privilege_list li.vip .title {
  background-color: #d1b200;
  border-color: #d1b200;
}

.myprivilege_box.apavip h2,
.privilege_list li.apavip .title {
  background-color: #ff829a;
  border-color: #ff829a;
}

.myprivilege_box.special h2,
.privilege_list li.special .title {
  background-color: #ff7800;
  border-color: #ff7800;
}

.myprivilege_box.coupon h2,
.privilege_list li.coupon .title {
  background-color: #fc0;
  border-color: #fc0;
}

.myprivilege_box.dhccard h2,
.privilege_list li.dhccard .title {
  background-color: #55a1ff;
  border-color: #55a1ff;
}

.myprivilege_box.discount h2,
.privilege_list li.discount .title {
  background-color: #54aea5;
  border-color: #54aea5;
}

.myprivilege_box.birthday h2,
.privilege_list li.birthday .title {
  background-color: #f33;
  border-color: #f33;
}

.myprivilege_box.skin h2,
.privilege_list li.skin .title {
  background-color: #7acce4;
  border-color: #7acce4;
}

.myprivilege_box h2:before,
.privilege_list li .title:before {
  margin: 0.1em 0.2em;
  font-family: "icomoon";
  font-weight: normal;
}

.myprivilege_box.vip h2:before,
.privilege_list li.vip .title:before {
  content: "\e94e";
}

.myprivilege_box.apavip h2:before,
.privilege_list li.apavip .title:before {
  content: "\e915";
}

.myprivilege_box.special h2:before,
.privilege_list li.special .title:before {
  content: "\e938";
}

.myprivilege_box.coupon h2:before,
.privilege_list li.coupon .title:before {
  content: "\e90f";
}

.myprivilege_box.dhccard h2:before,
.privilege_list li.dhccard .title:before {
  content: "\e909";
}

.myprivilege_box.discount h2:before,
.privilege_list li.discount .title:before {
  content: "\e942";
}

.myprivilege_box.birthday h2:before,
.privilege_list li.birthday .title:before {
  content: "\e904";
}

.myprivilege_box.skin h2:before,
.privilege_list li.skin .title:before {
  content: "\e948";
}

/*========================================
ご連絡
========================================*/
.renraku_list {
  box-sizing: contents-box;
}

.renraku_list li.cs .date {
  display: block;
}

/*========================================
customerstatus
========================================*/
#customerstatus .tokuten_box {
  background: #f0f0f0;
  padding: 0.5em 0.7em;
  margin-bottom: 1em;
  border: 1px solid #ccc;
  line-height: 1.4;
}

#customerstatus .name {
  border-bottom: 1px dotted #666;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
  font-weight: bold;
}

#customerstatus .name span {
  display: inline-block;
}

#customerstatus a:hover {
  opacity: 0.7;
}

#customerstatus dl {
  margin-bottom: 1em;
}

#customerstatus dt {
  margin-bottom: 0.2em;
}

#customerstatus dt a {
  display: block;
  text-decoration: none;
}

#customerstatus dt a:after {
  content: "\e983";
  font-family: icomoon;
  color: #333;
  display: block;
  width: 1em;
  float: right;
}

#customerstatus dd {
  text-align: center;
  background: #fff;
  color: #f30;
  padding: 0.6em 0.5em;
  border-radius: 0.3em;
  -webkit-border-radius: 0.3em;
  -moz-border-radius: 0.3em;
  box-shadow: rgb(204, 204, 204) 1px 1px 2px 1px inset;
  -webkit-box-shadow: rgb(204, 204, 204) 1px 1px 2px 1px inset;
  -moz-box-shadow: rgb(204, 204, 204) 1px 1px 2px 1px inset;
}

#customerstatus .tokuten_rankup dd strong {
  font-size: 1.3em;
}

#customerstatus .tokuten_rankup dd span {
  display: inline-block;
}

#customerstatus .tokuten_netpoint dd strong {
  font-size: 1.5em;
}

#customerstatus li {
  padding: 0.3em 0;
  border-top: 1px dotted #ccc;
  margin: 0;
}

#customerstatus li:first-child {
  border: none;
}

#customerstatus li a {
  text-decoration: none;
  display: block;
  padding-right: 1em;
  background: url("//www.dhc.co.jp/sitetop/image/arrow.gif") no-repeat right
    center;
}

#customerstatus .privilege_list li .title {
  display: block;
  float: left;
}

#customerstatus .privilege_list li .copy {
  margin-left: 2.5em;
  display: block;
}

#customerstatus .tokuten_box .privilege_list strong {
  font-size: 1em;
  color: #333;
  font-weight: normal;
}

#customerstatus .privilege_list li {
  text-align: left;
}

#customerstatus .btn_box {
  margin: 0 /*form_common相殺*/;
  margin-top: 0.5em;
}

#customerstatus .btn_box div {
  margin-top: 0.5em;
}

#customerstatus .btn_box div a {
  font-size: 1em;
  display: block;
}

#customerstatus .btn_box .btn_stamp a {
  background: #fff;
  padding: 0.5em;
}

#customerstatus .btn_box .btn_stamp a:before {
  content: "\e94c";
  font-family: icomoon;
  margin-right: 0.2em;
  font-weight: normal;
  font-size: 1.4em;
  vertical-align: -0.1em;
  opacity: 0.7;
}

#customerstatus .renraku_list li {
  text-align: left;
}

#customerstatus .renraku_list .date {
  display: block;
}

/*----------------------------------------
仮ログインクーポン
----------------------------------------*/
#customerstatus strong.red {
  display: block;
  text-align: center;
  font-size: 1.15em;
  background: #ff3;
  padding: 0.2em 0;
  margin-bottom: 0.3em;
  border-radius: 1em;
  -webkit-border-radius: 1em;
  -moz-border-radius: 1em;
}

#body_sitetop #customerstatus strong.red:before {
  content: "\e90f";
  font-weight: normal;
  font-family: "icomoon";
  margin-right: 0.2em;
}

/*========================================
検索サジェスト
========================================*/
.np-keyword-suggest,
.np-item-suggest {
  position: absolute;
  left: 0;
  top: 0;
  border: 0.2em solid #ccc;
  background: #fff;
  box-shadow: rgba(0, 0, 0, 0.3) 0.3em 0.3em 0.5em 0;
  -webkit-box-shadow: rgba(0, 0, 0, 0.3) 0.3em 0.3em 0.5em 0;
  -moz-box-shadow: rgba(0, 0, 0, 0.3) 0.3em 0.3em 0.5em 0;
  /*text-transform:uppercase;*/
}

.np-keyword-suggest {
  width: 20em;
}

.np-keyword-suggest .item {
  line-height: 1.4 !important;
  padding: 0.4em 0.5em;
  border-bottom: 0.1em solid #ccc;
  text-align: left;
  padding-left: 4em;
  background-image: url("//www.dhc.co.jp/common/image/icon_goods.svg");
  background-repeat: no-repeat;
  background-position: 0.5em center;
  background-size: 3em;
  -webkit-background-size: 3em;
  -moz-background-size: 3em;
  -o-background-size: 3em;
  -ms-background-size: 3em;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.np-keyword-suggest-group-query .item {
  background-image: url("//www.dhc.co.jp/common/image/icon_keyword.svg");
}

.np-keyword-suggest .item:hover {
  background-color: #f0f0f0;
}

.np-item-suggest {
  width: 30em;
}

.np-item-suggest .title {
  display: none;
}

.upper * {
  line-height: 1.5;
}

.suggest_upper_area,
.suggest_upper_content {
  padding: 0.7em 0.5em;
}

.suggest_upper_area .title {
  display: block;
  text-align: left;
  font-weight: bold;
}

.suggest_upper_content {
  padding-bottom: 1em;
}

.suggest_upper_content .name {
  display: none;
}

.suggest_upper_content .display_matrix {
  text-align: center;
}

.suggest_upper_content .display_matrix li {
  display: inline-block;
  width: 30%;
  float: none;
  margin: 0 0.2em;
  white-space: nowrap;
}

/*----------------------------------------
画像サジェストのボタン独自設定
----------------------------------------*/
#search_box .btn_search {
  padding-bottom: 1em;
}

.btn_search a {
  color: #fff !important;
}

/*========================================
ad_footer_banner 左下に固定するバナー
========================================*/
.ad_footer_banner {
  position: fixed;
  width: 80%;
  bottom: 2%;
  left: 2%;
  z-index: 100;
}

.ad_footer_banner img {
  max-height: 16vh;
  box-shadow: rgb(0 0 0) 0 0 0.5em 0;
  -webkit-box-shadow: rgb(0 0 0) 0 0 0.5em 0;
  -moz-box-shadow: rgb(0 0 0) 0 0 0.5em 0;
}

.ad_footer_banner a img:hover {
  filter: alpha(opacity=100) !important;
  -moz-opacity: 1 !important;
  opacity: 1 !important;
  outline: 0.2em solid #fff;
}

/*========================================
動画iframeのレスポンシブ
========================================*/
.movie_box {
  text-align: center;
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.movie_box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*========================================
list_number
========================================*/
.list_number {
  counter-reset: li;
}

.list_number > li {
  position: relative;
  list-style: none;
  text-indent: -1.8em;
  padding-left: 1.8em;
  font-size: 1em;
  margin-bottom: 0.3em;
}

.list_number > li:before {
  content: counter(li);
  counter-increment: li;
  font-weight: bold;
  padding: 0 0.3em;
  font-family: Tahoma, Geneva, sans-serif;
  color: #666;
  border: 0.1em solid #666;
  margin-right: 0.5em;
}

/*========================================
20220413更新_PCのみ画像をシャキッとさせる
========================================*/
@media screen and (min-width: 768px) {
  .bn_layout1 img,
  .bn_layout2 img,
  .bn_layout3 img,
  .bn_layout4 img,
  .bn_layout5 img,
  .bn_p3s2 img,
  .thum_menu img,
  .thum_menu2 img {
    image-rendering: -webkit-optimize-contrast;
  }
}

#what,
#habit,
#cause,
#care,
#items,
#start,
#symptoms,
#kind,
#about,
#skincare,
#influence,
#select,
#how,
#other,
#condition {
  font-size: 2em;
  font-weight: 700;
  position: relative;
  margin-top: 60px;
  /* 前のh2との隙間調整 */
  padding: 6px 12px 5px 12px;
  /* 上右下左パディング */
  border: 2px solid #0058aa;
  /* 青い四角形の枠線 */
  cursor: default;
  color: #0058aa;
  /* 青文字に変更 */
  /* 下線の代わりに枠線に変更したので border-bottom は削除 */
}

#sec06cont01 > div > img {
  width: 60%;
}

#sec06cont02 > div > img {
  width: 60%;
}

#sec06cont03 > div > img {
  width: 60%;
}

#sec06cont04 > div > img {
  width: 60%;
}

#sec06cont05 > div > img {
  width: 60%;
}

#sec06cont06 > div > img {
  width: 60%;
}

.table th,
.table td {
  vertical-align: middle;
  text-align: left;
}

@media screen and (max-width: 768px) {
  #what,
  #habit,
  #cause,
  #care,
  #items,
  #start,
  #symptoms,
  #kind,
  #about,
  #skincare,
  #influence,
  #select,
  #how,
  #other,
  #condition {
    font-size: 1.3em;
    font-weight: 600;
  }
}
