@charset "UTF-8";
/*
$fontSize-0\.625x: .625rem;
$fontSize-0\.75x: .75rem;
$fontSize-1x: 5vw;
$fontSize-1\.5x: 1.5rem;
$fontSize-2x: 2rem;
$fontSize-3x: 3rem;
$fontSize-4\.5x: 4.5rem;

$fontSize-0\.625x: 10px;
$fontSize-0\.75x: 12px;
$fontSize-1x: 16px;
$fontSize-1\.5x: 24px;
$fontSize-2x: 32px;
$fontSize-3x: 48px;
$fontSize-4\.5x: 72px;
*/
.d-ib {
  display: inline-block; }

.mb-30 {
  margin-bottom: 30px;
}

.product-20 {
  margin-top: 20px;
}

.mt-20 {
  margin-top: -80px;
}

.l-main__product__content-108 {
    background-image: url(../img/bg_108.png)!important;
}

.l-main__product__content-matcha {
  background-image: url(../img/bg_matcha.png)!important;
}

.c-btn {
  display: inline-block;
  padding: .8em 1em;
  font-size: 0.75rem;
  font-weight: bold;
  border-radius: 100px;
  text-align: center;
  cursor: pointer;
  white-space: nowrap; }
  .c-btn--primary {
    background-color: #fcee21; }
  .c-btn--secondary {
    border: 2px solid #322f01; }
  .c-btn--arrow {
    position: relative;
    padding-right: 2rem;
    vertical-align: middle; }
    .c-btn--arrow:before, .c-btn--arrow:after {
      content: "";
      position: absolute;
      top: 0;
      right: 16px;
      bottom: 0;
      margin: auto;
      vertical-align: middle; }
    .c-btn--arrow:before {
      width: 10px;
      height: 2px;
      background-color: #322f01; }
    .c-btn--arrow:after {
      right: 16px;
      width: 10px;
      height: 10px;
      border-top: 2px solid #322f01;
      border-right: 2px solid #322f01;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }
  .c-btn--dark {
    color: white;
    border-color: white; }
    .c-btn--dark.c-btn--arrow:before {
      background-color: white; }
    .c-btn--dark.c-btn--arrow:after {
      border-color: white; }

@media screen and (min-width: 800px) {
  .c-btn {
    font-size: 1rem; } }

.c-caption {
  min-width: 100px;
  margin-bottom: 5vw;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center; }
  .c-caption__catch {
    display: block;
    margin-bottom: 4px;
    color: rgba(50, 47, 1, 0.6);
    font-size: 1rem; }
  .c-caption p {
    margin-top: .5em;
    font-size: 1rem;
    font-weight: normal; }

@media screen and (min-width: 800px) {
  .c-caption {
    font-size: 2.5rem; } }

html {
  min-width: 320px;
  color: #322f01;
  font-size: 3.9vw;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  line-height: 1.8; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

a {
  transition: .2s; }
  a:hover {
    opacity: .6; }

.l-header {
  position: fixed;
  width: 100%;
  padding: 0 8px;
  background-color: white;
  z-index: 100; }
  .l-header .inner {
    display: flex;
    align-items: center;
    max-width: 1280px;
    margin: 0 auto; }
  .l-header__logo {
    padding: .5em; }
  .l-header__btn {
    order: 2;
    margin: 8px 8px 8px auto; }
  .l-header__nav {
    order: 3; }
    .l-header__nav .trigger {
      position: relative;
      width: 48px;
      height: 48px;
      display: flex;
      justify-content: center;
      align-items: center;
      z-index: 10; }
      .l-header__nav .trigger:hover {
        cursor: pointer; }
      .l-header__nav .trigger-line {
        width: 50%;
        height: 2px;
        background-color: #322f01;
        position: relative;
        z-index: inherit;
        transition: .2s; }
        .l-header__nav .trigger-line:before, .l-header__nav .trigger-line:after {
          content: "";
          position: absolute;
          width: 100%;
          height: 100%;
          background-color: #322f01;
          transition: .2s; }
        .l-header__nav .trigger-line:before {
          transform: translateY(-8px); }
        .l-header__nav .trigger-line:after {
          transform: translateY(8px); }
      .l-header__nav .trigger.is-open .trigger-line {
        background-color: transparent; }
        .l-header__nav .trigger.is-open .trigger-line:before {
          transform: rotate(45deg); }
        .l-header__nav .trigger.is-open .trigger-line:after {
          transform: rotate(-45deg); }
    .l-header__nav .menu:before {
      content: "";
      position: fixed;
      top: 0;
      left: 0;
      display: none;
      width: 100%;
      height: 100vh;
      background-color: rgba(0, 0, 0, 0.3);
      backdrop-filter: blur(8px); }
    .l-header__nav .menu ul {
      position: fixed;
      top: 0;
      right: -100%;
      width: 70%;
      height: 100vh;
      display: flex;
      flex-direction: column;
      padding-top: 48px;
      background-color: white;
      font-weight: bold;
      transition: .2s; }
      .l-header__nav .menu ul li a {
        display: block;
        width: 100%;
        padding: 1em 2em; }
        .l-header__nav .menu ul li a:hover {
          background-color: rgba(0, 0, 0, 0.05);
          transition: .2s; }
    .l-header__nav .menu.is-open:before {
      display: block; }
    .l-header__nav .menu.is-open ul {
      right: 0; }

main {
  padding-top: 50px; }

[class$="__inner"] {
  position: relative;
  padding: 114px 32px 64px; }

.ico-bulb {
  position: absolute;
  top: 0;
  left: 50%;
  width: 28px;
  margin-left: -14px; }

[class$="__content"] {
  margin-top: 24px; }

.l-main__mv {
  padding: 48px 8px 85vw;
  background-image: url(../img/bg_mv_sp.jpg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center bottom;
  text-align: center; }
  .l-main__mv .text,
  .l-main__mv .award {
    margin-top: 16px; }
  .l-main__mv .catch {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.3; }
  .l-main__mv .award {
    display: flex;
    justify-content: center;
    font-size: 0.625rem; }
    .l-main__mv .award li {
      width: 120px; }
      .l-main__mv .award li + li {
        margin-left: 16px; }
  .l-main__mv .btn {
    max-width: 300px;
    margin: 32px auto 0; }
    .l-main__mv .btn a {
      width: 100%;
      font-size: 1rem; }

.l-main__problem {
  background-color: #fcee21;
  text-align: center; }
  .l-main__problem__content {
    max-width: 900px;
    margin-right: auto;
    margin-left: auto; }
    .l-main__problem__content li + li {
      margin-top: 4vw; }

.l-main__solution {
  position: relative; }
  .l-main__solution:before, .l-main__solution::after {
    content: "";
    position: absolute; }
  .l-main__solution:before {
    top: 10%;
    right: 0;
    z-index: -1;
    width: 86%;
    height: 20%;
    background-color: #F2F1EE; }
  .l-main__solution:after {
    top: 13%;
    right: 0;
    z-index: -1;
    width: 20%;
    height: 10%;
    background-color: white; }
  .l-main__solution .desc {
    font-weight: bold; }
    .l-main__solution .desc img {
      width: auto;
      height: 80px;
      margin: 4px 0; }
  .l-main__solution .text {
    margin-bottom: 16px;
    font-size: 1.25rem; }
    .l-main__solution .text span {
      display: block;
      margin-bottom: 4px;
      font-size: 1rem; }
  .l-main__solution__list {
    margin-bottom: 12vw;
    padding: 16px 0; }
  .l-main__solution .img {
    position: relative; }
  .l-main__solution .img02 {
    position: absolute;
    right: -5vw;
    bottom: -23vw;
    width: 40vw; }
  .l-main__solution .list03 {
    position: relative; }
    .l-main__solution .list03:before {
      content: "";
      position: absolute; }
    .l-main__solution .list03:before {
      top: -8px;
      left: -10vw;
      z-index: -1;
      width: 86%;
      height: 105%;
      background-color: #F2F1EE; }

.l-main__product {
  background-color: #fcee21; }
  .l-main__product__content {
    padding: 32px;
    background-image: url(../img/bg_autofloor.png);
    background-size: cover;
    background-position: center; }
  .l-main__product .logo {
    max-width: 180px;
    margin-bottom: 32px; }
  .l-main__product .desc {
    margin-bottom: 24px;
    color: white; }
    .l-main__product .desc p {
      margin-bottom: 32px; }

.l-main__news {
  position: relative; }
  .l-main__news:before {
    content: "";
    position: absolute;
    top: 48px;
    z-index: -1;
    width: 86%;
    height: 90%;
    background-color: #F2F1EE; }
  .l-main__news .date {
    padding: 4px 0;
    font-size: 1.25rem;
    font-weight: bold; }
  .l-main__news .desc {
    margin-bottom: 48px; }
  .l-main__news img {
    width: 100%; }

.l-main__message__content .desc_caption {
  margin-bottom: 16px;
  font-size: 1rem;
  font-weight: bold; }
  .l-main__message__content .desc_caption span {
    display: block;
    font-size: 0.75rem; }

.l-main__message__content .gov {
  margin-bottom: 24px; }

.l-main__message__content .name {
  margin-top: 24px;
  text-align: right; }
  .l-main__message__content .name img {
    height: 20px; }

.l-main__careers {
  background-color: #fcee21; }
  .l-main__careers .desc {
    margin-bottom: 24px; }
  .l-main__careers .btn {
    margin-top: 24px; }

.l-main__company .desc {
  display: flex;
  flex-wrap: wrap; }
  .l-main__company .desc dt, .l-main__company .desc dd {
    padding: 32px;
    border-bottom: 1px solid #F2F1EE; }
  .l-main__company .desc dt {
    width: 40%; }
  .l-main__company .desc dd {
    width: 60%; }
    .l-main__company .desc dd p {
      font-weight: bold; }
    .l-main__company .desc dd li + li {
      margin-top: 16px; }

footer {
  padding: 8px;
  color: #322f01;
  font-size: 0.625rem;
  text-align: center; }
  footer small {
    margin-left: 8px;
    font-size: inherit; }

@media screen and (min-width: 481px) {
  /* タブレット用 */
  .mt-20 {
    margin-top: 0px;
  }
  html {
    font-size: 2.5vw; }
  .l-main__mv {
    padding-bottom: 48px;
    text-align: left;
    background-image: url(../img/bg_mv.jpg);
    background-position: 40vw bottom; }
    .l-main__mv .catch {
      font-size: 3rem; }
    .l-main__mv .award {
      justify-content: left; }
    .l-main__mv .btn {
      margin-left: 0; }
  .l-main__problem__content ul {
    display: flex; }
    .l-main__problem__content ul li + li {
      margin-left: 16px;
      margin-top: 0; }
  .l-main__product__content {
    display: flex;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    padding: 48px; }
    .l-main__product__content .desc .logo {
      margin-bottom: 100px; }
    .l-main__product__content .img {
      width: 500px; }
  .l-main__news__content ul {
    display: flex; }
    .l-main__news__content ul li {
      flex: 1; }
      .l-main__news__content ul li + li {
        margin-left: 16px; }
  .l-main__message__content {
    display: flex; }
    .l-main__message__content div {
      flex: 1; }
      .l-main__message__content div + div {
        margin-left: 32px; }
  .l-main__careers__content {
    display: flex;
    margin-left: auto;
    margin-right: auto; }
    .l-main__careers__content .img {
      min-width: 45%;
      margin-left: 32px; } }

@media screen and (min-width: 800px) {
  /* PC用  */
  .mt-20 {
    margin-top: -20px;
  }
  html {
    font-size: 1rem; }
  main {
    padding-top: 70px; }
  [class$="__inner"] {
    max-width: 1280px;
    margin: 0 auto; }
  .l-header__btn {
    margin-left: 8px;
    order: 3; }
  .l-header__nav {
    margin-left: auto;
    order: 2; }
    .l-header__nav .trigger {
      display: none; }
    .l-header__nav .menu ul {
      position: static;
      width: auto;
      height: auto;
      flex-direction: row;
      padding: 0;
      background-color: transparent;
      font-size: 1.5vw; }
      .l-header__nav .menu ul li a {
        display: inline-block;
        width: auto;
        padding: .5em; }
    .l-header__nav .menu.is-open:before {
      display: none; }
  .l-main__mv {
    padding: 10vw 5vw;
    background-position: 40vw bottom; }
    .l-main__mv__desc {
      max-width: 1280px;
      margin: 0 auto; }
    .l-main__mv .catch {
      font-size: 4rem; }
    .l-main__mv .award {
      justify-content: left; }
    .l-main__mv .btn {
      margin-left: 0; }
  .l-main__solution__list {
    display: flex; }
  .l-main__solution .img {
    flex-basis: 65%; }
  .l-main__solution .desc {
    flex-basis: 35%;
    margin: 0 48px; }
  .l-main__solution .list01 .img,
  .l-main__solution .list03 .img {
    order: 2; }
  .l-main__solution .list01 .img02 {
    left: -10vw;
    bottom: -12vw;
    width: 30vw; }
  .l-main__solution .list04 .img02 {
    right: -10vw;
    bottom: -12vw;
    width: 30vw; } }

@media screen and (min-width: 1024px) {
  .l-main__mv .award li {
    width: auto;
    margin-top: 24px; }
  .l-main__solution .desc img {
    height: 120px; } }

@media screen and (min-width: 1280px) {
  .l-header__nav .menu ul {
    font-size: 1rem; } }
