@charset "utf-8";
/* CSS Document */

/****************************************
clearfix
*****************************************/
.cf:before,
.cf:after {
display: table;
content: "";
}
.cf:after {
clear: both;
}
.cf {
zoom: 1;
}
.section .explan .block dl:after,
.section .box:after,
.section .item:after,
.cols:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.section .explan .block dl,
.section .box,
.section .item,
.cols {
zoom: 1;
}
.Noto_Serif {
font-family: 'Noto Serif JP', serif;
}
.Lato {
font-family: 'Lato', sans-serif;
}
.Roboto {
font-family: 'Roboto', sans-serif;
}
#contents {
font-family: 'Noto Sans JP', sans-serif;
font-weight: 400;
font-feature-settings: "palt";
-webkit-font-feature-settings: "palt";
letter-spacing: 0.0em;
text-align: center;
}
#pageBody {
background: none;
zoom: 100%;
overflow: hidden;
}

/* #mainVisual
================================================== */
#mainVisual .vis {
position: relative;
background: url("../img/title_bg.jpg") no-repeat center top;
background-size: 375px auto;
margin: 0 auto;
width: 375px;
height: 600px;
}
#mainVisual h1 {
position: absolute;
left: 0;
top: 51px;
width: 100%;
font-weight: 100;
font-family: 'Noto Serif JP', serif;
font-size: 32px;
line-height: 1.72;
text-align: center;
color: #fff;
}
#mainVisual .btn img {
display: block;
margin: 0 auto;
width: 375px;
height: auto;
}

/* #mainCatch
================================================== */
#mainCatch .pack {
box-sizing: border-box;
background: url("../img/catch_bg.jpg") no-repeat center top;
background-size: 375px auto;
margin: 0 auto;
padding-top: 48px;
width: 375px;
height: 565px;
text-align: center;
}
#mainCatch h2 {
margin-bottom: 50px;
padding-left: 1em;
font-family: 'Noto Serif JP', serif;
font-weight: 100;
font-size: 32px;
line-height: 1.72;
letter-spacing: 0.25em;
color: #fff;
transform: scaleX(0.9);
}
#mainCatch p {
margin: 0 auto 18px auto;
width: 330px;
font-weight: 400;
font-size: 16px;
line-height: 2.5;
color: #fff;
}
#mainCatch dl {
padding: 38px 0 43px 0;
}
#mainCatch dt {
background: url("../img/catch_lin.png") no-repeat center bottom;
background-size: 330px 2px;
margin-bottom: 18px;
padding: 0 0 13px 0;
font-weight: 500;
font-size: 18px;
}
#mainCatch dd {
background: url("../img/icn_check3.png") no-repeat left center;
background-size: 18px auto;
margin: 0 auto;
padding-left: 27px;
width: 320px;
white-space: nowrap;
font-size: 14px;
line-height: 2.13;
text-align: left;
}

/* #productItem
================================================== */
#productItem .image {
position: relative;
background: url("../img/pro_bg.jpg") no-repeat center top;
background-size: 375px auto;
margin: 0 auto;
width: 375px;
height: 465px;
text-align: left;
}
#productItem .image li {
position: absolute;
}
#productItem .image li:nth-of-type(1) {
left: 25px;
bottom: 47px;
}
#productItem .image li:nth-of-type(2) {
right: 12px;
top: 34px;
}
#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;
font-size: 15px;
line-height: 1.4;
text-align: center;
color: #fff;
}
#productItem .item {
margin: 0 auto;
padding: 45px 0 15px 0;
width: 330px;
text-align: left;
}
#productItem dl.component {
background-color: #cfe0d3;
padding: 28px 0 35px 0;
text-align: center;
}
#productItem .component dt {
margin-bottom: 28px;
font-size: 20px;
line-height: 1.0;
text-align: center;
}
#productItem .component dt span {
color: #116622;
}
#productItem .component dt strong {
position: relative;
top: 5px;
font-size: 32px;
}
#productItem .component dd {
display: inline-block;
background-color: #f8faf8;
border-radius: 5px;
margin: 0 3px 6px 3px;
padding: 0 11px;
font-size: 14px;
letter-spacing: 0;
line-height: 33px;
color: #116622;
}

/* #productExplan
================================================== */
#productExplan .cont {
margin: 0 auto;
padding-bottom: 67px;
width: 330px;
text-align: left;
}
#EXP_BLK1 {
background: url("../img/exp_bg1.jpg") no-repeat center top;
background-size: 242px auto;
padding: 52px 0 0 0;
}
#EXP_BLK2 {
background: url("../img/exp_bg2.jpg") no-repeat left top;
background-size: 214px auto;
padding: 42px 0 0 0;
}
#productExplan h2 {
margin-bottom: 21px;
font-family: 'Noto Serif JP', serif;
font-weight: 500;
font-size: 26px;
line-height: 1.47;
text-align: center;
}
#productExplan p {
font-size: 14px;
line-height: 2;
}
#EXP_BLK1 h4 {
border: solid 1px #116622;
margin-bottom: 17px;
font-weight: 700;
font-size: 18px;
line-height: 34px;
text-align: center;
color: #116622;
}
#EXP_BLK1 ul {
margin-top: 43px;
}
#EXP_BLK1 li {
margin-bottom: 33px;
}
#EXP_BLK2 p {
margin-bottom: 33px;
}
#EXP_BLK2 figure {
margin: 0 auto;
width: 288px;
}
#EXP_BLK2 figcaption {
margin-top: 28px;
font-size: 14px;
line-height: 2;
}

/* #Obsession
================================================== */
#Obsession {
background: url("../img/obs_bg.png") repeat center center;
}
#Obsession .cont {
position: relative;
margin: 0 auto;
width: 375px;
padding: 0 0 50px 0;
text-align: left;
}
#Obsession h2 {
position: absolute;
left: 30px;
top: 30px;
font-family: 'Noto Serif JP', serif;
font-weight: 500;
font-size: 30px;
line-height: 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;
text-align: left;
}
#Obsession h2 span {
margin-right: 3px;
display: inline-block;
background-color: #fff;
padding: 8px 0;
}
#Obsession .list {
margin: 0 auto;
padding: 40px 0 0 0;
width: 330px;
}
#Obsession h3.num {
position: relative;
margin-bottom: 30px;
padding-left: 61px;
font-family: 'Noto Serif JP', serif;
font-weight: 500;
font-size: 22px;
line-height: 1.37;
}
#Obsession h3.num::before {
content: '';
position: absolute;
left: 0;
top: -2px;
font-family: 'Roboto', sans-serif;
font-weight: 500;
font-size: 30px;
line-height: 1.3;
color: #116622;
}
#OBS_BLK1 h3.num::before {
content: '01';
}
#OBS_BLK2 h3.num::before {
content: '02';
}
#OBS_BLK3 h3.num::before {
content: '03';
}
#OBS_BLK4 h3.num::before {
content: '04';
}
#Obsession h3.num::after {
content: '';
transform: translateY(-50%);
display: block;
position: absolute;
left: 46px;
top: 50%;
height: 55px;
width: 1px;
background-color: #000;
}
#OBS_BLK3 h3.num::after {
height: 85px;
}
#Obsession .lead {
font-size: 14px;
line-height: 2;
}
#OBS_BLK1 {
position: relative;
margin-bottom: 47px;
}
#OBS_BLK1 .sustainable {
box-sizing: border-box;
background-color: #fff;
border: solid 1px #000;
margin-top: 22px;	
margin-bottom: 30px;
padding: 9px 18px 13px 18px;
}
#OBS_BLK1 .sustainable h4 {
margin-bottom: 6px;
font-size: 16px;
}
#OBS_BLK1 .sustainable h4 img {
position: relative;
top: 5px;
margin-right: 10px;
}
#OBS_BLK1 .sustainable p {
font-size: 12px;
line-height: 1.67;
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: 8px;
padding: 28px 20px 5px 20px;
}
#OBS_BLK1 .box h3 {
margin-bottom: -5px;
font-family: 'Noto Serif JP', serif;
font-weight: 500;
font-size: 20px;
color: #116622;
text-align: center;
}
#OBS_BLK1 .box h4 {
position: relative;
margin-bottom: 8px;
padding-left: 31px;
font-weight: 500;
font-size: 16px;
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;
background-size: 20px auto;
width: 20px;
height: 16px;
}
#OBS_BLK1 .box p {
font-size: 14px;
line-height: 1.72;
letter-spacing: 0;
}
#OBS_BLK1 .box .lst {}
#OBS_BLK1 .box .blk {
box-sizing: border-box;
border-top: solid 1px #c2b5ad;
padding-top: 21px;
padding-bottom: 20px;
}
#OBS_BLK1 .box .blk:first-child {
border-top: none;
}
#OBS_BLK2 {
margin-bottom: 47px;
}
#OBS_BLK2 .box {
position: relative;
box-sizing: border-box;
background-color: rgba(255,255,255,0.85);
border-radius: 8px;
margin-top: 40px;
padding: 24px 20px 5px 20px;
}
#OBS_BLK2 .box .image {
position: absolute;
right: 9px;
top: -39px;
}
#OBS_BLK2 .box h4 {
margin-bottom: 15px;
font-family: 'Noto Serif JP', serif;
font-weight: 500;
font-size: 20px;
line-height: 1.5;
color: #116622;
}
#OBS_BLK2 .box p {
margin-bottom: 9px;
font-family: 'Lato', sans-serif;
font-weight: 700;
font-size: 14px;
color: #116622;
}
#OBS_BLK2 .box ul {
background-color: #116622;
border-radius: 3px;
margin-bottom: 20px;
padding: 6px 0;
text-align: center;
}
#OBS_BLK2 .box li {
display: inline;
font-size: 11px;
color: #fff;
}
#OBS_BLK2 .box li::after {
content: '|';
margin: 0 10px;
}
#OBS_BLK2 .box li:last-child::after {
content: '';
margin: 0;
}
#OBS_BLK3 {
padding-bottom: 14px;
}
#OBS_BLK3 .box {
position: relative;
padding-bottom: 30px;
}
#OBS_BLK3 .box .hed {
position: relative;
box-sizing: border-box;
background-color: #fff;
margin-bottom: 25px;
padding: 12px 0;
}
#OBS_BLK3 .box .hed h3 {
transform: translateY(-50%);
position: absolute;
left: 0;
top: 50%;
width: 97px;
font-weight: 700;
font-size: 20px;
text-align: center;
color: #116622;
}
#OBS_BLK3 .box .hed h3::after {
content: '';
transform: translateY(-50%);
position: absolute;
left: 97px;
top: 50%;
display: block;
background-color: #553322;
width: 1px;
height: 40px;
}
#OBS_BLK3 .box .hed p {
margin-left: 116px;
font-weight: 500;
font-size: 15px;
line-height: 1.47;
}
#OBS_BLK3 .box .lst {
display: flex;
flex-wrap: wrap;
}
#OBS_BLK3 .box .blk {
box-sizing: border-box;
padding-bottom: 18px;
width: 50%;
text-align: center;
}
#OBS_BLK3 .box .blk:nth-of-type(odd) {
padding-right: 10px;
}
#OBS_BLK3 .box .blk:nth-of-type(even) {
padding-left: 10px;
}
#OBS_BLK3 .box .blk img {
width: 100%;
height: auto;
}
#OBS_BLK3 .box .blk h4 {
margin-top: 10px;
font-weight: 700;
font-size: 13px;
letter-spacing: 0;
}
#OBS_BLK3 .box .blk h4 span {
font-size: 12px;
}
#OBS_BLK3 .box .blk p {
font-size: 12px;
line-height: 1.34;
letter-spacing: 0;
}
#OBS_BLK3 .note {
font-size: 10px;
text-align: right;
}
#OBS_BLK4 {
position: relative;
}
#OBS_BLK4 .lead {
margin-bottom: 40px;
}
#OBS_BLK4 .box {
position: relative;
background-color: rgba(200,171,148,0.45);
border-radius: 8px;
padding: 18px 20px 30px 20px;
}
#OBS_BLK4 .box .hed {
margin-bottom: 20px;
font-weight: 500;
font-size: 18px;
text-align: center;
}
#OBS_BLK4 .box .image img {
width: 100%;
height: auto;
}
#OBS_BLK4 .box .lst {}
#OBS_BLK4 .box .blk {
margin-top: 30px;
min-height: 90px;
}
#OBS_BLK4 .box .blk .img {
float: left;
width: 105px;
text-align: center;
}
#OBS_BLK4 .box .blk h4 {
margin-left: 125px;
padding-top: 2px;
font-weight: 700;
font-size: 14px;
}
#OBS_BLK4 .box .blk p {
margin-left: 125px;
font-size: 12px;
line-height: 1.84;
text-align: left;
letter-spacing: 0;
}

/* #checkBox
================================================== */
#checkBox .cont {
padding: 55px 0 53px 0;
text-align: left;
}
#checkBox .block {
margin: 0 auto;
width: 330px;
}
#checkBox .block h2 {
position: relative;
margin-bottom: 26px;
padding-left: 35px;
font-family: 'Noto Serif JP', serif;
font-weight: 400;
font-size: 24px;
white-space: nowrap;
letter-spacing: 0;
}
#checkBox .block h2::before {
content: '';
display: block;
position: absolute;
left: 0;
top: 5px;
background: url("../img/icn_check2.png") no-repeat center center;
background-size: 30px auto;
width: 30px;
height: 28px;
}
#CHK_BLK1 {
padding-bottom: 14px;
}
#CHK_BLK1 li {
margin-bottom: 26px;
font-size: 14px;
line-height: 2;
}
#CHK_BLK2 h3 {
font-weight: 500;
font-size: 18px;
line-height: 1.39;
color: #116622;
}
#CHK_BLK2 p {
font-size: 14px;
line-height: 2;
}
#CHK_BLK2 .blk:nth-of-type(1) {
margin-bottom: 43px;
}
#CHK_BLK2 .blk:nth-of-type(1) .img {
position: relative;
margin: 11px 0 16px 0;
}
#CHK_BLK2 .blk:nth-of-type(1) .img::after {
content: '';
display: block;
position: absolute;
right: 3px;
top: -55px;
background: url("../img/chk_bln1.png") no-repeat center center;
background-size: 126px auto;
width: 126px;
height: 72px;
}
#CHK_BLK2 .blk:nth-of-type(2) {
margin-bottom: 51px;
}
#CHK_BLK2 .blk:nth-of-type(2) .img {
margin: 26px 0 0 0;
text-align: center;
}
#CHK_BLK2 .blk:nth-of-type(3) .img {
margin: 21px 0 16px 0;
}

/* #productOther
================================================== */
#productOther {
background-color: #d4eae9;
}
#productOther .cont {
margin: 0 auto;
padding: 60px 0 50px 0;
width: 330px;
text-align: left;
}
#productOther .cont::after {
display: none !important;
}
#productOther .item {
position: relative;
z-index: 2;
}
#productOther .item h2 {
margin-bottom: 25px;
white-space: nowrap;
font-family: 'Noto Serif JP', serif;
font-weight: 400;
letter-spacing: 0;
font-size: 28px;
line-height: 1.29;
}
#productOther .item h2 span {
letter-spacing: -0.1em;
}
#productOther .block {
position: relative;
padding-left: 138px;
padding-top: 10px;
}
#productOther .block::before {
content: '';
position: absolute;
left: 15px;
top: 0;
background: url("../img/oth_item1.jpg") no-repeat center center;
background-size: contain;
width: 93px;
height: 280px;
}
#productOther .explan p {
font-size: 15px;
line-height: 2;
letter-spacing: 0;
}

/* #Story
================================================== */
#Story {
background-color: #fff1d7;
}
#Story .cont {
margin: 0 auto;
padding: 44px 0 69px 0;
width: 330px;
text-align: left;
}
#Story h2 {
margin-bottom: 42px;
font-family: 'Noto Serif JP', serif;
font-weight: 400;
font-size: 28px;
line-height: 1.29;
text-align: center;
}
#Story .lead {
font-size: 14px;
line-height: 2;
letter-spacing: 0;
}
#Story .profile {
display: flex;
margin-bottom: 40px;
}
#Story .profile .image {
width: 120px;
text-align: center;
}
#Story .profile .pack {
box-sizing: border-box;
padding-left: 10px;
width: 210px;
}
#Story .profile h4 {
margin-bottom: 7px;
font-weight: 400;
font-size: 16px;
line-height: 1.3;
}
#Story .profile h4 span {
font-size: 12px;
}
#Story .profile p {
font-size: 12px;
line-height: 1.59;
letter-spacing: 0;
}

#contents .banner {
text-align: center;
}
#contents .banner a {
display: block;
}

.section .itm .block,
.section .item .block {
margin: 0 auto 40px auto;
width: 330px;
}
.section .itm .list,
.section .item .list {
padding-top: 45px;
}
.section .itm h4,
.section .item h4 {
margin-bottom: 1px;
font-weight: 500;
font-size: 16px;
line-height: 1.44;
}
.section .itm h4 span,
.section .item h4 span {
display: inline-block;
margin-bottom: -1px;
padding-top: 2px;
font-weight: 500;
font-size: 13px;
}
.section .itm .cnt,
.section .item .cnt {
margin-bottom: 5px;
font-size: 13px;
line-height: 1.53;
}
.section .itm p.price,
.section .item p.price {
margin-bottom: 13px;
font-size: 14px;
line-height: 1.53;
}
.section .itm div.price,
.section .item div.price {
position: relative;
margin-top: -2px;
margin-bottom: 13px;
}
.section .itm div.price .special,
.section .item div.price .special {
margin-bottom: 5px;
font-size: 15px;
color: #ee0000;
line-height: 1.2;
}
.section .itm div.price .special span,
.section .item div.price .special span {
font-family: 'Lato', sans-serif;
font-weight: 700;
font-size: 24px;
}
.section .itm div.price .normal,
.section .item div.price .normal {
font-size: 13px;
}
.section .itm div.price .off,
.section .item div.price .off {
box-sizing: border-box;
position: absolute;
right: 10px;
top: 20px;
width: 80px;
height: 80px;
background-color: #ee0000;
border-radius: 50%;
padding-top: 19px;
font-weight: 500;
font-size: 14px;
line-height: 1.2;
text-align: center;
color: #fff;
}
.section .itm div.price .off span,
.section .item div.price .off span {
font-family: 'Lato', sans-serif;
font-weight: 700;
font-size: 27px;
}
.section .itm .lnk,
.section .item .lnk {
font-family: dnp-shuei-mgothic-std, sans-serif;
font-weight: 600;
font-style: normal;
font-size: 14px;
line-height: 30px;
letter-spacing: 0;
text-align: center;
}
.section .itm .lnk a,
.section .item .lnk a {
box-sizing: border-box;
display: block;
position: relative;
background-color: #ffcc33;
border-radius: 15px;
padding-right: 9px;
width: 140px;
height: 30px;
color: #000;
}
.section .itm .lnk a::after,
.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 .itm .lnk a:hover,
.section .item .lnk a:hover {
background-color: #ff8800;
color: #fff;
text-decoration: none;
}
.section .itm .lnk a:hover::after,
.section .item .lnk a:hover::after {
color: #fff;
}
.section .itm .number,
.section .item .number {
display: flex;
flex-wrap: wrap;
margin: 0 0 11px 0;
line-height: 21px;
text-align: center;
}
.section .itm .number dt,
.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 .itm .number dd,
.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 .itm .note,
.section .item .note {
margin-top: 16px;
font-size: 10px;
line-height: 1.6;
}