@charset "UTF-8";
/* responsive */
/*@include mq() { }*/
.ani-bounceIn.ani,
.ani > .ani-bounceIn {
  -webkit-animation: bounceIn;
          animation: bounceIn;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
}

.ani-fadeInBottomLeft {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.ani-fadeInBottomLeft img {
  opacity: 0;
  bottom: -50%;
  position: relative;
  -webkit-transition: 1s;
  transition: 1s;
  display: inline-block;
}

.ani-fadeInBottomLeft.ani,
.ani > .ani-fadeInBottomLeft {
  -webkit-animation: lightSpeedInLeft;
          animation: lightSpeedInLeft;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.ani-fadeInBottomLeft.ani img,
.ani > .ani-fadeInBottomLeft img {
  opacity: 1;
  bottom: 0;
}

/* CSS Document */
html {
  scroll-behavior: auto;
}

h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, figure {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

h1, h2, h3, h4, h5, h6, th {
  font-weight: 600;
}

ol, ul {
  list-style: none;
}

strong {
  font-weight: 600;
}

body {
  padding-top: 124px;
  min-width: 1000px;
  color: #170900;
  font-size: 16px;
  font-family: "Noto Sans JP", system-ui;
  font-weight: 400;
  font-style: normal;
  line-height: 1.5;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

a {
  color: #e73650;
  text-decoration: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

a:hover {
  opacity: 0.7;
}

img {
  vertical-align: bottom;
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

*:focus {
  outline: none;
}

@media screen and (max-width: 500px) {
  body {
    min-width: auto;
    padding-top: 52px;
  }
}
/* # common
   -------------------------------------------------------------------------- */
img {
  width: 100%;
  height: auto;
}

figure.wp-block-image img {
  width: auto;
}

.point-txt01 {
  color: #FF24CF;
}

.point-txt02 {
  color: #e73650;
}

.marker {
  background: #EBFF00;
}

.ib {
  display: inline-block;
}

.rubik {
  font-family: "Rubik", system-ui;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: italic;
  letter-spacing: 0;
}

.gra {
  /*background: #e73650;
  background: -webkit-linear-gradient(to right, #8e7c13, #FF24CF);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;*/
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .gra {
    color: #FF24CF;
    background-image: none;
  }
}
@media screen and (max-width: 500px) {
  .sp-none {
    display: none;
  }
}
@media screen and (min-width: 501px) {
  .pc-none {
    display: none;
  }
}
/* # pickup
   -------------------------------------------------------------------------- */
.l-pickup {
  overflow: hidden;
  position: relative;
  padding: 60px 0;
}

.l-pickup:before {
  content: "";
  position: absolute;
  top: 200px;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #F4F2E9;
}

.pickup-inner {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
}

.pickup-ttl {
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 12px;
  font-size: 48px;
  line-height: 1;
  text-align: center;
}

.pickup-ttl:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 70px;
  height: 2px;
  background: #e73650;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.pickup-list-item {
  position: relative;
  float: left;
  width: 320px;
}

.pickup-list-item + .pickup-list-item {
  margin-left: 20px;
}

.pickup-list-item .check {
  position: absolute;
  top: -30px;
  right: -30px;
  display: block;
  width: 120px;
  padding: 30px 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  background-color: #EBFF00;
  border-radius: 50%;
  -webkit-box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);
          box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);
  z-index: 1;
}

.pickup-list-item a {
  overflow: hidden;
  display: block;
  padding-bottom: 20px;
  color: #170900;
  text-decoration: none;
  text-align: center;
  background-color: #fff;
  border-radius: 8px;
  -webkit-box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);
          box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);
}

.pickup-list-item .img {
  margin-bottom: 20px;
}

.pickup-list-item .head {
  margin-bottom: 10px;
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
}

.pickup-list-item .txt {
  margin-bottom: 10px;
  font-size: 16px;
  line-height: 1.5;
}

.pickup-list-item .more {
  color: #8e7c13;
  font-size: 14px;
  line-height: 1;
}

@media screen and (max-width: 500px) {
  .l-pickup {
    padding: 40px 15px;
  }
  .pickup-list-item {
    float: none;
    width: 100%;
  }
  .pickup-list-item + .pickup-list-item {
    margin: 20px 0 0;
  }
  .pickup-list-item .check {
    top: -15px;
    right: -15px;
  }
}
/* # cta
   -------------------------------------------------------------------------- */
.l-cta {
  background: url("../../images/cta/bg.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
}

.cta-inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 60px 0;
}

.cta-info {
  float: left;
  width: 520px;
  padding-top: 20px;
}

.cta-info-head {
  margin-bottom: 20px;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.5;
}

.cta-info-tel {
  margin-bottom: 20px;
  width: 345px;
}

.cta-info-tel a {
  display: block;
  pointer-events: none;
}

.cta-info-sns {
  font-size: 0;
}

.cta-info-sns-item {
  display: inline-block;
  width: 60px;
  margin-right: 10px;
}

.cta-btn-wrap {
  float: right;
  width: 480px;
}

.cta-btn {
  overflow: hidden;
  display: table;
  width: 100%;
  color: #170900;
  font-weight: 600;
  text-decoration: none;
  background-color: #fff;
  border-radius: 8px;
  -webkit-box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);
          box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);
}

.cta-btn + .cta-btn {
  margin-top: 10px;
}

.cta-btn-img {
  display: table-cell;
  width: 120px;
  vertical-align: middle;
}

.cta-btn-txt {
  position: relative;
  display: table-cell;
  padding: 0 40px 0 20px;
  vertical-align: middle;
}

.cta-btn-txt:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 20px;
  height: 16px;
  background: url("../../images/common/ico_arrow.png") no-repeat;
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.cta-btn-txt .sub {
  margin-bottom: 10px;
  font-size: 14px;
  line-height: 1;
}

.cta-btn-txt .main {
  font-size: 28px;
  line-height: 1;
}

.cta-btn-txt .main .free {
  font-size: 20px;
}

@media screen and (max-width: 500px) {
  .cta-inner {
    padding: 40px 15px;
  }
  .cta-info {
    float: none;
    width: 100%;
    margin-bottom: 20px;
    padding: 0;
  }
  .cta-info-head {
    font-size: 24px;
    text-align: center;
  }
  .cta-info-tel {
    width: 100%;
  }
  .cta-info-tel a {
    pointer-events: all;
  }
  .cta-info-sns-item {
    width: 16.6666666667%;
    margin: 0;
    padding: 0 3px;
  }
  .cta-btn-wrap {
    float: none;
    width: 100%;
  }
}
/* # 凡庸クラス
   -------------------------------------------------------------------------- */
.clearfix:before, .clearfix:after {
  content: "";
  display: table;
}

.clearfix:after {
  clear: both;
}

.clearfix {
  zoom: 1;
} /* For IE 6/7 */
.tr {
  text-align: right !important;
}

.tl {
  text-align: left !important;
}

.tc {
  text-align: center !important;
}

.m0 {
  margin: 0 !important;
}

.mt0 {
  margin-top: 0 !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.ml0 {
  margin-left: 0 !important;
}

.mr0 {
  margin-right: 0 !important;
}

.p0 {
  padding: 0 !important;
}

.pt0 {
  padding-top: 0 !important;
}

.pb0 {
  padding-bottom: 0 !important;
}

.pl0 {
  padding-left: 0 !important;
}

.pr0 {
  padding-right: 0 !important;
}

.ib {
  display: inline-block !important;
}

.bg-ptn {
  background: url("../img/common/bg_ptn.webp");
  background-size: 100% auto;
  position: relative;
  overflow: hidden;
}

.bg-ptn-top {
  position: relative;
  z-index: 20;
}
.bg-ptn-top::after {
  content: "";
  background: #ffffff url("../img/common/bg_ptn_btm.webp") 0 bottom no-repeat;
  background-size: 100% auto;
  display: block;
  width: 120%;
  height: 8.59375vw;
  pointer-events: none;
  position: absolute;
  left: -6%;
  bottom: 0;
  z-index: 5;
}
@media (min-width: 500.1px) {
  .bg-ptn-top::after {
    min-height: 96px;
  }
}