/* =======================================
 reset
======================================= */
/***
    The new CSS reset - version 1.11.2 (last updated 15.11.2023)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
    - The "html" element is excluded, otherwise a bug in Chrome breaks the CSS hyphens property (https://github.com/elad2412/the-new-css-reset/issues/36)
 */
*:where(:not(html, iframe, canvas, img, svg, video, audio, input[type=radio], input[type=checkbox]):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

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

/* Fix mobile Safari increase font-size on landscape mode */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
}

/* Reapply the pointer cursor for anchor tags */
a, button {
  cursor: revert;
}

/* Remove list styles (bullets/numbers) */
ol, ul, menu, summary {
  list-style: none;
}

/* For images to not be able to exceed their container */
img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input, textarea {
  -webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
  -webkit-appearance: revert;
  appearance: revert;
}

/* preformatted text - use only for this feature */
:where(pre) {
  all: revert;
  box-sizing: border-box;
}

/* reset default text opacity of input placeholder */
::-webkit-input-placeholder {
  color: unset;
}
:-ms-input-placeholder {
  color: unset;
}
::-ms-input-placeholder {
  color: unset;
}
::placeholder {
  color: unset;
}

/* fix the feature of 'hidden' attribute.
 display:revert; revert to element instead of attribute */
:where([hidden]) {
  display: none;
}

/* revert for bug in Chromium browsers
 - fix for the content editable attribute will work properly.
 - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable=true]) {
  -webkit-user-drag: element;
}

/* Revert Modal native behavior */
:where(dialog:modal) {
  all: revert;
  box-sizing: border-box;
}

/* Remove details summary webkit styles */
::-webkit-details-marker {
  display: none;
}

:focus-visible {
  outline: none;
}

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

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
}

html {
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

html, body {
  -ms-scroll-chaining: none;
      overscroll-behavior: none;
}

a {
  color: var(--font_color);
  text-decoration: none;
}

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

strong {
  font-weight: 700;
}

/* =======================================
 layout
======================================= */
body {
  background: #fff;
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", sans-serif;
  font-weight: 400;
  line-height: 1;
  margin: auto;
  width: 100%;
}

.wrapper {
  overflow: hidden;
  position: relative;
  width: 100%;
}
@media only screen and (min-width: 751px) {
  .wrapper::before {
    background: url(../images/bg.jpg) 50% 50%/cover no-repeat;
    content: "";
    display: block;
    height: 100%;
    height: 100dvh;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: -1;
  }
}

@media only screen and (max-width: 750px) {
  .pc-contents {
    display: none !important;
  }
}
@media only screen and (min-width: 751px) {
  .pc-contents {
    left: 50%;
    max-width: 2000px;
    position: fixed;
    top: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100%;
  }
}

@media only screen and (min-width: 751px) {
  .right {
    align-items: center;
    display: flex;
    flex-direction: column;
    height: 100%;
    height: 100dvh;
    justify-content: center;
    position: absolute;
    right: 0;
    top: 0;
    width: calc(50% - 375px);
  }
}
@media only screen and (min-width: 751px) and (max-width: 1199px) {
  .right {
    width: calc(100% - 750px);
  }
}
@media only screen and (min-width: 751px) and (max-width: 1079px) {
  .right {
    display: none;
  }
}

@media only screen and (min-width: 751px) {
  .right__list {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 40px;
  }
}

@media only screen and (min-width: 751px) {
  .right__item {
    max-width: 370px;
    width: 80%;
  }
}

@media only screen and (min-width: 751px) {
  .right__btn {
    display: block;
    -webkit-filter: drop-shadow(4px 6px 6px rgba(33, 26, 16, 0.3));
            filter: drop-shadow(4px 6px 6px rgba(33, 26, 16, 0.3));
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
}
@media only screen and (min-width: 751px) and (hover: hover) {
  .right__btn:hover {
    opacity: 0.8;
  }
}

/* =======================================
 lp
======================================= */
.contents {
  background: #fff;
}
@media only screen and (max-width: 750px) {
  .contents {
    padding-bottom: 16vw;
  }
}
@media only screen and (min-width: 751px) {
  .contents {
    margin: auto;
    width: 750px;
  }
}
@media only screen and (min-width: 751px) and (max-width: 1199px) {
  .contents {
    margin-left: 0;
  }
}
@media only screen and (min-width: 751px) and (max-width: 1079px) {
  .contents {
    margin-left: auto;
    padding-bottom: 120px;
  }
}

/* cta */
.cta {
  background: url(../images/cta_bg.jpg) 50% 50%/cover no-repeat;
}
@media only screen and (max-width: 750px) {
  .cta {
    padding: 7.333vw 6vw;
  }
}
@media only screen and (min-width: 751px) {
  .cta {
    padding: 55px 45px;
  }
}

.cta__box {
  background: #fff;
}
@media only screen and (max-width: 750px) {
  .cta__box {
    box-shadow: 0.533vw 0.533vw 0.8vw rgba(33, 26, 16, 0.2);
    padding-bottom: 5.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .cta__box {
    box-shadow: 4px 4px 6px rgba(33, 26, 16, 0.2);
    padding-bottom: 40px;
  }
}

@media only screen and (max-width: 750px) {
  .cta__box--teiki {
    margin-top: 8vw;
  }
}
@media only screen and (min-width: 751px) {
  .cta__box--teiki {
    margin-top: 60px;
  }
}

.cat__btn {
  display: block;
  margin: auto;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}
@media only screen and (max-width: 750px) {
  .cat__btn {
    -webkit-filter: drop-shadow(0.533vw 0.533vw 0.533vw rgba(33, 26, 16, 0.2));
            filter: drop-shadow(0.533vw 0.533vw 0.533vw rgba(33, 26, 16, 0.2));
    width: 78.667vw;
  }
}
@media only screen and (min-width: 751px) {
  .cat__btn {
    -webkit-filter: drop-shadow(4px 4px 4px rgba(33, 26, 16, 0.2));
            filter: drop-shadow(4px 4px 4px rgba(33, 26, 16, 0.2));
    width: 590px;
  }
}
@media screen and (hover: hover) {
  .cat__btn:hover {
    opacity: 0.8;
  }
}

.cta__notes {
  color: #fff;
  line-height: 1.778;
}
@media only screen and (max-width: 750px) {
  .cta__notes {
    font-size: 2.4vw;
    margin-top: 4vw;
  }
}
@media only screen and (min-width: 751px) {
  .cta__notes {
    font-size: 18px;
    margin-top: 30px;
  }
}

.cta__link {
  text-decoration: underline;
}
@media screen and (hover: hover) {
  .cta__link:hover {
    text-decoration: none;
  }
}

.trouble {
  background: #ceced0;
}

.point {
  background: #e6e6e6;
}

.recommend {
  background: #f2f2f2;
}

.reviews {
  background: #040404;
}

.sticky {
  background: rgba(255, 255, 255, 0.7);
  bottom: 0;
  display: none;
  left: 0;
  position: fixed;
  width: 100%;
}
@media only screen and (max-width: 750px) {
  .sticky {
    padding: 2vw 0;
  }
}
@media only screen and (min-width: 751px) {
  .sticky {
    padding: 15px 0;
  }
}
@media only screen and (min-width: 751px) and (min-width: 1080px) {
  .sticky {
    display: none !important;
  }
}

.sticky__list {
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 750px) {
  .sticky__list {
    gap: 4vw;
  }
}
@media only screen and (min-width: 751px) {
  .sticky__list {
    gap: 30px;
  }
}

.sticky__btn {
  display: block;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}
@media only screen and (max-width: 750px) {
  .sticky__btn {
    -webkit-filter: drop-shadow(0.4vw 0.4vw 0.4vw rgba(33, 26, 16, 0.3));
            filter: drop-shadow(0.4vw 0.4vw 0.4vw rgba(33, 26, 16, 0.3));
    width: 44vw;
  }
}
@media only screen and (min-width: 751px) {
  .sticky__btn {
    -webkit-filter: drop-shadow(3px 3px 3px rgba(33, 26, 16, 0.3));
            filter: drop-shadow(3px 3px 3px rgba(33, 26, 16, 0.3));
    width: 330px;
  }
}
@media screen and (hover: hover) {
  .sticky__btn:hover {
    opacity: 0.8;
  }
}/*# sourceMappingURL=style.css.map */