@charset "utf-8";

html {
   font-size: min(10px, 0.666666666vw);
}

body {
   background: #f2ebeb;
   color: #65472D;
   font-family: "Noto Sans JP", sans-serif;
   font-weight: 400;
   position: relative;
}

body::before {
   background-color: rgb(255, 255, 255);
   background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgb(247, 241, 241) 2px, rgb(247, 241, 241) 4px);
   background-size: auto auto;
   content: "";
   display: block;
   height: 100%;
   position: absolute;
   top: 0;
   width: 100%;
}

body.noscroll {
   overflow: hidden;
}

a {
   display: block;
   transition: 0.2s;
}

a:hover {
   opacity: 0.7;
   transition: 0.2s;
}

dt {
   font-weight: normal;
}

img {
   display: block;
   max-width: 100%;
   width: 100%;
}

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

/* Remove default padding */

ul,
ol {
   padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
   margin: 0;
}

/* Set core root defaults */

/* Set core body defaults */

body {
   text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
   list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
   -webkit-text-decoration-skip: ink;
   text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
   display: block;
   max-width: 100%;
   width: 100%;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
   font: inherit;
}

/* フォームリセット */

input,
button,
select,
textarea {
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
   background: transparent;
   border: none;
   border-radius: 0;
   font: inherit;
   outline: none;
}

textarea {
   resize: vertical;
}

input[type=checkbox],
input[type=radio] {
   display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
   cursor: pointer;
}

select::-ms-expand {
   display: none;
}

/*
 * l-inner
 * -------------------------------------------------------------
 */

.l-inner {
   margin: auto;
   padding: 0 3.2rem;
}

/*
 * l-main
 * -------------------------------------------------------------
 */

.l-main {
   margin: 2.4rem auto 0;
   max-width: 75.5rem;
   position: relative;
}

.l-main__inner {
   background: #fff;
   margin: 0 auto;
   max-width: 70rem;
   overflow: hidden;
}

/*
 * c-cvr
 * -------------------------------------------------------------
 */

.c-cvr {
   position: relative;
}

.c-cvr__price {
   color: #E2767D;
   font-family: "Manrope", sans-serif;
   font-size: 10.6rem;
   font-weight: 700;
   left: 5rem;
   letter-spacing: -0.06em;
   position: absolute;
   top: 42.5rem;
}

/*
 * u-pc
 * -------------------------------------------------------------
 */

.u-pc {
   display: block;
}

/*
 * u-sp
 * -------------------------------------------------------------
 */

.u-sp {
   display: none;
}

/*
 * about
 * -------------------------------------------------------------
 */

.about {
   background: #f2ebeb;
}

.about::before {
   background: url(./../images/about_sankaku.webp) no-repeat center/100%;
   content: "";
   display: block;
   height: 6rem;
   width: 100%;
}

/*
 * cause
 * -------------------------------------------------------------
 */

.cause {
   padding-bottom: 10rem;
}

/*
 * comparison
 * -------------------------------------------------------------
 */

.comparison {
   padding: 6rem 0 8rem;
}

/*
 * footer
 * -------------------------------------------------------------
 */

.footer {
   background: #f2ebeb;
   margin: 0 auto;
   max-width: 70rem;
   padding: 3.2rem;
}

.footer__copyright {
   font-size: 2.4rem;
   letter-spacing: 0.1em;
}

/*
 * header
 * -------------------------------------------------------------
 */

.header {
   background: #FFFFFF;
   box-shadow: 0px 4px 4px #666666;
   height: 10rem;
   left: 0;
   position: fixed;
   right: 0;
   top: 0;
   z-index: 100;
}

.header__inner {
   align-items: center;
   display: flex;
   height: 100%;
   justify-content: space-between;
   margin: 0 auto;
   max-width: 110.4rem;
   padding: 0 4rem;
}

.header__logo {
   max-width: 75.3rem;
}

.header__btn {
   max-width: 25.9rem;
}

/*
 * info
 * -------------------------------------------------------------
 */

.info {
   background: #fff;
   padding: 8rem 0;
}

.info__table {
   color: #000;
   display: flex;
   flex-direction: column;
   font-size: 2.4rem;
   gap: 1.6rem 0;
   letter-spacing: 0.1em;
   line-height: 1.46;
   margin-top: 7rem;
   padding: 0 2rem;
}

.infp__table-flex {
   display: flex;
}

.infp__table-flex dt {
   font-weight: 700;
   width: 12.9rem;
}

.infp__table-flex dd {
   flex: 1;
}

.infp__table-flex--map {
   flex-direction: column;
   gap: 1.6rem 0;
}

.infp__table-flex--map dt.info__map {
   aspect-ratio: 592/231;
   width: 100%;
}

.infp__table-flex--map dd {
   width: 100%;
}

.infp__table-flex--map dd a {
   align-items: center;
   border: 1px solid #E2767D;
   color: #E2767D;
   display: grid;
   font-size: 3rem;
   height: 5.7rem;
   justify-items: center;
   margin: 0 auto 4rem;
   max-width: 44.4rem;
   place-items: center;
   position: relative;
}

.infp__table-flex--map dd a::after {
   background: url(./../images/map_arrow.webp) no-repeat center/100%;
   content: "";
   display: inline-block;
   height: 1.69rem;
   position: absolute;
   right: -4rem;
   width: 7.65rem;
}

.infp__table-link {
   word-wrap: break-word;
   color: #2F80ED;
   word-break: break-all;
}

/*
 * message
 * -------------------------------------------------------------
 */

.message {
   padding: 8rem 0;
}

/*
 * mv
 * -------------------------------------------------------------
 */

.mv {
   background: #f2ebeb;
   margin-top: 10rem;
   position: relative;
}

.mv::before {
   background: url(./../images/mv_bg.webp) no-repeat center/100%;
   bottom: 0;
   content: "";
   display: block;
   height: 30.9rem;
   position: absolute;
   width: 100%;
}

.mv::after {
   background: #e4d0d0;
   border-bottom: 2px solid #65472D;
   content: "";
   display: block;
   height: 6.8rem;
   position: absolute;
   top: 3.7rem;
   width: 100%;
}

.mv__inner {
   margin: 0 auto;
   position: relative;
   z-index: 1;
}

/*
 * reason
 * -------------------------------------------------------------
 */

.reason {
   background: #f2ebeb;
   padding-bottom: 8rem;
}

.reason::after {
   background: url(./../images/reason_obj.webp) no-repeat center/100%;
   content: "";
   display: block;
   height: 4.5rem;
   margin: 5.6rem auto 0;
   width: 20.9rem;
}

.reason__movie {
   /* aspect-ratio: 637/351; */
   aspect-ratio: 625/351;
   margin: 2.4rem auto 0;
   max-width: 63.7rem;
   position: relative;
}

.reason__movie iframe {
   width: 100%;
   height: 100%;
   display: block;
}

/* .reason__movie::before {
   background: url(./../images/reason_play.webp) no-repeat center/100%;
   content: "";
   display: block;
   height: 8rem;
   left: 50%;
   position: absolute;
   top: 50%;
   transform: translate(-50%, -50%);
   width: 7rem;
} */

/*
 * scroll
 * -------------------------------------------------------------
 */

.scroll {
   background: url(./../images/scroll.webp) no-repeat center/100%;
   display: block;
   height: 31rem;
   position: absolute;
   right: -2.5rem;
   width: 4.5rem;
}

/*
 * voice
 * -------------------------------------------------------------
 */

.voice {
   padding: 8rem 0 10rem;
}

.voice--02 {
   background: #fff;
}

/*
 * voice02
 * -------------------------------------------------------------
 */

.voice02 {
   background: #fff;
}

@media screen and (min-width: 1025px) {

   a[href^="tel:"] {
      pointer-events: none;
   }

}

@media screen and (max-width: 959px) {

   html {
      font-size: 1.428571428vw;
   }

   body::before {
      display: none;
   }

   .header {
      height: 8rem;
      position: static;
   }

   .header__logo {
      max-width: 51.7rem;
   }

   .header__btn {
      display: none;
   }

   .mv {
      margin-top: 0;
   }

   .scroll {
      display: none;
   }

}

@media screen and (max-width: 700px) {

   .u-pc {
      display: none;
   }

   .u-sp {
      display: block;
   }

}


/*# sourceMappingURL=style.css.map */