@import url(base.css);
img { max-width: 100%; }

@media screen and (min-width: 751px) { .sp { display: none; }
  .pc { display: block; } }
@media screen and (max-width: 750px) { .pc { display: none; }
  .sp { display: block; }
  .fit { width: 100%; height: auto; } }
/*-------------------------------------------------
	++ BASE
-------------------------------------------------*/
body { font-family: 'Noto Sans JP', sans-serif; font-weight: 500; font-size: 16px; background-color: #f7f7f7; color: #000; }
@media screen and (max-width: 750px) { body { font-size: 3.4vw; } }

#container { margin: 0 auto; text-align: center; position: relative; min-width: 1000px; overflow: hidden; }
@media screen and (max-width: 1000px) { #container { min-width: 100%; } }

.inner { width: 1000px; margin: 0 auto; padding: 0 50px; text-align: center; position: relative; }
@media screen and (max-width: 1000px) { .inner { width: 100%; padding: 0 5vw; } }

#contents { padding-bottom: 165px; }
@media screen and (max-width: 1000px) { #contents { padding-bottom: 25vw; } }

.line { background: linear-gradient(transparent 70%, #fcf356 70%); }

.btn a { min-width: 500px; display: inline-block; padding: 20px 120px 20px 40px; background: #00aa00 url("../img/icon_cart.svg") no-repeat right 50px center; background-size: 55px 55px; color: #FFF; border-radius: 9999px; font-size: 31px; box-shadow: 20px 20px 40px 2px rgba(0, 0, 0, 0.25); }
@media screen and (max-width: 750px) { .btn a { min-width: inherit; padding: 3vw 30vw 3vw 10vw; background-position: right 10vw center; background-size: 10vw 10vw; font-size: 5.2vw; } }

/*-------------------------------------------------
	++ HEADER
-------------------------------------------------*/
#header { position: fixed; top: 0; left: 0; width: 100%; background: rgba(0, 170, 0, 0.9); padding: 10px 0; z-index: 999; }
@media screen and (max-width: 750px) { #header { padding: 3vw 0; }
  #header #logo { width: 28%; padding: 0 3vw; } }
#header h1 { line-height: 1; }
#header #headerBnr { flex: 1; }
@media screen and (max-width: 750px) { #header #headerBnr ul li { max-width: 35%; } }
#header #headerBnr ul li:nth-of-type(n+2) { margin-left: 40px; }
@media screen and (max-width: 750px) { #header #headerBnr ul li:nth-of-type(n+2) { margin-left: 2vw; } }

#main .mainImg img { width: 100%; height: auto; }

/*-------------------------------------------------
	++ COMMON
-------------------------------------------------*/
.section { position: relative; }
.section h2 { position: relative; font-family: 'Oswald', sans-serif; font-size: 115px; color: #FFF; font-weight: 700; line-height: 1; letter-spacing: 5px; text-align: center; }
@media screen and (max-width: 750px) { .section h2 { font-size: 22.2666666667vw; letter-spacing: 0; transform: scale(0.85, 1); } }
.section .secHead { position: relative; text-align: center; }
.section .secHead h3 { color: #00aa00; font-size: 40px; font-weight: 900; display: inline-block; position: relative; text-align: center; letter-spacing: 2px; }
.section .secHead h3 .catch { display: block; font-size: 25px; }
@media screen and (max-width: 750px) { .section .secHead h3 { font-size: 6.1333333333vw; letter-spacing: 0; line-height: 140%; }
  .section .secHead h3 .catch { font-size: 3.7333333333vw; } }
.section .secText { font-size: 19px; font-weight: 700; line-height: 224%; margin-top: 35px; letter-spacing: 2px; }
@media screen and (min-width: 751px) and (max-width: 1100px) { .section .secText { font-size: 2vw; } }
@media screen and (max-width: 750px) { .section .secText { font-size: 3.7333333333vw; margin-top: 18vw; letter-spacing: 0; line-height: 212%; } }
.section .secBase { padding: 80px 50px; transform: translate3d(0, 0, 0); filter: drop-shadow(-50px 70px 50px rgba(0, 0, 0, 0.15)); }
@media screen and (max-width: 750px) { .section .secBase { padding: 15vw 3vw; filter: drop-shadow(3vw 3vw 6vw rgba(0, 0, 0, 0.3)); } }
.section .secBase:before { content: ""; display: block; position: absolute; top: 0; width: 100%; height: 100%; background-color: #FFF; z-index: 0; }
.section .secBase.right:before { left: 5%; clip-path: polygon(0% 0%, 100% 0, 100% 100%, 80px 100%, 0 calc(100% - 80px)); }
@media screen and (max-width: 1100px) { .section .secBase.right:before { left: 0; clip-path: polygon(0% 0%, 100% 0, 100% 100%, 10vw 100%, 0 calc(100% - 10vw)); } }
.section .secBase.left:before { right: 5%; clip-path: polygon(0 0, 100% 0%, 100% calc(100% - 80px), calc(100% - 80px) 100%, 0 100%); }
@media screen and (max-width: 1100px) { .section .secBase.left:before { right: 0; clip-path: polygon(0 0, 100% 0%, 100% calc(100% - 10vw), calc(100% - 10vw) 100%, 0 100%); } }

/*-------------------------------------------------
	++ CONTENTS
-------------------------------------------------*/
#intro { margin-top: 110px; }
@media screen and (max-width: 750px) { #intro { margin-top: 32vw; } }
#intro .secHead h2 { font-size: 185px; letter-spacing: 17px; }
@media screen and (min-width: 751px) and (max-width: 1100px) { #intro .secHead h2 { font-size: 18vw; letter-spacing: 0; } }
@media screen and (max-width: 750px) { #intro .secHead h2 { font-size: 23.3333333333vw; letter-spacing: -1vw; transform: scale(0.8, 1); } }
#intro .secHead h3 { position: absolute; bottom: 20px; left: 0; line-height: 1; width: 100%; }
@media screen and (min-width: 751px) and (max-width: 1100px) { #intro .secHead h3 { font-size: 3.7333333333vw; } }
@media screen and (max-width: 750px) { #intro .secHead h3 { font-size: 5.8666666667vw; bottom: auto; top: 82%; line-height: 1.4; } }
@media screen and (min-width: 751px) { #intro .secText { z-index: 2; position: relative; } }

#feature { margin-top: 200px; }
@media screen and (max-width: 750px) { #feature { margin-top: 40vw; } }
#feature h2 { z-index: 2; line-height: .8; }
#feature .secHead h3:after { content: ""; background: url("../img/icon_snow.png") no-repeat center top; background-size: 100% auto; width: 90px; height: 108px; position: absolute; top: 50%; right: -90px; transform: translateY(-50%); }
@media screen and (max-width: 750px) { #feature .secHead h3:after { width: 12vw; height: 15vw; top: -9vw; right: 0; transform: translateY(0) rotate(-85deg); } }
@media screen and (max-width: 750px) { #feature .secText { margin-top: 6vw; } }
#feature .frozenFlow { margin-top: 30px; }
@media screen and (max-width: 750px) { #feature .frozenFlow { margin-top: 12vw; } }

#products { margin-top: 250px; }
@media screen and (max-width: 750px) { #products { margin-top: 46vw; } }
#products h2 { z-index: 2; line-height: .8; }
#products .secHead { margin-bottom: 100px; }
@media screen and (max-width: 750px) { #products .secHead { margin-bottom: 12vw; } }
#products .secHead h3:after { content: ""; background: url("../img/icon_bowl.png") no-repeat center top; background-size: 100% auto; width: 68px; height: 84px; position: absolute; top: 50%; right: -90px; transform: translateY(-50%); }
@media screen and (max-width: 750px) { #products .secHead h3:after { width: 10vw; height: 13vw; top: -2vw; right: -12vw; transform: translateY(0); } }

.productList { width: 100%; }
.productList .mainProduct { margin-bottom: 25px; }
@media screen and (max-width: 750px) { .productList .mainProduct { margin-bottom: 4vw; } }
.productList .subProduct { display: flex; justify-content: space-between; flex-wrap: wrap; }
.productList .subProduct li { width: 49%; margin-bottom: 25px; }
@media screen and (max-width: 750px) { .productList .subProduct li { margin-bottom: 4vw; } }
.productList .subProduct li:nth-of-type(odd) { margin-right: 2%; }

.productMessage { display: inline-block; font-size: 33px; color: #00aa00; font-weight: 700; margin: 80px 0; position: relative; }
@media screen and (max-width: 750px) { .productMessage { font-size: 5.2vw; margin: 10vw 0 6vw 0; } }
.productMessage:before, .productMessage:after { content: ""; display: inline-block; width: 100px; height: 1px; background-color: #00aa00; position: absolute; top: 50px; transform-origin: center center; }
@media screen and (max-width: 750px) { .productMessage:before, .productMessage:after { width: 16vw; top: 9vw; } }
.productMessage:before { transform: rotate(60deg); left: -100px; }
@media screen and (max-width: 750px) { .productMessage:before { left: -12vw; } }
.productMessage:after { transform: rotate(-60deg); right: -100px; }
@media screen and (max-width: 750px) { .productMessage:after { right: -12vw; } }
.productMessage .sizeS { font-size: 23px; }
@media screen and (max-width: 750px) { .productMessage .sizeS { font-size: 3.4666666667vw; } }

#btnArea { margin-top: 145px; }
@media screen and (max-width: 750px) { #btnArea { margin-top: 20vw; } }

#aboutus { margin-top: 265px; }
@media screen and (max-width: 750px) { #aboutus { margin-top: 45vw; } }
#aboutus h2 { font-size: 32px; color: #000; font-weight: 900; margin-bottom: 30px; }
@media screen and (max-width: 750px) { #aboutus h2 { font-size: 5.3333333333vw; margin-bottom: 7vw; transform: scale(1, 1); } }

.companyTbl { width: 100%; }
@media screen and (max-width: 750px) { .companyTbl { width: 96%; margin: 0 auto; } }
.companyTbl tr { border-bottom: 1px solid #c4c4c4; }
.companyTbl tr th, .companyTbl tr td { font-size: 20px; font-weight: 500; padding: 20px; line-height: 165%; }
@media screen and (max-width: 750px) { .companyTbl tr th, .companyTbl tr td { font-size: 3.4666666667vw; padding: 3vw; line-height: 175%; } }
.companyTbl tr th { background-color: #dbf5db; text-align: center; vertical-align: top; width: 25%; }
.companyTbl tr td { text-align: left; background-color: #FFF; width: 75%; }

#footer { background-color: #00aa00; padding: 10px 0; }

.vegetable { position: absolute; z-index: -1; }
.vegetable.vg1.pc { right: 0; top: 200px; }
.vegetable.vg2.pc { left: 0; top: 650px; z-index: 1; }
.vegetable.vg3.pc { left: 0; top: -300px; }
.vegetable.vg4.pc { right: 0; top: 200px; }
.vegetable.drop1 { right: 15px; top: -144px; z-index: 1; }
.vegetable.drop2 { left: 40px; top: -160px; z-index: 1; }
.vegetable.drop3 { right: 0; top: -240px; z-index: 1; }
@media screen and (min-width: 751px) and (max-width: 1200px) { .vegetable.vg1.pc, .vegetable.vg4.pc { width: 24%; }
  .vegetable.vg2.pc, .vegetable.vg3.pc { width: 24%; } }
@media screen and (max-width: 750px) { .vegetable { max-width: 30%; }
  .vegetable.vg1.sp { right: 0; top: 67vw; }
  .vegetable.vg2.sp { left: 0; top: 184vw; }
  .vegetable.vg3.sp { max-width: 35%; left: 0; top: -30vw; }
  .vegetable.vg4.sp { right: 0; top: 98vw; }
  .vegetable.drop2 { left: 0; top: -33vw; max-width: 28%; }
  .vegetable.drop3 { right: 0; top: -30vw; z-index: 1; } }
