@charset "shift_jis";

/* common
================================================== */
#contents .section .lst:after,
#contents .section .list:after,
#contents .section .cont:after,
#contents .section .box:after,
#contents .section .block:after{
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
#contents .section .lst,
#contents .section .list,
#contents .section .cont,
#contents .section .box,
#contents .section .block {
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.075em;
}
.noNavigationWide #mainContents {
text-align: center;
float: none;
width: auto;
}

#mainContents {
padding: 23px 0 0 0;
}

/* #mainVisual
================================================== */
#mainVisual {
position: relative;
background: url("../img/title_bg.jpg") no-repeat center top;
margin: 0 auto 70px auto;
width: 1166px;
height: 640px;
}
#mainVisual h1 {
position: absolute;
left: 605px;
top: 127px;
font-family: 'Noto Serif JP', serif;
font-weight: 300;
font-size: 40px;
line-height: 1.75;
text-align: left;
letter-spacing: 0.5em;
color: #fff;
transform: scaleX(0.9);
}
#mainVisual .campaignBanner {
box-sizing: border-box;
display: flex;
justify-content: space-between;
align-items: center;
position: absolute;
left: 0;
bottom: 0;
background: linear-gradient(to right, #116622, #116622);
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: #fff;
}
#mainVisual .campaignBanner .period strong {
font-weight: 400;
margin-right: 15px;
}
#mainVisual .campaignBanner .period i {
display: flex;
justify-content: center;
align-items: center;
background-color: #fff;
border-radius: 50%;
margin: 0 5px;
width: 33px;
height: 33px;
font-weight: 400;
font-style: normal;
font-size: 17px;
color: #116622;
}
#mainVisual .campaignBanner .button {
display: block;
position: absolute;
top: 18px;
right: 20px;
}
#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%;
}

/* #mainCatch
================================================== */
#mainCatch {
position: relative;
background: url("../img/catch_bg.jpg") no-repeat center top;
margin: 0 auto 60px auto;
width: 1166px;
height: 720px;
}
#mainCatch h2 {
position: absolute;
left: 193px;
top: 74px;
font-family: 'Noto Serif JP', serif;
font-weight: 500;
font-size: 38px;
line-height: 1.84;
letter-spacing: 0.2em;
text-align: left;
color: #fff;
transform: scaleX(0.9);
}
#mainCatch p {
position: absolute;
left: 649px;
top: 81px;
font-weight: 500;
font-size: 18px;
line-height: 2.67;
text-align: left;
color: #fff;
}
#mainCatch dl {
box-sizing: border-box;
position: absolute;
left: 193px;
top: 444px;
padding: 9px 41px;
width: 780px;
}
#mainCatch dt {
margin-bottom: 18px;
font-weight: 500;
font-size: 18px;
}
#mainCatch dd {
float: left;
box-sizing: border-box;
padding-left: 24px;
width: 50%;
font-size: 14px;
line-height: 2.15;
text-align: left;
}
#mainCatch dd:nth-of-type(even) {
padding-left: 51px;
}

/* 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;
}

/* #productItem
================================================== */
#productItem .cont {
background: url("../img/pro_bg.jpg") no-repeat center top;
height: 720px;
text-align: left;
}
#ITM_BLK1 {
position: absolute;
left: 50px;
top: 366px;
}
#ITM_BLK2 {
position: absolute;
left: 838px;
top: 89px;
}
.section .item {
position: relative;
display: flex;
flex-direction: column;
gap: 40px;
}
#productItem h4,
#productItem .price,
#productItem .cnt,
#productItem h4 {
color: #fff;
text-shadow: 0 0 5px rgba(0,0,0,0.5);
}
.section .item h4 {
margin-bottom: 8px;
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 {
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: #fff;
}
.section .item div.price .special span {
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: 200px;
top: 4px;
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;
}

#productItem ul {
position: absolute;
left: 70px;
top: 90px;
}
#productItem ul li {
margin-right: 16px;
float: left;
}
#productItem ul li span {
display: flex;
justify-content: center;
align-items: center;
background-color: #2a7b92;
border-radius: 50%;
width: 105px;
height: 105px;
font-weight: 700;
line-height: 1.4;
text-align: center;
color: #fff;
}
#productItem dl.component {
display: flex;
flex-wrap: wrap;
gap: 8px;
position: absolute;
right:  35px;
bottom: 80px;
width: 330px;
}
#productItem .component dt {
width: 100%;
margin-bottom: 10px;
font-size: 18px;
line-height: 1.2;
text-shadow: 0 0 5px rgba(0,0,0,0.5);
text-align: center;
color: #fff;
}
#productItem .component dt span {
font-size: 32px;
}
#productItem .component dd {
background-color: rgba(255,255,255,0.75);
border-radius: 5px;
padding: 0 12px;
font-size: 13px;
letter-spacing: 0;
line-height: 32px;
}
#productItem .component dd span {
font-size: 11px;
}
#productItem .button {
position: absolute;
right: 40px;
bottom: 40px;
box-sizing: border-box;
background-color: #f9d4c7;
border-radius: 10px;
padding: 20px 0 20px 0;
width: 320px;
text-align: center;
}
#productItem .button 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;
}
#productItem .button a:hover {
background-color: #ff8800;
color: #fff;
text-decoration: none;
}

/* #productExplan
================================================== */
#productExplan .cont {
box-sizing: border-box;
background: url("../img/exp_bg.jpg") no-repeat center top;
padding: 70px 0 0 0;
height: 722px;
text-align: left;
}
#EXP_BLK1 {
float: left;
width: 520px;
}
#EXP_BLK2 {
float: right;
width: 500px;
}
#productExplan h2 {
margin-bottom: 33px;
font-family: 'Noto Serif JP', serif;
font-weight: 500;
font-size: 32px;
line-height: 1.5;
}
#productExplan p {
font-size: 15px;
line-height: 2.14;
}
#EXP_BLK1 h4 {
border: solid 1px #116622;
margin-bottom: 14px;
font-weight: 700;
font-size: 18px;
line-height: 38px;
text-align: center;
color: #116622;
}
#EXP_BLK1 ul {
margin-top: 54px;
display: flex;
justify-content: space-between;
letter-spacing: 0.05em;
}
#EXP_BLK1 li {
width: 240px;
}
#EXP_BLK1 li p {
line-height: 1.87;
}
#EXP_BLK2 figure {
display: flex;
align-items: center;
gap: 40px;
margin-top: 39px;
margin-left: -20px;
width: 520px;
}
#EXP_BLK2 figcaption {
flex: 1;
font-size: 14px;
line-height: 2;
}

/* #Obsession
================================================== */
#Obsession {
background: url("../img/obs_bg.png") repeat center center;
}
#Obsession .cont {
padding: 72px 0 80px 0;
}
#Obsession h2 {
margin-bottom: 60px;
font-family: 'Noto Serif JP', serif;
font-weight: 500;
font-size: 44px;
text-align: center;
}
#Obsession h2 span {
color: #116622;
}
#Obsession h3.num {
position: relative;
font-family: 'Noto Serif JP', serif;
font-weight: 500;
font-size: 32px;
line-height: 1.5;
}
#Obsession .lead {
font-size: 15px;
line-height: 2.14;
}
#OBS_BLK1 {
position: relative;
margin-bottom: 84px;
}
#OBS_BLK1 h3.num {
margin-bottom: 40px;
padding-left: 85px;
}
#OBS_BLK1 h3.num::before {
content: '01';
position: absolute;
left: 0;
top: 0;
font-family: 'Roboto', sans-serif;
font-weight: 500;
font-size: 40px;
line-height: 1.3;
color: #116622;
}
#OBS_BLK1 h3.num::after {
content: '';
transform: translateY(-50%);
display: block;
position: absolute;
left: 65px;
top: 50%;
height: 90px;
width: 1px;
background-color: #000;
}
#OBS_BLK1 .lead {
margin-top: -9px;
width: 240px;
float: left;
}
#OBS_BLK1 .sustainable {
box-sizing: border-box;
background-color: #fff;
border: solid 2px #000;
margin-left: 280px;
margin-bottom: 88px;
padding: 13px 18px;
width: 380px;
}
#OBS_BLK1 .sustainable h4 {
margin-bottom: 6px;
font-size: 18px;
}
#OBS_BLK1 .sustainable h4 img {
position: relative;
top: 5px;
margin-right: 10px;
}
#OBS_BLK1 .sustainable p {
font-size: 14px;
line-height: 1.72;
letter-spacing: 0.05em;
}
#OBS_BLK1 .image {
position: absolute;
right: 0;
top: 0;
padding-top: 6px;
}
#OBS_BLK1 .box {
position: relative;
background-color: rgba(255,255,255,0.85);
border-radius: 15px;
padding: 55px 0 30px 0;
text-align: center;
}
#OBS_BLK1 .box h3 {
position: absolute;
left: 0;
top: -22px;
width: 100%;
font-family: 'Noto Serif JP', serif;
font-weight: 500;
font-size: 28px;
color: #116622;
}
#OBS_BLK1 .box h4 {
display: inline-block;
position: relative;
padding-left: 40px;
min-width: 125px;
font-weight: 500;
font-size: 20px;
line-height: 1.3;
text-align: left;
}
#OBS_BLK1 .box h4::before {
content: '';
transform: translateY(-50%);
display: block;
position: absolute;
left: 0;
top: 50%;
background: url("../img/icn_check.png") no-repeat center center;
width: 27px;
height: 19px;
}
#OBS_BLK1 .box p {
margin-top: 12px;
font-size: 15px;
line-height: 1.74;
letter-spacing: 0;
text-align: left;
}
#OBS_BLK1 .box .lst {
display: flex;
}
#OBS_BLK1 .box .blk {
box-sizing: border-box;
border-left: solid 1px #553322;
padding: 0 33px;
width: 25%;
}
#OBS_BLK1 .box .blk:first-child {
border-left: none;
}
#OBS_BLK2 {
position: relative;
height: 441px;
text-align: center;
}
#OBS_BLK2 h3.num {
display: inline-block;
margin-bottom: 40px;
padding-left: 85px;
}
#OBS_BLK2 h3.num::before {
content: '02';
position: absolute;
left: 0;
top: 0;
font-family: 'Roboto', sans-serif;
font-weight: 500;
font-size: 40px;
line-height: 1.3;
color: #116622;
}
#OBS_BLK2 h3.num::after {
content: '';
transform: translateY(-50%);
display: block;
position: absolute;
left: 65px;
top: 50%;
height: 40px;
width: 1px;
background-color: #000;
}
#OBS_BLK2 .lead {
margin-top: 19px;
width: 200px;
text-align: left;
}
#OBS_BLK2 .lead::after {
content: '';
display: block;
position: absolute;
left: 243px;
top: 108px;
background: url("../img/obs_blk2_img1.png") no-repeat center center;
width: 235px;
height: 217px;
}
#OBS_BLK2 .box {
position: absolute;
right: 0;
top: 86px;
box-sizing: border-box;
background-color: rgba(255,255,255,0.85);
padding: 33px 30px 15px 254px;
width: 640px;
}
#OBS_BLK2 .box .image {
position: absolute;
left: 36px;
top: 30px;
}
#OBS_BLK2 .box h4 {
margin-bottom: 18px;
font-weight: 500;
font-size: 20px;
color: #116622;
}
#OBS_BLK2 .box ul {
display: flex;
flex-wrap: wrap;
}
#OBS_BLK2 .box li {
background-color: #116622;
border-radius: 3px;
margin: 0 10px 26px 0;
width: 112px;
height: 28px;
font-size: 13px;
line-height: 28px;
color: #fff;
}
#OBS_BLK2 .box li:nth-of-type(3n) {
margin-right: 0;
}
#OBS_BLK3 {
position: relative;
padding-bottom: 44px;
}
#OBS_BLK3 h3.num {
position: absolute;
left: 0;
top: -10px;
padding-top: 85px;
width: 130px;
}
#OBS_BLK3 h3.num span {
position: relative;
left: -6px;
font-feature-settings: "pkna";
-webkit-writing-mode: vertical-rl;
-moz-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
-ms-writing-mode: vertical-rl;
writing-mode: vertical-rl;
}
#OBS_BLK3 h3.num::before {
content: '03';
position: absolute;
left: 0;
top: 0;
width: 130px;
font-family: 'Roboto', sans-serif;
font-weight: 500;
font-size: 40px;
line-height: 1.3;
color: #116622;
text-align: center;
}
#OBS_BLK3 h3.num::after {
content: '';
transform: translateX(-50%);
display: block;
position: absolute;
left: 50%;
top: 60px;
height: 1px;
width: 130px;
background-color: #000;
}
#OBS_BLK3 .box {
position: relative;
margin-left: 192px;
padding-bottom: 10px;
}
#OBS_BLK3 .box .hed {
position: absolute;
left: 0;
top: 0;
box-sizing: border-box;
background: url("../img/obs_blk3_hed_bg.png") no-repeat center center;
padding-right: 10px;
width: 134px;
height: 322px;
}
#OBS_BLK3 .box .hed h3 {
padding: 18px 0 0 0;
font-weight: 700;
font-size: 28px;
text-align: center;
color: #116622;
}
#OBS_BLK3 .box .hed h3::after {
content: '';
display: block;
background-color: #553322;
margin: 7px auto 18px auto;
width: 80px;
height: 1px;
}
#OBS_BLK3 .box .hed p {
margin: 0 auto;
font-weight: 500;
font-size: 18px;
line-height: 1.78;
font-feature-settings: "pkna";
-webkit-writing-mode: vertical-rl;
-moz-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
-ms-writing-mode: vertical-rl;
writing-mode: vertical-rl;
}
#OBS_BLK3 .box .lst {
display: flex;
flex-wrap: wrap;
margin-left: 134px;
}
#OBS_BLK3 .box .blk {
box-sizing: border-box;
margin-bottom: 26px;
padding-left: 30px;
width: 210px;
text-align: center;
}
#OBS_BLK3 .box .blk h4 {
margin-top: 11px;
font-weight: 700;
font-size: 15px;
letter-spacing: 0;
}
#OBS_BLK3 .box .blk h4 span {
font-size: 12px;
}
#OBS_BLK3 .box .blk p {
font-size: 13px;
letter-spacing: 0;
}
#OBS_BLK3 .note {
position: absolute;
right: 0;
bottom: 37px;
font-size: 11px;
}
#OBS_BLK4 {
position: relative;
text-align: center;
}
#OBS_BLK4 h3.num {
display: inline-block;
margin-bottom: 30px;
padding-left: 85px;
}
#OBS_BLK4 h3.num::before {
content: '04';
position: absolute;
left: 0;
top: 0;
font-family: 'Roboto', sans-serif;
font-weight: 500;
font-size: 40px;
line-height: 1.3;
color: #116622;
}
#OBS_BLK4 h3.num::after {
content: '';
transform: translateY(-50%);
display: block;
position: absolute;
left: 65px;
top: 50%;
height: 40px;
width: 1px;
background-color: #000;
}
#OBS_BLK4 .lead {
margin-bottom: 40px;
}
#OBS_BLK4 .box {
position: relative;
background-color: rgba(200,171,148,0.45);
padding: 50px 0 25px 80px;
}
#OBS_BLK4 .box .hed {
position: absolute;
left: 22px;
top: 40px;
font-feature-settings: "pkna";
-webkit-writing-mode: vertical-rl;
-moz-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
-ms-writing-mode: vertical-rl;
writing-mode: vertical-rl;
font-size: 22px;
text-align: left;
}
#OBS_BLK4 .box .image {
float: left;
}
#OBS_BLK4 .box .lst {
display: flex;
flex-wrap: wrap;
margin-left: 405px;
}
#OBS_BLK4 .box .blk {
margin-right: 40px;
width: 190px;
float: left;
}
#OBS_BLK4 .box .blk:last-child {
margin-right: 0;
}
#OBS_BLK4 .box .blk h4 {
margin-top: 23px;
font-weight: 700;
font-size: 18px;
line-height: 1.34;
white-space: nowrap;
}
#OBS_BLK4 .box .blk p {
margin-top: 2px;
font-size: 15px;
line-height: 1.86;
text-align: left;
letter-spacing: 0;
}

/* #checkBox
================================================== */
#checkBox .cont {
padding: 93px 0 0 0;
}
#checkBox .block {
position: relative;
border: solid 2px #116622;
margin-bottom: 86px;
}
#checkBox .block:last-child {
margin-bottom: 90px;
}
#checkBox .block h2 {
transform: translateX(-50%);
position: absolute;
left: 50%;
top: -37px;
background-color: #fff;
padding: 0 20px 0 70px;
white-space: nowrap;
font-family: 'Noto Serif JP', serif;
font-weight: 400;
font-size: 32px;
line-height: 72px;
}
#checkBox .block h2::before {
content: '';
transform: translateY(-50%);
display: block;
position: absolute;
left: 28px;
top: 50%;
background: url("../img/icn_check2.png") no-repeat center center;
width: 35px;
height: 31px;
}
#CHK_BLK1 {
padding: 54px 0 46px 0;
}
#CHK_BLK1 ul {
padding: 0 55px;
}
#CHK_BLK1 li {
float: left;
width: 500px;
font-size: 15px;
line-height: 2.14;
}
#CHK_BLK1 li:last-child {
float: right;
}
#CHK_BLK2 {
padding: 18px;
}
#CHK_BLK2 .lst {
background-color: #e7efe8;
padding: 53px 50px 50px 50px;
}
#CHK_BLK2 .blk:nth-of-type(1) {
float: left;
width: 510px;
}
#CHK_BLK2 .blk:nth-of-type(1) .img {
position: relative;
margin-bottom: 26px;
}
#CHK_BLK2 .blk:nth-of-type(1) .img::after {
content: '';
display: block;
position: absolute;
right: 30px;
top: -40px;
background: url("../img/chk_bln1.png") no-repeat center center;
width: 143px;
height: 81px;
}
#CHK_BLK2 .blk:nth-of-type(1) .img p {
padding: 10px 0 7px 0;
font-weight: 500;
font-size: 16px;
}
#CHK_BLK2 .blk:nth-of-type(2) {
position: relative;
float: right;
width: 450px;
height: 188px;
}
#CHK_BLK2 .blk:nth-of-type(2) .img {
position: absolute;
right: 0;
top: 0;
}
#CHK_BLK2 .blk:nth-of-type(2) p {
margin-top: 10px;
width: 200px;
line-height: 1.74;
}
#CHK_BLK2 .blk:nth-of-type(3) {
float: right;
width: 450px;
}
#CHK_BLK2 .blk:nth-of-type(3) .img {
margin-top: 18px;
}
#CHK_BLK2 .blk:nth-of-type(3) p {
margin-top: 11px;
}
#CHK_BLK2 h3 {
font-weight: 500;
font-size: 24px;
line-height: 1.5;
color: #116622;
}
#CHK_BLK2 p {
letter-spacing: 0.02em;
font-size: 15px;
line-height: 2.14;
}

/* #productOther
================================================== */
#productOther {
margin-bottom: 80px;
}
#productOther .cont {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background-color: #d4eae9;
padding: 34px 107px 50px 360px;
}
#productOther .cont::before {
content: '';
position: absolute;
left: 40px;
top: -30px;
background: url("../img/oth_item1.png") no-repeat center center;
width: 365px;
height: 320px;
}
#productOther .cont::after {
display: none !important;
}
#productOther .item {
position: relative;
padding-top: 66px;
z-index: 2;
}
#productOther .explan {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 480px;
}
#productOther .explan h2 {
margin-bottom: 16px;
width: 100%;
font-family: 'Noto Serif JP', serif;
font-weight: 400;
letter-spacing: 0;
font-size: 32px;
}
#productOther .explan p {
width: 240px;
letter-spacing: 0.02em;
font-size: 15px;
line-height: 2.14;
}
#productOther .explan figure {
position: relative;
}
#productOther .explan figcaption {
position: absolute;
right: -77px;
top: -59px;
}

/* #Story
================================================== */
#Story {
padding-bottom: 10px;
}
#Story .cont {
position: relative;
background-color: #fff1d7;
height: 480px;
}
#Story h2 {
position: absolute;
right: 55px;
top: 68px;
font-feature-settings: "pkna";
-webkit-writing-mode: vertical-rl;
-moz-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
-ms-writing-mode: vertical-rl;
writing-mode: vertical-rl;
font-weight: 400;
font-size: 28px;
line-height: 1.15;
}
#Story .lead {
position: absolute;
right: 173px;
top: 68px;
height: 355px;
font-feature-settings: "pkna";
-webkit-writing-mode: vertical-rl;
-moz-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
-ms-writing-mode: vertical-rl;
writing-mode: vertical-rl;
font-size: 15px;
line-height: 2.14;
letter-spacing: 0;
}
#Story .profile {
position: absolute;
left: 40px;
top: 70px;
width: 160px;
}
#Story .profile h4 {
margin-top: 35px;
margin-bottom: 18px;
font-weight: 400;
font-size: 18px;
text-align: center;
line-height: 1.3;
}
#Story .profile h4 span {
font-size: 13px;
}
#Story .profile p {
font-size: 12px;
line-height: 1.59;
letter-spacing: 0;
}

.campaignBanner_middle {
box-sizing: border-box;
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
background-color: #fff;
border-radius: 15px;
margin: -45px 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: #fff;
}
.campaignBanner_middle .button {
display: block;
position: absolute;
top: 18px;
right: 20px;
}
.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;
}