/* =================== */
/*  variable             */
/* =================== */

:root {

  /* inner */
  --innerPadingInline: 16px;
  --innerWidth: 1168px;

  /* font */
  --font-family-base: "Noto Sans JP", sans-serif;
  --font-family-modern: 'Modern No.20', sans-serif;
  --font-family-alex: "Alex Brush", cursive;
  --font-family-inter: "Inter", sans-serif;
  --font-family-zen: "Zen Old Mincho", serif;

  /* カラー */
  --color-white: #fff;
  --color-white2: #F8F7F4;
  --color-white3: #F9F5E9;
  --color-gray: #D9D9D9;
  --color-base-black: #5C5850;
  --color-brown: #AF9A7A;
  --color-orange: #FBB64F;
  --color-blue: #206EE3;
  --color-primary: #E39520;

  /* weight */
  --font-weight-regular: 400;
  --font-weight-normal: 500;
  --font-weight-bold: 700;

  /* lineheight */
  --leading-tight: 1.25;
  --leading-snug: 1.5;
  --leading-normal: 1.8;
  --leading-loose: 2;


  --leading-trim: calc((1em - 1lh)/2);

  /* letter-spacing */
  --tracking-tight: .025em;
  --tracking-normal: 0.1em;
  /* hover */
  --hover-opacity: 0.8;

  /* aspect */
  --aspect-video: 16/9;
  --aspect-thumbnail: 1.91/1;

  /* z-index */
  --z-top-layer: calc(infinity);
  --z-head-layer: 200;
  --z-foot-layer: 100;

  /* radius */
  --rounded-sm: 4px;
  --rounded-md: 8px;
  --rounded-lg: 10px;
  --rounded-full: calc(infinity * 1px);
}



@font-face {
  font-family: 'Modern No.20';
  src: url('../font/MOD20.TTF') format('truetype'),

}

/* =================== */
/*  base             */
/* =================== */

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


@media (any-hover: hover) {
  a:hover {
    opacity: var(--hover-opacity);

  }
}



@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;

  }
}




* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}


body {
  margin: 0 auto;
  color: var(--color-base-black);
  font-family: var(--font-family-base);
  word-break: break-all;
  background-color: var(--color-white);
  scroll-behavior: smooth;
  /* scroll-padding-top; */
}






:where(button, [type='button'], [type='reset'], [type='submit']) {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

:where( :-moz-any-link,
  button,
  [type='button'],
  [type='reset'],
  [type='submit'],
  label[for],
  select,
  summary,
  [role='tab'],
  [role='button']) {
  cursor: pointer;
}

:where( :-webkit-any-link,
  button,
  [type='button'],
  [type='reset'],
  [type='submit'],
  label[for],
  select,
  summary,
  [role='tab'],
  [role='button']) {
  cursor: pointer;
}

:where( :any-link,
  button,
  [type='button'],
  [type='reset'],
  [type='submit'],
  label[for],
  select,
  summary,
  [role='tab'],
  [role='button']) {
  cursor: pointer;
}

:focus:not(:focus-visible) {
  outline: none;
}


.commonContents {
  padding-block: 80px
}

@media (min-width: 768px) {
  .commonContents {
    padding-block: 120px
  }

}

.commonContents.commonContents--bgGray {
  background-color: var(--color-white2);
}



.commonText {
  font-family: var(--font-family-base);
  font-size: 16px;
  color: var(--color-base-black);
  font-weight: var(--font-weight-regular);
  letter-spacing: var(--tracking-normal);
  line-height: var(--leading-normal);
}






/* =================== */
/*  utilitiy         */
/* =================== */


.br-sp {
  display: block;

}

@media (min-width: 768px) {
  .br-sp {
    display: none;
  }
}

.br-pc {
  display: none;

}

@media (min-width: 768px) {
  .br-pc {
    display: block;
  }
}




.sp-none {
  display: none !important;

}

@media (min-width: 768px) {
  .sp-none {
    display: block !important;

  }
}

.pc-none {
  display: block !important;

}

@media (min-width: 768px) {
  .pc-none {
    display: none !important;

  }
}

/* =================== */
/*  layout         */
/* =================== */


.container {
  margin: 0 auto;
  background-color: var(--color-white);
  -webkit-padding-before: 72px;
  padding-block-start: 72px;

}


@media (min-width: 768px) {
  .container {
    -webkit-padding-before: 100px;
    padding-block-start: 100px;
  }
}



.inner {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-inline: var(--innerPadingInline);
}

@media (min-width: 768px) {
  .inner {
    --innerPadingInline: 20px;
    max-width: calc(var(--innerWidth) + (var(--innerPadingInline) * 2));

  }
}





/* =========================================== */
/*  components　　　*/
/* =========================================== */


/* セクションタイトル */
.sectionTitle {
  display: block grid;
  place-items: center;
  row-gap: 8px;
  color: var(--color-base-black);
}

.sectionTitle__sub {
  letter-spacing: 0;
  font-size: 64px;
  font-weight: var(--font-weight-regular);
  font-family: var(--font-family-modern);
  text-transform: capitalize;

}

@media (min-width: 768px) {
  .sectionTitle__sub {
    font-size: 96px;
  }
}

.sectionTitle__sub.sectionTitle__sub--beforeAfter {
  font-size: 48px;
}


@media (min-width: 768px) {
  .sectionTitle__sub.sectionTitle__sub--beforeAfter {
    font-size: 96px;
  }

}

.sectionTitle__sub.sectionTitle__sub--business {
  font-size: 40px;
}

@media (min-width: 768px) {
  .sectionTitle__sub.sectionTitle__sub--business {
    font-size: 96px;
  }
}


.sectionTitle__sub.sectionTitle__sub--service {
  font-size: 40px;
}


@media (min-width: 768px) {
  .sectionTitle__sub.sectionTitle__sub--service {
    font-size: 96px;
  }

}


.sectionTitle__sub.sectionTitle__sub--price {
  font-size: 40px;
}

@media (min-width: 768px) {
  .sectionTitle__sub.sectionTitle__sub--price {
    font-size: 96px;
  }

}


.sectionTitle__sub.sectionTitle__sub--error {
  font-size: 48px;
}

@media (min-width: 768px) {
  .sectionTitle__sub.sectionTitle__sub--error {
    font-size: 96px;
  }


}




.sectionTitle__main {
  font-size: 16px;
  font-weight: var(--font-weight-regular);
  font-family: var(--font-family-base);
  letter-spacing: 0.19em;
  line-height: var(--leading-normal);
}

@media (min-width: 768px) {
  .sectionTitle__main {
    font-size: 24px;
  }
}

/* サブタイトル */
.sectionSubTitle {
  display: block grid;
  place-items: center;
  color: var(--color-base-black);
}

.sectionSubTitle__num {
  font-family: var(--font-family-alex);
  color: var(--color-primary);
  letter-spacing: 0;
  font-size: 48px;
  font-weight: var(--font-weight-regular);
}

@media (min-width: 768px) {
  .sectionSubTitle__num {
    font-size: 64px;
  }
}

.sectionSubTitle__sub {
  letter-spacing: 0;
  font-size: 40px;
  font-weight: var(--font-weight-regular);
  font-family: var(--font-family-modern);


}

@media (min-width: 768px) {
  .sectionSubTitle__sub {
    font-size: 64px;
  }
}


.sectionSubTitle__main {
  font-size: 16px;
  font-weight: var(--font-weight-regular);
  font-family: var(--font-family-base);
  letter-spacing: 0.19em;
  line-height: var(--leading-normal);
  margin-top: 8px;
}

/* ctaボタン */
.ctaButton {
  background-color: var(--color-blue);
  color: var(--color-white);
  padding: 22px 24px;
  display: block flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  -webkit-box-shadow: 0 4px 4px rgb(0, 0, 0, 0.25);
  box-shadow: 0 4px 4px rgb(0, 0, 0, 0.25);
  border-radius: 100px;
}

@media (min-width: 768px) {
  .ctaButton {
    padding: 24px;
  }
}

.ctaButton__inner {
  display: block flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.ctaArea__echo {
  letter-spacing: var(--tracking-normal);
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--leading-normal);
  font-size: 16px;
  position: relative;
}

@media (min-width: 768px) {
  .ctaArea__echo {
    font-size: 20px;
  }
}

.ctaArea__echo::before,
.ctaArea__echo::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 40px;
  height: 2px;
  background-color: var(--color-base-black);
}

.ctaArea__echo::before {
  left: -40px;
  rotate: 45deg;
}

.ctaArea__echo::after {
  right: -40px;
  rotate: -45deg;
}

.ctaArea__button {
  width: 100%;
  max-width: 290px;
  margin-inline: auto;
}

@media (min-width: 768px) {
  .ctaArea__button {
    max-width: 404px;
  }
}


.ctaButton__text {
  letter-spacing: var(--tracking-normal);
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-bold);
  line-height: var(--leading-normal);
  font-size: 16px;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

@media (min-width: 768px) {
  .ctaButton__text {
    font-size: 20px;
  }
}

.ctaButton__icon {
  max-width: 24px;
  margin-left: 8px;
}

.ctaButton__icon img {
  width: 100%;
  height: auto;
  display: block;
}

.ctaArea {
  display: block grid;
  row-gap: 8px;
  place-items: center;
}



.ctaArea__text {
  color: var(--color-base-black);
  font-size: 14px;
  line-height: var(--leading-normal);
  letter-spacing: var(--tracking-normal);
  font-weight: var(--font-weight-regular);
  font-family: var(--font-family-base);
}

@media (min-width: 768px) {
  .ctaArea__text {
    font-size: 16px;
  }
}



/* 送信ボタン */
.submitButton {
  position: relative;


}

@media (min-width: 768px) {
  .submitButton {
    --tracking-normal: 0.d7em;
  }
}


.submitButton__button {
  background-color: var(--color-blue);
  color: var(--color-white);
  padding: 28px 24px;
  display: block flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  -webkit-box-shadow: 0 4px 4px rgb(0, 0, 0, 0.25);
  box-shadow: 0 4px 4px rgb(0, 0, 0, 0.25);
  border-radius: 100px;
  width: 100%;
  max-width: 326px;
  margin-inline: auto;
  background-image: url(../images/mail.png);
  background-repeat: no-repeat;
  background-size: 24px;
  background-position: 220px;
  letter-spacing: var(--tracking-normal);
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-bold);
  line-height: var(--leading-normal);
  font-size: 20px;
}

@media (min-width: 768px) {
  .submitButton__button {
    background-position: 229px;
    max-width: 344px;
  }
}



/* ベースボタン */
.baseButton {
  background-color: var(--color-primary);
  padding: 18px 24px 18px 64px;
  display: block flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  -webkit-box-shadow: 0 4px 4px rgb(0, 0, 0, 0.25);
  box-shadow: 0 4px 4px rgb(0, 0, 0, 0.25);
  border-radius: 100px;
}



.baseButton.baseButton--small {
  padding: 9px 24px 9px 64px;

}

@media (min-width: 768px) {
  .baseButton.baseButton--small {
    padding: 18px 24px 18px 64px;
  }
}

.baseButton__inner {
  display: block flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;

}

.baseButton__inner.baseButton__inner--prev {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.baseButton__inner.baseButton__inner--prev .baseButton__icon {
  rotate: 180deg;
  margin-left: 0;
  margin-right: 16px;
}

@media (min-width: 768px) {
  .baseButton__inner.baseButton__inner--prev .baseButton__icon {
    margin-right: 24px;
  }
}


.baseButton__text {
  letter-spacing: var(--tracking-normal);
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--leading-normal);
  font-size: 20px;
  color: var(--color-base-black);
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";

}

@media (min-width: 768px) {
  .baseButton__text {
    font-size: 20px;
  }
}

.baseButton__text.baseButton__text--page {
  letter-spacing: 0.47em;
}

.baseButton__icon {
  max-width: 48px;
  margin-left: 16px;
}

@media (min-width: 768px) {
  .baseButton__icon {
    margin-left: 34px;
  }
}

.baseButton__icon img {
  width: 100%;
  height: auto;
  display: block;
}



/* 記事カード */

.blogItem {
  border-radius: 20px;
  overflow: hidden;
  -webkit-box-shadow: 0 4px 4px rgb(0, 0, 0, 0.25);
  box-shadow: 0 4px 4px rgb(0, 0, 0, 0.25);
  background-color: var(--color-white2);
  display: block grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  height: 100%;
  row-gap: 16px;
}




.blogItem__img img {
  aspect-ratio: 343 / 248;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;

}

@media (min-width: 768px) {
  .blogItem__img img {
    aspect-ratio: 375 / 271;
  }
}



.blogItem__title {
  letter-spacing: var(--tracking-normal);
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-bold);
  line-height: var(--leading-normal);
  color: var(--color-base-black);
  font-size: 20px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  padding-inline: 22px;
  -webkit-margin-before: 5px;
  margin-block-start: 5px;
}

@media (min-width: 768px) {
  .blogItem__title {
    -webkit-margin-before: 8px;
    margin-block-start: 8px;
    padding-inline: 24px;
  }
}

.blogItem p {
  font-size: 16px;
  letter-spacing: var(--tracking-normal);
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--leading-normal);
  color: var(--color-base-black);
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  padding-inline: 22px;
}

@media (min-width: 768px) {
  .blogItem__textBox p {
    padding-inline: 24px;
    -webkit-line-clamp: 5;

  }
}

.blogItem time {
  font-size: 16px;
  margin-top: auto;
  letter-spacing: var(--tracking-normal);
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--leading-normal);
  color: var(--color-base-black);
  padding-inline: 22px;
  -webkit-padding-after: 21px;
  padding-block-end: 21px;
}


@media (min-width: 768px) {
  .blogItem time {
    padding-inline: 24px;
    -webkit-padding-after: 25px;
    padding-block-end: 25px;

  }
}






.stepCard {
  display: block grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  row-gap: 24px;
  overflow: hidden;
  border-radius: 20px;
  background-color: var(--color-white2);
  padding: 32px 25px 20px;
  place-items: center;
  -webkit-box-shadow: 0 4px 4px rgb(0, 0, 0, 0.25);
  box-shadow: 0 4px 4px rgb(0, 0, 0, 0.25);

}

@media (min-width: 768px) {
  .stepCard {
    padding: 32px;
  }
}

.stepCard__head {
  font-size: 64px;
  letter-spacing: 0;
  font-family: var(--font-family-alex);
  font-weight: var(--font-weight-regular);
  color: var(--color-base-black);
  text-transform: capitalize;

}

.stepCard__title {
  font-size: 24px;
  letter-spacing: 0;
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-regular);
  color: var(--color-base-black);
}

.stepCard__img {
  max-width: 165px;
  width: 100%;
  margin-inline: auto;
}


.stepCard__img img {
  -o-object-fit: contain;
  object-fit: contain;
}

.stepCard__img.stepCard__img--point1 {
  max-width: 149px;
}

@media (min-width: 768px) {
  .stepCard__img.stepCard__img--point1 {
    max-width: 163px;
  }

}

.stepCard__img.stepCard__img--point2 {
  max-width: 170px;
}

@media (min-width: 768px) {
  .stepCard__img.stepCard__img--point2 {
    max-width: 203px;
  }

}

.stepCard__img.stepCard__img--point3 {
  max-width: 230px;
}

@media (min-width: 768px) {
  .stepCard__img.stepCard__img--point3 {
    max-width: 251px;
  }

}




.stepCard__img.stepCard__img--point4 {
  max-width: 230px;
}

@media (min-width: 768px) {
  .stepCard__img.stepCard__img--point4 {
    max-width: 251px;
  }

}






.stepCard__text {
  font-size: 16px;
  letter-spacing: 0;
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-regular);
  color: var(--color-base-black);
  -webkit-align-self: start;
  -ms-flex-item-align: start;
  align-self: start;
}




/* 料金カード */
.priceItem {
  position: relative;
  -webkit-padding-before: 80px;
  padding-block-start: 80px
}

@media (min-width: 768px) {
  .priceItem {
    -webkit-padding-before: 85px;
    padding-block-start: 85px
  }
}

.priceItem__img {

  position: absolute;
  top: 0;
  left: 50%;
  translate: -50%;
  width: 100%;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}

.priceItem__img.priceItem__img--mayuge {
  right: calc(50% - 210px);
  -webkit-transform: translateY(15px);
  transform: translateY(15px);
  max-width: 187px;
  left: initial;
}

@media (min-width: 768px) {
  .priceItem__img.priceItem__img--mayuge {
    right: calc(50% - 220px);
    -webkit-transform: translateY(16px);
    transform: translateY(16px);
    max-width: 198px;
  }

}

.priceItem__img.priceItem__img--rip {
  -webkit-transform: translateY(43px);
  transform: translateY(43px);
  max-width: 197px;
}

@media (min-width: 768px) {
  .priceItem__img.priceItem__img--rip {
    -webkit-transform: translateY(46px);
    transform: translateY(46px);
    max-width: 208px;
  }

}

.priceItem__img.priceItem__img--eyeline {
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
  max-width: 180px;
}

@media (min-width: 768px) {
  .priceItem__img.priceItem__img--eyeline {
    -webkit-transform: translateY(32px);
    transform: translateY(32px);
    max-width: 191px;
  }

}

.priceItem__img.priceItem__img--head {
  -webkit-transform: translateY(27px);
  transform: translateY(27px);
  max-width: 130px;
}

@media (min-width: 768px) {
  .priceItem__img.priceItem__img--head {
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
    max-width: 142px;
  }
}

.priceItem__img.priceItem__img--head2 {
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
  max-width: 123px;
}


@media (min-width: 768px) {
  .priceItem__img.priceItem__img--head2 {
    -webkit-transform: translateY(33px);
    transform: translateY(33px);
    max-width: 134px;
  }

}


.priceItem::before {
  position: absolute;
  content: "";
  background-color: var(--color-white2);
  left: 50%;
  translate: -50%;
  width: 260px;
  height: 269px;
  border-radius: 50%;
  top: 0;
  z-index: -1;
}

.priceItem__inner {
  background-color: var(--color-white2);
  border-radius: 10px;
  width: 100%;
  padding-inline: 57px;
  padding-block: 98px 54px;
  -webkit-box-shadow: 0 4px 4px rgb(0, 0, 0, 0.25);
  box-shadow: 0 4px 4px rgb(0, 0, 0, 0.25);
  height: 100%;
}


@media (min-width: 768px) {
  .priceItem__inner {
    padding-inline: 63px;
    padding-block: 103px 56px;
  }
}

.priceItem__inner.priceItem__inner--large {
  padding-block: 125px 71px;
}

@media (min-width: 768px) {
  .priceItem__inner.priceItem__inner--large {
    padding-block: 138px 77px;
  }
}

.priceItem__label {
  color: var(--color-white);
  background-color: var(--color-primary);
  border-radius: 100px;
  font-family: var(--font-family-modern);
  letter-spacing: 0;
  line-height: var(--leading-normal);
  font-weight: var(--font-weight-regular);
  padding: 6px 14px;
  display: block;
  max-width: 206px;
  width: 100%;
  margin-inline: auto;
  text-align: center;
  font-size: 23px;
}

@media (min-width: 768px) {
  .priceItem__label {
    font-size: 24px;

  }
}

.priceItem__label.priceItem__label--small {
  font-size: 18px;

}


@media (min-width: 768px) {
  .priceItem__label.priceItem__label--small {
    font-size: 20px;

  }

}





.priceItem__table {
  margin-top: 38px;
  max-width: 225px;
  margin-inline: auto;
  font-size: 22px;
  font-weight: var(--font-weight-regular);
  font-family: var(--font-family-base);
  letter-spacing: 0;
  line-height: var(--leading-normal);
  color: var(--color-base-black);
  table-layout: auto;
  border-collapse: collapse;

}

@media (min-width: 768px) {
  .priceItem__table {
    max-width: 238px;
    margin-top: 40px;

  }
}


.priceItem__table :where(td, th) {
  padding-top: 23px;
  padding-bottom: 7px;
}


@media (min-width: 768px) {
  .priceItem__table :where(td, th) {
    padding-top: 24px;
    padding-bottom: 8px;
  }

}

.priceItem__table td {
  padding-left: 31px;
  text-align: right;
}

@media (min-width: 768px) {

  .priceItem__table td {
    padding-left: 29px;
  }
}

.priceItem__table.priceItem__table--table2 td {
  padding-left: 0;
}


@media (min-width: 768px) {

  .priceItem__table.priceItem__table--table2 td {
    padding-left: 0;
  }
}

.priceItem__table span {
  font-size: 12px;
}

@media (min-width: 768px) {

  .priceItem__table span {
    font-size: 14px;
  }
}

.priceItem__table tr {
  border-bottom: 2px solid #d9d9d9;
}


/* 事業概要 */

.descriptionBlock {
  border-bottom: 2px solid var(--color-primary);
  -webkit-padding-after: 8px;
  padding-block-end: 8px;
}

.descriptionBlock+.descriptionBlock {
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
}


.descriptionBlock__title {
  font-size: 20px;
  font-family: var(--font-family-base);
  color: var(--color-base-black);
  letter-spacing: var(--tracking-normal);
  line-height: var(--leading-normal);
  font-weight: var(--font-weight-bold);
}


.descriptionBlock__text {
  margin-top: 16px;
  font-size: 16px;
  font-family: var(--font-family-base);
  color: var(--color-base-black);
  letter-spacing: var(--tracking-normal);
  line-height: var(--leading-normal);
  font-weight: var(--font-weight-regular);
}

.descriptionBlock__text.descriptionBlock__text--bold {
  font-weight: var(--font-weight-bold);
}

.descriptionBlock__text.descriptionBlock__text--bold+.descriptionBlock__text {
  margin-top: 0;
}

.descriptionBlock__link {
  color: var(--color-blue);
  font-family: var(--font-family-base);
  letter-spacing: var(--tracking-normal);
  line-height: var(--leading-normal);
  font-weight: var(--font-weight-regular);
  display: block;
  font-size: 16px;
}


/* 自己紹介 */

.profileBlock+.profileBlock {
  -webkit-margin-before: 32px;
  margin-block-start: 32px;
}

@media (min-width: 768px) {
  .profileBlock {
    -webkit-padding-start: 24px;
    padding-inline-start: 24px;
    border-left: 5px solid var(--color-gray);
  }
}


.profileBlock__title {
  color: var(--color-base-black);
  font-family: var(--font-family-base);
  letter-spacing: var(--tracking-normal);
  line-height: var(--leading-normal);
  font-weight: var(--font-weight-bold);
  font-size: 24px;
}

.profileBlock__text {
  -webkit-margin-before: 16px;
  margin-block-start: 16px;
  font-family: var(--font-family-base);
  letter-spacing: 0;
  line-height: var(--leading-normal);
  font-weight: var(--font-weight-regular);
  font-size: 16px;
}


.profileBlock__text.profileBlock__text--bold {
  font-weight: var(--font-weight-bold);
  font-size: 20px;
}

.profileBlock__text.profileBlock__text--bold+.profileBlock__text {
  -webkit-margin-before: 8px;
  margin-block-start: 8px;
}



/* アコーディオン */

.qa__block {
  display: block flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  min-width: 200px;
}


.qaBlock {
  display: block;
  background-color: var(--color-orange);
  border-radius: 10px;
  overflow: hidden;
  -webkit-box-shadow: 0 4px 4px rgb(0, 0, 0, 0.25);
  box-shadow: 0 4px 4px rgb(0, 0, 0, 0.25);
}

.qaBlock+.qaBlock {
  margin-top: 16px;
}




.qaBlock__head {
  position: relative;
  text-align: left;
  padding: 16px 42px 13px 46px;
  color: var(--color-base-black);
  cursor: pointer;
  width: 100%;

  display: inline flex;

}

@media (min-width: 768px) {
  .qaBlock__head {
    padding: 40px 129px 47px 129px;
  }
}

.qaBlock__headText {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 16px;
  font-size: 16px;
  font-family: var(--font-family-modern);
  font-weight: var(--font-weight-regular);
  line-height: var(--leading-normal);
  letter-spacing: 0;
  width: 24px;
  height: 24px;
  background-color: var(--color-white);
  color: var(--color-base-black);
  border-radius: 50%;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-transform: uppercase;
}


@media (min-width: 768px) {
  .qaBlock__headText {
    width: 80px;
    height: 80px;
    font-size: 40px;
    left: 24px;
  }
}


.qaBlock__head::before {
  content: "";
  width: 20px;
  height: 2px;
  background-color: var(--color-white);
  position: absolute;
  right: 16px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: -webkit-transform .4s;
  transition: -webkit-transform .4s;
  transition: transform .4s;
  transition: transform .4s, -webkit-transform .4s;
}

@media (min-width: 768px) {
  .qaBlock__head::before {
    width: 32px;
    height: 4px;
    right: 42px;
  }
}

.qaBlock__head:after {
  content: "";
  height: 20px;
  width: 2px;
  background-color: var(--color-white);
  position: absolute;
  right: 25px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: opacity .4s;
  transition: opacity .4s;

}

@media (min-width: 768px) {
  .qaBlock__head:after {
    width: 4px;
    height: 32px;
    right: 56px;
  }
}

.qaBlock__body {
  position: relative;
  padding: 0 42px 0 46px;
  overflow: hidden;
  color: var(--color-base-black);
  opacity: 0;
  line-height: 0;
  margin: 0;
  -webkit-transition: line-height 0.4s, padding 0.4s, opacity 0.4s;
  transition: line-height 0.4s, padding 0.4s, opacity 0.4s;
  background-color: var(--color-white);
}

@media (min-width: 768px) {
  .qaBlock__body {
    padding: 0 45px 0 129px;
  }
}

.qaBlock__body::before {
  content: "";
  width: calc(100% - 32px);
  position: absolute;
  left: 50%;
  translate: -50%;
  height: 2px;
  background-color: var(--color-white);
  top: 0;
}

@media (min-width: 768px) {
  .qaBlock__body::before {
    width: calc(100% - 66px);
  }

}


.qaBlock__body.is-open {
  padding: 6px 42px 13px 46px;
  line-height: var(--leading-normal);
  opacity: 1;
}

@media (min-width: 768px) {
  .qaBlock__body.is-open {
    padding: 23px 45px 38px 129px;

  }

}

.qaBlock__head.is-open::after {
  opacity: 0;

}


.qaBlock__body a {
  text-decoration: underline;
  color: var(--color-blue);
}



/* 三本線のタイトル */


.lineTitle__title {
  font-size: 16px;
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-bold);
  color: var(--color-base-black);
  letter-spacing: var(--tracking-normal);
  line-height: var(--leading-normal);
  text-align: center;
  -webkit-margin-before: 16px;
  margin-block-start: 16px;

}

@media (min-width: 768px) {
  .lineTitle__title {
    font-size: 24px;
    -webkit-margin-before: 24px;
    margin-block-start: 24px;
  }

}

.lineTitleBox__inner {
  display: block flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-column-gap: 36px;
  -moz-column-gap: 36px;
  column-gap: 36px;
}


.lineTitleBox__inner span {
  width: 4px;
  height: 32px;
  background-color: var(--color-primary);
}

@media (min-width: 768px) {
  .lineTitleBox__inner span {
    height: 46px;
  }


}

.lineTitleBox__inner span:nth-child(1) {
  rotate: -25deg;
}

.lineTitleBox__inner span:nth-child(3) {
  rotate: 25deg;
}



/* ボイス風 */

.echoBlock {
  display: block flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media (min-width: 768px) {
  .echoBlock {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-column-gap: 24px;
    -moz-column-gap: 24px;
    column-gap: 24px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

}

.echoBlock__img {
  max-width: 245px;
  width: 100%;
  margin-inline: auto;
}

@media (min-width: 768px) {
  .echoBlock__img {
    max-width: 328px;
  }


}

.echoBlock__img img {
  width: 100%;
  height: auto;
  display: block;

}

.echoBlock__text {
  -webkit-margin-before: 48px;
  margin-block-start: 48px;
  font-size: 16px;
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-regular);
  color: var(--color-base-black);
  letter-spacing: var(--tracking-normal);
  line-height: var(--leading-normal);
  position: relative;
}

@media (min-width: 768px) {
  .echoBlock__text {
    -webkit-margin-before: 0;
    margin-block-start: 0;
    max-width: 438px;
    padding-block: 88px;
  }

}


@media (min-width: 768px) {

  .echoBlock__text::before {
    position: absolute;
    content: "";
    width: 200px;
    height: 4px;
    background-color: var(--color-primary);
    top: 0;
    right: 0;
    rotate: 14.9deg;
    -webkit-transform-origin: left;
    transform-origin: left;
  }

  .echoBlock__text::after {
    position: absolute;
    content: "";
    width: 200px;
    height: 4px;
    background-color: var(--color-primary);
    bottom: 0;
    right: 0;
    rotate: -14.9deg;
    -webkit-transform-origin: left;
    transform-origin: left;
  }
}



/* お客様の声 */



.voiceBox img {
  aspect-ratio: 349 / 254;
  height: auto;
  -o-object-fit: contain;
  object-fit: contain;
}







/* 動画 */

.videoCardWrapper {
  width: 100vw;

}

@media (min-width: 768px) {
  .videoCardWrapper {
    width: 100%;
  }
}



.videoCardWrapper .swiper {
  overflow: visible;
  padding-left: 20px;

}

@media (min-width: 768px) {
  .videoCardWrapper .swiper {
    overflow: hidden;
    padding-left: 0;

  }
}


@media (min-width: 768px) {
  .videoList {
    display: block flex;
    -webkit-column-gap: 24px;
    -moz-column-gap: 24px;
    column-gap: 24px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.videoCardSwiper {
  position: relative;
  -webkit-padding-after: 66px;
  padding-block-end: 66px;
}

@media (min-width: 768px) {
  .videoCardSwiper {
    -webkit-padding-after: 0;
    padding-block-end: 0;
  }

}

.videoCardSwiper__next {
  font-size: 32px;
  font-family: var(--font-family-modern);
  font-weight: var(--font-weight-regular);
  letter-spacing: 0;
  line-height: var(--leading-normal);
  color: var(--color-base-black);
  position: absolute;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  top: inherit;
  bottom: 0;


  left: initial;
  right: 16px;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-right: calc(50% - 118px);
}


.videoCardSwiper__next:after {
  width: 57px;
  height: 18px;
  background: url(../images/arrow2.svg) no-repeat center / contain;
  content: "";
}


@media (min-width: 768px) {
  .videoCardSwiper__next {
    display: none;
  }
}

.videoBoxWrap {
  max-width: 343px;
}

@media (min-width: 768px) {
  .videoBoxWrap {
    max-width: 163px;
  }
}

@media (min-width: 992px) {
  .videoBoxWrap {
    max-width: 274px;
  }
}

.videoBox {
  width: 100%;
  overflow: hidden;
  border-radius: 20px;
}

.videoBox video {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;

}

.videoBox img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 349 / 254;
}


/* ページネーション */
.pagination {
  font-family: var(--font-family-modern);
  font-size: 40px;
  letter-spacing: var(--tracking-normal);
  line-height: var(--leading-normal);
  font-weight: var(--font-weight-regular);
  color: var(--color-base-black);
}

.page-numbers {
  padding: 6.5px 18.5px;
  background-color: var(--color-white2);
  border: 1px solid var(--color-gray);
}

.page-numbers.current {
  background-color: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);

}




/* =========================================== */
/*  projects */
/* =========================================== */




/* =================== */
/*  ハンバーガーメニュー */
/* =================== */


.hamburger {
  position: relative;
  width: inherit;
  height: inherit;
  margin: 0;
  border: transparent;
  cursor: pointer;
}


.hamburger span {
  display: block;
  position: relative;
  left: 50%;
  width: 32px;
  height: 2px;
  translate: -50%;
  background: var(--color-base-black);
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}


.hamburger span:nth-of-type(1) {
  top: -11px;
}


.hamburger span:nth-of-type(2) {
  top: 0;


}


.hamburger span:nth-of-type(3) {
  top: 10px;


}


.hamburger .hamburger__text {
  display: block;
  top: 12px;
  background: transparent;
  color: var(--font-color-white);
  font-weight: 400;
  font-size: 10px;
  line-height: 1;
  text-transform: uppercase;
}


.hamburger[aria-expanded="true"] span:nth-of-type(1) {
  top: 0;
  translate: -50%;
  rotate: 225deg;
}


.hamburger[aria-expanded="true"] span:nth-of-type(2) {
  opacity: 0;
}


.hamburger[aria-expanded="true"] span:nth-of-type(3) {
  top: -4px;
  translate: -50%;
  rotate: -225deg;
}


/* =================== */
/*  ヘッダー　　　      */
/* =================== */
.header {
  display: block;
  z-index: 999;
  position: fixed;
  inset: 0;
  width: 100%;
  background: var(--color-white2);
  height: 72px;
}

@media (min-width: 768px) {
  .header {
    height: 100px;
  }

}


.header__nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  z-index: 10;
  position: absolute;
  top: 0;
  right: -100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
  background: transparent;
  opacity: 0;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;


}


@media (min-width: 768px) {
  .header__nav {
    position: static;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    height: 100%;
    opacity: initial;
  }
}



.header__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: inherit;
  padding: 13px 20px;
}

.header__title {
  max-width: 100px;
  width: 100%;
  position: relative;
  z-index: 100;
}

.header__title a {
  display: block;
  width: 100%;
  height: auto;
}


.header__title a img {
  height: auto;
  width: 100%;

}


.header__hamburger {
  z-index: 100;
  position: absolute;
  top: 0;
  right: 0;
  width: 95px;
  height: 100%;

}

@media (min-width: 768px) {
  .header__hamburger {
    display: none;
  }
}



.header__nav[aria-expanded="true"] {
  position: fixed;
  top: 0;
  right: 0;
  background: var(--color-white2);
  opacity: 1;

}


/* =================== */
/*  ナビメニュー      */
/* =================== */
.nav {
  padding-top: 72px;
  padding-bottom: 72px;
}

@media (min-width: 768px) {
  .nav {
    padding: 0;
  }

}


@media (min-width: 768px) {
  .nav__inner {
    width: 100%;
  }
}

.nav__list {
  display: block flex;
  width: 100%;
  padding-inline: 20px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 40px;
}


@media (min-width: 768px) {
  .nav__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-column-gap: 32px;
    -moz-column-gap: 32px;
    column-gap: 32px;
    row-gap: initial;
    -webkit-padding-end: 0;
    padding-inline-end: 0;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;


  }
}

.nav__item {
  position: relative;
  width: 100%;
  text-align: center;
}

@media (min-width: 768px) {
  .nav__item {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.nav__link {
  display: inline-block;
  text-align: center;
}


.nav__cta {
  -webkit-margin-before: 56px;
  margin-block-start: 56px;
}





.blogCards {
  display: block grid;
  row-gap: 30px;

}

@media (min-width: 768px) {
  .blogCards {
    grid-template-columns: repeat(3, 1fr);
    gap: 80px 24px;

  }
}




.cardFlow {
  display: block grid;
  row-gap: 24px;

}

@media (min-width: 768px) {
  .cardFlow {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
}

.cardFlow.cardFlow--col2 {
  row-gap: 40px;
}


@media (min-width: 768px) {
  .cardFlow.cardFlow--col2 {
    grid-template-columns: repeat(2, 1fr);
    gap: 48px;
  }

}

.price__cta {
  -webkit-margin-before: 109px;
  margin-block-start: 109px;
}

@media (min-width: 768px) {
  .price__cta {
    -webkit-margin-before: 120px;
    margin-block-start: 120px;
  }
}






.priceBlock {
  -webkit-padding-before: 150px;
  padding-block-start: 150px;
}

@media (min-width: 768px) {
  .priceBlock {
    -webkit-padding-before: 240px;
    padding-block-start: 240px;
  }

}


.priceBlock__blocks {
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
}

@media (min-width: 768px) {
  .priceBlock__blocks {
    -webkit-margin-before: 108px;
    margin-block-start: 108px;
  }

}

.priceBlock__lineTitle {
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
}

@media (min-width: 768px) {
  .priceBlock__lineTitle {
    -webkit-margin-before: 80px;
    margin-block-start: 80px;
  }

}

.priceBlock__video {
  -webkit-margin-before: 24px;
  margin-block-start: 24px;
}

@media (min-width: 768px) {
  .priceBlock__video {
    max-width: 489px;
    width: 100%;
    margin-inline: auto;
  }
}


.priceBlock__points {
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
  max-width: 600px;
  margin-inline: auto;
  width: 100%;
}

@media (min-width: 768px) {
  .priceBlock__points {
    -webkit-margin-before: 80px;
    margin-block-start: 80px;
    max-width: 800px;
  }
}


.priceBlock__pointsText {
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
}













.cardPrice {
  display: block grid;
  row-gap: 40px;
}

@media (min-width: 768px) {
  .cardPrice {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    /* grid-template-columns: repeat(3, 1fr); */
    gap: 56px 40px;
  }
}





/* cta */
.cta__title {
  font-size: 20px;
  letter-spacing: var(--tracking-normal);
  line-height: var(--leading-normal);
  font-weight: var(--font-weight-bold);
  color: var(--color-base-black);
  text-align: center;
  font-family: var(--font-family-base);
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

.cta__text {
  -webkit-margin-before: 39px;
  margin-block-start: 39px;
  font-size: 16px;
  letter-spacing: var(--tracking-normal);
  line-height: var(--leading-normal);
  font-weight: var(--font-weight-regular);
  color: var(--color-base-black);
  text-align: center;
  font-family: var(--font-family-base);
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

.cta__ctaArea {
  -webkit-margin-before: 56px;
  margin-block-start: 56px;
}



/* アートメイク施術 */

.makeBlock {
  position: relative;
  background-color: var(--color-white3);
  -webkit-box-shadow: 0 3px 15px rgb(212, 207, 199, 1);
  box-shadow: 0 3px 15px rgb(212, 207, 199, 1);
  padding: 37px 44px 32px;
}

@media (min-width: 768px) {
  .makeBlock {
    padding: 48px 56px;
    -webkit-box-shadow: 0 4px 20px rgb(212, 207, 199, 1);
    box-shadow: 0 4px 20px rgb(212, 207, 199, 1);
  }

}


.makeBlock.makeBlock--block2 {
  display: block grid;
  place-items: center;
}

.makeBlock__label {
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50%;
  color: var(--color-white);
  background-color: var(--color-primary);
  border-radius: 39px;
  width: 100%;
  max-width: 187px;
  padding: 6px 12px;
  text-align: center;
  font-size: 16px;
  letter-spacing: var(--tracking-normal);
  line-height: var(--leading-normal);
  font-weight: var(--font-weight-bold);
  font-family: var(--font-family-base);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media (min-width: 768px) {
  .makeBlock__label {
    font-size: 20px;
    padding: 8px 16px;
    max-width: 240px;
  }
}


.makeBlock__label.makeBlock__label--brown {
  background-color: var(--color-brown);
}




.makeBlock__items {
  display: block grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px 17px;
}

@media (min-width: 768px) {
  .makeBlock__items {
    gap: 24px;
  }

}

.makeBlock__item {
  display: block grid;
}


.makeBlock__box {
  background-color: var(--color-white);
  border-radius: 6.25px;
  padding: 14px 12px 9px;
  display: block grid;
  grid-template-rows: subgrid;
  grid-row: span 2;

}

@media (min-width: 768px) {
  .makeBlock__box {
    padding: 21px 15px 15px;
  }

}



.makeBlock__img {
  width: 100%;
  margin-inline: auto;

}

.makeBlock__img.makeBlock__img--mayuge {
  max-width: 77px;
}

@media (min-width: 768px) {
  .makeBlock__img.makeBlock__img--mayuge {
    max-width: 98px;
  }

}

.makeBlock__img.makeBlock__img--rip {
  max-width: 95px;
}

@media (min-width: 768px) {
  .makeBlock__img.makeBlock__img--rip {
    max-width: 122px;
  }

}

.makeBlock__img.makeBlock__img--eyeline {
  max-width: 77px;
}

@media (min-width: 768px) {
  .makeBlock__img.makeBlock__img--eyeline {
    max-width: 98px;
  }

}

.makeBlock__img.makeBlock__img--head {
  max-width: 52px;
}

@media (min-width: 768px) {
  .makeBlock__img.makeBlock__img--head {
    max-width: 67px;
  }

}


.makeBlock__img img {
  height: auto;
  display: block;
}

.makeBlock__text {
  -webkit-margin-before: 6px;
  margin-block-start: 6px;
  font-size: 14px;
  text-align: center;
  letter-spacing: 0;
  line-height: var(--leading-normal);
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-bold);
}


@media (min-width: 768px) {
  .makeBlock__text {
    -webkit-margin-before: 8px;
    margin-block-start: 8px;

  }

}

.makeBlock__placeList {
  display: block grid;
  row-gap: 20px;
}

@media (min-width: 768px) {
  .makeBlock__placeList {
    row-gap: 25px;
  }

}


.makeBlock__place a {
  color: var(--color-base-black);
  font-family: var(--font-family-base);
  letter-spacing: var(--tracking-normal);
  line-height: var(--leading-normal);
  font-weight: var(--font-weight-regular);
  font-size: 14px;
  text-decoration: underline;
  display: inline flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

@media (min-width: 768px) {
  .makeBlock__place {
    font-size: 16px;
  }
}



.makeBlock__place a::before {
  content: "";
  background: url(../images/pin.png) no-repeat center / contain;
  width: 19px;
  height: 19px;
  -webkit-margin-end: 16px;
  margin-inline-end: 16px;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;

}

@media (min-width: 768px) {
  .makeBlock__place a::before {
    width: 24px;
    height: 24px;
  }

}





/* ビフォーアフター */
.changeBoxList {
  display: block grid;
  row-gap: 24px;
}

@media (min-width: 768px) {
  .changeBoxList {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}

.changeBox {
  width: 100%;
  height: auto;
  display: block;
}


.changeBox img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 388 / 485;
}

.voiceListSwiperWrapper {
  position: relative;
  -webkit-padding-after: 48px;
  padding-block-end: 48px;
}


@media (min-width: 768px) {
  .voiceList {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 16px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

@media (min-width: 768px) {
  .voiceList.voiceList--row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 0;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }

}




@media (min-width: 768px) {
  .voiceListSwiper2 {
    padding-left: 0;
    overflow: visible;

  }

}

/* @media (min-width: 992px) { */
/* .voiceListSwiper2 { */
/* padding-left: 53vw; */
/*  */
/*  */
/* } */
/*  */
/* } */
/*  */
/*  */
/* @media (min-width: 1200px) { */
/* .voiceListSwiper2 { */
/* padding-left: 27vw; */
/*  */
/* } */
/* } */


@media (min-width: 768px) {
  .voiceListSwiperWrapper.voiceListSwiperWrapper--row {
    width: 100vw;
    overflow: hidden;
    -webkit-padding-after: 0;
    padding-block-end: 0;
  }

}



@media (min-width: 768px) {
  .voiceBoxWrap:first-child .voiceBox {
    max-width: 469px;
    margin-inline: auto;
  }

  .voiceBoxWrap:not(:first-child) {
    max-width: 349px;

  }
}


@media (min-width: 768px) {
  .voiceBoxWrap.voiceBoxWrap--slide2 {
    max-width: 357px;
  }
}

@media (min-width: 768px) {
  .voiceBoxWrap:first-child {
    width: 100%;
  }
}

.swiper-pagination.voicePagination {
  bottom: 0;
}


@media (min-width: 768px) {
  .swiper-pagination.voicePagination {
    display: none;
  }
}

.swiper-pagination-bullet {
  width: 24px;
  height: 24px;
  background-color: var(--color-gray);
  opacity: 1;
  -webkit-box-shadow: 0 4px 4px rgb(0, 0, 0, 0.25);
  box-shadow: 0 4px 4px rgb(0, 0, 0, 0.25);

}

.swiper-pagination-bullet-active {
  background-color: var(--color-primary);

}


.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 8px);
}


@media (min-width: 768px) {
  .voicePagination2 {
    display: none;
  }
}

/* =================== */
/*  フッター　　　      */
/* =================== */


.footer {
  padding-block: 61px 40px;
  background-color: var(--color-white2);
}

@media (min-width: 768px) {
  .footer {
    padding-block: 40px;
  }
}

@media (min-width: 992px) {
  .footer__blockInner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
}


.footer__logo img {
  width: 100%;
  height: auto;
  display: block;
}

.footer__logo {
  max-width: 193px;
  width: 100%;
  margin-inline: auto;
  display: block;
}

@media (min-width: 992px) {
  .footer__logo {
    -webkit-margin-start: initial;
    margin-inline-start: initial;

  }
}


.footer__nav {
  display: block flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-margin-before: 56px;
  margin-block-start: 56px;

}

@media (min-width: 992px) {
  .footer__nav {
    -webkit-margin-before: initial;
    margin-block-start: initial;
    -webkit-margin-start: 20px;
    margin-inline-start: 20px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 32px;
  }
}

.footer__navLink+.footer__navLink {
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
}

@media (min-width: 992px) {
  .footer__navLink+.footer__navLink {
    -webkit-margin-before: 0;
    margin-block-start: 0;

  }

}

.footer__navLink {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  color: var(--color-base-black);
  font-size: 16px;
  font-weight: var(--font-weight-bold);
  line-height: var(--leading-normal);
  letter-spacing: var(--tracking-normal);
  font-family: var(--font-family-base);
}


.footer__cta {
  margin-top: 40px;
}


.footer__sns {
  display: block grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 30px;
  -moz-column-gap: 30px;
  column-gap: 30px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  max-width: 224px;
  margin-inline: auto;
  -webkit-margin-before: 56px;
  margin-block-start: 56px;

}

@media (min-width: 992px) {
  .footer__sns {
    -webkit-margin-before: 40px;
    margin-block-start: 40px;

  }
}

.footer__snsIcon {
  display: block grid;
  max-width: 54px;
  width: 100%;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.footer__snsIcon a {
  display: block;
}




.footer__text {
  font-family: var(--font-family-modern);
  font-size: 16px;
  font-weight: var(--font-weight-regular);
  line-height: var(--leading-normal);
  letter-spacing: var(--tracking-normal);
  color: var(--color-base-black);
  -webkit-margin-before: 24px;
  margin-block-start: 24px;
  text-align: center;
  display: block;
}




/* =================== */
/*  topページ　　　　　  */
/* =================== */


.fv {
  position: relative;
  z-index: 1;
  -webkit-padding-before: 90px;
  padding-block-start: 90px;
}

@media (min-width: 992px) {
  .fv {
    -webkit-padding-before: 0;
    padding-block-start: 0;
  }


}

.fv::after {
  position: absolute;
  content: "";
  inset: 0;
  width: 100%;
  height: 100%;
  background: url(../images/fvbg-sp.png) no-repeat center / cover;
  z-index: -1;

}

.fv__contents {
  -webkit-margin-start: 24px;
  margin-inline-start: 24px;
  min-width: 328px;
  max-width: 400px;
  margin-inline: auto;

}

/* @media (min-width: 576px) { */
/* .fv__contents { */
/* max-width: ; */
/* } */
/* } */

@media (min-width: 768px) {
  .fv__contents {
    max-width: 700px;
  }

}

@media (min-width: 992px) {
  .fv__contents {
    display: block flex;
    max-width: initial;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 960px;
  }
}


.fv__img {
  -webkit-margin-before: -28px;
  margin-block-start: -28px;
  max-width: 74%;

  -webkit-margin-start: auto;

  margin-inline-start: auto;
}



@media (min-width: 768px) {
  .fv__img {
    max-width: 501px;
    -webkit-margin-before: -64px;
    margin-block-start: -64px;
  }
}


@media (min-width: 992px) {
  .fv__img {
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }
}

.fv__img img {
  aspect-ratio: 243/ 323;
  -o-object-fit: contain;
  object-fit: contain;
  height: 100%;
}

@media (min-width: 768px) {
  .fv__img img {
    aspect-ratio: 501/669;
  }
}


@media (min-width: 768px) {
  .fv__copyBox {
    -webkit-margin-end: 0;
    margin-inline-end: 0;
  }
}

@media (min-width: 992px) {
  .fv__copyBox {
    -webkit-margin-end: -50px;
    margin-inline-end: -50px;
  }
}




.fv__copy {
  font-family: var(--font-family-zen);
  color: var(--color-base-black);
  font-size: 32px;
  font-weight: var(--font-weight-bold);
  line-height: var(--leading-normal);
  letter-spacing: var(--tracking-normal);
}

@media (min-width: 768px) {
  .fv__copy {
    font-size: 64px;
    --leading-normal: 1.5;
  }

}

.fv__nameBox {
  position: absolute;
  bottom: calc(50% - 132px);
  display: block grid;
}


@media (min-width: 992px) {
  .fv__nameBox {
    position: static;
    -webkit-margin-before: 42px;
    margin-block-start: 42px;

  }
}

.fv__job {
  font-family: var(--font-family-zen);
  color: var(--color-primary);
  font-size: 12px;
  font-weight: var(--font-weight-bold);
  line-height: var(--leading-normal);
  letter-spacing: var(--tracking-normal);

}

@media (min-width: 768px) {
  .fv__job {
    font-size: 20px;
  }


}

.fv__name {
  font-family: var(--font-family-zen);
  color: var(--color-base-black);
  font-size: 16px;
  font-weight: var(--font-weight-bold);
  line-height: var(--leading-normal);
  letter-spacing: var(--tracking-normal);
  -webkit-margin-before: 8px;
  margin-block-start: 8px;
}


@media (min-width: 768px) {
  .fv__name {
    font-size: 36px;

  }


}





.message__contents {
  max-width: 600px;
  margin-inline: auto;
  width: 100%;
}

@media (min-width: 768px) {
  .message__contents {
    max-width: 800px;
  }


}


.message__title {
  text-align: center;
  font-size: 20px;
  font-weight: var(--font-weight-bold);
}

@media (min-width: 768px) {
  .message__title {
    font-size: 24px;
  }


}

.message__text {
  text-align: center;
  -webkit-margin-before: 24px;
  margin-block-start: 24px
}


@media (min-width: 768px) {
  .message__text {
    -webkit-margin-before: 56px;
    margin-block-start: 56px;
    font-size: 24px;
  }
}



/* about me */

.about__prifile {
  -webkit-margin-before: 80px;
  margin-block-start: 80px;
  max-width: 600px;
  width: 100%;
  margin-inline: auto;
}


@media (min-width: 768px) {
  .about__prifile {
    max-width: 100%;
    -webkit-margin-before: 120px;
    margin-block-start: 120px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 36px;
    -moz-column-gap: 36px;
    column-gap: 36px;
  }
}


.about__img {
  max-width: 294px;
  width: 100%;
  margin-inline: auto;
}


@media (min-width: 768px) {
  .about__img {
    max-width: 340px;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }


}

@media (min-width: 992px) {
  .about__img {
    max-width: 483px;

  }


}

.about__bottom {
  max-width: 600px;
  margin-inline: auto;
  width: 100%;
  -webkit-margin-before: 80px;
  margin-block-start: 80px;
}

@media (min-width: 768px) {
  .about__bottom {
    -webkit-margin-before: 80px;
    margin-block-start: 80px;
    max-width: 980px;
  }


}


.about__largeText {
  font-size: 24px;
  font-weight: var(--font-weight-bold);
  --tracking-normal: 0;
}

@media (min-width: 768px) {
  .about__largeText {


    font-size: 32px;

  }
}





.about__bottomText {
  -webkit-margin-before: 42px;
  margin-block-start: 42px;
  --tracking-normal: 0;
}

@media (min-width: 768px) {
  .about__bottomText {
    -webkit-margin-before: 16px;
    margin-block-start: 16px;
  }
}



/* before after */


.introduction__content {
  -webkit-margin-before: 80px;
  margin-block-start: 80px;
  max-width: 600px;
  margin-inline: auto;
}

@media (min-width: 768px) {
  .introduction__content {
    max-width: 800px;
    -webkit-margin-before: 120px;
    margin-block-start: 120px;
  }
}

.introduction__text {
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
  text-align: center;
}

@media (min-width: 768px) {
  .introduction__text {
    -webkit-margin-before: 80px;
    margin-block-start: 80px;

  }
}

.introduction__button {
  max-width: 326px;
  margin-inline: auto;
  -webkit-margin-before: 80px;
  margin-block-start: 80px;
}

@media (min-width: 768px) {
  .introduction__button {
    max-width: 344px;

  }
}




/* お客様の声 */
@media (min-width: 768px) {
  .voice {
    -webkit-padding-after: 32px;
    padding-block-end: 32px;
  }
}

.voice__content {
  -webkit-margin-before: 80px;
  margin-block-start: 80px;
  max-width: 600px;
  margin-inline: auto;
}


@media (min-width: 768px) {
  .voice__content {
    max-width: initial;
  }

}

.voice+.ctaSection {
  -webkit-padding-before: 0;
  padding-block-start: 0;
  background-color: var(--color-white2);
}



/* flow */
.flow {
  -webkit-padding-before: 120px;
  padding-block-start: 120px;
}

.flow__contents {
  max-width: 600px;
  margin-inline: auto;
  width: 100%;
}

@media (min-width: 768px) {
  .flow__contents {
    max-width: 100%;
  }


}

.flow__content {
  -webkit-margin-before: 80px;
  margin-block-start: 80px;
}


.flow__ctaArea {
  -webkit-margin-before: 80px;
  margin-block-start: 80px;

}


/* よくある質問 */
.question {
  -webkit-padding-before: 0;
  padding-block-start: 0;
}

@media (min-width: 768px) {
  .question:has(+.ctaSection) {
    -webkit-padding-after: 80px;
    padding-block-end: 80px;
  }


}

.question+.ctaSection {
  -webkit-padding-before: 0;
  padding-block-start: 0;
}


.question__contents {
  max-width: 600px;
  margin-inline: auto;
  width: 100%;
}

@media (min-width: 768px) {
  .question__contents {
    max-width: 960px;
  }
}

.question__content {
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
}


@media (min-width: 768px) {
  .question__content {
    -webkit-margin-before: 120px;
    margin-block-start: 120px;
  }


}

.question__subTitle {
  font-family: var(--font-family-inter);
  letter-spacing: 0;
}

@media (min-width: 768px) {
  .question__subTitle {
    font-size: 24px;
  }
}

.question__block {
  -webkit-margin-before: 16px;
  margin-block-start: 16px;

}

@media (min-width: 768px) {
  .question__block {
    -webkit-margin-before: 24px;
    margin-block-start: 24px;
  }

}


.question__block+.question__subTitle {
  -webkit-margin-before: 40px;
  margin-block-start: 40px;

}

@media (min-width: 768px) {
  .question__block+.question__subTitle {
    -webkit-margin-before: 80px;
    margin-block-start: 80px;
  }


}




/* =================== */
/*  service　　　　　  */
/* =================== */

.service {
  overflow: hidden;
}



@media (min-width: 768px) {
  .service+.price {
    -webkit-padding-before: 0;
    padding-block-start: 0;
  }

}

.service__contents {
  max-width: 600px;
  margin-inline: auto;
  width: 100%;
}

@media (min-width: 768px) {
  .service__contents {
    max-width: 100%;
  }
}


.service__content {
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
}

.service__echoBox {
  max-width: 800px;
  margin-inline: auto;
  width: 100%;
}


.serviceBlock__layer {
  position: relative;
  z-index: 0;
}


@media (min-width: 768px) {
  .serviceBlock.serviceBlock--2 {
    -webkit-padding-before: 96px;
    padding-block-start: 96px;
  }
}


.serviceBlock__layer::before {
  content: "";
  background: url(../images/blob01.png) no-repeat center / contain;
  position: absolute;
  left: -94px;
  top: 163px;
  width: 235px;
  height: 252px;
  z-index: -1;
}

@media (min-width: 768px) {
  .serviceBlock__layer::before {
    left: -174px;
    top: 72px;
    width: 454px;
    height: 483px;
  }

}

.serviceBlock__layer::after {
  content: "";
  background: url(../images/blob02.png) no-repeat center / contain;
  position: absolute;
  right: -57px;
  bottom: -94px;
  width: 175px;
  height: 188px;
  z-index: -1;
}


@media (min-width: 768px) {
  .serviceBlock__layer::after {
    right: -56px;
    bottom: -196px;
    width: 324px;
    height: 348px;
  }


}

.serviceBlock__blocks {
  -webkit-margin-before: 134px;
  margin-block-start: 134px;
  display: block grid;
  row-gap: 62px;
}

@media (min-width: 768px) {
  .serviceBlock__blocks {
    -webkit-margin-before: 161px;
    margin-block-start: 161px;
    grid-template-columns: repeat(2, 1fr);
    gap: 80px;
    max-width: 957px;
    margin-inline: auto;
  }
}


.serviceBlock__video {
  overflow: hidden;
  width: 100vw;
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
}

@media (min-width: 768px) {
  .serviceBlock__video {
    width: 100%;
  }

}


.serviceBlock__text {
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
}

@media (min-width: 768px) {
  .serviceBlock__text {
    -webkit-margin-before: 80px;
    margin-block-start: 80px;
  }


}


.serviceBlock__change {
  max-width: 600px;
  margin-inline: auto;
  width: 100%;
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
}

@media (min-width: 768px) {
  .serviceBlock__change {
    max-width: 800px;
    -webkit-margin-before: 80px;
    margin-block-start: 80px;
  }
}

.serviceNone {}


/* 料金表 */

.price+.ctaSection {
  -webkit-padding-before: 0;
  padding-block-start: 0;
}



.price__contents {
  max-width: 600px;
  width: 100%;
  margin-inline: auto;
}

@media (min-width: 768px) {
  .price__contents {
    max-width: 100%;
  }
}



.price__content {
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
  position: relative;
  z-index: 0;

}

@media (min-width: 768px) {
  .price__content {
    -webkit-margin-before: 80px;
    margin-block-start: 80px;

  }
}

.price__cards {
  max-width: 450px;
  margin-inline: auto;
  width: 100%;

}

@media (min-width: 768px) {
  .price__cards {
    max-width: 100%;
  }
}

.price__text {
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
  max-width: 800px;
  width: 100%;
  margin-inline: auto;
}








/* =================== */
/*  ctaセクション　　　  */
/* =================== */

.ctaSection {
  padding-block: 80px;
  background-color: var(--color-white);
}

@media (min-width: 768px) {
  .ctaSection {
    padding-block: 120px;
  }

}


.ctaSection.ctaSection--gray {
  background-color: var(--color-white2);
}

.ctaSection:has(+.commonContents) {
  -webkit-padding-after: 120px;
  padding-block-end: 120px;

}



/* =================== */
/*  ブログ一覧          */
/* =================== */


.news+.ctaSection {
  -webkit-padding-before: 0;
  padding-block-start: 0;
}


.news__content {
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
}

@media (min-width: 768px) {
  .news__content {
    -webkit-margin-before: 120px;
    margin-block-start: 120px;
  }

}


.news__text {
  max-width: 800px;
  margin-inline: auto;
}

.news__cards {
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
}

@media (min-width: 768px) {
  .news__cards {
    -webkit-margin-before: 120px;
    margin-block-start: 120px;
  }

}

.news__pagination {
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
  text-align: center;
  max-width: 800px;
  margin-inline: auto;

}

@media (min-width: 768px) {
  .news__pagination {
    -webkit-margin-before: 80px;
    margin-block-start: 80px;
  }


}


/* =================== */
/*  business          */
/* =================== */

.business {
  -webkit-padding-after: 40px;
  padding-block-end: 40px;
}


@media (min-width: 768px) {
  .business {
    -webkit-padding-after: 80px;
    padding-block-end: 80px;
  }


}

.business+.ctaSection {
  -webkit-padding-before: 0;
  padding-block-start: 0;
}

.business__contents {
  max-width: 600px;
  margin-inline: auto;
}

@media (min-width: 768px) {
  .business__contents {
    max-width: 800px;
  }

}

.descriptionBlock__blocks {
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
}

@media (min-width: 768px) {
  .descriptionBlock__blocks {
    -webkit-margin-before: 80px;
    margin-block-start: 80px;
  }
}





/* =================== */
/*  記事詳細　　　　　  */
/* =================== */




.single__contents {
  display: block;
}

@media (min-width: 992px) {
  .single__contents {
    display: block flex;
    -webkit-column-gap: 40px;
    -moz-column-gap: 40px;
    column-gap: 40px;

  }
}


.single__main {
  background-color: var(--color-white);
}

@media (min-width: 992px) {
  .single__main {
    background-color: var(--color-white2);
    padding: 120px 24px;

  }
}

.single__thumbnail {
  border-radius: 10px;
  overflow: hidden;
  width: 100%;
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
}



/* .single__thumbnail img { */
/* aspect-ratio: 1; */
/* object-fit: cover; */
/* height: 100%; */
/* } */
/*  */
/* @media (min-width: 768px) { */
/* .single__thumbnail img { */
/* aspect-ratio: 800 / 450; */
/*  */
/* } */
/* } */


.single__mainTitle {
  font-family: var(--font-family-base);
  letter-spacing: var(--tracking-normal);
  line-height: var(--leading-normal);
  font-weight: var(--font-weight-bold);
  font-size: 20px;
  color: var(--color-base-black);
  text-align: center;
}


@media (min-width: 768px) {
  .single__mainTitle {
    font-size: 32px;
  }
}


.single__time {
  text-align: right;
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
  letter-spacing: var(--tracking-normal);
  line-height: var(--leading-normal);
  font-weight: var(--font-weight-regular);
  font-size: 16px;
  color: var(--color-base-black);
  display: block;
}


.single__content p {
  font-size: 16px;
  letter-spacing: var(--tracking-normal);
  line-height: var(--leading-normal);
  font-weight: var(--font-weight-regular);
  color: var(--color-base-black);
  margin-block: 10px;
}

.single__content :where(h1, h2, h3, h4, h5, h6) {
  color: var(--color-base-black);
  -webkit-margin-before: 20px;
  margin-block-start: 20px;
  letter-spacing: var(--tracking-normal);
  line-height: var(--leading-normal);
  font-weight: var(--font-weight-regular);
}

.single__content h1 {
  font-size: 20px;
}

@media (min-width: 768px) {
  .single__content h1 {
    font-size: 28px;
  }
}

.single__content h2 {
  font-size: 18px;
  background-color: var(--color-primary);
  color: var(--color-white);
  padding: 2px 16px;
}

@media (min-width: 768px) {
  .single__content h2 {
    font-size: 24px;
  }
}



.single__content h3 {
  font-size: 17px;
  border-left: 2px solid var(--color-primary);
  -webkit-padding-start: 8px;
  padding-inline-start: 8px;
}

@media (min-width: 768px) {
  .single__content h3 {
    font-size: 20px;
  }
}

.single__content :where(h4, h5, h6) {
  font-size: 16px;
}

@media (min-width: 768px) {
  .single__content :where(h4, h5, h6) {
    font-size: 17px;
  }
}

.single__content img {
  margin-block: 10px;
}

.single__content :where(ul, ol) {
  list-style: unset;
  -webkit-padding-start: 20px;
  padding-inline-start: 20px;
  margin-block: 10px;
}

.single__content ol {
  list-style: decimal;

}

.single__content a {
  text-decoration: underline;
  color: var(--color-blue);
  margin-block: 10px;
}

.single__side {
  width: 100%;
  max-width: 600px;
  margin-inline: auto;
  -webkit-margin-before: 80px;
  margin-block-start: 80px;
}

@media (min-width: 992px) {
  .single__side {
    max-width: 300px;
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }

}

.single__pagenation {
  max-width: 326px;
  margin-inline: auto;
  width: 100%;
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
  display: block grid;
  row-gap: 20px;
}

@media (min-width: 768px) {
  .single__pagenation {
    max-width: 344px;
  }
}

.singlePagenation__inner {
  display: block grid;
  row-gap: 20px;
}



.singlePagenation__link.singlePagenation__link--prev {
  padding: 18px 64px 18px 24px;
}


.single+.ctaSection {
  display: block;
}

@media (min-width: 768px) {
  .single+.ctaSection {
    display: none;
  }


}

.single__innerCta {
  display: none;
}

@media (min-width: 768px) {
  .single__innerCta {
    display: block;
    -webkit-margin-before: 80px;
    margin-block-start: 80px;
  }
}




.commonSide__links {
  display: block grid;
  row-gap: 30px;
  -webkit-margin-before: 30px;
  margin-block-start: 30px;
}

.commonSide__title {
  font-size: 16px;
  letter-spacing: var(--tracking-normal);
  line-height: var(--leading-normal);
  font-weight: var(--font-weight-bold);
  color: var(--color-white);
  display: block;
  text-align: center;
  padding: 8px;
  background-color: var(--color-brown);
}



.middleCard {
  display: block flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}


.middleCard__img {
  max-width: 91px;
  width: 100%;
  -webkit-margin-end: 20px;
  margin-inline-end: 20px;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.middleCard__img img {
  aspect-ratio: 1;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}


.middleCard__title {
  font-size: 16px;
  font-family: var(--font-family-base);
  letter-spacing: var(--tracking-normal);
  line-height: var(--leading-normal);
  font-weight: var(--font-weight-bold);
  color: var(--color-base-black);
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.middleCard__box time {
  font-size: 14px;
  font-family: var(--font-family-base);

  letter-spacing: var(--tracking-normal);
  line-height: var(--leading-normal);
  font-weight: var(--font-weight-regular);
  color: var(--color-base-black);
  -webkit-margin-before: 10px;
  margin-block-start: 10px;
}




/* =================== */
/*  contact          */
/* =================== */


.contact__contents {
  -webkit-padding-before: 40px;
  padding-block-start: 40px;
}

@media (min-width: 768px) {
  .contact__contents {
    -webkit-padding-before: 24px;
    padding-block-start: 24px;
  }


}

.contact__content {
  -webkit-margin-before: 80px;
  margin-block-start: 80px;
}


@media (min-width: 768px) {
  .contact__echoBox {
    max-width: 800px;
    width: 100%;
    margin-inline: auto;
  }
}

.contact__form {
  -webkit-padding-before: 80px;
  padding-block-start: 80px;
  width: 100%;
  margin-inline: auto;
  max-width: 600px;
}


@media (min-width: 768px) {
  .contact__form {
    max-width: 800px;
  }
}


.contact__labelWrap {
  display: block flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 16px;
  -moz-column-gap: 16px;
  column-gap: 16px;
}

.contact__label {
  position: relative;
}

.contact__required {
  border-radius: 5px;
  color: var(--color-white);
  background-color: var(--color-blue);
  font-size: 12px;
  letter-spacing: var(--tracking-normal);
  line-height: var(--leading-normal);
  font-weight: var(--font-weight-bold);
  font-family: var(--font-family-base);
  display: inline flow-root;
  padding: 2px 8px;
  min-width: 42px;
}



.contact__form label {
  font-size: 16px;
  color: var(--color-base-black);
  letter-spacing: var(--tracking-normal);
  line-height: var(--leading-normal);
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-bold);
  display: inline flow-root;


}

.contact__labelWrap {
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
}

.contact__labelWrap span {
  cursor: pointer;

}

.contact__form input:where([type="text"], [type="email"]) {
  border: 2px solid var(--color-primary);
  width: 100%;
  border-radius: 5px;
  height: 56px;
  padding: 16px 13px;
  -webkit-margin-before: 16px;
  margin-block-start: 16px;
  font-size: 16px;
}

.contact__form textarea {
  border: 2px solid var(--color-primary);
  width: 100%;
  border-radius: 5px;
  -webkit-margin-before: 16px;
  margin-block-start: 16px;
  padding: 16px 13px;
  font-size: 16px;
}

.contact__form :where(input, textarea)::-webkit-input-placeholder {
  color: var(--color-gray);

}

.contact__form :where(input, textarea)::-moz-placeholder {
  color: var(--color-gray);

}

.contact__form :where(input, textarea):-ms-input-placeholder {
  color: var(--color-gray);

}

.contact__form :where(input, textarea)::-ms-input-placeholder {
  color: var(--color-gray);

}

.contact__form :where(input, textarea)::placeholder {
  color: var(--color-gray);

}


.wpcf7-radio {
  display: block grid;
  row-gap: 16px;
  -webkit-margin-before: 24px;
  margin-block-start: 24px;
}

@media (min-width: 768px) {
  .wpcf7-radio {
    display: block flex;
    -webkit-column-gap: 16px;
    -moz-column-gap: 16px;
    column-gap: 16px;

  }

}

.wpcf7-radio .wpcf7-list-item {
  margin: 0;
}


.wpcf7-list-item-label {
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

/* デフォルトのボタン */
input[type="radio"] {
  opacity: 0;
  /* デフォルトのボタンを非表示 */
  position: absolute;
}

/* チェック前のボタン */
.wpcf7-list-item-label::before {
  background: var(--color-white);
  border: 1px solid var(--color-gray);
  border-radius: 100%;
  /* ラジオボタンっぽく丸くする */
  content: "";
  height: 0.85em;
  margin-bottom: auto;
  margin-right: 16px;
  margin-top: auto;
  -webkit-transition: background-color .5s;
  transition: background-color .5s;
  /* 色をじんわり変化させる */
  width: 0.85em;
}

/* チェック後のボタン */
input[type="radio"]:checked+.wpcf7-list-item-label::before {
  background-color: var(--color-primary);
  /* チェック後の中心の色 */
  -webkit-box-shadow: inset 0 0 0 2px #fff;
  box-shadow: inset 0 0 0 2px #fff;
  /* 中心の色のスタイル */
}


.contact__submit {
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
}


.wpcf7-list-item-label {
  font-size: 16px;
  color: var(--color-base-black);
  letter-spacing: var(--tracking-normal);
  line-height: var(--leading-normal);
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-bold);
}



.wpcf7-acceptance {
  display: block;
  width: 100%;
  text-align: center;
}

.contact__check+.wpcf7-list-item-label {
  position: relative;
}

.contact__check+.wpcf7-list-item-label::before {
  border: 1px solid var(--color-base-black);
  border-radius: 5%;

}

.contact__check:checked+.wpcf7-list-item-label::before {
  border: 1px solid var(--color-base-black);
  border-radius: 5%;

}

.contact__check+.wpcf7-list-item-label::after {
  position: absolute;
  content: "";
  width: 5px;
  height: 9px;
  border-bottom: 2px solid var(--color-primary);
  border-right: 2px solid var(--color-primary);
  top: 9px;
  rotate: 45deg;
  left: 5px;
  display: block;
  opacity: 0;

}

.contact__check:checked+.wpcf7-list-item-label::after {
  opacity: 1;
}







.contact__textBox {
  width: 100%;
  max-width: 500px;
  margin-inline: auto;
  border: 1px solid var(--color-base-black);
  border-radius: 5px;
  padding: 24px;
  overflow-y: scroll;
  height: 244px;
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
}

@media (min-width: 768px) {
  .contact__textBox {
    width: 594px;
    height: 310px;
    padding: 24px 16px;
  }

}

.contact__textBox p {
  font-size: 14px;
  color: var(--color-base-black);
  letter-spacing: var(--tracking-normal);
  line-height: var(--leading-normal);
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-regular);
}



/* =================== */
/*  404ページ　　　      */
/* =================== */

.error__contents {
  max-width: 600px;
  margin-inline: auto;
}

@media (min-width: 768px) {
  .error__contents {
    max-width: 796px;
  }
}

.error__text {
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
}

@media (min-width: 768px) {
  .error__text {
    -webkit-margin-before: 80px;
    margin-block-start: 80px;
  }

}

.error__button {
  -webkit-margin-before: 40px;
  margin-block-start: 40px;
  max-width: 290px;
  margin-inline: auto;
}

@media (min-width: 768px) {
  .error__button {
    -webkit-margin-before: 120px;
    margin-block-start: 120px;
    max-width: 345px;
  }
}