body {
  font-family: "Noto Sans JP", sans-serif;
}

.u-desktop {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-desktop {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .u-mobile {
    display: none;
  }
}

/* Responsive fluid layout */
html {
  font-size: 16px;
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.4545454545vw;
  }
}
@media (min-width: 1100px) {
  html {
    font-size: 16px;
  }
}

/* Disable phone number links on PC */
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

/* Styles for anchor elements */
a {
  color: inherit;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media screen and (min-width: 768px) {
  a:hover {
    opacity: 0.8;
  }
}

:root a {
  text-decoration: none;
}

/* Set box-sizing to border-box for all elements */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd,
ul {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
  width: 100%;
  height: auto;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
  -webkit-filter: blur(10px);
          filter: blur(10px);
}

/* Reset form elements */
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] {
  margin: 0;
  width: 0;
  opacity: 0;
}

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

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

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
*::before,
*::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* Fix for swiper button disappearance */
.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after,
.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after {
  text-rendering: auto;
}

/* Fix for swiper slider flickering issue */
.swiper-wrapper {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.c-inner {
  max-width: 840px;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin-right: auto;
  margin-left: auto;
}

.p-access {
  background-image: url(../images/access-bg.jpg);
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
  padding-bottom: calc(0.08333 * var(--base-width));
}

.p-access__google-map {
  position: relative;
  max-width: calc(0.8888 * var(--base-width));
  width: 100%;
  margin: calc(0.05547 * var(--base-width)) auto 0;
}

.p-access__google-map::before {
  content: "";
  display: block;
  padding-top: 63%;
}

.p-access__google-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.p-access__text1 {
  max-width: calc(0.76667 * var(--base-width));
  margin: calc(0.03 * var(--base-width)) auto 0;
}

.p-access__box {
  position: relative;
  max-width: calc(0.8888 * var(--base-width));
  padding-top: calc(0.072 * var(--base-width));
  margin: calc(0.10533 * var(--base-width)) auto 0;
}

.p-access__box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  height: 0.25rem;
  background-color: #8b2e2a;
}

.p-access__text-wrapper {
  display: grid;
  row-gap: calc(0.0376 * var(--base-width));
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}

.p-access__text2 {
  max-width: calc(0.72 * var(--base-width));
}

.p-access__text3 {
  max-width: calc(0.6512 * var(--base-width));
}

.p-access__text4 {
  max-width: calc(0.62453 * var(--base-width));
}

.p-access__text5 {
  max-width: calc(0.8112 * var(--base-width));
}

.p-contact {
  background-color: #ffffff;
}

.p-contact__form {
  padding-top: calc(0.05333 * var(--base-width));
  padding-bottom: calc(0.10667 * var(--base-width));
}

.p-contact__form form {
  font-size: calc(0.03733 * var(--base-width));
  color: rgb(51, 51, 51);
}

.p-contact__form-row + .p-contact__form-row {
  margin-top: calc(0.032 * var(--base-width));
}

.p-contact__form-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-contact__form-row.p-contact__form-row--name {
  display: block;
}

.p-contact__form-name-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: calc(0.04267 * var(--base-width));
     -moz-column-gap: calc(0.04267 * var(--base-width));
          column-gap: calc(0.04267 * var(--base-width));
}

.p-contact__form-name-wrapper .p-contact__form-item {
  width: 50%;
}

.p-contact__form-item {
  width: 100%;
}

.p-contact__form-item label {
  line-height: 1.2;
  padding-top: calc(0.008 * var(--base-width));
  padding-bottom: calc(0.02133 * var(--base-width));
}

.p-contact__form-item label span,
.p-contact__form-required span {
  font-size: calc(0.016 * var(--base-width));
  color: #e6103d;
  display: inline-block;
  -webkit-transform: translateY(calc(-0.00667 * var(--base-width)));
          transform: translateY(calc(-0.00667 * var(--base-width)));
}

.p-contact__form-required {
  font-size: calc(0.03467 * var(--base-width));
  text-align: right;
}

.p-contact__form-item input {
  background: #f5f5f5;
  border: 1px solid #f5f5f5;
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: calc(0.03733 * var(--base-width));
  margin-top: calc(0.008 * var(--base-width));
  margin-bottom: calc(0.016 * var(--base-width));
  line-height: 1;
  width: 100%;
  height: auto;
  border-radius: calc(0.02133 * var(--base-width));
}

.p-contact__form-item input:focus {
  outline: none;
}

.p-contact__form-item input::-webkit-input-placeholder {
  color: rgba(51, 51, 51, .5);
}

.p-contact__form-item input::-moz-placeholder {
  color: rgba(51, 51, 51, .5);
}

.p-contact__form-item input::-ms-input-placeholder {
  color: rgba(51, 51, 51, .5);
}

.p-contact__form-item input::placeholder {
  color: rgba(51, 51, 51, .5);
}

.p-contact__form-item textarea {
  background: #f5f5f5;
  border: 1px solid #f5f5f5;
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: calc(0.03733 * var(--base-width));
  margin-top: calc(0.008 * var(--base-width));
  margin-bottom: calc(0.016 * var(--base-width));
  line-height: 1;
  width: 100%;
  height: calc(0.22933 * var(--base-width));
  border-radius: calc(0.02133 * var(--base-width));
  resize: none;
}

.p-contact__form-item button {
  width: 100%;
  -webkit-animation: pulse 2s infinite;
          animation: pulse 2s infinite;
}

.p-contact__form-item button img {
  cursor: pointer;
}

@-webkit-keyframes pulse {
  0%, 100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}

@keyframes pulse {
  0%, 100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
.p-contact__form-error {
  display: none;
  font-size: calc(0.032 * var(--base-width));
  color: #e6103d;
}

.p-contact__form-error.is-error,
.p-contact__form-error.is-nonEntered {
  display: block;
}

.p-floating-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 300px;
  max-width: 18.75rem;
}
@media (min-width: 1366px) {
  .p-floating-left {
    max-width: 22.5rem;
  }
}

.p-floating-right {
  max-width: 260px;
  max-width: 16.25rem;
}
@media (min-width: 1366px) {
  .p-floating-right {
    max-width: 17.5rem;
  }
}

.p-floating-right__btn {
  margin-top: 14px;
  margin-top: 0.875rem;
}

.p-mv {
  background-image: url(../images/mv-bg.jpg);
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
  padding-bottom: calc(0.0576 * var(--base-width));
}

.p-mv__title-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: calc(0.34933 * var(--base-width));
  margin: calc(0.08667 * var(--base-width)) auto 0;
}

.p-mv__title-left {
  -ms-flex-item-align: end;
      align-self: flex-end;
  max-width: calc(0.04267 * var(--base-width));
}

.p-mv__title {
  max-width: calc(0.15467 * var(--base-width));
  margin: auto;
}

.p-mv__title-right {
  max-width: calc(0.06333 * var(--base-width));
}

.p-mv__bottom {
  max-width: calc(0.888 * var(--base-width));
  margin: calc(0.09067 * var(--base-width)) auto 0;
}

.p-section1 {
  background-image: url(../images/section1-bg.jpg);
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
  padding-bottom: calc(0.08333 * var(--base-width));
}

.p-section1__price1 {
  max-width: calc(0.55733 * var(--base-width));
  margin: calc(0.112 * var(--base-width)) auto 0;
}

.p-section1__price2 {
  max-width: calc(0.49333 * var(--base-width));
  margin: calc(0.04533 * var(--base-width)) auto 0;
}

.p-section1__price3 {
  max-width: calc(0.83333 * var(--base-width));
  margin: calc(0.04533 * var(--base-width)) auto 0;
}

.p-section1__price4 {
  max-width: calc(0.53333 * var(--base-width));
  margin: calc(0.02933 * var(--base-width)) auto 0;
}

.p-section1__btn {
  max-width: calc(0.888 * var(--base-width));
  margin: calc(0.02213 * var(--base-width)) auto 0;
  -webkit-animation: pulse 2s infinite;
          animation: pulse 2s infinite;
}

.p-section1__text1 {
  max-width: calc(0.888 * var(--base-width));
  margin: calc(0.05555 * var(--base-width)) auto 0;
}

.p-section1__hedding2 {
  margin-top: calc(0.112 * var(--base-width));
}

.p-section1__text2 {
  max-width: calc(0.84667 * var(--base-width));
  margin: calc(0.08267 * var(--base-width)) auto 0;
}

.p-section2 {
  background-image: url(../images/section2-bg.jpg);
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
}

.p-section2__media-wrapper {
  padding: calc(0.08333 * var(--base-width)) 0 calc(0.16667 * var(--base-width));
  background-color: #211816;
  display: grid;
  row-gap: calc(0.07547 * var(--base-width));
}

.p-section2__media1,
.p-section2__media2,
.p-section2__media3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-section2__media1-body,
.p-section2__media2-body,
.p-section2__media3-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: calc(0.04213 * var(--base-width));
     -moz-column-gap: calc(0.04213 * var(--base-width));
          column-gap: calc(0.04213 * var(--base-width));
}

.p-section2__media1-image {
  width: 57%;
}

.p-section2__media1-body {
  width: 43%;
}

.p-section2__media2-image {
  width: 59%;
}

.p-section2__media2-body {
  width: 41%;
}

.p-section2__media3-image {
  width: 64%;
}

.p-section2__media3-body {
  width: 36%;
}

.p-section2__media1-title,
.p-section2__media2-title,
.p-section2__media3-title {
  max-width: calc(0.0888 * var(--base-width));
}

.p-section2__media1-text {
  max-width: calc(0.19787 * var(--base-width));
}

.p-section2__media2-text {
  max-width: calc(0.17547 * var(--base-width));
}

.p-section2__media3-text {
  max-width: calc(0.12 * var(--base-width));
}

.p-section2__media-btn {
  max-width: calc(0.888 * var(--base-width));
  margin: calc(-0.02133 * var(--base-width)) auto 0;
  -webkit-animation: pulse 2s infinite;
          animation: pulse 2s infinite;
}

.p-section2__image-wrapper {
  padding-bottom: calc(0.08333 * var(--base-width));
}

.l-wrap {
  background-color: #fdfcf8;
}

.l-wrap__left {
  display: none;
}
@media screen and (min-width: 768px) {
  .l-wrap__left {
    display: block;
    position: fixed;
    top: 1.875rem;
    left: 1.25rem;
  }
}
@media (min-width: 1366px) {
  .l-wrap__left {
    left: calc(50% - 40rem);
  }
}

.l-wrap__right {
  display: none;
}
@media screen and (min-width: 768px) {
  .l-wrap__right {
    display: block;
    position: fixed;
    bottom: 1.875rem;
    right: 2.5rem;
  }
}
@media (min-width: 1366px) {
  .l-wrap__right {
    right: calc(50% - 37.5rem);
  }
}

.l-wrap__center {
  --base-width: 0;
  max-width: 600px;
  max-width: 37.5rem;
  margin: auto;
}
@media screen and (min-width: 768px) {
  .l-wrap__center {
    max-width: 26.5625rem;
  }
}