@charset "UTF-8";
/* ---------------------------------------------------------
    font
--------------------------------------------------------- */
@font-face {
  font-family: "line-rg";
  src: url("../font/LINESeedJP_A_OTF_Rg.woff") format("woff");
}

@font-face {
  font-family: "line-bd";
  src: url("../font/LINESeedJP_A_OTF_Bd.woff") format("woff");
}

@font-face {
  font-family: "line-eb";
  src: url("../font/LINESeedJP_A_OTF_Eb.woff") format("woff");
}

@font-face {
  font-family: "line-th";
  src: url("../font/LINESeedJP_A_OTF_Th.woff") format("woff");
}

/* ---------------------------------------------------------
    color
--------------------------------------------------------- */
/* ---------------------------------------------------------
    animetion
--------------------------------------------------------- */
/* 読み込み右から */
.loadFadeRight {
  -webkit-animation-name: fadeRightAnime;
          animation-name: fadeRightAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: .3s;
          animation-delay: .3s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

.loadFadeRightTrigger {
  opacity: 0;
}

@-webkit-keyframes fadeRightAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@keyframes fadeRightAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

/* 読み込み左から */
.loadFadeLeft {
  -webkit-animation-name: fadeLeftAnime;
          animation-name: fadeLeftAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: .3s;
          animation-delay: .3s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

.loadFadeLeftTrigger {
  opacity: 0;
}

@-webkit-keyframes fadeLeftAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@keyframes fadeLeftAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

/* 読み込みその場で */
.loadFadeIn {
  -webkit-animation-name: fadeInAnime;
          animation-name: fadeInAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: .3s;
          animation-delay: .3s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

.loadFadeInTrigger {
  opacity: 0;
}

@-webkit-keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* 読み込み下から*/
.loadFadeUp {
  -webkit-animation-name: fadeUpAnime;
          animation-name: fadeUpAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: .3s;
          animation-delay: .3s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

.loadFadeUpTrigger {
  opacity: 0;
}

@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(80px);
            transform: translateY(80px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(80px);
            transform: translateY(80px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

/* スクロール左から */
.scrollFadeLeft {
  -webkit-animation-name: fadeLeftAnime;
          animation-name: fadeLeftAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: .5s;
          animation-delay: .5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

.scrollFadeLeftTrigger {
  opacity: 0;
}

/* スクロールその場で */
.scrollFadeIn {
  -webkit-animation-name: fadeInAnime;
          animation-name: fadeInAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: .5s;
          animation-delay: .5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

.scrollFadeInTrigger {
  opacity: 0;
}

/* スクロール下から */
.scrollFadeUp {
  -webkit-animation-name: fadeUpAnime;
          animation-name: fadeUpAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: .5s;
          animation-delay: .5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

.scrollFadeUpTrigger {
  opacity: 0;
}

/* ---------------------------------------------------------
    variable
--------------------------------------------------------- */
html {
  scroll-behavior: smooth;
}

body {
  font-size: 16px;
  font-family: "line-rg";
  color: #333;
}

.background {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -5;
}

.background .image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.contents {
  max-width: 430px;
  margin: auto;
  background: #fff;
}

.inner {
  padding: 0 20px;
}

.image {
  width: 100%;
  vertical-align: top;
}

/* ---------------------------------------------------------
    header
--------------------------------------------------------- */
.header .site_logo {
  width: 25vw;
  max-width: 390px;
  min-width: 140px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5;
}

.header .hamburger_icon {
  display: none;
  position: fixed;
  top: 25px;
  right: 20px;
  z-index: 99;
  cursor: pointer;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #e50111;
}

.header .hamburger_icon.active span:nth-of-type(1) {
  top: 18px;
  left: 10px;
  -webkit-transform: translateY(6px) rotate(-45deg);
          transform: translateY(6px) rotate(-45deg);
  width: 60%;
}

.header .hamburger_icon.active span:nth-of-type(2) {
  opacity: 0;
}

.header .hamburger_icon.active span:nth-of-type(3) {
  top: 30px;
  left: 10px;
  -webkit-transform: translateY(-6px) rotate(45deg);
          transform: translateY(-6px) rotate(45deg);
  width: 60%;
}

.header .hamburger_icon span {
  display: inline-block;
  width: 60%;
  -webkit-transition: all .4s;
  transition: all .4s;
  position: absolute;
  left: 10px;
  height: 2px;
  border-radius: 2px;
  background: #fff;
}

.header .hamburger_icon span:nth-last-of-type(1) {
  top: 15px;
}

.header .hamburger_icon span:nth-last-of-type(2) {
  top: 23px;
}

.header .hamburger_icon span:nth-last-of-type(3) {
  top: 31px;
}

.header .navigation {
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 30px;
  width: 340px;
  max-width: none;
  padding: 100px 0 60px;
  border-radius: 15px 0 0 15px;
  position: fixed;
  top: 0;
  left: auto;
  right: -150%;
  -webkit-transform: none;
          transform: none;
  -webkit-transition: all .5s;
  transition: all .5s;
  z-index: 95;
}

.header .navigation.panelactive {
  right: 0;
}

.header .navigation .nav {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 25px;
}

.header .navigation .nav .nav_list .link {
  font-size: 16px;
  font-family: "line-eb";
  text-decoration: none;
  color: #e50111;
  -webkit-text-stroke: 5px #e50111;
  text-stroke: 5px #e50111;
  position: relative;
}

.header .navigation .nav .nav_list .link::before {
  display: block;
  content: 'おすすめ!お試し5days';
  white-space: nowrap;
  font-size: 16px;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-text-stroke: 0;
  text-stroke: 0;
}

.header .navigation .nav .nav_list:nth-child(2) .link::before {
  content: 'スマイリーミールお試しメニュー一覧';
}

.header .navigation .nav .nav_list:nth-child(3) .link::before {
  content: 'カットミールお試しメニュー一覧';
}

@media (max-width: 1199px) {
  .header .hamburger_icon {
    display: block;
  }
}

/* ---------------------------------------------------------
    footer
--------------------------------------------------------- */
.footer {
  margin-top: 90px;
}

.footer .site_logo {
  max-width: 250px;
  margin: auto;
}

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

.footer .delivery_area {
  background: #e50111;
  padding-top: 50px;
}

.footer .delivery_area .image {
  display: block;
  width: 280px;
  margin: auto;
}

.footer .infomation {
  background: #e50111;
  padding-top: 50px;
}

.footer .infomation .image {
  display: block;
  width: calc(100% - 40px);
  margin: auto;
}

.footer .tel {
  padding-top: 60px;
  background-color: #e50111;
}

.footer .tel .link {
  font-size: 24px;
  font-family: "line-bd";
  color: #fff;
  text-decoration: none;
  margin-left: 20px;
}

.footer .hours {
  padding-top: 15px;
  background-color: #e50111;
}

.footer .hours .text {
  font-size: 18px;
  color: #fff;
  margin-left: 20px;
}

.footer .company_building {
  background: #e50111;
  padding-top: 50px;
}

.footer .company_building .image {
  display: block;
  width: 230px;
  margin: 0 0 0 auto;
}

.footer .concrete {
  width: 100%;
  height: 100px;
  background: #b7b7b7;
}

@media (max-width: 1199px) {
  .footer .hours .text {
    font-size: 16px;
  }
  .footer .concrete {
    height: 210px;
  }
}

/* ---------------------------------------------------------
    left_content
--------------------------------------------------------- */
.left_content {
  width: 340px;
  height: 360px;
  background: #fff;
  border-radius: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 25px;
  position: fixed;
  z-index: 5;
  bottom: 120px;
  left: 0;
}

.left_content .trial {
  width: 230px;
}

.left_content .btn_primary {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  position: relative;
  font-size: 22px;
  font-family: "line-eb";
  color: #fff;
  background: #e50111;
  width: 280px;
  height: 65px;
  border: 3px solid #e50111;
  border-radius: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  -webkit-animation: btn_anime 0.5s ease 0s infinite alternate;
          animation: btn_anime 0.5s ease 0s infinite alternate;
  -webkit-transform-origin: center;
          transform-origin: center;
}

.left_content .btn_primary .link {
  position: absolute;
  inset: 0;
}

.left_content .btn_primary .free {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.left_content .btn_primary .free .txt {
  font-size: 12px;
  color: #e50111;
  line-height: .8rem;
}

@-webkit-keyframes btn_anime {
  from {
    -webkit-transform: scale(0.9, 0.9);
            transform: scale(0.9, 0.9);
  }
  to {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}

@keyframes btn_anime {
  from {
    -webkit-transform: scale(0.9, 0.9);
            transform: scale(0.9, 0.9);
  }
  to {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}

@media (max-width: 1199px) {
  .left_content {
    display: none;
  }
}

/* ---------------------------------------------------------
    right_content
--------------------------------------------------------- */
.right_content {
  width: 345px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 20px 0;
  background: #fff;
  border-radius: 15px 0 0 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 40px;
  position: fixed;
  z-index: 5;
  bottom: 40px;
  right: 0;
}

.right_content .nav_wrap .ttl_wrap {
  width: 105px;
  height: 28px;
  margin: 0 auto 20px;
  background: #e50111;
  border-radius: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.right_content .nav_wrap .ttl_wrap .ttl {
  font-size: 18px;
  font-family: "line-eb";
  color: #fff;
}

.right_content .nav_wrap .nav {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 25px;
}

.right_content .nav_wrap .nav .nav_list .link {
  font-size: 16px;
  font-family: "line-eb";
  text-decoration: none;
  color: #e50111;
  -webkit-text-stroke: 5px #e50111;
  text-stroke: 5px #e50111;
  position: relative;
}

.right_content .nav_wrap .nav .nav_list .link::before {
  display: block;
  content: 'おすすめ!お試し5days';
  white-space: nowrap;
  font-size: 16px;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-text-stroke: 0;
  text-stroke: 0;
}

.right_content .nav_wrap .nav .nav_list:nth-child(2) .link::before {
  content: 'スマイリーミールお試しメニュー一覧';
}

.right_content .nav_wrap .nav .nav_list:nth-child(3) .link::before {
  content: 'カットミールお試しメニュー一覧';
}

.right_content .delivery_area {
  width: 280px;
}

@media (max-width: 1199px) {
  .right_content {
    display: none;
  }
}

.grecaptcha-badge {
  visibility: hidden;
}
/*# sourceMappingURL=common.css.map */