@charset "shift_jis";

/* common
================================================== */
#contents .section .cont:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
#contents .section .cont {
zoom: 1;
}
.Noto_Sans {
font-family: 'Noto Sans JP', sans-serif;
}
.Noto_Serif {
font-family: 'Noto Serif JP', serif;
}
.shippori_mincho {
font-family: "Shippori Mincho", serif;
}
.Lato {
font-family: 'Lato', sans-serif;
}
.inter {
font-family: 'Inter', sans-serif;
}
#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 0 auto;
width: 1166px;
height: 640px;
}
#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 .date {
position: relative;
}
#mainVisual .campaignBanner .period .year {
position: absolute;
left: 0;
top: -2px;
font-size: 14px;
}
#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 .item {
position: relative;
display: flex;
flex-direction: column;
gap: 40px;
}
.section .item h4 {
margin-bottom: 5px;
width: 100%;
font-size: 16px;
font-weight: 700;
line-height: 1.38;
}
.section .item h4 span {
display: inline-block;
margin: 5px 0 -3px 0;
font-size: 13px;
font-weight: 400;
}
.section .item .cnt {
font-size: 13px;
line-height: 1.35;
}
.section .item p.price {
margin-top: 4px;
font-weight: 600;
font-size: 14px;
line-height: 1.35;
}
.section .item p.price strong {
font-size: 20px !important;
}
.section .item div.price {
position: relative;
}
.section .item div.price .special {
font-size: 14px;
line-height: 1.45;
color: #ee0000;
}
.section .item div.price .special span {
font-weight: 500;
font-size: 18px;
}
.section .item div.price .normal {
margin-top: -3px;
font-size: 13px;
}
.section .item .more {
display: flex;
flex-wrap: wrap;
align-items: center;
margin-top: 9px;
margin-left: -5px;
}
.section .item .lnk {
font-family: dnp-shuei-mgothic-std, sans-serif;
font-weight: 500;
font-style: normal;
font-size: 13px;
line-height: 30px;
letter-spacing: 0;
text-align: center;
}
.section .item .lnk a {
box-sizing: border-box;
display: block;
position: relative;
background-color: #ffcc33;
border-radius: 9999px;
padding-right: 9px;
width: 130px;
height: 30px;
color: #000;
}
.section .item .lnk 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;
}
.section .item .lnk a:hover {
background-color: #ff8800;
color: #fff;
text-decoration: none;
}
.section .item .lnk a:hover::after {
color: #fff;
}
.section .item .number {
display: flex;
flex-wrap: wrap;
margin: 0 0 11px 0;
line-height: 21px;
text-align: center;
}
.section .item .number dt {
background-color: #000;
border-right: none;
border: solid 1px #000;
border-radius: 3px 0 0 3px;
width: 60px;
font-size: 11px;
color: #fff;
}
.section .item .number dd {
background-color: #fff;
border: solid 1px #000;
border-radius: 0 3px 3px 0;
border-left: none;
padding: 0 4px;
min-width: 42px;
font-size: 12px;
}

.section .item .off {
box-sizing: border-box;
position: absolute;
left: 256px;
top: -6px;
background-color: #ee0000;
border-radius: 50%;
padding-top: 19px;
width: 80px;
height: 80px;
letter-spacing: 0;
line-height: 1.1;
font-size: 16px;
text-align: center;
color: #fff;
}
.section .item .off span {
font-weight: 400;
font-size: 27px;
}
.section .item .btn {
position: absolute;
right: 30px;
bottom: 30px;
box-sizing: border-box;
background-color: #f58811;
border-radius: 10px;
padding: 20px 0 20px 0;
width: 320px;
text-align: center;
}
.section .item .btn a {
display: block;
margin: 18px auto 0 auto;
background-color: #fff588;
border-radius: 5px;
width: 280px;
height: 54px;
font-family: dnp-shuei-mgothic-std, sans-serif;
font-weight: 600;
font-style: normal;
font-size: 24px;
line-height: 54px;
letter-spacing: 0;
text-align: center;
color: #553322;
}
.section .item .btn a:hover {
background-color: #553322;
color: #fff;
text-decoration: none;
}

/* #LEAD
================================================== */
#LEAD .cont {
display: flex;
margin: 0 auto -28px auto;
padding: 84px 0 0 0;
width: 1166px;
}
#LEAD .image {
flex: 1;
}
#LEAD .image img {
transform: translateX(15px) rotate(3deg);
}
#LEAD .pack {
padding-top: 34px;
width: 614px;
text-align: center;
}
#LEAD p {
font-weight: 200;
font-family: 'Noto Serif JP', serif;
font-size: 22px;
line-height: 3.82;
letter-spacing: 0.3em;
color: #644734;
}

/* #CATCH
================================================== */
#CATCH {
background-color: #dad2c8;
}
#CATCH .cont {
margin: 0 auto;
padding: 90px 0 80px 0;
width: 1166px;
}
#CATCH h2 {
margin-bottom: 44px;
padding-right: 12px;
}
#CATCH .list {
display: flex;
justify-content: space-between;
width: 100%;
}
#CATCH .list::after {
display: none;
}
#CATCH h4 {
margin-bottom: 14px;
font-weight: 400;
font-size: 20px;
text-align: center;
}
#CATCH ul {
display: flex;
gap: 10px;
}
#CATCH li {
display: flex;
justify-content: center;
align-items: center;
background-color: #ece7e1;
border-radius: 9px;
width: 214px;
height: 80px;
font-size: 18px;
}

/* #ITEM
================================================== */
#ITEM {
background-color: #e5dfd7;
}
#ITEM .cont {
margin: 0 auto;
padding: 80px 0 80px 0;
width: 1166px;
}
#ITEM .itemBlock {
display: flex;
justify-content: space-between;
}
#ITEM1 {
background: url("../img/itm1_main.jpg") no-repeat 435px 10px;
}
#ITEM2 {
background: url("../img/itm2_main.jpg") no-repeat 435px 10px;
}
#ITEM3 {
background: url("../img/itm3_main.jpg") no-repeat 435px 10px;
}
#ITEM .itemBlock .leftArea {
width: 400px;
}
#ITEM .itemBlock .head {
margin-bottom: 54px;
text-align: center;
}
#ITEM .itemBlock .head .shoulder {
margin-bottom: 36px;
}
#ITEM .itemBlock .head p {
margin: 45px auto 0 auto;
width: 360px;
text-align: left;
}
#ITEM .itemBlock .item {
margin-left: 146px;
text-align: left;
}
#ITEM .itemBlock .rightArea {
padding-top: 10px;
width: 420px;
}
#ITEM .itemBlock .component {
background-color: #ece7e1;
border-radius: 9px;
margin-bottom: 20px;
padding: 29px 30px 35px 30px;
}
#ITEM .itemBlock .component ul {
position: relative;
display: flex;
flex-wrap: wrap;
gap: 24px 0;
justify-content: space-between;
z-index: 1;
}
#ITEM .itemBlock .component h3 {
margin-bottom: 19px;
font-weight: 500;
font-size: 22px;
color: #553322;
}
#ITEM .itemBlock .component li {
width: 170px;
font-size: 13px;
line-height: 21px;
text-align: center;
}
#ITEM .itemBlock .component li span {
font-weight: 500;
font-size: 15px;
}
#ITEM .itemBlock .component img {
display: block;
margin: 0 auto 12px auto;
border-radius: 50%;
}
#ITEM .itemBlock .component .wide {
padding-top: 6px;
width: 100%;
}
#ITEM .itemBlock .component .wide img {
position: relative;
display: block;
margin: -11px auto 0 auto;
border-radius: 0;
z-index: -1;
}
#ITEM .itemBlock .voice {
position: relative;
background-color: #ece7e1;
border-radius: 9px;
padding: 24px 30px 24px 30px;
}
#ITEM .itemBlock .voice h4 {
display: flex;
justify-content: center;
align-items: center;
position: absolute;
left: -54px;
top: -18px;
background-color: #fff;
border-radius: 50%;
width: 70px;
height: 70px;
font-weight: 400;
font-family: 'Inter', sans-serif;
font-size: 15px;
line-height: 18px;
letter-spacing: 0;
text-align: center;
color: #553322;
}
#ITEM .itemBlock .voice h4::before {
transform: translate(-15px,-20px) rotate(-45deg);
content: "";
position: absolute;
top: 100%;
left: 100%;
border: 9px solid transparent;
border-top: 17px solid #fff;
}
#ITEM .itemBlock .voice p {
font-size: 15px;
line-height: 1.87;
text-align: left;
}
#ITEM .newItem {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff url("../img/new_main.jpg") no-repeat 240px 40px;
border-radius: 10px;
margin-top: 80px;
padding: 40px 30px 26px 60px;
}
#ITEM .newItem .head {
padding: 20px 0 0 0;
text-align: left;
}
#ITEM .newItem .head p {
margin-top: 35px;
font-weight: 600;
font-size: 20px;
line-height: 1.6;
}
#ITEM .newItem .block {
margin-right: 50px;
width: 330px;
text-align: left;
}
#ITEM .newItem .set {
width: 480px;
text-align: left;
font-size: 12px;
line-height: 1.67;
}
#ITEM .newItem .item {
flex-direction: column;
align-items: flex-end;
gap: 23px;
}


/* #Quality
================================================== */
#Quality  {
margin-top: 80px;
margin-bottom: 80px;
}
#Quality .cont {
box-sizing: border-box;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
position: relative;
background: url("../img/pow_bg.png") repeat center center;
border-radius: 10px;
margin: 0 auto;
padding: 112px 50px 30px 50px;
width: 1166px;
}
#Quality .cont::after {
display: none !important;
}
#Quality h2 {
transform: translateX(-50%);
position: absolute;
left: 50%;
top: 29px;
font-weight: 300;
font-family: 'Noto Serif JP', serif;
font-size: 32px;
white-space: nowrap;
letter-spacing: -0.05em;
color: #ee6600;
}
#Quality p {
width: 250px;
font-size: 15px;
line-height: 1.87;
text-align: left;
}
#Quality ol {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
padding-top: 5px;
width: 770px;
font-size: 13px;
}
#Quality li {
position: relative;
width: 200px;
white-space: nowrap;
}
#Quality li::after {
content: '';
display: block;
position: absolute;
right: -55px;
top: 60px;
background: url("../img/icn_arw.png") no-repeat center center;
width: 25px;
height: 19px;
}
#Quality li:last-child::after {
display: none;
}
#Quality li img {
display: block;
border-radius: 7px;
margin-bottom: 6px;
}

.campaignBanner_middle {
box-sizing: border-box;
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
background-color: #fff;
border-radius: 15px;
margin: 80px 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 .date {
position: relative;
}
.campaignBanner_middle .period .year {
position: absolute;
left: 0;
top: -2px;
font-size: 14px;
}
.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: #fff;
}
.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 .set {
display: flex;
justify-content: center;
align-items: center;
}
.campaignBanner_bottom .button a .date {
position: relative;
display: flex;
justify-content: center;
align-items: center;
}
.campaignBanner_bottom .button a .year {
padding: 0 5px;
font-size: 18px;
}
.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;
}