html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, main, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  outline: none;
  border: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
}

ul,
ol {
   list-style: none;
}

a {
   color: inherit;
   text-decoration: none;
   transition: all 0.3s;
}

a:hover {
   color: inherit;
   opacity: 0.7;
}

a[href^="tel:"] {
   pointer-events: none;
   cursor: text;
}

@media screen and (max-width: 767px) {
   a[href^="tel:"] {
      pointer-events: auto;
      cursor: pointer;
   }
}

img {
   width: auto;
   max-width: 100%;
   height: auto;
   vertical-align: middle;
}

.fnt-shippori-mincho-b1 {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 600;
  font-style: normal;
}

.fnt-instrument-serif {
  font-family: "Instrument Serif", serif;
  font-weight: 400;
  font-style: normal;
}

.wrap {
   width: 100%;
   max-width: 1200px;
   margin: 0 auto;
   box-sizing: border-box;
   position: relative;
}

@media screen and (max-width: 1440px) {
   .wrap {
      max-width: 1140px;
   }
}

@media screen and (max-width: 1200px) {
   .wrap {
      max-width: 960px;
   }
}

@media screen and (max-width: 1023px) {
   .wrap {
      max-width: 720px;
   }
}

@media screen and (max-width: 767px) {
   .wrap {
      max-width: 100%;
      padding: 0 20px;
   }
}

.sp {
   display: none;
}

@media screen and (max-width: 767px) {
   .sp {
      display: block;
   }

   .pc {
      display: none;
   }
}

.h-23 {
   font-weight: 700;
   font-size: 23px;
   letter-spacing: 0;
   line-height: 34px;
}

.h-26 {
   font-weight: 600;
   font-size: 26px;
   letter-spacing: 0;
   line-height: 37px;
}

.h-32 {
   font-weight: 700;
   font-size: 32px;
   letter-spacing: 0;
   line-height: 46px;
}

.txt-c {
   text-align: center;
}

.slick-arrow {
   width: 34px;
   height: 34px;
   border: 0;
   font-size: 0;
   position: absolute;
   top: 50%;
   z-index: 1;
   transform: translateY(-50%);
}

.slick-prev {
   left: 32px;
}

.slick-next {
   right: 32px;
}

.scrollSet.fadeInUp {
   opacity: 0;
   will-change: filter;
   transform: translateY(2rem);
   transition: all 0.7s ease;
}

.scrollIn.fadeInUp {
   opacity: 1;
   transform: translateY(0);
}

.txt-vertical {
   cursor: vertical-text;
   writing-mode: vertical-rl;
   -o-writing-mode: vertical-rl;
   -ms-writing-mode: vertical-rl;
   -ms-writing-mode: tb-rl;
   -moz-writing-mode: vertical-rl;
   -webkit-writing-mode: vertical-rl;
   text-orientation: upright;
   word-wrap: break-word;
}

.txt-vertical .txt-latin {
   cursor: vertical-text;
   direction: rtl;
   writing-mode: vertical-rl;
   -o-writing-mode: vertical-rl;
   -ms-writing-mode: vertical-rl;
   -ms-writing-mode: tb-rl;
   -moz-writing-mode: vertical-rl;
   -webkit-writing-mode: vertical-rl;
   text-orientation: sideways-right;
   -o-text-orientation: sideways-right;
   -ms-text-orientation: upright;
   -ms-text-orientation: sideways-right;
   -moz-text-orientation: sideways-right;
   -webkit-text-orientation: sideways-right;
}

@-moz-document url-prefix() {
   .txt-vertical .txt-latin {
      position: relative;
      left: 4px;
   }
}

.button a {
   display: inline-flex;
   justify-content: center;
   align-items: center;
   background-color: #fff;
   width: 236px;
   height: 60px;
   font-weight: 700;
   font-size: 16px;
   line-height: 24px;
   box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.16);
   border-radius: 50px;
   position: relative;
   padding-right: 20px;
   box-sizing: border-box;
}

.button a:after {
   content: '';
   width: 15px;
   height: 12px;
   -webkit-mask: url('../img/common/arrow-right.svg') no-repeat center top / cover;
   mask: url('../img/common/arrow-right.svg') no-repeat center top / cover;
   background: #3E3E3E;
   position: absolute;
   top: 50%;
   right: 20px;
   transform: translateY(-50%);
   transition: all 0.3s;
}

.button.black a {
   background-color: #3E3E3E;
   color: #fff;
}

.button.black a:after {
   background: #fff;
}

.button a:hover:after {
   transform: translate(5px, -50%);
}

.img-obj {
   width: 100%;
   max-width: inherit;
   height: 100%;
   object-fit: cover;
}

.wpcf7 input:not([type="checkbox"], [type="radio"]),
.wpcf7 textarea {
   display: block;
   width: 100%;
   background-color: #fff;
   border: 0;
   border-radius: 10px;
   outline: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   box-sizing: border-box;
   padding: 14px 20px;
   font-weight: 700;
   line-height: 30px;
}

.wpcf7 textarea {
   height: 240px;
   resize: vertical;
}

.wpcf7-checkbox {
   display: flex;
   flex-direction: column;
   gap: 10px;
   line-height: 18px;

   .wpcf7-list-item {
      display: block;
      margin-left: 0;
      cursor: pointer;
   }

   input {
      display: none;
   }

   .wpcf7-list-item-label {
      display: inline-grid;
      grid-template-columns: 18px 1fr;
      align-items: flex-start;
      gap: 10px;
      cursor: pointer;

      &:before,
      &:after {
         content: '';
         width: 18px;
         height: 18px;
         grid-area: 1/1;
         margin: auto;
      }

      &:before {
         background-color: #fff;
         border-radius: 5px;
      }

      &:after {
         background: url('../img/common/icon-checked.svg') no-repeat center top / cover;
         display: none;
      }
   }

   input:checked+.wpcf7-list-item-label {
      &:after {
         display: block;
      }
   }
}