@charset "utf-8";

/* 共通のデザイン */
html {
  font-size: 16px;
}

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

body {
  margin: 0;
  padding: 0;
}

a {
  display: block;
  text-decoration: none;
}

a:link,
a:visited,
a:hover,
a:active {
  color: #1f6ca1;
}

a:hover {
  opacity: .75;
}

.underline-link {
  display: inline-block;
  position: relative;
}

.underline-link::after {
  background-color: #1f6ca1;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease;
  width: 100%;
}

.underline-link:hover::after {
  transform: scaleX(1);
}

.underline-link:hover {
  opacity: 1;
}

ul,
dl,
ol {
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

p,
dt,
dd {
  margin: 0;
  padding: 0;
}

th,
td {
  vertical-align: top;
}

figure {
  margin: 0;
  padding: 0;
}

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

iframe {
  margin: 0;
  padding: 0;
}

.access__map {
  aspect-ratio: 16 / 9;
  height: auto;
  vertical-align: bottom;
  width: 100%;
}

details summary {
  cursor: pointer;
}

button {
  background: transparent;
  border: 0;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.uppercase {
  text-transform: uppercase;
}

.mobile {
  display: none;
}

@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }

  .mobile {
    display: block;
  }
}

.hidden {
  display: none;
}

.alignfull {
  margin-left: calc((100vw - 100%) / 2 * -1) !important;
  margin-right: calc((100vw - 100%) / 2 * -1) !important;
}

.wp-block-image {
  margin: 0;
  padding: 0;
}

.wp-block-image :where(figcaption) {
  margin-bottom: 0;
  margin-top: 0;
}

/* レアリス全体のデザイン */
body {
  background: #fff9f3;
  color: #363636;
  font-family: "Shippori Mincho", serif;
  font-feature-settings: "halt";
  line-height: 2;
  margin: 0 auto;
  text-align: center;
  width: 100%;
}

/* ヘッダーとフッターの共通ロゴ */
.logo {
  color: #1f6ca1;
  font-size: 20px;
  font-weight: 700;
}

.logo a {
  align-items: center;
  display: flex;
}

.logo a img {
  flex: 0 0 56px;
  margin-right: 8px;
  width: 56px;
}

/* ヘッダー */
.header {
  align-items: center;
  background-color: #fffcf9;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .05);
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 96px;
  justify-content: center;
  padding-left: 3%;
  padding-right: 3%;
}

@media screen and (max-width: 767px) {
  .header {
    flex-direction: row;
    height: 64px;
    justify-content: space-between;
    padding-right: 0;
    padding-right: 0;
  }
}

.header__logo {
  padding-right: 3%;
}

.header__menu a:link,
.header__menu a:visited,
.header__menu a:active {
  color: #9c9c9c;
}

/* ハンバーガーメニュー */
@media screen and (max-width: 767px) {
  .hamburger-menu__icon--open {
    align-items: center;
    cursor: pointer;
    display: flex;
    height: 64px;
    justify-content: center;
    position: relative;
    width: 64px;
    z-index: 999;
  }

  .hamburger-menu__icon--open span {
    background: #9c9c9c;
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    transition: .5s;
    width: 30px;
  }

  .hamburger-menu__icon--open span:nth-child(1) {
    top: 16px;
  }

  .hamburger-menu__icon--open span:nth-child(2) {
    top: 22px;
  }

  .hamburger-menu__icon--open span:nth-child(3) {
    top: 28px;
  }

  #hamburger-menu__icon:checked~.hamburger-menu__icon--open span:nth-child(2) {
    background: rgba(255, 255, 255, 0);
  }

  #hamburger-menu__icon:checked~.hamburger-menu__icon--open span:nth-child(1) {
    top: 22px;
    transform: rotate(45deg);
  }

  #hamburger-menu__icon:checked~.hamburger-menu__icon--open span:nth-child(3) {
    top: 22px;
    transform: rotate(-45deg);
  }

  .hamburger-menu__text {
    color: #9c9c9c;
    display: block;
    font-size: 10px;
    font-weight: bold;
    position: absolute;
    text-transform: uppercase;
    top: 36px;
  }
}

/* ヘッダーのメニュー */
#menu-main-menu {
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem;
  display: -ms-grid;
  display: grid;
  font-size: .75rem;
  -ms-grid-columns: auto 1.5rem auto 1.5rem auto 1.5rem auto 1.5rem auto 1.5rem auto 1.5rem auto 1.5rem auto 1.5rem auto 1.5rem auto;
  grid-template-columns: repeat(10, auto);
  line-height: 1.5;
  row-gap: .125rem;
}

.menu-main-menu-container a:hover {
  color: #1f6ca1;
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .menu-main-menu-container {
    background: rgba(255, 255, 255, .9);
    left: 100%;
    padding-bottom: 64px;
    padding-top: 64px;
    position: fixed;
    top: 0;
    transition: .5s;
    width: 80%;
    z-index: 998;
  }

  #hamburger-menu__icon:checked~.menu-main-menu-container {
    left: 20%;
  }

  #menu-main-menu {
    display: flex;
    flex-direction: column;
    font-size: 1rem;
    row-gap: 1rem;
  }
}

/* フッターのデザイン */
.footer {
  background-color: #eff6f6;
  color: #1f6ca1;
  padding: 32px 0 160px;
}

.footer__menu-area {
  display: flex;
  justify-content: space-between;
  margin: auto;
  margin-bottom: 64px;
  max-width: 640px;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .footer__menu-area {
    align-items: center;
    flex-direction: column;
    gap: 32px;
    text-align: center;
  }
}

.footer__menu {
  display: flex;
  font-size: .75rem;
  gap: 2rem;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .footer__menu {
    flex-direction: column;
    width: 88vw;
  }
}

.footer__menu-block {
  display: flex;
  flex-direction: column;
  gap: .875rem;
}

@media screen and (max-width: 767px) {
  .footer__menu-block {
    border-top: #ceebeb 1px solid;
    padding-top: 32px;
  }
}

.footer__menu-small {
  font-size: .625rem;
}

.footer__copy {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: .75rem;
  gap: 16px;
  justify-content: center;
}

.footer__copy::before {
  background-image: url(../img/line--blue.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 8px;
  width: 640px;
}

@media screen and (max-width: 767px) {
  .footer__copy::before {
    width: 88vw;
  }
}

/* 固定ボタンのデザイン */
#fix_button {
  bottom: 0;
  left: 50%;
  max-width: 358px;
  position: fixed;
  transform: translateX(-50%);
  width: 100vw;
  z-index: 999;
}

#fix_button a:hover {
  opacity: 1;
}

/* メインコンテンツ */
.main {
  margin: auto;
  max-width: 640px;
  padding-bottom: 128px;
}

.home .main {
  max-width: 704px;
}

@media screen and (max-width: 767px) {
  .main {
    padding-left: 8%;
    padding-right: 8%;
  }
}

.deco {
  width: 64px;
}

.page-title {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin-bottom: 48px;
  margin-top: 64px;
  text-align: center;
}

.home .page-title {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .page-title {
  margin-top: 32px;
  }
}

.page-title--en {
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-size: 2rem;
  font-style: italic;
  font-weight: 700;
  line-height: 1.5;
}

.page-title--jp {
  color: #8e744a;
  font-size: .75rem;
  line-height: 1.5;
}

.page-title::after {
  background-image: url(../img/line--brown.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 8px;
  width: 640px;
}

@media screen and (max-width: 767px) {
  .page-title::after {
    width: 100%;
  }
}

.section-title {
  color: #1f6ca1;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 16px;
  text-align: center;
}

.section-title--border {
  border-bottom: #1f6ca1 1px solid;
  color: #1f6ca1;
  font-weight: bold;
  margin-bottom: 32px;
  padding-bottom: 4px;
}

.tag {
  color: #fff9f3;
  display: inline-block;
  font-size: .75rem;
  line-height: 1.5;
  padding-left: .75rem;
  padding-right: .75rem;
}

/* ボタン共通 */
.button .arrow {
  fill: currentColor;
  height: 16px;
  transition: fill .3s ease;
  width: 14px;
}

.button {
  align-items: center;
  border: 1px solid;
  border-radius: 999px;
  display: inline-flex;
  gap: 1rem;
  justify-content: center;
  line-height: 1.5;
  margin: auto;
  max-width: 326px;
  padding: 1rem 4rem;
  text-align: center;
  transition: background-color .3s ease,
    color .3s ease;
}

a.button--blue:link,
a.button--blue:visited,
a.button--blue:active {
  color: #1f6ca1;
}

.button--blue {
  background: #fff9f3;
  border-color: #1f6ca1;
}

a.button--blue:hover {
  background: #1f6ca1;
  color: #fff9f3;
  opacity: 1;
}

a.button--brown:link,
a.button--brown:visited,
a.button--brown:active {
  color: #fff9f3;
}

.button--brown {
  background: #8e744a;
  border-color: #8e744a;
}

a.button--brown:hover {
  background: #fff9f3;
  color: #8e744a;
  opacity: 1;
}

/* ホーム */
.home .emblem .wp-block-group__inner-container {
  display: flex;
  gap: 8px;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .home .emblem .wp-block-group__inner-container {
    flex-direction: column;
    gap: 16px;
    justify-content: center;
  }
}

.home .emblem img {
  width: 160px;
}

@media screen and (max-width: 767px) {
  .home .emblem img {
    width: 100%;
  }
}

.home .emblem-text {
  color: #8e744a;
  font-size: .625rem;
}

.home .truble {
  background-image: url("../img/truble-back.png");
  background-position: top center;
  background-repeat: repeat-x;
  background-size: contain;
}

@media screen and (max-width: 767px) {
  .home .truble__title {
    margin: auto;
    max-width: 390px;
    padding-left: 8%;
    padding-right: 8%;
  }
}

.home .truble__text {
  margin: auto;
  max-width: 390px;
}

@media screen and (max-width: 767px) {
  .home .truble__text {
    padding-left: 8%;
    padding-right: 8%;
  }
}

.home .point-grid {
  display: -ms-grid;
  display: grid;
  gap: 64px;
  -ms-grid-columns: 1fr 64px 1fr;
  grid-template-columns: repeat(2, 1fr);
}

@media screen and (max-width: 767px) {
  .home .point-grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}

.home .point-item {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 16px;
  text-align: left;
}

.home .point-item__title {
  color: #1f6ca1;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.5;
}

.home .voice-grid {
  display: -ms-grid;
  display: grid;
  gap: 48px;
  -ms-grid-columns: 1fr 32px 1fr 32px 1fr;
  -ms-grid-rows: auto;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto;
}

.home .voice-grid>*:nth-child(1) {
  -ms-grid-column: 1;
  -ms-grid-row: 1;
}

.home .voice-grid>*:nth-child(2) {
  -ms-grid-column: 3;
  -ms-grid-row: 1;
}

.home .voice-grid>*:nth-child(3) {
  -ms-grid-column: 5;
  -ms-grid-row: 1;
}

@media screen and (max-width: 767px) {
  .home .voice-grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}

.home .voice-item {
  display: -ms-grid;
  display: grid;
  gap: 12px;
  grid-row: span 2;
  -ms-grid-row-span: 2;
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
}

@media screen and (max-width: 767px) {
  .home .voice-item {
    display: block;
  }
}

.home .voice-item__title {
  color: #1f6ca1;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .home .voice-item__title {
    margin-bottom: 12px;
  }
}

.home .voice-item__content {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

@media screen and (max-width: 767px) {
  .home .voice-item__content {
    align-items: flex-start;
    flex-direction: row;
  }

  .home .voice-item:nth-of-type(even) .voice-item__content {
    flex-direction: row-reverse;
  }

  .home .voice-item__content img {
    flex: 0 0 155px;
    height: auto;
    width: 155px;
  }
}

.home .voice-item__content p {
  text-align: left;
}

@media screen and (max-width: 767px) {
  .home .voice-item__content p {
    flex: 1;
    font-size: .875rem;
  }
}

.home .home__shops {
  margin-bottom: 96px;
}

.home .shop-all {
  align-items: center;
  -moz-column-gap: 16px;
  column-gap: 16px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 48px;
  row-gap: 32px;
}

.home .shop-item {
  width: 155px;
}

.home .shop-item .shop-name {
  background: #1f6ca1;
  color: #fff9f3;
  font-size: .75rem;
  margin-top: 8px;
}

/* ショップリストスライダー */
.shop-list {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding-top: 64px;
}

/* 404 */
.error404 .main {
  padding-bottom: 128px;
  padding-top: 64px;
}

.error404 .error-num {
  color: #1f6ca1;
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-size: 8rem;
  font-style: italic;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.error404 .title {
  color: #1f6ca1;
  font-size: 1.5rem;
  margin-bottom: 2rem;
}

/* 初めての方へ */
.introduction .flow-item {
  background: #fff;
  border-radius: 8px;
  padding: 16px;
  text-align: left;
}

.introduction .flow-item :where(.wp-block-columns) {
  gap: 16px;
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .introduction .flow-item :where(.wp-block-columns)>div {
    flex-basis: 50% !important;
  }
}

.introduction .flow-item__tag {
  background: #1f6ca1;
}

.introduction .flow-item__title {
  border-bottom: #1f6ca1 1px solid;
  color: #1f6ca1;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 8px;
}

.introduction .flow-item .wp-block-columns p {
  font-size: .875rem;
}

/* 有名人の推薦の声 */
.recommend .recommend-item {
  gap: 16px;
  margin: auto;
  max-width: 390px;
}

.recommend :where(.wp-block-columns) {
  margin-bottom: 0;
}

.recommend .recommend-item__text {
  text-align: left;
}

.recommend .recommend-item__tag {
  background: #8e744a;
}

.recommend .recommend-item__name {
  align-items: flex-end;
  display: flex;
  gap: 4px;
  line-height: 1;
}

.recommend .recommend-item__name::after {
  content: "さん";
  font-size: .625rem;
  margin-left: .25rem;
}

/* メニュー */
.menu .course-item {
  text-align: left;
}

.menu .course-item__tag {
  background: #1f6ca1;
}

.menu .course-item__title {
  border-bottom: #1f6ca1 1px solid;
  color: #1f6ca1;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.5;
  padding-bottom: .5rem;
}

.menu .course-item__price {
  color: #1f6ca1;
  font-size: .75rem;
  line-height: 1.5;
}

.menu .course-item__text {
  text-align: left;
}

/* よくある質問(初めての方へと共通) */
.question__details {
  border: #1f6ca1 1px solid;
  border-radius: 8px;
  padding: 16px;
  text-align: left;
}

.question__summary {
  display: block;
  padding: .5rem;
}

.question__summary::-webkit-details-marker {
  display: none;
}

.summary_inner {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.summary_q {
  align-items: flex-start;
  color: #1f6ca1;
  display: flex;
  flex: 1 1 auto;
  flex-direction: row;
  font-weight: bold;
  justify-content: flex-start;
}

.summary_q::before {
  content: "Q";
  flex: 0 0 1rem;
  margin-right: .5rem;
}

.question__text {
  align-items: flex-start;
  border-top: #1f6ca1 1px solid;
  display: flex;
  flex: 1 1 auto;
  flex-direction: row;
  justify-content: flex-start;
  padding: 1rem .5rem;
}

.question__text::before {
  content: "A";
  flex: 0 0 1rem;
  margin-right: .5rem;
}

/* 店舗一覧　個別の店舗　共通 */
.shop .shop-item,
.shop-post .access__date {
  display: flex;
  flex-direction: column;
  gap: 48px;
}

.shop .shop-item__row-group,
.shop-post .access__text {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.shop .shop-item__button-group,
.shop-post .access__button-group {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.shop-item .button--blue,
.shop-post .button--blue {
  max-width: 100%;
  width: 60vw;
}

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

  .shop-item .button--blue,
  .shop-post .button--blue {
    width: 100%;
  }
}

.shop .shop-item__sns,
.shop-post .access__sns {
  align-items: center;
  display: flex;
  gap: 24px;
  justify-content: center;
}

.shop .sns-icon,
.shop-post .sns-icon {
  width: 32px;
}

/* 店舗一覧 */
.shop .shop__menu {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 128px;
}

.shop .area-name {
  align-items: center;
  display: inline-flex;
}

.shop .area-name::before {
  background-image: url("../img/pin.png");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  flex: 0 0 12px;
  height: 24px;
  margin-right: .5rem;
  width: 24px;
}

.shop .shop-all,
.shop .shop-item-all {
  display: flex;
  flex-direction: column;
  gap: 128px;
}

.shop .shop-area {
  margin: auto;
  max-width: 390px;
}

.shop .shop-area .area-name {
  margin-bottom: 16px;
  width: 100%;
}

.shop .shop-item__row-group .row {
  align-items: flex-start;
  -moz-column-gap: .5rem;
  column-gap: .5rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 72px .5rem 1fr;
  grid-template-columns: 72px 1fr;
  row-gap: 0;
  text-align: left;
}

.shop .shop-item__tag {
  background: #1f6ca1;
  flex: 0 0 72px;
  margin-top: .4375rem;
  text-align: center;
  width: 72px;
}

/* 個別の店舗 */
.shop-post .main {
  margin: auto;
  max-width: 390px;
}

.shop-post .shop-mv-all {
  position: relative;
}

.shop-post .mv__button {
  position: absolute;
  bottom: 64px;
}

.shop-post .section-title {
  align-items: center;
  display: flex;
  flex-direction: column;
}

.shop-post .section-title::after {
  background-image: url(../img/line--blue.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 8px;
  width: 100%;
}

.shop-post .section-title--border {
  margin-bottom: 8px;
}

.shop-post .access__date {
  padding-top: 32px;
}

.shop-post .access__text {
  text-align: left;
}

.shop-post #fix_button {
  align-items: center;
  -moz-column-gap: 8px;
  column-gap: 8px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 8px 1fr;
  grid-template-columns: 1fr 1fr;
  justify-content: center;
  margin: auto;
  max-width: 358px;
  padding-bottom: 8px;
  padding-top: 32px;
  width: 94%;
}

.shop-post .question__details {
  border: none;
  padding: 0;
}

.shop-post .question__summary {
  background: #e5f5f5;
  border: none;
  margin-bottom: 1rem;
  padding: .5rem;
}

.shop-post .question__text {
  padding: 0 1rem 32px;
}

.shop-post .question__summary {
  display: block;
}

.shop-post .question__summary::-webkit-details-marker {
  display: none;
}

.shop-post .summary_inner {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.shop-post .summary_q {
  align-items: flex-start;
  display: flex;
  flex: 1 1 auto;
  flex-direction: row;
  font-weight: bold;
  justify-content: flex-start;
}

.shop-post .summary_q::before {
  color: #1f6ca1;
  content: "Q";
  flex: 0 0 1rem;
  margin-right: .5rem;
}

.shop-post .summary_icon {
  display: block;
  flex: 0 0 16px;
  margin-left: 6px;
  position: relative;
  transform-origin: center 43%;
  transition: transform .4s;
  width: 16px;
}

.shop-post .summary_icon::before {
  left: 0;
  transform: rotate(45deg);
}

.shop-post .summary_icon::after {
  right: 0;
  transform: rotate(-45deg);
}

.shop-post .summary_icon::before,
.shop-post .summary_icon::after {
  background-color: #1f6ca1;
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  width: 10px;
}

.shop-post details[open] .summary_icon {
  transform: rotate(180deg);
}

/* スタッフ紹介 */
.staff .staff-item>.wp-block-group__inner-container {
  align-items: center;
  display: flex;
  gap: 48px;
}

@media screen and (max-width: 767px) {
  .staff .staff-item>.wp-block-group__inner-container {
    flex-direction: column;
    gap: 16px;
  }
}

.staff .staff-item__img {
  flex: 0 0 240px;
}

.staff .staff-item__img img {
  width: 240px;
}

@media screen and (max-width: 767px) {
  .staff .staff-item__img img {
    width: 160px;
  }
}

.staff .staff-item__text-group {
  text-align: left;
}

@media screen and (max-width: 767px) {
  .staff .staff-item__text-group {
    text-align: center;
  }
}

.staff .staff-item__name--jp {
  color: #1f6ca1;
  font-weight: bold;
  line-height: 1.5;
}

.staff .staff-item__name--en {
  color: #1f6ca1;
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-size: .75rem;
  font-style: italic;
  font-weight: 700;
  line-height: 1.5;
}

.staff .staff-item__position {
  background: #1f6ca1;
}

/* 会社概要 */
.overview .main .article {
  margin: auto;
  max-width: 390px;
}

.overview .main .custom-grid {
  align-items: flex-start;
  -moz-column-gap: .5rem;
  column-gap: .5rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 72px .5rem 1fr;
  grid-template-columns: 72px 1fr;
  row-gap: 0;
}

.overview-item__tag {
  background: #1f6ca1;
  flex: 0 0 72px;
  margin-top: .4375rem;
  width: 72px;
}

.overview-item__shop-name {
  color: #1f6ca1;
  font-weight: bold;
}

.overview-item__tel {
  text-align: left;
}

a.overview-item__tel {
  text-decoration: underline;
}

a.overview-item__tel:link,
a.overview-item__tel:visited,
a.overview-item__tel:hover,
a.overview-item__tel:active {
  color: inherit;
}

a.overview-item__tel:hover {
  opacity: 1;
}

/* 採用情報 */
.recruit .label {
  background: #8e744a;
  color: #fff9f3;
  font-size: 1.25rem;
  letter-spacing: .5rem;
}

/* プライバシーポリシー */
.privacy-policy .article li {
  list-style: revert;
}

.privacy-policy .article ol {
  margin-left: 0;
  padding-left: 1.5em;
  text-align: left;
}

.privacy-policy .article li {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.privacy-policy .article ol li {
  margin-bottom: .5em;
}

.privacy-policy .article ol ol,
.privacy-policy .article ol ol ol {
  padding-left: 1.5em;
}

/* お悩み別の症状 当院の考え方 アーカイブページテンプレート　投稿ページテンプレート　共通 */
.case .article,
.case-post .article,
.policy .article,
.policy-post .article {
  text-align: left;
}

.case .article__title,
.case-post .article__title,
.policy .article__title,
.policy-post .article__title {
  color: #1f6ca1;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: .5rem;
}

.case .article__time,
.case-post .article__time,
.policy .article__time,
.policy-post .article__time {
  color: #1f6ca1;
  font-size: .625rem;
}

/* アーカイブページテンプレートのみ */
.case .articles,
.policy .articles {
  display: flex;
  flex-direction: column;
  gap: 48px;
}

.case .article a,
.policy .article a {
  display: flex;
  gap: 1rem;
}

@media (max-width: 768px) {

  .case .article a,
  .policy .article a {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
}

.case .article a img,
.policy .article a img {
  height: auto;
  width: 33.3%;
  flex: 0 0 33.3%;
}

@media (max-width: 768px) {

  .case .article a img,
  .policy .article a img {
    width: 100%;
  }
}

.case .article__summary,
.policy .article__summary {
  margin-top: 1rem;
}

/* 投稿ページテンプレートのみ */
.case-post .article>*:not(p):not(h1),
.case-post .article__time,
.policy-post .article>*:not(p):not(h1),
.policy-post .article__time {
  margin-bottom: 2rem;
}

.case-post .article h2,
.policy-post .article h2 {
  border-bottom: #1f6ca1 1px solid;
  color: #1f6ca1;
  font-weight: bold;
  padding-bottom: 4px;
}

.case-post .article *+h2,
.policy-post .article *+h2 {
  margin-top: 4rem;
}

.case-post .article h3,
.policy-post .article h3 {
  color: #1f6ca1;
  font-weight: bold;
}

.case-post .article *:not(h2)+h3,
.policy-post .article *:not(h2)+h3 {
  margin-top: 4rem;
}

.case-post .article p+*:not(h2, h3, p),
.policy-post .article p+*:not(h2, h3, p) {
  margin-top: 2rem;
}

.case-post .article p+p,
.policy-post .article p+p {
  margin-top: 1rem;
}

.case-post .article strong,
.policy-post .article strong {
  color: #1f6ca1;
  font-weight: bold;
}

.case-post .article>*>li+li,
.policy-post .article>*>li+li {
  margin-top: .5rem;
}

.case-post .article li.check,
.policy-post .article li.check {
  align-items: flex-start;
  display: flex;
}

.case-post .article li.check::before,
.policy-post .article li.check::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 14 9\"><path fill=\"%231F6CA1\" d=\"M12.9.4l.6,1L5,7.8l-.8.6c-.5-.5-3.1-3-3.7-3.5l1.7-1.8h0s2.2,2.2,2.2,2.2L12.9.4Z\" /></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  flex: 0 0 14px;
  height: 9px;
  margin-right: .5rem;
  margin-top: .85rem;
  width: 14px;
}

.case-post .article li.dot,
.policy-post .article li.dot {
  align-items: flex-start;
  display: flex;
}

.case-post .article li.dot::before,
.policy-post .article li.dot::before {
  color: #1f6ca1;
  content: "・";
  display: inline-block;
  flex: 0 0 1rem;
  font-weight: bold;
  height: 1rem;
  margin-right: .375rem;
  width: 1rem;
}

.case-post .article ol,
.policy-post .article ol {
  counter-reset: ol_li;
}

.case-post .article li.num,
.policy-post .article li.num {
  align-items: flex-start;
  display: flex;
}

.case-post .article li.num::before,
.policy-post .article li.num::before {
  color: #1f6ca1;
  content: counter(ol_li);
  counter-increment: ol_li;
  display: inline-block;
  flex: 0 0 1rem;
  font-weight: bold;
  height: 1rem;
  margin-right: .375rem;
  width: 1rem;
}

.case-post .article figcaption,
.policy-post .article figcaption {
  font-size: .75rem;
  margin-top: .5rem;
  text-align: center;
}

/* 目次デザイン */
div#toc_container {
  background: #fff;
  border: none !important;
  border-radius: 8px;
  width: 100%;
}

#toc_container {
  font-size: 1rem !important;
  padding: 2rem !important;
}

.toc_list>li:not(:last-of-type) {
  margin-bottom: 1rem !important;
}

.toc_list li a {
  display: flex;
}

.toc_list li a>span {
  margin-right: .5rem;
}

.toc_list ul {
  padding-left: 1rem;
}

/* エディタカラー */
.has-blue-background-color {
  background-color: #1f6ca1;
  padding: 0 !important;
}

.has-blue-color {
  color: #1f6ca1;
  padding: 0 !important;
}

.has-light-blue-background-color {
  background-color: #eff6f6;
  padding: 0 !important;
}

.has-light-blue-color {
  color: #eff6f6;
  padding: 0 !important;
}

.has-brown-background-color {
  background-color: #8e744a;
  padding: 0 !important;
}

.has-brown-color {
  color: #8e744a;
  padding: 0 !important;
}

.has-beige-background-color {
  background-color: #fff9f3;
  padding: 0 !important;
}

.has-beige-color {
  color: #fff9f3;
  padding: 0 !important;
}

.has-white-background-color {
  background-color: #fff;
  padding: 0 !important;
}

.has-white-color {
  color: #fff;
  padding: 0 !important;
}

.has-black-background-color {
  background-color: #363636;
  padding: 0 !important;
}

.has-black-color {
  color: #363636;
  padding: 0 !important;
}

.has-gray-background-color {
  background-color: #9c9c9c;
  padding: 0 !important;
}

.has-gray-color {
  color: #9c9c9c;
  padding: 0 !important;
}