@charset "utf-8";

/*[ LAYOUT ] ------------------------------------------*/

#wrapper {
  position: relative;
}

.inner {
  margin: 0 auto;
  padding: 0;
  width: 86%;
  max-width: 940px;
}

.inner-regist {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  max-width: 940px;
}

.inner_wide {
  margin: 0 auto;
  padding: 0;
  width: 96%;
  max-width: 940px;
}

@media screen and (min-width:768px) {
  .inner {
    width: 96%;
    max-width: 940px;
  }
  .inner-regist {
    width: 96%;
    max-width: 940px;
  }
}


/*[ HEADER ] ------------------------------------------*/

.header {
  margin: 0 auto 2.7em;
  background-color: #fff;
}

.headerlogoWrap {
  padding: 2.3em 0;
  text-align: left;
}

@media screen and (min-width:768px) {
  /* .headerlogoWrap a:hover {
    opacity: 1;
  }
  .headerlogoWrap a:hover img {
    opacity: 1;
  } */
}


/*[ HEADER TYPE01 ] ------------------------------------------*/

.header.type01 {
  margin: 0 auto 1em;
}

@media screen and (min-width:768px) {
  .header.type01 {
    margin: 0 auto;
    height: 152px;
  }
  .header.type01 .inner {}
}

/*[ HEADER TYPE02 ] ------------------------------------------*/

.header.type02 {
  margin: 0 auto 1em;
  text-align: center;
}

.header.type02 .headerlogoWrap{
  padding: 17px 0;
  font-size: 14px;
  text-align: center;

}

.header.type02 .headerlogoWrap img{
  vertical-align: middle;
}

.header.type02 .headerlogoWrap .ja{
  padding-left:1em;
  padding-top: 7px;
  vertical-align: middle;
}

@media screen and (min-width:768px) {
  .header.type02 {
    margin: 0 auto 20px;
    height: auto;
  }
	.header.type02 .headerlogoWrap{
	    width: 96%;
    max-width: 940px;
		text-align: left;
			margin:0 auto;
	}

}
@media screen and (max-width:767px) {
  .header.type02 {
    text-align: left;
	  padding-left:20px;
  }
}
/*-----------------------------*/

/*[ HEADER ORDER ] ------------------------------------------*/
.header_order {
  background-color: #000;
}
.header_order .h1 {
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .header_order .h1 {
    height: 60px;
  }

  .header_order .h1 img {
    height: 35px;
    width: 29px;
  }
}

@media screen and (max-width:767px) {
  .header_order {
    height: 50px;
  }

  .header_order .h1 {
    height: 100%;
  }

  .header_order .inner {
    width: 100%;
    height: 100%;
  }

  .header_order .h1 img {
    height: 30px;
    width: auto;
  }
}
/*-----------------------------*/

.header_t1_r1 {
  display: none;
}

@media screen and (min-width:768px) {
  /*-----------------------------*/
  .header_t1_r1 {
    display: block;
    color: #fff;
    background-color: #333;
  }
  .header_t1_r1 a {
    display: inline-block;
    padding-left: 1px;
    color: #fff;
    background-repeat: no-repeat;
    background-position: 0 50%;
  }
  .header_t1_r1 .ht1_fr1 a {
    padding-left: 10px;
    background-image: url(../../images/common/icon_arw_03.png);
  }
  .header_t1_r1 .ht1_fr2 a {
    padding-left: 10px;
    background-image: url(../../images/common/icon_arw_03.png);
  }
  .header_t1_r1 .ht1_fr3 a {
    background-image: url(../../images/common/icon_blank.png);
  }
  .header_t1_r1 .ht1_fr4 a {
    background-image: url(../../images/common/icon_blank.png);
  }
  .header_t1_r1 .fleft {
    float: left;
    padding: 6px 0;
    width: 30%;
    font-size: 1.1em;
  }
  .header_t1_r1 .fright {
    float: right;
    padding: 7px 0;
    width: 70%;
    text-align: right;
  }
  .header_t1_r1 .fright ul {
    display: inline-block;
    margin: 0 0 0 auto;
  }
  .header_t1_r1 .fright ul li {
    display: inline-block;
    padding: 0 14px;
  }
}


/*-----------------------------*/

.header_t1_r2 {
  padding-left: 45px;
  position: relative;
}

.header_t1_r2 .inner {
  margin: 0;
}

@media screen and (max-width:767px) {
  .fleft h1.h1_la .logo {
    display: none;
  }
  .fleft h1.h1_la .name {
    display: inline-block;
    width: 80%;
    font-size: 102%;
  }
}


/*-----------------------------*/

.header_t1_r2 .fleft .sp_MenuBtn {
  width: 24px;
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
}

.header_t1_r2 .fleft .sp_MenuBtn span, .header_t1_r2 .fleft .sp_MenuBtn:before, .header_t1_r2 .fleft .sp_MenuBtn:after {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #fff;
}

.header_t1_r2 .fleft .sp_MenuBtn span {
  margin-top: 6px;
}

.header_t1_r2 .fleft .sp_MenuBtn:before {
  content: "";
  margin-top: 0;
}

.header_t1_r2 .fleft .sp_MenuBtn:after {
  content: "";
  margin-top: 6px;
}

.header_t1_r2 .fleft .headerlogoWrap {
  padding: 10px 0;
  text-align: left;

}

.header_t1_r2 .fleft .headerlogoWrap img {
  padding-right: 14px;
  width: auto;
  height: 30px;
  vertical-align: middle;
}


/*-----------------------------*/

.header_t1_r2 .fright {
  position: absolute;
  top: 0;
  right: 3%;
}

.header_t1_r2 .fright ul {}

.header_t1_r2 .fright ul li {
  display: inline;
}

.header_t1_r2 .fright ul li.hm_fr1 a {
  display: inline-block;
  width: 30px;
  height: 40px;
  text-indent: -999px;
  overflow: hidden;
  background-image: url(../../images/common/icon_mypage.png);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 76%;
}
.header_t1_r2 .fright ul li.hm_fr2 {
  margin-right: 5px;
}
.header_t1_r2 .fright ul li.hm_fr2 a {
  display: inline-block;
  width: 30px;
  height: 40px;
  text-indent: -999px;
  overflow: hidden;
  background-image: url(../../images/common/icon_cart.png);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 80%;
}

.header_t1_r2 .fright ul li.hm_fr3, .header_t1_r2 .fright ul li.hm_fr4 {
  display: none;
}

.header_t1_r2 .innerSp .brXs {
  display: none;
}

@media screen and (min-width:768px) {
  /*-----------------------------*/
  .header_t1_r2 {
    padding: 0;
  }
  .header_t1_r2 .inner {
    margin: 0 auto;
  }
  .header_t1_r2 .fleft {
    float: left;
    width: 30%;
  }
  .header_t1_r2 .fleft .sp_MenuBtn {
    display: none;
  }
  .header_t1_r2 .fleft .headerlogoWrap {
    padding: 17px 0;
    text-align: left;
  }
  .header_t1_r2 .fleft .headerlogoWrap img {
    height: 32px;
  }
  .header_t1_r2 .fright {
    float: right;
    width: 70%;
    text-align: right;
    position: inherit;
    top: inherit;
    right: inherit;
  }
  .header_t1_r2 .fright ul {
    display: inline-block;
    margin: 0 0 0 auto;
    padding: 14px 0;
  }
  .header_t1_r2 .fright ul li {
    display: inline-block;
    padding: 5px 5px;
  }
  .header_t1_r2 .fright ul li a {
    display: inline-block;
    padding: 5px 17px;
    font-size: 1.1em;
    line-height: 1;
    vertical-align: middle;
  }
  .header_t1_r2 .fright ul li input {
    display: inline-block;
    padding: 5px 17px;
    font-size: 1.1em;
    line-height: 1;
    vertical-align: middle;
  }
  .header_t1_r2 .fright ul li.hm_fr1 a {
    padding-left: 20px;
    padding-right: 5px;
    width: auto;
    height: auto;
    text-indent: inherit;
    background-position: 0 50%;
    background-size: auto 69%;
    -webkit-appearance: none;
    -moz-appearance: none;
  }
  .header_t1_r2 .fright ul li.hm_fr2 a {
    display: inline;
    padding-left: 20px;
    padding-right: 5px;
    text-indent: inherit;
    background-position: 0 50%;
    background-size: auto 55%;
  }
  .header_t1_r2 .fright ul li.hm_fr3 {
    display: inline-block;
  }
  .header_t1_r2 .fright ul li.hm_fr3 a {
    color: #b72f34;
    background-color: #ffffff;
    border: 1px solid #b72f34;
  }
  .header_t1_r2 .fright ul li.hm_fr4 {
    display: inline-block;
    padding-right: 0;
  }
  .header_t1_r2 .fright ul li.hm_fr4 a {
    color: #b72f34;
    background-color: #ffffff;
    border: 1px solid #b72f34;
  }
	
  .header_t1_r2 .fright ul li.hm_fr4 input {
    color: #b72f34;
    background-color: #ffffff;
    border: 1px solid #b72f34;
  }
}

@media screen and (min-width:900px) {
  .header_t1_r2 .fleft .headerlogoWrap {
    font-family: 'メイリオ', 'Meiryo','ヒラギノ角ゴシック', 'Hiragino Sans', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN',  sans-serif, serif;
    font-size: 14px;
  }
}

@media screen and (max-width:767px) {
  .header_t1_r2 .innerSp .fleft .headerlogoWrap {
    padding: 10px 0;
    display: flex;
    align-items: center;
  }

  .header_t1_r2 .innerSp .fleft .headerlogoWrap a {
    margin: 0 auto;
  }

  .header_t1_r2 .innerSp .fleft a .headerlogoWrap span {
      opacity: 1;
  }
}

@media screen and (max-width:767px) {
  .header_t1_r2 .innerSp .fleft .headerlogoWrap.sp.wd70 {
    padding-right: 0;
    white-space: nowrap;
    width: 100vw;
    margin-left: -45px;
  }
}

/*[ HEADER TYPE01 SP] ------------------------------------------*/

.header.type01.sp {}

@media screen and (min-width:768px) {
  .header.type01.sp {
    display: none;
  }
}


/*[ h_searchBlock ] ------------------------------------------*/

.h_searchWrap {
  display: inline-block;
  width: calc( 100% - 50px);
}

.h_searchBlock {
  margin: 0 auto 1em;
}

.h_searchBlock .hs_btn {
  /*display: inline-block;　*/
  padding-left: 10px;
  width: 50px;
}

.h_searchBlock .hs_btn img {
  width: 20px;
  height: 20px;
  vertical-align: middle;
}

.h_searchBox {
  display: inline-block;
  width: 100%;
}

input[type="text"].h_search_txt {
  display: inline-block;
  /*width: 73%;*/
  width: 68%;
}

input[type="submit"].h_search_btn {
  display: inline-block;
  margin-left: 2%;
  width: 25%;
  color: #ffffff;
  text-align: center;
  background: none;
  background-color: #b72f34;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding:8px 0;
}

@media screen and (min-width:768px) {
  .h_searchBlock {
    margin-bottom: 6px;
    padding: 0;
    position: absolute;
    top: 108px;
    right: 1%;
    z-index: 102;
  }
  .h_searchBlock:hover {
    cursor: pointer;
  }
  .h_searchBlock .hs_btn {
    padding-bottom: 8px;
    border-bottom: 5px solid #ffffff;
  }
  .h_searchBlock:hover .hs_btn {
    border-bottom: 5px solid #b72f34;
  }
  .h_searchWrap {
    display: none;
    padding: 8px 0 0;
    width: 260px;
    position: absolute;
    top: 35px;
    right: 0;
  }
  .h_searchBlock .h_searchWrap .h_searchBox {
    padding: 18px 12px;
    width: 100%;
    background-color: #ffffff;
    border: 1px solid #cccccc;
    border-radius: 5px;
    position: relative;
    text-align:right;
  }
  .h_searchBlock .h_searchWrap .h_searchBox:before {
    content: "";
    display: block;
    width: 32px;
    height: 11px;
    background-image: url(../../images/common/icon_balloon_2.png);
    background-repeat: no-repeat;
    background-position: 0 0;
    position: absolute;
    top: -11px;
    right: 2%;
  }
  input[type="text"].h_search_txt {
    width: 82%;
    border-right: 0;
    border-radius: 5px 0 0 5px;
  }
  input[type="submit"].h_search_btn {
    background: none;
    margin: 0 0 0 -5px;
    width: 16%;
    height: 32px;
    background-image: url(../../images/common/icon_seach_3.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    border: 1px solid #dcdcdc;
    border-left: 0;
    border-radius: 0 5px 5px 0;
    text-indent: -9999px;
  }


@-moz-document url-prefix(){
  input[type="submit"].h_search_btn {
    height: 33px;
  }
}
	
  input[type="submit"].h_search_btn:hover {
    cursor: pointer;
  }
}

@media screen and (min-width:940px) {
  .h_searchBlock {
    margin-left: 415px;
    right:inherit;
    left: 50%;
  }
}

/*[ SLIDER ] ------------------------------------------*/


.slick-dots li button:before{
  font-size:18px !important;
  width:15px !important;
  height:15px !important;
}

.sp-slide img {
  width: 100% !important;
  height: auto !important;
}

@media screen and (min-width:768px) {

  .sp-button{
    background:none !important;
    border:0 !important;
    border-radius: 0 !important;
    margin: 0 !important;
    width: 25% !important;
    height: auto !important;
    float: left !important;
  }

  .sp-button:hover{
    opacity: 0.7 !important;
  }

  .sp-selected-button{
    background:none !important;
  }
}


/*[ GLOBAL MENU ] ------------------------------------------*/
@media screen and (min-width:768px) {
  .globalMenuBlock {
    padding: 0;
    width: 100%;
    background: #FFFFFF;
    overflow: inherit;
    position: absolute;
    top: 93px;
    left: 0;
    z-index: 10;
    box-shadow: none;
  }
  .globalMenuBlock .inner {
    margin:0 auto;
    padding-right:50px;
    width:940px;
    max-width: inherit;
  }
  #gnav {
    margin-bottom: 6px;
  }
  #gnav a {
    font-size: 13px;
  }
  #gnav > ul {
    position: relative;
    width: 800px;
    height: 53px;
    -webkit-transition: all .3s linear;
    -moz-transition: all .3s linear;
    -o-transition: all .3s linear;
    transition: all .3s linear;
    overflow: visible;
  }
  #gnav > ul > li {
    position: static;
    display: block;
    float: left;
    margin: 0 23px;
    
  }
  #gnav > ul > li:nth-child(3) {
    
  }
  #gnav > ul > li > span > a {
    position: relative;
    display: block;
    z-index: 202;
    height: 53px;
    line-height: 53px;
    text-align: center;
    font-weight: bold;
    -webkit-transition:background-color .3s linear;
    -moz-transition:background-color .3s linear;
    -o-transition:background-color .3s linear;
    transition:background-color .3s linear;
  }
  #gnav > ul > li > span > a:hover {
    text-decoration: none;
  }
  #gnav > ul > li > span + div {
    visibility: hidden;
    position: absolute;
    top: 35px;
    left: 0;
    overflow: hidden;
    z-index: 200;
    width: 940px;
    height: 0;
    -webkit-transition: opacity .3s linear;
    -moz-transition: opacity .3s linear;
    -o-transition: opacity .3s linear;
    transition: opacity .3s linear;
    opacity: 0;
  }
  #gnav > ul > li:hover span + div {
    visibility: visible;
    height: auto;
    min-height: 40px;
    max-height: 1000px;
    opacity: 1;
    padding-top: 18px;
  }
  #gnav > ul > li div.sn_wrap {
    position: relative;
    padding: 20px;
    background-color: #FFFFFF;
    border: 3px solid #E60012;
  }
  #gnav > ul > li div.sn_wrap::before {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    top: -18px;
    border-right: 18px solid transparent;
    border-bottom: 18px solid #E60012;
    border-left: 18px solid transparent;
  }
  #gnav > ul > li div.sn_wrap::after {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    top: -14px;
    border-right: 18px solid transparent;
    border-bottom: 18px solid #FFFFFF;
    border-left: 18px solid transparent;
  }
  #gnav > ul > li:nth-child(1) div.sn_wrap::before,
  #gnav > ul > li:nth-child(1) div.sn_wrap::after {
    left: 44px;
  }
  #gnav > ul > li:nth-child(2) div.sn_wrap::before,
  #gnav > ul > li:nth-child(2) div.sn_wrap::after {
    left: 152px;
  }
  #gnav > ul > li:nth-child(3) div.sn_wrap::before,
  #gnav > ul > li:nth-child(3) div.sn_wrap::after {
    left: 307px;
  }
  #gnav > ul > li:nth-child(4) div.sn_wrap::before,
  #gnav > ul > li:nth-child(4) div.sn_wrap::after {
    left: 485px;
  }
  #gnav > ul > li:nth-child(5) div.sn_wrap::before,
  #gnav > ul > li:nth-child(5) div.sn_wrap::after {
    left: 628px;
  }
  #gnav .sn_wrap > ul > li {
    margin-bottom: 20px;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    text-align: left;
  }
  #gnav .sn_wrap > ul > li:last-child {
    margin-bottom: 0;
  }
  #gnav .sn_wrap > ul > li > a {
    display: block;
    width: 260px;
    height: 44px;
    line-height: 44px;
    font-weight: bold;
  }
  #gnav .sn_wrap > ul > li > a img {
    margin-right: 6px;
    width: 66px;
  }
  #gnav .sn_wrap .sn_3col > ul {
    padding-top: 10px;
    width: 288px;
  }
  #gnav .sn_wrap .sn_3col a img {
    margin-right: 6px;
    width: 38px;
  }
  #gnav .sn_wrap .sn_3col > ul > li > a {
    display: block;
    
    height: 27px;
    line-height: 27px;
  }
  #gnav .sn_wrap .sn_3col a img {
    margin-right: 6px;
    width: 25px;
  }
  #gnav .sn_wrap .sn_4col {
    display: none;
  }
  #gnav .sn_wrap .sn_4col li {
    margin-bottom: 7px;
    border-right: 5px solid #fff;
  }
  #gnav .sn_wrap .sn_4col a {
    display: block;
    height: 23px;
    line-height: 23px;
  }
  #gnav .sn_wrap .sn_4col a img {
    margin-right: 6px;
    width: 38px;
  }
  #gnav .sn_wrap .sn_3col > ul > li:hover .sn_4col {
    display: block;
    position: absolute;
    top: 32px;
    left: 570px;
  }
  #gnav .sn_wrap .sn_3col > ul > li > a:hover,
  #gnav .sn_wrap .sn_4col a:hover {
    color: #E60012;
    background: #f9dedf;
  }
}

@media screen and (max-width:767px) {
  .globalMenuBlock {
    padding: 0;
    width: 320px;
    background-color: #ffffff;
    overflow: auto;
    position: absolute;
    top: 40px;
    left: -330px;
    z-index: 101;
    box-shadow: 3px 10px 10px #cccccc;
  }
  .globalMenuBlock .inner {
    margin: 0;
    padding: 0;
    width: 100%;
    max-width: inherit;
  }
  #gnav {
    min-height:100%;
    position:relative;
  }
  #gnav > ul > li img {
    display: none;
  }
  #gnav > ul > li > span {
    display: block;
    margin-top: -1px;
    padding: 7px 12px;
    font-size: 1.4em;
    font-weight: bold;
    line-height: 1.71;
    background-color: #F8F8FA;
    background-image: url(../../images/common/icon_open.png);
    background-repeat: no-repeat;
    background-position: 98% 50%;
    border-top: 1px solid #CCCCCC;
    border-bottom: 1px solid #CCCCCC;
  }
  #gnav > ul > li > span.open {
    background-image: url(../../images/common/icon_close.png);
  }
  #gnav > ul > li > span + div {
    display: none;
  }
  #gnav .sn_wrap a {
    display: block;
    padding-left: 15px;
    background-image: url(../../images/common/icon_arw_01.png);
    background-repeat: no-repeat;
    background-position: left 0.5em;
  }
  #gnav .sn_wrap li {
    font-size: 13px;
  }
  #gnav .sn_wrap > ul >li {
    padding: 7px 12px;
    border-bottom: 1px solid #CCCCCC;
  }
  #gnav .sn_wrap > ul >li:last-child {
    border-bottom: none;
  }
  #gnav .sn_wrap .sn_3col > ul,
  #gnav .sn_wrap .sn_4col > ul {
    padding: 0 1em;
  }
}

/*--------------------------*/

.gm_visible_sp {}

.gm_visible_sp .gmItemWrap2 {
  border-left: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
}

.gm_visible_sp .gmItemWrap2 li {
  margin-top: -1px;
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
}

.gm_visible_sp .gmItemWrap2 li a {
  display: block;
  padding: 0.5em 0 0.5em 3em;
  font-size: 1.4em;
  font-weight: bold;
  line-height: 1.71;
  background-repeat: no-repeat;
  background-position: 5% 50%;
  background-size: auto 14px;
  background-color: #ffffff;
}

.gm_visible_sp .gmItemWrap2 li.btn_1 a {
  background-image: url(../../images/common/icon_lock.png);
}

.gm_visible_sp .gmItemWrap2 li.btn_1 input {
  display: block;
  padding: 0.5em 0 0.5em 3em;
  font-size: 1.4em;
  font-weight: bold;
  line-height: 1.71;
  background-image: url(../../images/common/icon_lock.png);
  background-repeat: no-repeat;
  background-position: 5% 50%;
  background-size: auto 14px;
  background-color: #ffffff;
  width:100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  border:none;
  text-align: left;
}

.gm_visible_sp .gmItemWrap2 li.btn_2 a {
  background-image: url(../../images/common/icon_mypage_2.png);
}

.gm_visible_sp .gmItemWrap2 li.btn_3 a {
  background-image: url(../../images/common/icon_infocircle.png);
}

.gm_visible_sp .gmItemWrap2 li.btn_4 a {
  background-image: url(../../images/common/icon_user.png);
}

.gm_visible_sp .gmItemWrap2 li.btn_5 a {
  background-image: url(../../images/common/icon_question-circle.png);
}

.gm_visible_sp .gmItemWrap2 li.btn_6 a {
  background-image: url(../../images/common/icon_envelope.png);
}

@media screen and (min-width:768px) {
  .gmItemWrap {
    margin-bottom: 6px;
    width: 100%;
    border: 0;
  }
  .gmItem {
    float: left;
    text-align: center;
    border-bottom: 5px solid #ffffff;
    position: relative;
  }
  .gmItem.current, .gmItem:hover {
    border-bottom: 5px solid #b72f34;
  }
  .gmItem.gm01 {
    width: 14%;
  }
  .gmItem.gm02 {
    width: 15%;
  }
  .gmItem.gm03 {
    width: 13%;
  }
  .gmItem.gm04 {
    width: 21%;
  }
  .gmItem.gm05 {
    width: 12%;
  }
  .gmItem.gm06 {
    width: 25%;
  }
  .gmItem .g_name {
    margin: 0;
    padding: 22px 0 13px;
    color: #333333;
    font-size: 1.3em;
    line-height: 1;
    background: none;
    border: 0;
  }
  .gmItem.current, .gmItem:hover .g_name {
    cursor: pointer;
  }
  .gmItem .submenu {
    display: none;
    padding-top: 15px;
    position: absolute;
    top: 48px;
    left: 30%;
  }
  .gmItem:hover .submenu {
    display: block;
  }
  .gmItem.gm05 .submenu, .gmItem.gm06 .submenu {
    left: inherit;
    right: 30%;
  }
  .gmItem .submenu .s_menu_item {
    width: 380px;
    padding: 30px 5px 5px;
    background-color: #ffffff;
    border: 2px solid #c01937;
    position: relative;
  }
  .gmItem .submenu .s_menu_item:before {
    content: "";
    display: block;
    width: 100%;
    height: 12px;
    background-image: url(../../images/common/icon_balloon.png);
    background-repeat: no-repeat;
    background-position: 8% 0;
    position: absolute;
    top: -12px;
    left: 0;
  }
  .gmItem.gm05 .submenu .s_menu_item:before, .gmItem.gm06 .submenu .s_menu_item:before {
    background-position: 92% 0;
    left: inherit;
    right: 0;
  }
  .gmItem .submenu .s_menu_item dl {
    margin-bottom: 15px;
    padding-bottom: 20px;
  }
  .gmItem .submenu .s_menu_item dl:last-child {
    margin: 0;
    border: 0;
  }
  .gmItem .submenu .s_menu_item .thumbnail {
    display: block;
    float: left;
    width: 70px;
  }
  .gmItem .submenu .s_menu_item dl dd {
    float: right;
    width: calc( 95% - 70px);
  }
  .gmItem .submenu .s_menu_item dl dd h3 {
    margin: 0 auto;
    padding: 5px 0;
    text-align: left;
    font-weight: bold;
  }
  .gmItem .submenu .s_menu_item dl dd ul {
    width: 100%;
  }
  .gmItem .submenu .s_menu_item dl dd ul li {
    float: left;
    margin-bottom: 5px;
    padding: 0;
    width: 50%;
  }
  .gmItem .submenu .s_menu_item dl dd ul li a {
    margin: 0;
    padding: 0 7% 0 0;
    text-align: left;
    background: none;
    border: 0;
  }
  .gmItem .submenu .s_menu_item dl dd ul li a:hover {
    color: #b72f34;
    text-decoration: underline;
  }
}



/*[ TOPPAGE MENU CLONE ] ------------------------------------------*/

.CloneGlobalMenu {
  margin: 2.6em auto 2em;
  width: 94%;
}


/*[ MAIN ] ------------------------------------------*/

.main {
  margin: 0 auto;
  padding: 0 0 1em;
}

.mainBody .inner {
  margin: 0 auto;
  padding: 0;
  width: 94%;
  max-width: 940px;
}

@media screen and (min-width:768px) {
  .main {
    padding: 0 0 5.5em;
  }
}


/*[ FOOTER ] ------------------------------------------*/

.footer {
  margin: 0 auto;
  background-color: #000;
  color: #fff;
  padding-top: 40px;
}

.footer p {
  font-size: 1em !important;
}

@media screen and (min-width:768px) {
  .footer {
    padding-bottom: 0;
    
  }
}


/*------------------------------*/

.footer_1_Wrap {
  margin: 0 auto;
  padding: 0;
  width: 96%;
  max-width: 940px;
}

.footer_1_Wrap .fleft {
  margin-bottom: 2em;
}

.footer_1_Wrap .fleft .f_row h3 {
  margin-top: -1px;
  padding: 1em;
  background-image: url(../../images/common/icon_open.png);
  background-repeat: no-repeat;
  background-position: 98% 50%;
  border: 1px solid #dcdcdc;
  color: #fff;
}
.footer_1_Wrap .fleft .f_row h3.spNoicon {
  background-image: none !important;
}

.footer_1_Wrap .fleft .f_row.open h3 {
  background-image: url(../../images/common/icon_close.png);
}
.footer_1_Wrap .fleft .f_row.open h3.spNoicon {
  background-image: none !important;
}

.footer_1_Wrap .fleft .f_row h3 a, .footer_1_Wrap .fleft .f_row h3 span {
  display: inline-block;
  font-size: 1.4em;
  font-weight: bold;
  line-height: 1.71;
}

.footer_1_Wrap .fleft .f_row h3 a {
  /* pointer-events: none; */
  color: #fff;
}

.footer_1_Wrap .fleft .f_row .f_dd_menu {
  display: none;
  padding: 1em 0 2em;
}
/*
@media screen and (min-width:768px) {
	.footer_1_Wrap .fleft .f_row .f_dd_menu {
		display: block;
	}
}

@media screen and (max-width:767px) {
	.footer_1_Wrap .fleft .f_row .f_dd_menu {
		display: none;
	}
}*/
/*------------------------------*/

.footer_1_Wrap .fleft .f_row_1 {
  margin: 0 auto;
}

.footer_1_Wrap .fleft .f_row_1 h4 {
  margin-bottom: 0.5em;
  padding: 0.5em 0 0.5em 1em;
  font-size: 1.4em;
  font-weight: bold;
  line-height: 1.71;
  background-color: #f8f8fa;
  background-image: url(../../images/common/icon_open.png);
  background-repeat: no-repeat;
  background-position: 98% 50%;
}

.footer_1_Wrap .fleft .f_row_1 .open h4 {
  background-image: url(../../images/common/icon_close.png);
}

.footer_1_Wrap .fleft .f_row_1 .f_col_menuWrap {
  display: none;
}

.footer_1_Wrap .fleft .f_row_1 .f_cateItem {
  margin: 0 auto;
}

.footer_1_Wrap .fleft .f_row_1 .f_cateItem_name a {
  display: block;
  padding: 0.5em 0 0.5em 2em;
  font-size: 1.3em;
  font-weight: normal;
  line-height: 1.42;
}

.footer_1_Wrap .fleft .f_row_1 .f_itemList {
  padding-left: 5em;
}

.footer_1_Wrap .fleft .f_row_1 .f_itemList a {
  display: block;
  padding: 0.5em 0 0.5em 1.5em;
  font-size: 1.3em;
  font-weight: normal;
  line-height: 1.42;
  background-image: url(../../images/common/icon_arw_01.png);
  background-repeat: no-repeat;
  background-position: 0.3em 50%;
}

@media screen and (min-width:768px) {
  .footer_1_Wrap .fleft {
    float: left;
    margin: 0;
    width: 88.6666%;
  }
  .footer_1_Wrap .fleft .f_row h3 {
    margin-top: 0;
    margin-bottom: 3px;
    padding: 1em 0 0 0;
    background: none;
    border: 0;
  }
  .footer_1_Wrap .fleft .f_row .f_dd_menu {
    padding: 0;
  }
  .footer_1_Wrap .fleft .f_row h4 {
    margin: 0 auto 3px;
  }
  .footer_1_Wrap .fleft .f_row_1 {
    margin: 0 auto 0.9em;
  }
  .footer_1_Wrap .fleft .f_row_1 .f_col {
    float: left;
    margin-bottom: 1em;
    width: 33.3333%;
  }
  .footer_1_Wrap .fleft .f_row_1 h4 {
    padding: 0;
    font-size: 1.2em;
    background: none;
  }
  .footer_1_Wrap .fleft .f_row_1 .f_col_menuWrap {
    display: block;
  }
  .footer_1_Wrap .fleft .f_row_1 .f_cateItem_name a {
    padding: 0;
    font-size: 1.1em;
    line-height: 1.82;
  }
  .footer_1_Wrap .fleft .f_row h3 a, .footer_1_Wrap .fleft .f_row h3 span {
    font-size: 1.2em;
    color: #fff;
  }
}

@media screen and (min-width:990px) {
  .footer_1_Wrap .fleft .f_row_1 .f_col.f_col_1 {
    width: 166px;
  }
  .footer_1_Wrap .fleft .f_row_1 .f_col.f_col_2 {
    width: 130px;
  }
  .footer_1_Wrap .fleft .f_row_1 .f_col.f_col_3 {
    width: 207px;
  }
  .footer_1_Wrap .fleft .f_row_1 .f_col.f_col_4 {
    width: 167px;
  }
  .footer_1_Wrap .fleft .f_row_1 .f_col.f_col_5 {
    width: 159px;
  }
  /*------*/
  /* .footer_1_Wrap .fleft .f_row_2 .gideList ul li:nth-child(4n-3) {
    width: 170px;
  }
  .footer_1_Wrap .fleft .f_row_2 .gideList ul li:nth-child(4n-2) {
    width: 187px;
  }
  .footer_1_Wrap .fleft .f_row_2 .gideList ul li:nth-child(4n-1) {
    width: 169px;
  }
  .footer_1_Wrap .fleft .f_row_2 .gideList ul li:nth-child(4n) {
    width: 144px;
  } */
}


/*------------------------------*/

.footer_1_Wrap .fleft .f_row_2 .gideList {
  margin: 0 auto;
}

.footer_1_Wrap .fleft .f_row_2 .gideList ul {
  padding-left: 2em;
}

.footer_1_Wrap .fleft .f_row_2 .gideList ul li {
  margin: 0 auto;
}

.footer_1_Wrap .fleft .f_row_2 .gideList ul li span,
.footer_1_Wrap .fleft .f_row_2 .gideList ul li a {
  display: block;
  padding: 0.5em 0 0.5em 0;
  font-size: 1.4em;
  line-height: 1.42;
  color: #fff;
}

.footer_1_Wrap .fleft .f_row_2 .gideList ul li.blank {
  display: none;
}

@media screen and (min-width:768px) {
  .footer_1_Wrap .fleft .f_row_2 {
    margin: 0 auto 2em;
  }
  .footer_1_Wrap .fleft .f_row_2 .gideList {
    margin: 0 auto;
  }
  .footer_1_Wrap .fleft .f_row_2 .gideList ul {
    margin: 0 auto;
    padding: 0;
  }
  .footer_1_Wrap .fleft .f_row_2 .gideList ul li {
    float: left;
    width: 33.3333%;
  }

  .footer_1_Wrap .fleft .f_row_2 .gideList ul li span,
  .footer_1_Wrap .fleft .f_row_2 .gideList ul li a {
    padding: 0;
    font-size: 1.1em;
    line-height: 1.82;
  }
}

@media screen and (min-width:940px) {
  .footer_1_Wrap .fleft .f_row_2 .gideList ul li.blank {
    display: block;
  }
}


/*------------------------------*/

.footer_1_Wrap .fleft .f_row_3 h3 a {
  display: block;
  font-size: 1.4em;
  font-weight: bold;
  line-height: 1.71;
  pointer-events: inherit;
}

@media screen and (min-width:768px) {
  .footer_1_Wrap .fleft .f_row_3 {
    margin: 0 auto;
  }
  .footer_1_Wrap .fleft .f_row_3 h3 a {
    font-size: 1.2em;
  }
  .footer_1_Wrap .fleft .f_itemList {
    display: none;
  }
}


/*------------------------------*/

.footer_1_Wrap .fright {
  margin: 0 auto 2em;
}

.footer_1_Wrap .fright .footerlogoWrap {
  margin: 0 auto;
}

.footer_1_Wrap .fright .footerlogoWrap h3 {
  margin: 0 auto;
  padding: 0;
  font-size: 1.6em;
  font-weight: bold;
}

.footer_1_Wrap .fright .footerlogoWrap ul {
  margin: 0 auto;
  width: 105%;
  position: relative;
  left: -3%;
}

.footer_1_Wrap .fright .footerlogoWrap ul li {
  float: left;
  padding: 1.4em 0;
  width: 50%;
  text-align: center;
}

.footer_1_Wrap .fright .footerlogoWrap ul li img {
  width: 48px;
  height: 48px;
}

@media screen and (max-width:767px) {
.footer_1_Wrap .fright {
  display:none;
}
  .footer_1_Wrap .fright .footerlogoWrap ul li:nth-child(1) {
    text-align: right;
    padding-right: 3em;
  }
  .footer_1_Wrap .fright .footerlogoWrap ul li:nth-child(2) {
    text-align: left;
    padding-left: 3em;
  }
}

@media screen and (min-width:768px) {
  .footer_1_Wrap .fright {
    float: left;
    width: 11.3333%;
  }
  .footer_1_Wrap .fright .footerlogoWrap h3 {
    margin: 0 auto 0.2em;
    font-size: 1.2em;
  }
  .footer_1_Wrap .fright .footerlogoWrap ul {
    padding: 0;
    width: 100%;
    position: inherit;
    left: 0;
  }
  .footer_1_Wrap .fright .footerlogoWrap ul li {
    float: none;
    padding: 1em 0;
    width: 100%;
    text-align: left;
  }
  .footer_1_Wrap .fright .footerlogoWrap ul li img {
    width: auto;

  }
}


/*------------------------------*/

.footer_2_Wrap {
  margin: 0 auto;
  padding: 0;
  width: 96%;
  max-width: 940px;
}

.footer_2_Wrap .snsWrap {
  float: left;
  margin: 0 auto;
  padding: 0 0 1.5em;
  /* width: 50%; */
}

.footer_2_Wrap .snsWrap ul {
  display: inline-block;
  margin: 0 auto;
  padding: 0;
}

.footer_2_Wrap .snsWrap ul li {
  float: left;
  margin-right: 13px;
  margin-left: 12px;
  width: 32px;
}

.footer_2_Wrap .snsWrap ul li:last-child {
  margin-right: 0;
}

.footer_2_Wrap .snsWrap ul li a {
  display: block;
}

.footer_2_Wrap .snsWrap ul li a img {
  width: 100%;
  height: auto
}

@media screen and (min-width:768px) {
  .footer_2_Wrap .snsWrap {
    float: none;
    padding: 0 0 1em;
    width: 100%;
    text-align: right;
  }
  .footer_2_Wrap .snsWrap ul {
    margin: 0 auto;
  }
}


/*------------------------------*/
.footer_3_Wrap {
	background: #000;
}
.footer_3_Wrap .copyright {
  padding: 10px 0;
  /* width: 50%; */
  font-size: 1em;
  font-weight: normal;
  text-align: center;
  letter-spacing: 1.3px;
  color: #fff;
}

@media screen and (min-width:768px) {
  .footer_3_Wrap .copyright {
    float: none;
    width: 100%;
    font-size: 1.1em;
    text-align: center;
  }
}





/*[ FOOTER TYPE02 ] ------------------------------------------*/

.footer.type02 {
  padding: 0;
  /*background-color:#eeedf2;*/
	background-color:#fff;
}

.footer.type02 .footerWrap{
  margin: 0 auto;
  padding: 10px 0;
  width: 94%;
  max-width: 940px;
	text-align:right;
}

.footer.type02 .footerWrap a{
  padding-right:12px;
}

.footer.type02 .footerWrap a:hover{
  opacity: 1;
}

.footer.type02 .footerWrap a:hover img{
  opacity: 1;
}

.footer.type02 .footerWrap img{
  vertical-align: middle;
}

@media screen and (min-width:768px) {
  .footer.type02 .footerWrap{
    padding: 28px 0;
  }
  .footer.type02 .footerWrap a{
    padding-right:24px;
  }
}



/*------------------------------*/
/*
.changeviewWrap {
  margin: 0 auto 2em;
  padding: 0;
  width: 50%;
}

.changeviewWrap ul li {
  float: left;
  width: 50%;
  padding: 0.5em;
}

.changeviewWrap ul li a {
  display: block;
  padding: 0.1em 0;
  font-size: 1.4em;
  text-align: center;
  border: 1px solid #dcdcdc;
  border-radius: 3px;
}

.changeviewWrap ul li a.current {
  color: #ffffff;
  background-color: #b72f34;
  border: 1px solid #b72f34;
}
*/

/*[ pagetop ] ------------------------------------------*/

.pagetop {
  display: none;
  position: fixed;
  bottom: -100px;
  right: 13px;
  z-index: 99;
}

@media screen and (max-width:767px) {
  .pagetop {
    display: block;
  }
  .pagetop a:hover {
    opacity: 1 !important;
  }
}
@media screen and (min-width:768px) {
  .pagetop {
    display: block;
  }
}



/*[ PKG3.4.6 ADD layout.css ] ------------------------------------------*/
#d_quick_cart .sumCountIcon {
	display: inline-block;
	position: relative;
	top: -15px;
	right: 20px;
	border-radius: 50%;
	background: #e71833;
	color: #fff;
	font-weight: bold;
	width: 32px;
	height: 32px;
	text-align: center;
	line-height: 32px;
	font-size: 11px;
}
#d_quick_cart a:hover {
	text-decoration: none;
}

/*[ PKG3.4.6 ADD page.css ] ------------------------------------------*/
#d_goods_detail #unitSelect1,
#d_goods_detail #unitSelect2,
#d_goods_detail #purchaseInterval,
#d_goods_detail #parentGoods {
	max-width: 100%;
}

/*[ PKG3.4.6 ADD parts.css ] ------------------------------------------*/
input.w7 {
	width: 40px;
	padding: 2px;
}
#d_socialmedia div.fb-like {
	float: none;
}
#d_order_item tbody tr:last-child {
	border-bottom: 1px solid #C0C7C0;
}
.pluginCountButtonNub {
    border-color: transparent #9197a3;
    border-style: solid;
    border-width: 4px 5px 4px 0;
    display: inline-block;
    position: relative;
    top: -6px;
    width: 5px;
    z-index: 2;
}
.pluginCountButton {
    background: white;
    border: 1px solid #9197a3;
    border-radius: 2px;
    color: #4e5665;
    display: inline-block;
    font-size: 11px;
    height: auto;
    line-height: 18px;
    min-width: 15px;
    padding: 0 3px;
    text-align: center;
    white-space: nowrap;
    position:relative;
    top: -7px;
}

@media screen and (max-width:767px) {
#d_socialmedia_complete .items table {
  width: 100%;
}
 #d_socialmedia_complete .items {
   border: 1px solid #bdbbbb;
   padding: 8px;
   margin-bottom: 10px;
 }
 #d_socialmedia_complete .items .snsBtn span {
    float: left;
 }
  #d_socialmedia_complete .items th {
    width: 21%;
    padding-right: 6px;
    border-right: 1px dotted #bdbbbb;
  }
  
 #d_socialmedia_complete .items td.lead {
    display: table-cell;
    text-align: left !important;
    margin-left: 5px;
    vertical-align: middle;
    padding: 5px;
  }
  /* #d_socialmedia_complete .items td.snsBtn {
    display: block;
    margin-left: 5px;
    margin-top: -15px;
    text-align: center;
  } */
  
  #d_socialmedia_complete .items td img {
    margin: 3px;
  }
}

@media screen and (min-width:768px) {
  #d_socialmedia_complete .items {
   border: 1px solid #bdbbbb;
   padding: 8px;
   margin-bottom: 12px;
 }
  #d_socialmedia_complete .items th.pl {
    margin: 10px;
    width: 10%;
  }
  #d_socialmedia_complete .items th img {
    /*border: 1px solid #dedede;*/
    display: table-cell;
    margin-right: 12px;
  }
  #d_socialmedia_complete .items td.lead {
    vertical-align: middle;
    width: 90%;
    text-align: left;
  }
  /* #d_socialmedia_complete .items td.snsBtn {
    width: 25%;
    text-align: right;
    vertical-align: middle !important;
  } */
  #d_socialmedia_complete .items td.snsBtn img {
    margin-right: 10px;
    margin-bottom: 3px;
  }
}

@media screen and (min-width:768px) {
 .h_searchBox .scloseBtn {
   text-align: right;
   font-size: 16px;
   padding: 3px;
 }
 .h_searchBox .pc-on {
  display: block;
 }

/*20190417header追記
------------------------------*/

.header_group .header_t1_r1 .fleft {
    float: left;
    padding: 10px 0;
    width: 50%;
    font-size: 1.1em;
}

.header_group .header_t1_r1 .fright {
    float: right;
    padding: 10px 0;
    width: 50%;
    text-align: right;
}
.header_group .header_t1_r2 .fright ul {
    display: inline-block;
    margin: 0 0 0 auto;
    padding: 20px 0;
}

.wd50{width: 50%!important}
.mt10{margin-top: 10px!important;}
.mt12{margin-top: 12px!important;}
.mt20{margin-top: 20px!important;}
.pc{
  display: inline-block;
}
.pc_block{
  display: block;
}
.header_group .sp{
  display: none;
}
@media screen and (max-width:767px) {
  .header_group .pc,
  .header_group .pc_block{
  display: none;
  }
  .header_group .sp{
  display: inline-block;
  }
  .header_t1_r2.header_group > .inner {
    width: calc(100% - 45px);
  }
}

  .h1_la{height: 60px;}
.mt10{margin-top: 0px!important;}
.mt12{margin-top: 0px!important;}
.mt20{margin-top: 0px!important;}
  .wd50{width: auto!important}
  .wd70{width: 70%!important}
  .white{color: #fff!important;}
  .bgwhite{background: #fff!important;}
  .sp_MenuBtn_la span,.sp_MenuBtn_la:after,.sp_MenuBtn_la:before{background-color: #fff!important;}
}

/* ポータル */
.portal {
  text-align: center;
}
.portal .portal_brand li {
  margin-bottom: 12px;
}
.portal .portal_brand li img {
    border: 1px solid #dfdfdf;
 }
@media screen and (min-width:768px) {
  .portal {
    width: 940px;
    margin: 10px auto 20px;
  }
  .portal .visual {
    margin-bottom: 20px;
  }
  .portal .portal_brand ul {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  
  .portal .portal_brand li {

  }
}
@media screen and (max-width:767px) {
  .portal .portal_brand {
    margin: 0 2%;
  }
}

/* クロスブラウザ対応 */
.gm_visible_sp .gmItemWrap2 li.btn_1 input {
  color: #000;
}

/* 新規会員登録導線更新 */
@media screen and (min-width:768px) {
  .header_t1_r2 .fright ul li.hm_fr3 .btnInterim20240523 {
    color: #fff;
    background-color: #b72f34;
    border: 1px solid #b72f34;
    font-weight: bold;
  }
}

/* 商品詳細：キャンペーン整備 */
.relatedCampaign {
  padding-top: 25px;
  width: calc(100% + 24px);
  margin: 20px 0 15px -12px;
  line-height: 1.33;
}
.relatedCampaignHead {
  color: #000;
  font-size: 16px;
  text-align: center;
  font-weight: bold;
  padding-left: 5px;
  padding-right: 5px;
  line-height: 1.33;
  margin-bottom: -5px;
}
.relatedCampaignBody {
  padding-left: 0;
  padding-right: 0;
  display: grid;
  gap: 20px 10px;
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: 20px;
  width: calc(100% + 24px);
  margin-left: -12px;
  line-height: 1.33;
}
.relatedCampaignImage {
  margin-bottom: 5px;
  border-radius: 6px;
  overflow: hidden;
}
.relatedCampaignCaption {
  font-size: 12px;
  word-break: break-all;
}
.relatedCampaignEnd {
  margin-bottom: 45px;
}

@media screen and (max-width: 767px) {
  .relatedCampaign {
    padding-top: 28px;
    width: 100%;
    margin: 20px auto;
  }
  .relatedCampaignHead {
    font-size: 14px;
  }
  .relatedCampaignHead .sp-on {
    display: none;
  }
  .relatedCampaignBody {
    width: 100%;
    margin-left: auto;
  }
  .relatedCampaignEnd {
    margin-bottom: 40px;
  }
}