@charset "UTF-8";
@supports (-webkit-touch-callout: none) { body { /* The hack for Safari */ height: -webkit-fill-available; } }
/*
*{
outline: 1px solid red;
}*/
.pages { overflow-x: hidden; }
.pages .main-bg-img { min-height: 100vh; }
.pages .main-bg-img img { height: 100vh; }

.section-block { padding: 0 0 20px; }
.section-blockLP { padding: 0 0 10px; }

@media screen and (min-width: 990px) { .section-block { padding: 0 0 40px; } }
.section-block.end { padding: 0 0 40px; }
.section-block.end .row { padding-bottom: 30px; }
@media screen and (min-width: 990px) { .section-block.end .row { padding-bottom: 0; } }
.section-block.end .btn-block { padding-top: 20px; }

/* KV */
.hero { position: relative; min-height: 100vh; margin-top: 60px; }
@media screen and (min-width: 768px) { .hero { margin-top: 0; } }
@media screen and (min-width: 990px) { .hero { min-height: 100vh; } }

.hero-text { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 10; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 0; }
.hero-text .title { line-height: 1.2; text-align: center; text-shadow: 1px 1px 1px white; grid-area: box1; order: 1; margin-bottom: 2vh; padding: 0 4vw; }
.hero-text .title span { display: block; }
.hero-text .title span.catch { font-size: 1.25rem; font-weight: 400; }
.hero-text .title span.catch b { font-weight: 400; }
.hero-text .title span.logo { font-size: 2.25rem; letter-spacing: 1px; }
.hero-text .description { grid-area: box2; order: 3; line-height: 1.65; font-size: 0.8125rem; font-weight: 600; text-shadow: #fff 1px 1px 10px, #fff -1px 1px 10px, #fff 1px -1px 10px, #fff -1px -1px 10px; margin-bottom: 1vh; padding: 0 4vw; }
.hero-text .description span { display: inline-block; }
.hero-text .item-img { grid-area: box3; width: 160px; height: auto; margin: auto; order: 2; }
.hero-text .btn-align { grid-area: box4; order: 4; width: 100%; margin: 0; padding: 0; }
.hero-text .price { text-align: center; margin-top: -1em; margin-bottom: 1em; font-weight: 700; font-size: 20px; color: #533635; background-color: rgba(255, 255, 255, 0.6); padding: 8px; }
.hero-text .price span { font-size: 60% !important; font-weight: normal; }
.hero-text .catch-text { color: #B83001; font-weight: 700; margin-bottom: 0.5em; filter: drop-shadow(#fff 3px 6px rgba(0, 0, 65, 0.08)); display: flex; justify-content: center; }
.hero-text .catch-text::before, .hero-text .catch-text::after { content: ""; display: inline-block; width: 2px; height: 20px; background-color: #B83001; margin-right: 10px; transform: rotate(-45deg); }
.hero-text .catch-text::after { transform: rotate(45deg); margin-left: 10px; margin-right: 0; }

.price2 { text-align: center; margin-bottom: 0.5em; font-weight: 700; font-size: 20px; color: #533635; }

.shop-link-block { background-color: rgba(83, 54, 53, 0.5); min-width: 100%; padding: 40px 0; }
@media screen and (min-width: 600px) { .shop-link-block { margin-right: calc(50% - 50vw); margin-left: calc(50% - 50vw); } }
@media screen and (min-width: 990px) { .shop-link-block { margin: auto; background-color: rgba(83, 54, 53, 0); padding: 0; } }

.btn.shop-link { background-color: #533635; color: #fff; -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; max-width: 260px; padding: 20px; text-align: center; }
.btn.shop-link::after { content: "\e907"; font-family: "icomoon"; font-size: 16px; color: #fff; margin-left: auto; }
.btn.shop-link:hover { background-color: #ffb400; color: #533635; }
.btn.shop-link:hover::after { color: #533635; }

.btn-block { margin: 0 0 40px; clear: both; }
@media screen and (min-width: 990px) { .btn-block { margin: 40px 0 60px; } }

.osusume-block { margin: 40px 0 20px; overflow: hidden; }
.osusume-block .style-ttl { text-align: center; font-weight: 500; line-height: 1.4; margin: auto; font-size: 1.25rem; }
@media screen and (min-width: 990px) { .osusume-block .style-ttl { font-size: 1.5rem; } }
.osusume-block .style1 { display: flex; justify-content: center; align-items: center; font-size: 1.375rem; }
.osusume-block .style1::before, .osusume-block .style1::after { content: ""; display: inline-block; width: 2px; height: 40px; background-color: #533635; margin-right: 10px; transform: rotate(-30deg); }
.osusume-block .style1::after { transform: rotate(30deg); margin-left: 10px; margin-right: 0; }
.osusume-block .style1 br { display: none; }
@media screen and (max-width: 480px) { .osusume-block .style1 br { display: block; } }
@media screen and (min-width: 990px) { .osusume-block .style1 { font-size: 1.625rem; } }
@media screen and (min-width: 990px) { .osusume-block { margin-right: calc(50% - 50vw); margin-left: calc(50% - 50vw); background-color: rgba(83, 54, 53, 0.2); min-width: 100%; padding: 40px 0; } }

/* 波 */
.wave-block { position: absolute; bottom: 0; left: 0; right: 0; }

.wave-bottom { background-color: #fff; padding: 20px; }

/* お客様の声 */
.voice-block { position: relative; margin: 130px auto 30px; }
.voice-block .box { -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; margin-top: 0; }
.voice-block .box:nth-child(1) { background-color: #533635; max-width: 250px; color: #fff; padding: 15px 10px 25px; display: block; background-color: #533635; max-height: 360px; position: absolute; top: -100px; left: 0; }
.voice-block .box:nth-child(2) { padding: 100px 3vw 20px; background-color: rgba(83, 54, 53, 0.1); }
.voice-block .box:nth-child(3) { background-color: rgba(83, 54, 53, 0.15); padding: 20px 3vw; }
.voice-block .box:nth-child(4) { background-color: rgba(83, 54, 53, 0.2); padding: 20px 3vw; margin-bottom: 20px; }
.voice-block .circle-tmb { margin-right: 15px; margin-bottom: 15px; float: left; }
.voice-block .box-name { text-align: left; margin: 20px 0; }
.voice-block .initial { font-size: 0.9375rem; }
.voice-block .catch { font-size: 0.9375rem; color: #ff8400; margin-top: 0.6em; }
.voice-block .p-text { clear: left; }
.voice-block .box-ttl { font-size: 1.625rem; display: flex; flex-direction: column; align-items: center; justify-content: center; font-family: "Noto Sans JP", sans-serif; }
.voice-block .box-ttl::before { content: ""; background-image: url("../img/icon-vl-green.png"); background-repeat: no-repeat; background-size: 70px 58px; display: block; width: 70px; height: 58px; }
.voice-block .sub-lead { line-height: 1.5; }
.voice-block .sub-lead span { display: inline-block; font-size: 0.875rem; }
.voice-block .sub-lead span b { font-size: 120%; font-weight: 400; }

/* 開発メンバー */
.member-block { padding: 20px 0 0; }
@media screen and (min-width: 768px) { .member-block { padding: 40px 0 0; } }
@media screen and (min-width: 990px) { .member-block { padding: 60px 0 0; } }

.contents-footer { margin-top: -30px; }

@media screen and (min-width: 600px) { /* KV */
  .hero-text { position: absolute; top: 50%; left: 50%; right: auto; bottom: auto; max-width: 90%; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
  .hero-text .item-img { width: 200px; } }
@media screen and (min-width: 768px) { /* KV */
  .hero-text { max-width: 70%; }
  .hero-text .item-img { width: 200px; } }
@media screen and (min-width: 990px) { /* KV */
  .hero-text { max-width: 100%; max-width: 1000px; max-height: 800px; grid-template-columns: 350px 1fr; grid-template-rows: 1fr 1fr 1fr; display: grid; grid-template-areas: "box3 box1" "box3 box2" "box3 box4"; padding: 0; }
  .hero-text .title { text-align: left; line-height: 1; }
  .hero-text .title span { display: block; }
  .hero-text .title span.catch { font-size: 2.25rem; }
  .hero-text .title span.catch b { font-size: 70%; }
  .hero-text .title span.logo { font-size: 4.875rem; white-space: nowrap; }
  .hero-text .title h1 { margin: 0; padding: 0; }
  .hero-text .description { font-size: 1rem; margin: 0; }
  .hero-text .item-img { width: 310px; margin-right: 20px; margin-top: 0; }
  .hero-text .btn-align { order: 4; min-width: 100%; margin: 0 auto auto; }
  .hero-text .catch-text { font-size: 1.25rem; justify-content: flex-start; }
  .hero-text .catch-text::before, .hero-text .catch-text::after { height: 24px; }
  .voice-block { display: flex; justify-content: flex-end; margin: 80px auto 30px; }
  .voice-block .box { display: block; }
  .voice-block .box:nth-child(1) { width: 300px; max-width: none; padding: 30px 10px 45px; top: -40px; }
  .voice-block .box:nth-child(2) { max-width: calc( calc(100% - 260px) / 3); min-height: 100%; margin-left: -100px; padding: 40px 1.0em; }
  .voice-block .box:nth-child(3) { max-width: calc( calc(100% - 260px) / 3); min-height: 100%; padding: 40px 1.0em; }
  .voice-block .box:nth-child(4) { max-width: calc( calc(100% - 260px) / 3); min-height: 100%; padding: 40px 1.0em; margin-bottom: 0; }
  .voice-block .circle-tmb { float: none; margin: auto; } }

/* 追加したもの */
