@charset "shift_jis";

.Noto_Sans {
font-family: 'Noto Sans JP', sans-serif;
}
.Noto_Serif {
font-family: 'Noto Serif JP', serif;
}
.Lato {
font-family: 'Lato', sans-serif;
}
.inter {
font-family: 'Inter', sans-serif;
}

/* common
================================================== */
#contents .section .explan:after,
#contents .section .cont:after,
#contents .section .box:after,
#contents .section .block:after{
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
#contents .section .explan,
#contents .section .cont,
#contents .section .box,
#contents .section .block {
zoom: 1;
}
#contents {
font-weight: 400;
font-family: 'Inter','Noto Sans JP', sans-serif;
width: auto;
font-feature-settings: "palt";
-webkit-font-feature-settings: "palt";
letter-spacing: 0.05em;
color: #333;
}
.noNavigationWide #mainContents {
text-align: center;
float: none;
width: auto;
}

#mainContents {
padding: 23px 0 0 0;
}

/* #mainVisual
================================================== */
#mainVisual {
position: relative;
margin: 0 auto 80px auto;
width: 1166px;
height: 700px;
}
#mainVisual h1 {}
#mainVisual .campaignBanner {
box-sizing: border-box;
display: flex;
justify-content: space-between;
align-items: center;
position: absolute;
left: 0;
bottom: 0;
background-color: #eebb66;
border-radius: 0 0 15px 15px;
margin: 0;
padding: 0 40px;
width: 1166px;
height: 90px;
text-align: left;
}
#mainVisual .campaignBanner .period {
display: flex;
flex-wrap: wrap;
align-items: center;
font-weight: 400;
font-size: 36px;
color: #664433;
}
#mainVisual .campaignBanner .period strong {
font-weight: 400;
margin-right: 15px;
}
#mainVisual .campaignBanner .period i {
display: flex;
justify-content: center;
align-items: center;
background-color: #664433;
border-radius: 50%;
margin: 0 5px;
width: 33px;
height: 33px;
font-weight: 400;
font-style: normal;
font-size: 17px;
color: #eebb66;
}
#mainVisual .campaignBanner .button {
display: block;
position: absolute;
top: 18px;
right: 25px;
}
#mainVisual .campaignBanner .button a {
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
background-color: #ffee77;
border-radius: 6px;
padding-right: 16px;
width: 220px;
height: 54px;
font-weight: 400;
font-size: 21px;
text-decoration: none;
color: #664433;
}
#mainVisual .campaignBanner .button a:hover {
background-color: #ff8800;
color: #fff;
}
#mainVisual .campaignBanner .button a span {
transform: translateY(-50%);
position: absolute;
right: 16px;
top: 50%;
}

/* mainContents section
================================================== */
#contents .banner a:hover img,
#mainVisual a:hover img {
filter: alpha(opacity=100);
-moz-opacity:1.0;
opacity:1.0;
}

.section .cont {
box-sizing: border-box;
position: relative;
margin: 0 auto;
width: 1166px;
text-align: left;
}

#itemList {}
#itemList .head {
position: relative;
margin-right: 40px;
margin-bottom: 50px;
width: 563px;
}
#itemList .head::before {
content: '';
display: block;
position: absolute;
top: -20px;
right: 0;
background: url("../img/lst_bg.png") no-repeat center center;
width: 574px;
height: 172px;
z-index: -1;
}
#itemList .head h2 {
margin-bottom: 28px;
padding-top: 35px;
font-weight: 400;
font-size: 40px;
line-height: 1.4;
text-align: center;
color: #553322;
}
#itemList .head p {
font-weight: 400;
font-size: 16px;
line-height: 2;
text-align: center;
}
#itemList .list {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
padding-bottom: 10px;
}
#itemList .block {
position: relative;
box-sizing: border-box;
border-radius: 15px;
margin-bottom: 50px;
padding: 40px 40px 20px 40px;
width: 563px;
min-height: 324px;
}
#itemList #BLK-g8064 {
background-color: #f9e7b8;
}
#itemList #BLK-g8063 {
background-color: #dbeddb;
}
#itemList #BLK-g8057 {
background-color: #ededd5;
}
#itemList #BLK-g8061 {
background-color: #e7e1f3;
}
#itemList #BLK-g8059 {
background-color: #f9dbe7;
}
#itemList #BLK-g8062 {
background-color: #f9e1d0;
}
#itemList #BLK-g8060 {
background-color: #dbefef;
}
#itemList #BLK-g8065 {
background-color: #dbefef;
height: 370px;
}
#itemList .block::before {
transform: translate(123px,38px) rotate(-45deg);
content: '';
display: block;
position: absolute;
left: 0;
top: 0;
background-color: #66aa66;
width: 50px;
height: 2px;
}
#itemList #BLK-g8064::before {
background-color: #ee8800;
}
#itemList #BLK-g8057::before {
background-color: #a3a349;
}
#itemList #BLK-g8061::before {
background-color: #7766aa;
}
#itemList #BLK-g8059::before {
background-color: #ee7799;
}
#itemList #BLK-g8062::before {
background-color: #ee7744;
}
#itemList #BLK-g8060::before {
background-color: #00bbbb;
}
#itemList #BLK-g8065::before {
transform: translate(110px,46px) rotate(-45deg);
background-color: #11aa99;
width: 65px;
}
#itemList .block:nth-of-type(odd) {
margin-right: 40px;
}
#itemList .new {
position: absolute;
left: -30px;
top: -50px;
}
#itemList .limited {
position: absolute;
left: -27px;
top: -43px;
}
#itemList .catch {
transform: translateX(-50%);
position: absolute;
left: 50%;
top: -20px;
background-color: #66aa66;
border-radius: 7px;
padding: 0 20px;
font-weight: 400;
font-size: 16px;
line-height: 44px;
white-space: nowrap;
text-align: center;
color: #fff;
}
#itemList #BLK-g8064 .catch {
background-color: #ee8800;
}
#itemList #BLK-g8057 .catch {
background-color: #a3a349;
}
#itemList #BLK-g8061 .catch {
background-color: #7766aa;
}
#itemList #BLK-g8059 .catch {
background-color: #ee7799;
}
#itemList #BLK-g8062 .catch {
background-color: #ee7744;
}
#itemList #BLK-g8060 .catch {
background-color: #00bbbb;
}
#itemList #BLK-g8065 .catch {
background-color: #11aa99;
}
#itemList .image {
position: relative;
float: left;
}
#itemList #BLK-g8065 .image {
padding-top: 40px;
}
#itemList .image img {
position: relative;
z-index: 1;
}
#itemList .image .limited {
position: absolute;
left: -25px;
top: 0;
z-index: 0;
}
#itemList .pack {
margin-left: 155px;
padding: 5px 0 0 0;
}
#itemList h3 {
margin-bottom: 5px;
font-weight: 500;
font-size: 20px;
}
#itemList p {
font-weight: 400;
font-size: 14px;
line-height: 1.58;
letter-spacing: 0.06em;
}
#itemList .component {
background-color: rgba(255,255,255,0.75);
border-radius: 3px;
margin: 25px 0 25px -5px;
padding: 8px 0;
text-align: center;
}
#itemList .component h4 {
font-weight: 500;
font-size: 14px;
line-height: 1.58;
color: #66aa66;
}
#itemList #BLK-g8064 .component h4 {
color: #ee8800;
}
#itemList #BLK-g8057 .component h4 {
color: #a3a349;
}
#itemList #BLK-g8061 .component h4 {
color: #7766aa;
}
#itemList #BLK-g8059 .component h4 {
color: #ee7799;
}
#itemList #BLK-g8062 .component h4 {
color: #ee7744;
}
#itemList #BLK-g8060 .component h4 {
color: #00bbbb;
}
#itemList #BLK-g8065 .component h4 {
color: #11aa99;
}
#itemList div.price {
position: relative;
}
#itemList div.price .special {
margin-top: -5px;
font-weight: 500;
font-size: 14px;
color: #ee0000;
}
#itemList div.price .special span {
font-weight: 700;
font-size: 18px;
}
#itemList div.price .normal {
margin-top: 1px;
font-size: 12px;
}
#itemList div.price .off {
box-sizing: border-box;
position: absolute;
left: 253px;
top: -12px;
background-color: #ee0000;
border-radius: 50%;
padding-top: 21px;
width: 80px;
height: 80px;
letter-spacing: 0;
line-height: 1.1;
font-size: 14px;
text-align: center;
color: #fff;
}
#itemList div.price .off span {
font-weight: bold;
font-size: 27px;
}
#itemList .more {
position: absolute;
right: 40px;
bottom: 24px;
text-align: center;
}
#itemList .more.special {
position: relative;
margin: 16px 0 0 -5px;
right: 0;
bottom: 0;
text-align: left;
}
#itemList .link {
font-family: dnp-shuei-mgothic-std, sans-serif;
font-weight: 600;
font-style: normal;
font-size: 13px;
line-height: 30px;
letter-spacing: 0;
text-align: center;
}
#itemList .link a {
box-sizing: border-box;
display: block;
position: relative;
background-color: #ffcc33;
border-radius: 15px;
padding-right: 9px;
width: 130px;
height: 30px;
color: #000;
}
#itemList .link a::after {
transform: translateY(-50%);
content: "\f054";
position: absolute;
right: 10px;
top: 50%;
font-family: "Font Awesome 5 Free";
font-weight: 900;
font-size: 10px;
color: #ff6600;
}
#itemList .link a:hover {
background-color: #ff8800;
color: #fff;
text-decoration: none;
}
#itemList .link a:hover::after {
color: #fff;
}
#itemList .number {
display: flex;
background-color: #fff;
border: solid 1px #000;
border-radius: 3px;
width: 102px;
margin: 12px auto 0 auto;
line-height: 21px;
text-align: center;
}
#itemList .more.special .number {
position: absolute;
left: 145px;
top: 4px;
margin: 0;
width: auto;
}
#itemList .number dt {
background-color: #000;
width: 60px;
font-size: 11px;
color: #fff;
}
#itemList .number dd {
padding: 0 5px;
font-size: 12px;
}


#itemList .btn {
position: relative;
left: 0;
bottom: 0;
}
#itemList .btn a {
display: block;
position: absolute;
top: 18px;
right: 25px;
}


#itemExplan .cont {
background: url("../img/exp_bg.png") repeat center center;
border-radius: 15px;
padding: 30px;
}
#itemExplan .list {
display: flex;
flex-wrap: wrap;
}
#itemExplan .block {
box-sizing: border-box;
background-color: #fff;
border-radius: 10px;
margin-bottom: 30px;
width: 538px;
padding: 34px 30px 30px 30px;
}
#itemExplan #EXP_BLK4,
#itemExplan #EXP_BLK1 {
margin-right: 30px;
}
#itemExplan #EXP_BLK3 {
width: 1106px;
}
#itemExplan .block h3 {
margin-bottom: 27px;
font-weight: 700;
font-size: 24px;
line-height: 1.42;
color: #553322;
text-align: center;
}
#itemExplan .block p {
font-weight: 400;
font-size: 15px;
line-height: 1.87;
}
#EXP_BLK5 p,
#EXP_BLK4 p,
#EXP_BLK1 p {
width: 200px;
}
#EXP_BLK3 h3,
#EXP_BLK3 p {
width: 420px;
}
#itemExplan .block .image {
float: right;
padding-top: 8px;
}
#EXP_BLK3 .image {
position: relative;
width: 568px;
}
#EXP_BLK3 .image p {
position: absolute;
right: 0;
top: 16px;
box-sizing: border-box;
background-color: #f6ddb2;
padding: 23px 20px;
letter-spacing: 0.03em;
width: 230px;
color: #553322;
z-index: 1;
}
#EXP_BLK3 .image p::before {
transform: rotate(-70deg);
content: '';
box-sizing: border-box;
display: block;
position: absolute;
left: -20px;
bottom: -5px;
border-right: 15px solid transparent;
border-bottom: 80px solid #f6ddb2;
border-left: 15px solid transparent;
width: 30px;
height: 80px;
z-index: -1;
}
#itemExplan .block p.note {
margin-top: 8px;
font-size: 12px;
line-height: 1.67;
}
#itemExplan .block ul {
margin: 0 auto;
padding-top: 23px;
width: 420px;
}
#itemExplan .block li {
width: 140px;
font-size: 13px;
font-weight: bold;
text-align: center;
line-height: 1.5;
float: left;
}
#itemExplan .block li img {
display: block;
margin: 0 auto 12px auto;
}
#itemExplan .block li span {
font-size: 12px;
font-weight: normal;
}

#itemExplan .box {
position: relative;
background: url("../img/exp_box_bg.png") no-repeat center top;
margin: 0 auto 0 auto;
width: 100%;
height: 185px;
}
#itemExplan .box h3 {
position: absolute;
left: 40px;
top: 81px;
width: 223px;
font-size: 26px;
font-weight: bold;
line-height: 1.32;
letter-spacing: 0;
text-align: center;
color: #58aa59;
}
#itemExplan .box li {
width: 242px;
font-size: 14px;
line-height: 2;
}
#itemExplan .box li::before {
content: '';
float: left;
display: block;
width: 60px;
height: 50px;
}
#itemExplan .box li:nth-child(1) {
position: absolute;
left: 343px;
top: 33px;
}
#itemExplan .box li:nth-child(2) {
position: absolute;
left: 638px;
top: 33px;
}

.campaignBanner_middle {
box-sizing: border-box;
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
background-color: #eebb66;
border-radius: 15px;
margin: 0 auto 60px auto;
padding: 0 40px;
width: 1166px;
height: 90px;
text-align: left;
}
.campaignBanner_middle .period {
display: flex;
flex-wrap: wrap;
align-items: center;
font-weight: 400;
font-size: 36px;
color: #664433;
}
.campaignBanner_middle .period strong {
font-weight: 400;
margin-right: 15px;
}
.campaignBanner_middle .period i {
display: flex;
justify-content: center;
align-items: center;
background-color: #664433;
border-radius: 50%;
margin: 0 5px;
width: 33px;
height: 33px;
font-weight: 400;
font-style: normal;
font-size: 17px;
color: #eebb66;
}
.campaignBanner_middle .button {
display: block;
position: absolute;
top: 18px;
right: 25px;
}
.campaignBanner_middle .button a {
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
background-color: #ffee77;
border-radius: 6px;
padding-right: 16px;
width: 220px;
height: 54px;
font-weight: 400;
font-size: 21px;
text-decoration: none;
color: #664433;
}
.campaignBanner_middle .button a:hover {
background-color: #ff8800;
color: #fff;
}
.campaignBanner_middle .button a span {
transform: translateY(-50%);
position: absolute;
right: 16px;
top: 50%;
}

.campaignBanner_bottom {
margin: 60px auto;
width: 960px;
}
.campaignBanner_bottom .button a {
box-sizing: border-box;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: relative;
background-color: #ffee77;
border-radius: 10px;
padding-right: 16px;
width: 960px;
height: 140px;
font-weight: 400;
font-size: 38px;
line-height: 1.2;
text-decoration: none;
color: #664433;
}
.campaignBanner_bottom .button a:hover {
background-color: #ff8800;
color: #fff;
}
.campaignBanner_bottom .button a span {
display: flex;
justify-content: center;
align-items: center;
}
.campaignBanner_bottom .button a i {
display: flex;
justify-content: center;
align-items: center;
background-color: #664433;
border-radius: 50%;
margin: 0 5px;
width: 35px;
height: 35px;
font-weight: 400;
font-style: normal;
font-size: 19px;
color: #ffee77;
}
.campaignBanner_bottom .button a:hover i {
background-color: #fff;
color: #ff8800;
}
.campaignBanner_bottom .button a::before {
transform: translateY(-50%);
content: '';
display: block;
position: absolute;
right: 30px;
top: 50%;
background-color: #664433;
border-radius: 50%;
width: 60px;
height: 60px;
}
.campaignBanner_bottom .button a:hover::before {
background-color: #fff;
}
.campaignBanner_bottom .button a::after {
transform: translateY(-50%) rotate(45deg);
content: '';
display: block;
box-sizing: border-box;
position: absolute;
right: 53px;
top: 50%;
margin-top: 0px;
border-right: solid 2px #ffee77;
border-top: solid 2px #ffee77;
width: 20px;
height: 20px;
}
.campaignBanner_bottom .button a:hover::after {
border-right: solid 2px #ff8800;
border-top: solid 2px #ff8800;
}