@charset "utf-8";
/* Common */
.txt--large {font-size: 1.1em;}
.txt--small {font-size: 0.9em;}
.txt--r {text-align: right !important;}
.txt--c {text-align: center !important;}
.txt--ul {text-decoration: underline !important;}
.txt--red {color: #ff2222;}
.is--pc {display: block !important;}
.is--sp {display: none !important;}
.invisible {visibility: hidden;}
.m0 {margin: 0 auto !important;}
.p0 {padding: 0 !important;}
.disc li {list-style-type: disc;}
.decimal li {list-style-type: decimal;}
*[animation]{visibility: hidden;}
/* Links */
a.icn[href^="http"][target="_blank"]:after {
   content: "";
   display: inline-block;
   width: 14px;
   height: 14px;
   line-height: 20px;
   margin: 0 10px 2px 6px;
   background: url("../img/common/icn_link.png") center no-repeat;
   background-size: contain;
   vertical-align: middle;
}
a.icn[href^="/"][target="_blank"]:after {
   content: "";
   display: inline-block;
   margin: 0 10px 0 8px;
   padding: 0 5px;
   font-size: 1.2rem;
   line-height: 20px;
   color: #ff7f7f;
   border: 1px solid #ff7f7f;
   font-weight: bold;
}
a.icn[href^="/"][href$=".pdf"]:after {
   content: "PDF";
   background-color: #fff;
}
a.icn[href^="/"][href$=".xls"]:after {
   content: "XLS";
   background-color: #fff;
}
a.icn[href^="/"][href$=".xlsx"]:after {
   content: "XLSX";
   background-color: #fff;
}
a.icn[href^="/"][href$=".xlsm"]:after {
   content: "XLSM";
   background-color: #fff;
}
a.icn[href^="/"][href$=".doc"]:after {
   content: "DOC";
   background-color: #fff;
}
a.icn[href^="/"][href$=".docx"]:after {
   content: "DOCX";
   background-color: #fff;
}
a.icn[href^="/"][href$=".zip"]:after {
   content: "ZIP";
   background-color: #fff;
}
a.icn_up:after {
   content: "UP";
   display: inline-block;
   margin: 0 10px 0 8px;
   padding: 0 5px;
   font-size: 1.1rem;
   color: #fff;
   font-weight: bold;
   background-color: #ef3200;
}
.link--html {
   display: inline-block !important;
   margin: 0 4px !important;
   padding: 0 5px !important;
   background-color: #335c80 !important;
   font-size: 1.1rem !important;
   color: #fff !important;
   font-weight: bold !important;
   text-decoration: none !important;
}
.link--pdf {
   display: inline-block !important;
   margin: 0 4px !important;
   padding: 0 5px !important;
   background-color: #b11010 !important;
   font-size: 1.1rem !important;
   color: #fff !important;
   font-weight: bold !important;
   text-decoration: none !important;
}
.icn__new {
   font-size: 1.1rem;
   line-height: 20px;
   padding: 0 5px;
   border: 1px solid #ff7f7f;
   color: #ff7f7f;
}
.p40{
   padding: 40px 0;
}

/* ec default class edit */
.ec-layoutRole{
   background: transparent !important;
}
.ec-layoutRole__contents{
   max-width: inherit !important;
   padding-bottom: 80px !important;
}
.ec-searchnavRole{
   margin: 0 auto !important;
   padding: 0 !important;
   max-width: 1200px !important;
}
.ec-searchnavRole__infos{
   margin: 0 !important;
   max-width: inherit !important;
}
.bg-load-overlay{
   opacity: 0 !important;
   pointer-events: none;
}
.ec-blockTopBtn{
   position: fixed;
   bottom: 0;
   right: 50px;
   display: block;
   width: 45px;
   height: 45px;
   line-height: 45px;
   color: #fff;
   background-color: #57748e;
   font-size: 8px;
   text-align: center;
   text-decoration: none;
   transition: all 0.3s;
   opacity: 1;
   text-indent: 100%;
   white-space: nowrap;
   overflow: hidden;
}
.ec-blockTopBtn:after {
   content: "";
   position: absolute;
   top: 20px;
   left: 50%;
   margin: auto;
   display: block;
   border-top: 6px solid #fff;
   border-right: 6px solid #fff;
   border-bottom: 6px solid transparent;
   border-left: 6px solid transparent;
   transform: translateX(-50%) rotate(-45deg);
}
.ec-blockTopBtn:hover{
   opacity: 0.8;
}
.ec-orderMail__close{
   width: 100% !important;
   text-align: right !important;
}
.ec-orderMail__body{
   padding: 10px;
   margin-top: 10px;
   border-top: 1px dashed #ccc;
}
.ec-reportDescription{
   background-color: #fff;
   padding: 20px 10px;
}
.ec-cartNaviNull__message{
   padding-top: 100px;
}

/* All */
html{
   min-height: 100vh;
}
body {
   position: relative;
   font-family: "Noto Sans JP",'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, arial, helvetica, sans-serif;
   font-size: 16px;
   color: #333;
   background-color: #fff;
   min-height: 100vh;
}
body.is--loading{
   opacity: 0.3;
}
body.is--loading:before {
   content: "";
   position: fixed;
   left: 0;
   top: 0;
   width: 100vw;
   height: 100vh;
   background-color: #ffffff88;
}
body.is--loading:after {
   content: "";
   position: fixed;
   left: calc(50% - 24px);
   top: calc(50% - 24px);
   width: 48px;
   height: 48px;
   border: 5px solid #000;
   border-bottom-color: transparent;
   border-radius: 50%;
   display: inline-block;
   box-sizing: border-box;
   animation: rotation 1s linear infinite;
}

@keyframes rotation {
0% {
      transform: rotate(0deg);
}
100% {
      transform: rotate(360deg);
}
} 
main{
   position: relative;
   padding-bottom: 60px;
}
input[type=text]:focus {
   outline: 1px solid #008ffb;
}
select:focus {
   outline: 1px solid #008ffb;
}
select::-ms-expand {
   display: none;
}
.navi{
   height: 50px;
   background-color: #606060;
}
.navi ul{
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
   max-width: 1200px;
   margin: 0 auto;
}
.navi ul li{
   text-align: center;
}
.navi ul li a{
   position: relative;
   display: block;
   width: 150px;
   line-height: 20px;
   padding: 5px 0 5px 30px;
   text-align: center;
   text-decoration: none;
   color: #fff;
}
.navi ul li a:before{
   content: "";
   position: absolute;
   top: 50%;
   left: 0;
   display: block;
   width: 32px;
   height: 32px;
   transform: translateY(-50%);
   background-image: url(../img/common/icn_home.png);
   background-position: center;
   background-repeat: no-repeat;
   background-size: contain;
}

.navi ul li a.navi_icn--home:before{
   background-image: url(../img/common/icn_home.png);
}
.navi ul li a.navi_icn--heart:before{
   background-image: url(../img/common/icn_heart.png);
}
.navi ul li a.navi_icn--cart:before{
   background-image: url(../img/common/icn_cart.png);
}
.navi ul li a.navi_icn--paper:before{
   background-image: url(../img/common/icn_paper.png);
}
.navi ul li a.navi_icn--member:before{
   background-image: url(../img/common/icn_member.png);
}
.navi ul li a.navi_icn--help:before{
   background-image: url(../img/common/icn_help.png);
}
.navi ul li a.navi_icn--logout:before{
   background-image: url(../img/common/icn_logout.png);
}
.page--toppage .navi ul li a.navi_icn--home:before{
   background-image: url(../img/common/icn_home_active.png);
}
.page--favorite .navi ul li a.navi_icn--heart:before{
   background-image: url(../img/common/icn_heart_active.png);
}
.page--cart .navi ul li a.navi_icn--cart:before{
   background-image: url(../img/common/icn_cart_active.png);
}
.page--history .navi ul li a.navi_icn--paper:before{
   background-image: url(../img/common/icn_paper_active.png);
}
.page--member .navi ul li a.navi_icn--member:before{
   background-image: url(../img/common/icn_member_active.png);
}
.page--help .navi ul li a.navi_icn--help:before{
   background-image: url(../img/common/icn_help_active.png);
}
.navi ul li a:after{
   content: "";
   position: absolute;
   top: 50%;
   left: calc(50% + 12.5px);
   transform: translateX(-50%)translateY(21px);
   display: block;
   width: 0;
   height: 4px;
   transition: width 0.3s;
}
.page--toppage .navi ul li a.navi_icn--home:after{
   width: 60px;
   background-color: #1abc9c;
}
.page--favorite .navi ul li a.navi_icn--heart:after{
   width: 60px;
   background-color: #1abc9c;
}
.page--cart .navi ul li a.navi_icn--cart:after{
   width: 60px;
   background-color: #1abc9c;
}
.page--history .navi ul li a.navi_icn--paper:after{
   width: 60px;
   background-color: #1abc9c;
}
.page--member .navi ul li a.navi_icn--member:after{
   width: 60px;
   background-color: #1abc9c;
}
.page--help .navi ul li a.navi_icn--help:after{
   width: 60px;
   background-color: #1abc9c;
}
.navi ul li a:hover:after{
   width: 60px;
   background-color: #1abc9c;
}
.navi2{
   position: relative;
   display: flex;
   justify-content: center;
   align-items: center;
   width: 35%;
   min-width: 400px;
   height: 50px;
   background-color: #57748e;
   align-self: flex-end;
   margin-bottom: 10px;
}
.navi2:before{
   content: "";
   position: absolute;
   right: 100%;
   top: 0;
   border-width: 25px 15px;
   border-color: transparent #57748e #57748e transparent;
   border-style: solid;
}
.navi2:after{
   content: "";
   position: absolute;
   left: 100%;
   top: 0;
   width: calc((100vw - 100%)/2);
   height: 100%;
   background-color: #57748e;
}
.navi2>p{
   padding: 0 1em;
   flex: 0 0 auto;
   font-size: 14px;
   color: #fff;
}
.navi2 ul{
   display: flex;
   justify-content: space-evenly;
   align-items: center;
   width: 100%;
   max-width: 1200px;
   margin: 0 auto;
}
.navi2 ul li{
   position: relative;
   text-align: center;
   color: #fff;
}
.navi2 ul li a{
   position: relative;
   display: block;
   width: 115px;
   line-height: 20px;
   padding: 5px 0 5px 20px;
   text-align: center;
   font-size: 20px;
   text-decoration: none;
   color: #fff;
   cursor: pointer;
}
.navi2 ul li p{
   position: relative;
   width: 115px;
   line-height: 20px;
   padding: 5px 0 5px 20px;
   text-align: center;
   font-size: 20px;
   color: #fff;
   cursor: default;
}
.navi2 ul li:before{
   content: "";
   position: absolute;
   top: 50%;
   left: 0;
   display: block;
   width: 28px;
   height: 28px;
   transform: translateY(-50%);
   background-image: url(../img/common/icn_textbook.png);
   background-position: center;
   background-repeat: no-repeat;
   background-size: contain;
   opacity: 0.8;
}

.navi2 ul li.navi2_icn--textbook:before{
   background-image: url(../img/common/icn_textbook.png);
}
.navi2 ul li.navi2_icn--test:before{
   background-image: url(../img/common/icn_test.png);
}
.navi2 ul li.navi2_icn--textbook.is--active:before{
   background-image: url(../img/common/icn_textbook_active.png);
}
.navi2 ul li.navi2_icn--test.is--active:before{
   background-image: url(../img/common/icn_test_active.png);
}
.navi2 ul li:after{
   content: "";
   position: absolute;
   top: 50%;
   left: calc(50% + 10px);
   transform: translateX(-50%)translateY(21px);
   display: block;
   width: 0;
   height: 4px;
   transition: width 0.3s;
}
.navi2 ul li.navi2_icn--textbook.is--active:after{
   width: 60px;
   background-color: #1abc9c;
}
.navi2 ul li.navi2_icn--test.is--active:after{
   width: 60px;
   background-color: #1abc9c;
}
.contents_wrap{
   transition: padding 0.3s;
   padding: 40px 0 120px;
}
.contents_wrap.cart_fix.fixed{
   padding-right: 380px;
}

.contents_ttl{
   position: relative;
   padding-bottom: 30px;
   margin-bottom: 30px;
   text-align: center;
}
.contents_ttl:after{
   content: "";
   position: absolute;
   left: 0;
   right: 0;
   bottom: 0;
   margin: auto;
   width: 24px;
   height: 20px;
   background: url(../img/common/dot_01.png) center no-repeat;
   background-size: contain;
}
.contents_ttl--red:after{
   background: url(../img/common/dot_02.png) center no-repeat;
   background-size: contain;
}
.contents_ttl h2{
   font-weight: bold;
   font-size: 24px;
   display: inline;
}
.contents_ttl--marker h2{
   background:linear-gradient(transparent 50%, #fff8b3 50%);
}
.btn_wrap{
   display: flex;
   justify-content: center;
   align-items: center;
   max-width: 100%;
   padding: 20px 10px;
}
.btn_wrap .btn{
   margin: 5px 15px;
}
.btn{
   display: block;
   min-width: 120px;
   height: 40px;
   padding: 0 30px;
   line-height: 40px;
   margin-bottom: 15px;
   border-radius: 20px;
   border: none;
   text-align: center;
   text-decoration: none;
   color: #fff !important;
   cursor: pointer;
   transition: all 0.3s;
   box-shadow:  3px 3px 10px rgba(0, 0, 0, 0.3), -4px -4px 4px rgba(255, 255, 255, 1),inset 3px 3px 4px transparent, inset -3px -3px 4px transparent;
}
.btn:hover{
   transform: translateX(1px)translateY(1px);
   box-shadow:    3px 3px 10px transparent, -4px -4px 4px transparent,inset 3px 3px 4px rgba(0, 0, 0, 0.3), inset -3px -3px 4px rgba(255, 255, 255, 0.1);
}
.bg_blue{
   background-image: linear-gradient(to right,#008ffb,#005bea);
}
.bg_gray{
   background-color: #57748e;
}
.bg_pink{
   background-color: #ff6663;
}
.bg_cancel{
   background-color: #999999;
}
.bg_back{
   color: #333 !important;
   line-height: 36px;
   background-color: #ffffff;
   border: 1px solid #333;
}
.bg_ro{
   line-height: 36px;
   background-color: #ffffff;
   border: 2px solid #0472bc;
   color: #0472bc !important;
}
.btn.no-shadow{
   box-shadow: none;
}
.btn.no-shadow:hover{
   box-shadow:  inset 3px 3px 4px rgba(0, 0, 0, 0.3), inset -3px -3px 4px rgba(255, 255, 255, 0.1);
}
.btn_small{
   height: 26px;
   margin: 0;
   line-height: 26px;
   border-radius: 13px;
   font-size: 14px;
}
/* header */
.header{
   position: relative;
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
   max-width: 1240px;
   height: 100px;
   margin: 0 auto;
   padding: 0 20px;
}
body.page--login .header{
   position: absolute;
   max-width: inherit;
}
body.page--login .footer{
   background-color: transparent;
}
body.page--login .footer p{
   color: #777;
}
.header .ttl{
   width: 513px;
}
.header .logo{
   width: 240px;
}
/* footer */
.footer{
   position: absolute;
   bottom: 0;
   display: block;
   text-align: center;
   width: 100%;
   height: 80px;
   padding: 12px 5px;
   background-color: #666;
}
.footer_menu{
   display: flex;
   justify-content: center;
   align-items: center;
}
.footer_menu a{
   margin: 0 auto;
   color: #fff;
   font-weight: normal;
   text-align: center;
   text-decoration: underline;
   font-size: 13px;
   margin: 0 8px 8px;
}
.footer p{
   text-align: center;
   font-size: 14px;
   color: #ccc;
}
/* login */
body.page--login{
   background-color: #e6e9ed;
}
body.page--login:before{
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-image: url(../img/common/bg2.svg);
   z-index: -1;
}
body.page--login main{
   height: calc(100vh - 100px - 60px);
}
.login_wrap{
   /* position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0; */
   min-height: 100vh;
   padding-top: 100px;
   padding-bottom: 50px;
   margin: auto;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
}
.login_input{
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
   margin-bottom: 20px;
}
.login_input input{
   width: 320px;
   height: 40px;
   margin-bottom: 15px;
   border-radius: 20px;
   border: none;
   text-align: center;
   box-shadow: inset 3px 3px 4px rgb(0 0 0 / 15%), inset -3px -3px 4px rgb(255 255 255 / 15%);
}
.auto_login{
   margin-bottom: 30px;
}
.auto_login input{
   width: 20px;
   height: 20px;
   margin-right: 8px;
   border: 1px solid #8e8e8e;
   vertical-align: middle;
}
.auto_login label{
   line-height: 20px;
   font-size: 16px;
   vertical-align: middle;
}
.toppage_notice{
   padding: 10px;
   margin: 25px 5px 10px;
   background-color: #3a75a524;
   width: 100%;
   max-width: 680px;
}
.toppage_notice h4{
   text-align: center;
   line-height: 20px;
   font-size: 14px;
   font-weight: bold;
   margin-bottom: 5px;
}
.toppage_notice ul{
   padding-left: 20px;
}
.toppage_notice ul li{
   margin-bottom: 5px;
   line-height: 20px;
   list-style-type: disc;
   font-size: 13px;
   color: #555;
}
.toppage_notice p{
   padding: 4px;
   background-color: #ffffff66;
   line-height: 20px;
   text-align: center;
   font-size: 14px;
}
/* news modal */
.news_modal__wrap{
   display: none;
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: 99999;
}
.news_modal{
   display: flex;
   justify-content: center;
   align-items: center;
   width: 100%;
   height: 100%;
   background-color: #00000033;
}
.news_modal__block{
   max-width: 100%;
   max-height: 100vh;
   padding: 30px;
   background-color: #fff;
}
.news_modal__txt{
   margin-bottom: 20px;
}
.news_modal__txt h2{
   font-size: 24px;
   border-bottom: 2px dotted #999999;
   padding-bottom: 18px;
   margin-bottom: 15px;
}
.news_modal__txt p{
   line-height: 28px;
   margin-bottom: 15px;
}
.news_modal__btn{
   display: flex;
   justify-content: center;
   align-items: center;
}
.news_modal__btn button{
   display: block;
   padding: 10px 40px;
   line-height: 24px;
   color: #fff;
   box-shadow: 3px 3px 10px rgb(0 0 0 / 30%), -4px -4px 4px rgb(255 255 255), inset 3px 3px 4px transparent, inset -3px -3px 4px transparent;
   background-image: linear-gradient(to right,#008ffb,#005bea);
   border-radius: 22px;
}
.news_modal__btn button.hover{
   transform: translateX(1px)translateY(1px);
   box-shadow: 3px 3px 10px transparent, -4px -4px 4px transparent,inset 3px 3px 4px rgba(0, 0, 0, 0.3), inset -3px -3px 4px rgba(255, 255, 255, 0.1);
}
/* mosi */
.mosi_intro{
   width: 100%;
   max-width: 1200px;
   margin: 0 auto 30px;
}
.mosi_intro__notice{
   position: relative;
   line-height: 26px;
   padding: 12px 14px 12px 60px;
   margin-bottom: 20px;
   border-radius: 25px;
   background-color: #fff9b3;
   font-weight: bold;
}
.mosi_intro__notice:after{
   content: "";
   position: absolute;
   top: 50%;
   left: 20px;
   transform: translateY(-50%);
   display: block;
   width: 26px;
   height: 26px;
   background: url(../img/common/icn_info.png) center no-repeat;
   background-size: contain;
}
.mosi_intro ul{
   padding-left: 30px;
}
.mosi_intro ul li{
   list-style-type: disc;
   font-size: 15px;
   line-height: 24px;
}
.mosi_intro ul li.is--red{
   color: #f00;
}
.mosi_intro ul li.is--red::marker{
   color: #f00;
}
.mosi_intro ul li:nth-child(n + 2){
   margin-top: 10px;
}

/* topics */
.topics_wrap{
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
   max-width: 1200px;
   margin: 0 auto 20px;
   padding: 20px;
   background-color: #fff6b3;
}
.topics_wrap .contents_ttl{
   width: 38%;
   margin-bottom: 0;
}
.topics__list{
   width: 62%;
   background-color: #fff;
   padding: 20px;
   
   box-shadow: inset 3px 3px 4px rgb(0 0 0 / 15%);
}
.topics__item{
   margin-bottom: 5px;
}
.topics__list .topics__item:last-of-type{
   margin-bottom: 0;
}
.topics__item__head{
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
   cursor: pointer;
   margin: 0;
   padding-bottom: 5px;
   border-bottom: 1px solid #eeeeee;
}
.topics__item__head:hover{
   color: #0472bc;
}
.topics__item__head dt{
   width: 100px;
   padding-right: 10px;
   font-weight: normal;
}
.topics__item__head dd{
   position: relative;
   width: calc(100% - 100px);
   font-weight: normal;
}
.topics__item__head dd:after{
   content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 6px 10px 6px;
    border-color: transparent transparent #aaaaaa transparent;
    transform: translateY(-40%)rotate(180deg);
    transition: all 0.3s;
    pointer-events: none;
}
.topics__item__head.is-open dd:after{
    transform: translateY(-40%)rotate(0deg);
}
.topics__item__body{
   display: none;
   margin: 15px;
   padding: 15px;
   background-color: #f4f4f4;
   font-size: 14px;
}
/* search */
.search_wrap{
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
   max-width: 1200px;
   margin: 20px auto;
   padding: 20px;
   background-color: #e6e9ed;
}
.search_wrap .contents_ttl{
   width: 38%;
   margin-bottom: 0;
}
.search__function{
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 62%;
}
.search__input{
   width: calc(100% - 160px);
}
.search__input_select{
   position: relative;
   display: inline-block;
   width: calc(50% - 5px);
   margin-bottom: 10px;
   border-radius: 20px;
}
.search__input_select:before{
   content: "";
   position: absolute;
   top: 0;
   right: 0;
   display: block;
   width: 40px;
   height: 40px;
   background-color: #57748e;
   border-radius: 0 20px 20px 0;
   pointer-events: none;
}
.search__input_select:hover:before{
   opacity: 0.9;
   box-shadow: inset 3px 3px 4px rgb(0 0 0 / 15%), inset -3px -3px 4px rgb(255 255 255 / 10%);
}
.search__input_select:after{
   content: "";
   position: absolute;
   top: 50%;
   right: 15px;
   display: block;
   width: 0;
   height: 0;
   border-style: solid;
   border-width: 0 6px 10px 6px;
   border-color: transparent transparent #ffffff transparent;
   transform: translateY(-40%)rotate(180deg);
   pointer-events: none;
}
.search__input select{
   width: 100%;
   height: 40px;
   padding: 0 40px 0 20px;
   border: none;
   border-radius: 20px;
   text-align: center;
   color: #444;
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
   cursor: pointer;
   box-shadow: inset 3px 3px 4px rgb(0 0 0 / 15%), inset -3px -3px 4px rgb(255 255 255 / 10%);
}
.search__input select option:first-child{
   color: #aaa;
}
.search__input input{
   width: calc(100% - 10px);
   height: 40px;
   border-radius: 20px;
   border: none;
   text-align: center;
   box-shadow: inset 3px 3px 4px rgb(0 0 0 / 15%), inset -3px -3px 4px rgb(255 255 255 / 10%);
}
.search__input input::placeholder{
   color: #aaa;
}
.cat_select{
   position: relative;
   display: flex;
   justify-content: flex-start;
   align-items: flex-start;
   width: 100%;
   max-width: 1200px;
   margin: 20px auto;
   padding: 10px;
   background-color: #eaeaea;
   transition: all 0.5s;
}
.cat_select--expand{
   flex-wrap: wrap;
   padding: 5px 10px 5px 180px;
}
.cat_select h3{
   position: relative;
   font-size: 16px;
   line-height: 23px;
   padding: 0 80px 0 20px;
   color: #57748e;
}
.cat_select h3:after{
   content: "";
   position: absolute;
   right: 20px;
   top: 50%;
   width: 40px;
   height: 0;
   border-bottom: 1px dashed #57748e;
}
.cat_select--expand h3{
   position: absolute;
   top: 50%;
   left: 0;
   transform: translateY(-50%);
}
.cat_select>input{
   margin: 0 5px;
   padding: 3px 15px;
   background-color: #57748e;
   color: #fff;
   border: none;
   border-radius: 13px;
}
.cat_select>input:hover{
   background-color: #7d92a5;
}
.cat_select--expand>input{
   margin: 5px;
}
.product_list{
   width: 100%;
   max-width: 1200px;
   margin: 20px auto;
}
.product_list>ul{
   display: flex;
   justify-content: space-between;
   flex-wrap: wrap;
   padding: 0;
}
.product_list>ul:before{
   content: "";
   display: block;
   width: calc(25% - 10px);
   height: 1px;
   order: 1;
}
.product_list>ul:after{
   content: "";
   display: block;
   width: calc(25% - 10px);
   height: 0;
   order: 1;
}
.product_box{
   position: relative;
   width: calc(25% - 15px);
   margin-bottom: 20px;
   padding: 20px;
   border: 1px solid #e1e1e1;
}
.product_box:before{
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-color: #f4f4f4;
   background-image: url(../img/common/bg.svg);
   z-index: -1;
}
.product_box>a{
   text-decoration: none;
   color: #333;
}
.product__img{
   position: relative;
   width: 110px;
   margin: 0 auto;
}
.product__img img{
   width: 100%;
   border: 1px solid rgba(0, 0, 0, 0.3);
   box-shadow: 5px 5px 12px rgba(0, 0, 0, 0.3);
}
.product__img--new1:before{
   content: "";
   position: absolute;
   top: -10px;
   left: -15px;
   display: block;
   width: 65px;
   height: 40px;
   background-color: #ff007b;
   box-shadow: 3px 3px 3px #00000055;
}
.product__img--new1:after{
   content: "新版";
   position: absolute;
   top: -10px;
   left: -15px;
   display: block;
   width: 65px;
   height: 40px;
   line-height: 40px;
   color: #fff;
   font-size: 23px;
   text-align: center;
}
.product__img--new2:before{
   content: "";
   position: absolute;
   top: -5px;
   left: -5px;
   display: block;
   width: 40px;
   height: 24px;
   background-color: #ff007b;
   box-shadow: 3px 3px 3px #00000055;
}
.product__img--new2:after{
   content: "新刊";
   position: absolute;
   top: -5px;
   left: -5px;
   display: block;
   width: 40px;
   height: 24px;
   line-height: 24px;
   color: #fff;
   font-size: 14px;
   text-align: center;
}
.product__img--new3:before{
   content: "";
   position: absolute;
   top: -5px;
   left: -5px;
   display: block;
   width: 40px;
   height: 24px;
   background-color: #13008d;
   box-shadow: 3px 3px 3px #00000055;
}
.product__img--new3:after{
   content: "改訂";
   position: absolute;
   top: -5px;
   left: -5px;
   display: block;
   width: 40px;
   height: 24px;
   line-height: 24px;
   color: #fff;
   font-size: 14px;
   text-align: center;
}
.product__ttl{
   width: 100%;
   min-height: 50px;
   margin: 20px 0 10px;
   font-size: 16px;
   font-weight: bold;
}
.product__price{
   width: 100%;
   margin: 0 0 20px;
   text-align: right;
   font-size: 22px;
   font-weight: bold;
}
.product_box_infowrap{
   display: flex;
   justify-content: space-between;
   align-items: flex-end;
   flex-wrap: wrap;
}
.product__amount_wrap{
   width: calc(50% - 5px);
}
.product__amount{
   width: 100%;
}
.product__amount span{
   font-size: 12px;
}
.product__amount input{
   width: 100%;
   height: 40px;
   padding-left: 15px;
   border-radius: 20px;
   border:1px solid #ddd;
   text-align: center;
   box-shadow: inset 3px 3px 4px rgb(0 0 0 / 10%), inset -3px -3px 4px rgb(255 255 255 / 10%);
}
.btn_cart{
   width: calc(50% - 5px);
   height: 40px;
   padding: 0 5px;
   line-height: 40px;
   border-radius: 20px;
   border: none;
   text-align: center;
   text-decoration: none;
   font-size: 15px;
   color: #fff;
   transition: all 0.3s;
   box-shadow:  3px 3px 10px rgba(0, 0, 0, 0.3), -4px -4px 4px rgba(255, 255, 255, 1),inset 3px 3px 4px transparent, inset -3px -3px 4px transparent;
   background-image: linear-gradient(to right,#008ffb,#005bea);
}
.btn_cart:hover{
   transform: translateX(1px)translateY(1px);
   box-shadow:    3px 3px 10px transparent, -4px -4px 4px transparent,inset 3px 3px 4px rgba(0, 0, 0, 0.3), inset -3px -3px 4px rgba(255, 255, 255, 0.1);
}
.btn_cart--out{
   font-size: 12px;
   line-height: 15px;
   background: #838383;
}
.btn_favorite{
   position: relative;
   margin: 15px 0 0 auto;
   padding: 0 40px 0 0;
   font-size: 14px;
   line-height: 30px;
   text-align: center;
   text-decoration: none;
   cursor: pointer;
   color: #ff6663;
}
.btn_favorite:before{
   content: "";
   position: absolute;
   top: 0;
   right: 0;
   width: 30px;
   height: 30px;
   border-radius: 15px;
   background-color: #ff6663;
   box-shadow: 3px 3px 10px rgb(0 0 0 / 30%), -3px -3px 10px rgb(255 255 255),inset 3px 3px 4px transparent, inset -3px -3px 4px transparent;
   transition: all 0.3s;
}
.btn_favorite:after{
   content: "";
   position: absolute;
   top: 0;
   right: 0;
   width: 30px;
   height: 30px;
   background-image: url(../img/common/icn_heart_w.png);
   background-position: center;
   background-repeat: no-repeat;
   background-size: 15px 15px;
}
.btn_favorite:hover{
   color: rgb(255, 174, 0);
}
.btn_favorite:hover:before{
   box-shadow: 3px 3px 10px transparent, -3px -3px 10px transparent,inset 3px 3px 4px rgb(0 0 0 / 30%), inset -3px -3px 4px rgb(255 255 255 / 10%);
}
.btn_favorite:hover:after{
   background-image: url(../img/common/icn_heart_y.png);
}
.btn_about__wrap{
   width: 100%;
   margin-top: 10px;
   display: flex;
   justify-content: flex-end;
   align-items: center;
}
.btn_about{
   position: relative;
   margin-right: 10px;
   display: block;
   margin-left: auto;
   background-color: #dfdfdf;
   color: #000;
   padding: 6px 5px 6px 10px;
   font-size: 14px;
   line-height: 14px;
}
.btn_about:hover{
   text-decoration: none;
   color: #000;
   background-color: #b8d8ff;
}
.btn_about:after{
   content: "";
   position: absolute;
   right: -18px;
   top: 0;
   display: block;
   border-width: 13px 9px;
   border-style: solid;
   border-color: transparent transparent transparent #dfdfdf;
}
.btn_about:hover:after{
   border-color: transparent transparent transparent #b8d8ff;
}
.side_cart{
   position: fixed;
   top: 190px;
   right: 0;
   z-index: 1;
   transition: top 0.3s;
   pointer-events: none;
}
.side_cart.position--fix{
   top: 10px;
}
.side_cart.is-open{
   pointer-events: auto;
}
.side_cart__button{
   position: absolute;
   top: 0;
   right: 0;
   width: 60px;
   height: 60px;
   margin-left: auto;
   cursor: pointer;
   box-shadow: 3px 3px 8px rgb(0 0 0 / 30%);
   z-index: 10;
   pointer-events: auto;
}
.side_cart__button:before{
   content: "";
   position: absolute;
   top: 20px;
   left: 50%;
   width: 30px;
   height: 30px;
   transform: translateX(-55%);
   background: url(../img/common/icn_cart_w.png) center no-repeat;
   background-size: contain;
   pointer-events: none;
}
.side_cart__button:after{
   content: "";
   position: absolute;
   bottom: 1px;
   left: 50%;
   display: block;
   width: 0;
   height: 0;
   border-style: solid;
   border-width: 0 5px 9px 5px;
   border-color: transparent transparent #ffffff transparent;
   transform: translateX(-50%)rotate(180deg);
   pointer-events: none;
}
.side_cart.is-open .side_cart__button{
   box-shadow: none;
}
.side_cart.is-open .side_cart__button:after{
   transform: translateX(-50%);
   bottom: 3px;
}
.side_cart__button:hover{
   box-shadow: inset 3px 3px 4px rgb(0 0 0 / 30%), inset -3px -3px 4px rgb(255 255 255 / 10%);
}
.side_cart__amount{
   position: absolute;
   top: 0;
   right: 0;
   width: 60px;
   text-align: center;
   color: #fff;
   line-height: 22px;
   text-align: center;
   font-size: 18px;
   pointer-events: none;
   z-index: 11;
}
.side_cart__list__wrap{
   transform: translateX(100%);
   transition: all 0.3s;
}
.side_cart.is-open .side_cart__list__wrap{
   transform: translateX(0);
}
.side_cart__list{
   display: flex;
   justify-content: flex-start;
   align-items: center;
   flex-direction: column;
   width: 360px;
   padding: 15px 15px 30px;
   background-color: #e5e5e5;
   border:1px solid #aaaaaa;
   box-shadow: -3px 0px 8px rgb(0 0 0 / 10%);
}
.side_cart.position--def .side_cart__list{
   height: calc(100vh - 200px);
}
.side_cart.position--fix .side_cart__list{
   height: calc(100vh - 70px);
}
.side_cart__header{
   position: relative;
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
   margin-bottom: 40px;
   padding-left: 50px;
   padding-right: 60px;
   z-index: 1;
}
.side_cart__header:before{
   content: "";
   position: absolute;
   top: 60%;
   left: -10px;
   display: block;
   width: 50px;
   height: 50px;
   background: url(../img/common/icn_cart.png) center no-repeat;
   background-size: contain;
   transform: translateY(-50%);
   z-index: -1;
}
.side_cart__header p{
   font-weight: bold;
}
.side_cart__header .side_cart__total{
   font-size: 20px;
   font-weight: bold;
   color: #f00;
}
.side_cart__product_wrap{
   width: 100%;
   margin-bottom: 30px;
   overflow-y: scroll;
}
.side_cart__product{
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 15px;
   padding: 10px;
   background-color: #fff;
}
.side_cart__product__img{
   width: 100px;
   margin-right: 10px;
}
.side_cart__product__img img{
   border: 1px solid rgba(0, 0, 0, 0.3);
}
.side_cart__product__contents{
   text-align: right;
}
.side_cart__action{
   width: 100%;
   text-align: center;
}
.side_cart__action a.btn{
   width: 100%;
}
.side_cart__action input.btn{
   margin: 0 auto;
}
.side_cart__close{
   position: absolute;
   bottom: -15px;
   right: 154px;
   display: none;
   width: 30px;
   height: 30px;
   border-top: 3px solid #57748e;
   border-left: 3px solid #57748e;
   transform: rotate(45deg) translateX(-50%);
   cursor: pointer;
}
.side_cart.is-open .side_cart__close{
   display: block;
}
.side_cart__close:hover{
   opacity: 0.3;
}
.side_cart__product__contents div:nth-child(1){
   font-size: 15px;
   line-height: 20px;
   text-align-last: left;
}
.side_cart__product__contents div:nth-child(2){
   margin: 10px 0;
   font-size: 18px;
   font-weight: bold;
}
/* cart */
.cart_progress{
   position: relative;
   width: 350px;
   margin: 20px auto 40px;
}
.cart_progress:before{
   content: "";
   position: absolute;
   top: 27.5px;
   left: 50%;
   width: calc(100% - 20px);
   height: 5px;
   transform: translateX(-50%);
   background-color: #999;
}
.cart_progress ul{
   position: relative;
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 0;
}
.cart_progress li{
   position: relative;
   margin: 0;
   text-align: center;
}
.cart_progress li div:nth-child(1){
   width: 60px;
   height: 60px;
   margin: 0 auto 25px;
   line-height: 60px;
   border-radius: 30px;
   background-color: #999;
   color: #fff;
   font-size: 22px;
}
.cart_progress li div:nth-child(2){
   position: absolute;
   bottom: 0;
   left: 50%;
   font-size: 14px;
   font-weight: bold;
   white-space: nowrap;
   color: #999;
   transform: translateX(-50%);
}
.cart_progress li.is-active div:nth-child(1){
   background-color: #1abc9c;
}
.cart_progress li.is-active div:nth-child(2){
   color: #1abc9c;
}
.cart_list{
   position: relative;
   width: 100%;
   max-width: 1000px;
   margin: 20px auto;
   padding: 30px 40px;
}
.cart_list:before{
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-color: #f4f4f4;
   background-image: url(../img/common/bg.svg);
   z-index: -1;
}
.cart_list__totaltext{
   margin: 0 0 30px;
   text-align: center;
}
.cart_list__totaltext p strong{
   font-size: 22px;
   font-weight: normal;
}
.history__list_wrap{
   position: relative;
   margin-bottom: 35px;
   border-style: solid;
   border-width: 0 3px 3px;
   border-color: #57748e;
}
.history__list_wrap .cart_list__table__body:last-of-type{
   margin-bottom: 0;
}
.history__list_wrap .cart_list__info .cart_list__ttl{
   width: 100%;
}
.history__list_number{
   position: relative;
   font-size: 17px;
   color: #ffffff;
   background-color: #57748e;
   padding: 15px 0 15px 20px;
}
.history__list_number:after{
   position: absolute;
   top: 50%;
   left: 20px;
   display: block;
   width: 0;
   height: 0;
   border-style: solid;
   border-width: 0 5px 9px 5px;
   border-color: transparent transparent #ffffff transparent;
   transform: translateY(-50%)rotate(60deg);
   transition: all 0.3s;
   pointer-events: none;
}
.history__list_wrap .cart_list__table__header{
   background-color: #e6e9ed;
   color: #57748e;
   font-weight: bold;
}
.cart_list__table{
   width: 100%;
}
.cart_list__table h3{
   margin: 20px 0 10px;
   padding: 0 10px;
   font-size: 18px;
   font-weight: bold;
   color: #000;
}
.cart_list__table__header{
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
   padding: 20px 15px;
   margin: 2px 0;
   background-color: #57748e;
   color: #fff;
   text-align: center;
}
.cart_list__table__header li:nth-child(1){
   width: 55%;
}
.cart_list__table__header li:nth-child(2){
   width: 15%;
}
.cart_list__table__header li:nth-child(3){
   width: 15%;
}
.cart_list__table__header li:nth-child(4){
   width: 15%;
}
.cart_list__table__header li:nth-child(5){
   width: 15%;
}
.cart_list__table__body{
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 10px 15px;
   margin: 2px 0;
   width: 100%;
   background-color: #fff;
}
.cart_list__info{
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 55%;
}
.cart_list__price{
   width: 15%;
   text-align: center;
}
.cart_list__img{
   width: 60px;
   margin-right: 15px;
}
.cart_list__img img{
   border: 1px solid #ccc;
}
.cart_list__ttl{
   width: calc(100% - 65px);
   text-align-last: left;
}
.cart_list__ttl a{
   text-decoration: none;
   color: #333;
}
.cart_list__amount{
   position: relative;
   width: 15%;
}
.cart_list__amount>div:nth-child(1){
   width: 80px;
   line-height: 18px;
   padding: 0 25px;
   margin: 0 auto;
   text-align: center;
}
.cart_list__amount_control{
   position: absolute;
   top: 0;
   left: calc(50% - 40px);
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 80px;
   height: 18px;
}
.cart_list__amount_control img{
   vertical-align: baseline;

}
.cart_list__amount_control>div{
   width: 18.5px;
   height: 18px;
   cursor: pointer;
}
.cart_list__amount_control>div:hover{
   opacity: 0.7;
}
.cart_list__amount_control>div.disabled{
   opacity: 0.4 !important;
   cursor: initial !important;
}
.cart_list__amount_control>a{
   width: 18.5px;
   height: 18px;
}
.cart_list__amount_control>a.disabled{
   opacity: 0.4 !important;
   cursor: initial !important;
}
.cart_list__amount_control>a span{
   height: 18px;
}
.cart_list__subtotal{
   width: 15%;
   font-weight: bold;
   text-align: center;
}
.cart_list__delete{
   width: 15%;
}
.cart_list__delete a{
   display: block;
   width: 26px;
   margin: 0 auto;
}
.cart_list__delete a img{
   width: 100%;
   vertical-align: middle;
}
.cart_list__total{
   display: flex;
   justify-content: flex-end;
   align-items: center;
   width: 100%;
   padding: 10px 15px;
   font-size: 18px;
   background-color: #fff;
   text-align: center;
   font-weight: bold;
}
.cart_list__total:after{
   content: "";
   display: block;
   width: 10%;
   height: 0;
}
.cart_list__total>div{
   width: 15%;
}
.cart_list__total>span{
   width: 15%;
   color: #f00;
}
.cart_list__action .btn{
   width: 220px;
}

/* cart confirm */
.confirm_wrap{
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
   width: 100%;
   max-width: 1200px;
   margin: 0 auto;
}
.confirm_wrap_2{
   width: 100%;
   max-width: 1200px;
   margin: 40px auto;
   background-color: #fff;
}
.confirm_wrap_2 .ec-rectHeading{
   padding: 20px;
   margin-bottom: 0;
   background-color: transparent;
}
.confirm_wrap_2 .ec-rectHeading h2{
   background-color: transparent;
   border-left: none;
   border-bottom: 1px solid #000;
   padding: 0 0 10px;
   font-weight: bold;
}
.confirm_wrap_2 .dl_table{
   padding: 0 20px 20px;
}
.confirm__info{
   width: calc(100% - 400px);
   padding: 30px;
   background-color: #e6e9ed;
}
.confirm_delivery{
   display: block;
   padding: 20px;
   margin-bottom: 30px;
   background-color: #fff;
}
.confirm_delivery__side{
   margin-top: 20px;
}
.confirm_delivery__to h5{
   display: inline-block;
   margin-bottom: 10px;
   font-size: 20px;
   font-weight: normal;
   background:linear-gradient(transparent 50%, #eee 50%);
}
.confirm_delivery__to p{
   line-height: 26px;
}
.confirm_delivery__method{
   padding: 5px;
   border-top: 1px dashed #ccc;
   border-bottom: 1px dashed #ccc;
   font-weight: bold;
   color: #1e7817;
}
.confirm_delivery__method label{
   min-width: 120px;
   color: #333;
}
.confirm_delivery__date{
   padding: 5px;
   border-bottom: 1px dashed #ccc;
   color: #1e7817;
   font-weight: bold;
}
.confirm_delivery__date label{
   min-width: 120px;
   color: #333;
}
.confirm_delivery__time{
   padding: 5px;
   border-bottom: 1px dashed #ccc;
   color: #1e7817;
   font-weight: bold;
}
.confirm_delivery__time label{
   min-width: 120px;
   color: #333;
}
.cart_list__table--confirm{
   margin-bottom: 40px;
}
.cart_list__table--confirm .cart_list__table__header{
   padding: 5px 15px;
   font-size: 14px;
}
.cart_list__table--confirm .cart_list__table__body{
   font-size: 15px;
}
.confirm_action{
   width: 360px;
   margin-top: 0 !important;
}
.confirm_action__user{
   position: relative;
   width: 100%;
   margin-bottom: 20px;
   padding: 20px;
   text-align: center;
}
.confirm_action__user:before{
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-color: #f4f4f4;
   background-image: url(../img/common/bg.svg);
   z-index: -1;
}
.confirm_action__detail{
   padding: 20px;
   border: 2px solid #333;
}
.confirm_action__detail h3{
   padding: 10px;
   font-size: 18px;
   font-weight: bold;
   text-align: center;
   color: #000;
}
.confirm_action__detail dl{
   display: flex;
   justify-content: center;
   align-items: flex-start;
   flex-wrap: wrap;
   margin: 0;
   padding: 10px 0;
}
.confirm_action__detail dl dt{
   width: calc(50% - 40px);
   margin: 2px 0;
   padding: 2px 0;
   text-align: left;
}
.confirm_action__detail dl dd{
   width: calc(50% - 40px);
   margin: 2px 0;
   padding: 2px 0;
   text-align: right;
}
dl.confirm_action__detail--01{
   border-bottom: 1px solid #aaa;
}
dl.confirm_action__detail--03{
   line-height: 20px;
   background-color: #eee;
   font-size: 20px;
   font-weight: bold;
   color: #f00;
}
dl.confirm_action__detail--04{
   font-weight: bold;
}
dl.confirm_action__detail--04 dd{
   color: #1e7817;
}
.confirm_action__progress{
   flex-wrap: wrap;
}
.confirm_action__progress .btn{
   width: 260px;
   max-width: 100%;
   margin: 10px 0;
}
/* complete */
.complete_wrap{
   width: 100%;
   max-width: 1000px;
   margin: 0 auto;
   text-align: center;
}
.complete_wrap h1{
   font-size: 20px;
   margin-bottom: 40px;
}
.complete_wrap h1 span{
   background:linear-gradient(transparent 50%, #ffdcdc 50%);
}
.complete_wrap p{
   line-height: 28px;
   margin-bottom: 40px;
   font-size: 15px;
}
.complete__info{
   width: 700px;
   margin: 0 auto 18px;
   padding: 20px 0;
   font-size: 18px;
   background-color: #e6e9ed;
   font-weight: bold;
}
.complete__info span{
   font-weight: normal;
}
.complete__notice{
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 15px;
   border: 2px solid #333333;
}
.complete__notice dt{
   width: 280px;
   font-size: 18px;
   font-weight: bold;
}
.complete__notice dd{
   position: relative;
   width: calc(100% - 280px);
   line-height: 26px;
   font-size: 14px;
   text-align: left;
}
.complete__notice dd:before{
   content: "";
   position: absolute;
   top: 50%;
   left: -20px;
   display: block;
   height: 40px;
   width: 2px;
   transform: translateY(-50%);
   background-color: #333333;
}
.complete__notice dd a{
   color: #0472bc;
}
/* favorite */
.cat_select.is-open{
   margin-bottom: 160px;
}
.cat_select:after{
   content: "";
   position: absolute;
   bottom: -3px;
   left: 10px;
   display: block;
   width: 0;
   height: 3px;
   background-color: #0472bc;
   transition: width 0.3s;
}
.cat_select.is-open:after{
   width: calc(100% - 20px);
}
.cat_select__search{
   transition: all 0.3s;
}
.cat_select__search__btn{
   position: relative;
   display: block;
   line-height: 18px;
   margin: 0 5px;
   padding: 3px 15px 3px 30px;
   background-color: #0472bc;
   color: #fff;
   border: none;
   border-radius: 13px;
   cursor: pointer;
   z-index: 1;
}
.cat_select__search__btn:before{
   content: "";
   position: absolute;
   top: 50%;
   left: 10px;
   width: 16px;
   height: 16px;
   transform: translateY(-50%);
   background: url(../img/common/icn_search.png) center no-repeat;
   background-size: contain;
}
.cat_select__search__btn:after{
   content: "";
   position: absolute;
   top: 15px;
   left: 0;
   display: block;
   width: 100%;
   height: 0;
   background-color: #0472bc;
   transition: height 0.3s;
   z-index: -1;
}
.cat_select__search__btn.is-open:after{
   height: 20px;
}
.cat_select__body{
   display: none;
   position: absolute;
   top: 44px;
   left: 10px;
   width: calc(100% - 20px);
   height: 130px;
   transition: border 0.3s;
}

.cat_select__body .search_wrap{
   margin: 0;
}
.product_box--favorite:after{
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   display: block;
   width: 40px;
   height: 40px;
   background: url(../img/common/favorite.png) center no-repeat;
   background-size: contain;

}
.btn_favorite.btn_favorite--active:before{
   box-shadow: 3px 3px 10px transparent, -3px -3px 10px transparent,inset 3px 3px 4px rgb(0 0 0 / 30%), inset -3px -3px 4px rgb(255 255 255 / 10%);
}
.btn_favorite.btn_favorite--active:hover:before{
   box-shadow: 3px 3px 10px rgb(0 0 0 / 30%), -3px -3px 10px rgb(255 255 255),inset 3px 3px 4px transparent, inset -3px -3px 4px transparent;
}
.btn_favorite.btn_favorite--active:after{
   background-image: url(../img/common/icn_heart_y.png);
}
.favorite__icon{
   position: absolute;
   top: 0;
   left: 0;
   display: block;
   width: 40px;
   height: 40px;
   background: url(../img/common/favorite.png) center no-repeat;
   background-size: contain;
}
/* history */

.history_list{
   position: relative;
   width: 100%;
   max-width: 1000px;
   margin: 20px auto;
   padding: 30px 40px;
   text-align: center;
}
.history_list:before{
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-color: #f4f4f4;
   background-image: url(../img/common/bg.svg);
   z-index: -1;
}
.history_list__table{
   margin: 30px 0;
}
.history_list__table table{
   width: 100%;
}
.history_list__table th{
   padding: 20px 15px;
   background-color: #57748e;
   color: #fff;
   text-align: center;
}
.history_list__table td{
   padding: 15px;
   background-color: #fff;
   color: #333;
   text-align: center;
}
.history_info__wrap{
   width: calc(100% - 400px);
}
.history_info{
   position: relative;
   width: 100%;
   max-width: 1000px;
   margin: 0 auto 20px;
   padding: 30px 40px;
   text-align: center;
}
.history_info:before{
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-color: #f4f4f4;
   background-image: url(../img/common/bg.svg);
   z-index: -1;
}
.history_info dl{
   display: flex;
   justify-content: center;
   align-items: center;
   flex-wrap: wrap;
   width: 300px;
   margin: 0 auto;
}
.history_info dt{
   width: 50%;
   line-height: 36px;
   margin: 0;
   text-align: left;
}
.history_info dd{
   width: 50%;
   line-height: 36px;
   margin: 0;
   text-align: right;
}
.history_fix{
   width: 100%;
}
.history_mail_list>div{
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
   flex-wrap: wrap;
   width: 100%;
   margin: 10px 0;
   padding: 8px 15px;
   background-color: #fff;
   box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.1);
}
.history_mail_list>div p{
   width: 200px;
}
.history_mail_list>div a{
   width: calc(100% - 200px);
   color: #0472bc;
   cursor: pointer;
}
/* member */

.member_list{
   position: relative;
   width: 100%;
   max-width: 1000px;
   margin: 20px auto;
   padding: 30px 40px;
   text-align: center;
}
.member_list:before{
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-color: #f4f4f4;
   background-image: url(../img/common/bg.svg);
   z-index: -1;
}
.member_list>p{
   font-size: 18px;
}
.member_list__table{
    margin: 30px 0;
}
.member_list__table table{
   width: 100%;
   background-color: #fff;
}
.member_list__table th{
   width: 220px;
   padding: 10px 15px;
   background-color: #57748e;
   color: #fff;
   text-align: center;
   font-weight: normal;
   border-bottom: 1px solid #fff;

}
.member_list__table td{
   padding: 10px 15px;
   background-color: #fff;
   color: #333;
   text-align: left;
   border-bottom: 1px solid #ddd;
}
.member_edit{
   display: flex;
   justify-content: space-between;
   align-items: center;
}
.member_edit p{
}
.member_edit dl{
   max-width: 60%;
}
.member_edit dt{
   width: 100px;
}
.member_edit dt.is-open{
   display: none;
}
.member_edit dd{
   min-width: 280px;
}
.member_edit dd p{
   font-size: 14px;
}
.member_edit dd input{
   width: 100%;
   height: 32px;
   padding: 0 15px;
   margin-bottom: 5px;
   border-radius: 20px;
   border: 1px solid #ddd;
   text-align: left;
}
.member_edit dd input[type="submit"]{
   width: 120px;
   text-align: center;
   margin: 0 0 5px auto;
}
.member_edit dd input::placeholder{
   color: #bbb;
}

/* help */
.help_list{
   width: 100%;
   max-width: 1000px;
   margin: 20px auto;
   padding: 30px 40px;
   background-color: #e6e9ed;
}
.help_list>div{
   margin-bottom: 20px;
}
.help_list h3{
   position: relative;
   padding: 10px;
   font-size: 16px;
   font-weight: normal;
   background-color: #57748e;
   color: #fff;
   cursor: pointer;
}
.help_list h3:after {
   content: "";
   position: absolute;
   top: 50%;
   right: 10px;
   display: block;
   width: 0;
   height: 0;
   border-style: solid;
   border-width: 0 5px 9px 5px;
   border-color: transparent transparent #ffffff transparent;
   transform: translateY(-50%)rotate(60deg);
   transition: all 0.3s;
   pointer-events: none;
}
.help_list h3.is-open:after {
   transform: translateY(-50%);
}
.help_list div > div{
   padding: 20px;
   background-color: #fff;
}
.help_list table td{
   padding: 10px;
   border: 1px solid #aaa;
}
.help_list table tr td:first-child{
   background-color: #f3f3f3;
}
.help_list h4{
   margin-top: 20px;
   margin-bottom: 10px;
   padding-bottom: 7px;
   border-bottom: 1px solid;
   font-weight: bold;
   font-size: 17px;
}
.help_list h5{
   font-size: 16px;
   font-weight: bold;
   margin: 10px 0 3px;
}
.help_list p{
   margin-bottom: 10px;
}
.help_list p a{
   text-decoration: underline;
}
.help_list ul{
   padding-left: 24px;
}
.help_list ul li{
   list-style-type: square;
}
.help_list ul li ul li{
   list-style-type: disc;
}
.ec-rectHeading{
   margin-bottom: 22px;
}
.ec-rectHeading h2{
   background: #e0e5e9;
   border-left: 3px solid #173769;
   font-weight: normal;
   font-size: 22px;
   line-height: 32px;
   color: #000;
}
.ec-rectBody{
   padding: 0 0 0 30px;
}
.ec-orderAccount{
   margin-bottom: 30px;
}
.ec-orderAccount p{
   line-height: 26px;
}
.ec-orderAccount p.orderAccount__tantou{
   margin-bottom: 14px;
}
.ec-orderAccount .orderAccount__tantou input{
   height: 35px;
   margin-left: 10px;
}
.orderAccount__info{
   padding: 12px;
   background-color: #f1f1f1;
}
.ec-orderPayment{
   margin-bottom: 30px;
}
.ec-orderDelivery{
   margin-bottom: 20px;
}
.delivery_shipping{
   margin-right: 15px;
   margin-left: 4px;
   padding: 2px 15px;
   border-radius: 6px;
   background-color: #5075d3;
   color: #fff;
}
.ec-selects{
   border-bottom: none;
}
.kslogin-register{
   text-align: center;
   max-width: 400px;
   margin: 20px auto 0;
}
.kslogin-register :disabled{
   opacity: 0.5;
}
#id_kiyaku--label{
   opacity: 0.5;
}
#id_kiyaku--label.abled{
   opacity: 1;
}
.kslogin-register p{
   margin-bottom: 10px;
}
.kslogin-register--01{
   background-color: #f1f1f1;
   padding: 15px 0 2px;
   margin-bottom: 28px;
   border: 1px solid #000;
}
.konbini__info{
   display: none;
}
.konbini__info.konbini__info--visible{
   display: block;
   max-width: 100%;
   margin: 20px auto 0;
   padding: 15px;
   font-size: 17px;
   line-height: 30px;
   text-align-last: left;
   background-color: #fff;
}
.konbini__info h3{
   display: inline-block;
   padding-bottom: 5px;
   margin-bottom: 9px;
   font-weight: bold;
   font-size: 20px;
   border-bottom: 2px solid #badcff;
}
.konbini__info--visible .konbini__info p{
   display: block;
}
.order_notice_txt{
   font-size: 13px;
   color: #888888;
   margin: 10px;
   line-height: 19px !important;
}
@media screen and (max-width: 768px) {
   .toppage_notice{
      position: static;
      transform: inherit;
   }
}