/*
Theme Name: ひだまりのわんこたち
Theme URI: url
Author: ひだまりのわんこたち
Author URI: url
Description: ひだまりのわんこたち
*/

:root {
  --header-height: 75px;
  --header-height-desktop: 120px;
}

html {
  font-size: 62.5%;
}

body {
  width: 100%;
  height: 100%;
  background-color: #F6F4E5;
  -webkit-text-size-adjust: 100%;
  font-family: 'Zen Maru Gothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'メイリオ', 'ＭＳ Ｐゴシック', 'MS P Gothic', Osaka, Arial, Helvetica, Verdana, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 400;
  color: #000;
}

*,
*:before,
*:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }

img { width: auto; height: auto; max-width: 100%; border: none; vertical-align: top; }
picture { display: block; position: relative; width: 100%; height: 100%; }

/* utility
------------------------------------------------ */
.u-r-lists { margin: 0; padding: 0; list-style: none; }
.u-r-btn { -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; appearance: none; position: relative; padding: 0; background: none; border: none; border-radius: 0; box-shadow: none; font-family: inherit; cursor: pointer; }
.u-object-fit { width: 100%; height: 100%; max-width: inherit; object-fit: cover; font-family: 'object-fit: cover;'; }
.u-f-JosefinSans { font-family: 'Josefin Sans', sans-serif; font-weight: 400; }
.u-lazy-up { transition: transform 0.4s ease, opacity 0.4s ease; transform: translateY(20px); opacity: 0; }
.u-lazy-up.is-lazy-done { transform: translateY(0); opacity: 1; }

@media (hover: hover) {
  a,
  button,
  input[type=submit],
  input[type=button] { transition: opacity 0.4s ease; }
  a:hover,
  button:hover,
  input[type=submit]:hover,
  input[type=button]:hover { opacity: 0.6; }
}

@media screen and (max-width: 768px) {
  .u-d-mobile { display: inherit !important; }
  .u-d-desktop { display: none !important; }
}

@media screen and (min-width: 769px) {
  .u-d-mobile { display: none !important; }
  .u-d-desktop { display: inherit !important; }
}

/* component
------------------------------------------------ */
/* topicpath */
.topicpath { position: relative; margin-bottom: 20px; }
.topicpath-lists { display: flex; }
.topicpath-lists-item { position: relative; white-space: nowrap; font-size: 1.2rem; line-height: 1; }
.topicpath-lists-item:not(:last-child) { margin-right: 8px; padding-right: 16px; }
.topicpath-lists-item:not(:last-child)::after { content: '\FF1E'; position: absolute; top: 50%; right: 0; transform: translateY(-50%); font-size: 0.9rem; line-height: 1; }
.topicpath-lists-item:last-child { text-overflow: ellipsis; overflow: hidden; }
.topicpath-lists-item > a { display: inline-block; text-decoration: none; vertical-align: top; color: #000; }

@media screen and (min-width: 769px) {
  .topicpath { margin-bottom: 50px; }
  .topicpath-lists-item { font-size: 1.2rem; }
  .topicpath-lists-item:not(:last-child) { margin-right: 8px; padding-right: 16px; }
  .topicpath-lists-item:not(:last-child)::after { font-size: 0.9rem; }
}

/* link */
.link-skipcontent { -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; appearance: none; position: absolute; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); margin: -1px; width: 1px; height: 1px; text-decoration: none; white-space: nowrap; font-size: 1.4rem; line-height: 1.6; overflow: hidden; }
.link-skipcontent:focus { clip: auto; clip-path: none; margin: 0; padding: 20px; width: auto; height: auto; background-color: #000; overflow: auto; color: #fff; z-index: 9999; }

/* title */
.title-page { position: relative; height: 95px; border-radius: 800px; overflow: hidden; }
.title-page-name { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); margin: 0; text-align: center; white-space: nowrap; font-size: 2.2rem; font-weight: 900; line-height: 1.025; color: #78461B; z-index: 2; }
.title-page-image { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 100%; height: 100%; max-width: 335px; z-index: 1; }
.title-1 { position: relative; text-align: center; z-index: 1; }
.title-1-en { margin: 0 0 16px; font-family: 'Josefin Sans', sans-serif; font-size: 1.6rem; font-weight: 400; line-height: 1; color: #D9AE2C; }
.title-1-ja { margin: 0; font-size: 2.2rem; font-weight: 700; line-height: 1.3636363636; }
.title-1-ja > span { background: linear-gradient(transparent 60%, #EEE4A4 40%); }
.title-2 { position: relative; padding: 26px 0 0 60px; min-height: 51px; }
.title-2-balloon { position: absolute; top: 0; left: 0; padding: 20px 0 0 12px; width: 51px; height: 51px; background: url(./_assets/img/icon/balloon1.png) no-repeat center center; background-size: 100% 100%; font-family: 'Josefin Sans', sans-serif; font-size: 1.3rem; font-weight: 700; line-height: 1.2; }
.title-2-name { margin: 0; font-size: 1.8rem; font-weight: 700; line-height: 1.41; }

@media screen and (min-width: 769px) {
  .title-1-en { margin-bottom: 28px; font-size: 2rem; }
  .title-1-ja { font-size: 3rem; }
  .title-1-ja > span { background: linear-gradient(transparent 70%, #EEE4A4 30%); }
  .title-page { height: 200px; }
  .title-page-name { font-size: 4rem; }
  .title-page-image { max-width: 1400px; }
  .title-2 { padding: 21px 0 0 66px; min-height: 51px; }
  .title-2-balloon { padding: 20px 0 0 12px; width: 51px; height: 51px; }
  .title-2-name { font-size: 2.4rem; line-height: 1; }
}

/* button */
.btn-1 { margin: 0; text-align: center; font-size: 1.6rem; font-weight: 700; line-height: 1; letter-spacing: -0.03em; }
.btn-1 > a,
.btn-1 > button { display: inline-block; position: relative; padding: 20px 0; background-color: #fff; border: 1px solid #000; border-radius: 70px; vertical-align: top; font-size: inherit; font-weight: inherit; color: #000; }
.btn-1 > a::after,
.btn-1 > button::after { content: ''; position: absolute; top: 50%; right: 34px; transform: translateY(-50%); width: 16px; height: 15px; background: url(./_assets/img/icon/arrow1.svg) no-repeat center center; background-size: 100% 100%; }
.btn-1 > a { text-decoration: none; }
.btn-2 { margin: 0; text-align: center; font-size: 2rem; font-weight: 700; line-height: 1.45; }
.btn-2 > a,
.btn-2 > button { display: inline-flex; justify-content: center; align-items: center; gap: 16px; position: relative; padding: 28px 0; background-color: #EBD26D; border: 1px solid #EBD26D; border-radius: 70px; vertical-align: top; font-size: inherit; font-weight: inherit; color: #fff; }
.btn-2 > a { text-decoration: none; }
.btn-2 > a::before,
.btn-2 > before::before { content: ''; width: 43px; height: 43px; background: url(./_assets/img/icon/mail1-white.png) no-repeat center center; background-size: 100%; }
.btn-3 { margin: 0; text-align: center; font-size: 2rem; font-weight: 700; line-height: 1; }
.btn-3 > a,
.btn-3 > button,
.btn-3 > input { display: inline-block; position: relative; padding: 18px 0; background-color: #EBD26D; border: 1px solid #EBD26D; border-radius: 70px; vertical-align: top; font-size: inherit; font-weight: inherit; color: #fff; }
.btn-3 > input { cursor: pointer; }
.btn-4 { margin: 0; text-align: center; font-size: 1.6rem; font-weight: 700; line-height: 1; }
.btn-4 > a,
.btn-4 > button,
.btn-4 > input { display: inline-block; position: relative; padding: 14px 0; background-color: #666; border: 1px solid #666; border-radius: 70px; vertical-align: top; font-size: inherit; font-weight: inherit; color: #fff; }
.btn-4 > input { cursor: pointer; }

@media (hover: hover) {
  .btn-2 > a,
  .btn-2 > button { transition: background-color 0.4s ease, border-color 0.4s ease; }
  .btn-2 > a:hover,
  .btn-2 > button:hover { background-color: #D88277; border-color: #D88277; opacity: 1; }
  .btn-3 > a,
  .btn-3 > button,
  .btn-3 > input { transition: background-color 0.4s ease, border-color 0.4s ease; }
  .btn-3 > a:hover,
  .btn-3 > button:hover,
  .btn-3 > input:hover { background-color: #D88277; border-color: #D88277; opacity: 1; }
}

@media screen and (max-width: 768px) {
  .btn-1 > a,
  .btn-1 > button { width: 100%; }
  .btn-2 > a,
  .btn-2 > button { width: 100%; }
  .btn-3 > a,
  .btn-3 > button,
  .btn-3 > input { width: 100%; }
  .btn-4 > a,
  .btn-4 > button,
  .btn-4 > input { width: 100%; }
}

@media screen and (min-width: 769px) {
  .btn-1 { font-size: 1.8rem; }
  .btn-1 > a,
  .btn-1 > button { padding: 28px 66px 28px 26px; min-width: 225px; }
  .btn-1 > a::after,
  .btn-1 > button::after { right: 30px; }
  .btn-2 { font-size: 2rem; line-height: 1.45; }
  .btn-2 > a,
  .btn-2 > button { gap: 22px; padding: 28px 0; width: 360px; }
  .btn-3 { font-size: 1.8rem; }
  .btn-3 > a,
  .btn-3 > button,
  .btn-3 > input { padding: 28px 0; width: 280px; }
  .btn-4 { font-size: 1.6rem; }
  .btn-4 > a,
  .btn-4 > button,
  .btn-4 > input { padding: 20px 0; width: 280px; }
}

/* list */
.list-news { background-color: #fff; border: 1px solid rgba(0, 0, 0, 0.13); border-radius: 50px; }
.list-news-item { position: relative; }
.list-news-item:not(:last-child) { border-bottom: 1px solid rgba(0, 0, 0, 0.13); }
.list-news-item > a.post-edit-link { position: absolute; top: 0; left: 0; z-index: 5; }
.list-news-item > a:not(.post-edit-link) { display: block; position: relative; padding: 20px 72px 26px 25px; text-decoration: none; }
.list-news-item > a:not(.post-edit-link)::after { content: ''; position: absolute; top: 50%; right: 27px; transform: translateY(-50%); width: 16px; height: 15px; background: url(./_assets/img/icon/arrow1.svg) no-repeat center center; background-size: 100% 100%; }
.list-news-date { display: block; font-family: 'Josefin Sans', sans-serif; font-size: 1.5rem; font-weight: 400; line-height: 1.6; letter-spacing: -0.03em; color: #DFB58F; }
.list-news-title { margin: 0; text-overflow: ellipsis; font-size: 1.5rem; font-weight: 400; line-height: 1.6; color: #000; overflow: hidden; }
.list-columns-item { position: relative; }
.list-columns-item > a.post-edit-link { position: absolute; top: 0; left: 0; z-index: 5; }
.list-columns-item > a:not(.post-edit-link) { display: block; position: relative; padding-bottom: 40px; background-color: #fff; border-radius: 50px; text-decoration: none; }
.list-columns-photo { position: relative; aspect-ratio: 277 / 211; margin-bottom: 25px; border-radius: 50px 50px 0 0; overflow: hidden; }
.list-columns-date,
.list-columns-title { padding: 0 25px; }
.list-columns-date { display: block; font-family: 'Josefin Sans', sans-serif; font-size: 1.5rem; font-weight: 400; line-height: 1.6; letter-spacing: -0.03em; color: #DFB58F; }
.list-columns-title { display: -webkit-box; margin: 6px 0 0; -webkit-line-clamp: 2; -webkit-box-orient: vertical; text-overflow: ellipsis; font-size: 1.5rem; font-weight: 400; line-height: 1.6; color: #000; overflow: hidden; }

@media screen and (max-width: 768px) {
  .list-news-title { display: -webkit-box; margin-top: -1px; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
}

@media screen and (min-width: 769px) {
  .list-news-item > a:not(.post-edit-link) { display: flex; align-items: flex-start; padding: 40px 206px 40px 52px; }
  .list-news-item > a:not(.post-edit-link)::after { right: 40px; width: 18px; height: 17px; }
  .list-news-date { padding-top: 3px; width: 126px; font-size: 1.8rem; line-height: 1; }
  .list-news-title { width: calc(100% - 126px); white-space: nowrap; font-size: 1.6rem; font-weight: 500; line-height: 1; }
  .list-columns-item > a:not(.post-edit-link) { padding-bottom: 45px; border-radius: 50px; }
  .list-columns-photo { margin-bottom: 30px; border-radius: 50px 50px 0 0; }
  .list-columns-date,
  .list-columns-title { padding: 0 30px; }
  .list-columns-date { font-size: 1.8rem; line-height: 1; }
  .list-columns-title { margin-top: 20px; font-size: 1.6rem; }
}

/* block */
.block-slide { position: relative; padding-top: 50px; }
.block-slide-lists__item { position: relative; margin: 0 auto; aspect-ratio: 1 / 1; border-radius: 50px; overflow: hidden; }

@media screen and (min-width: 769px) {
  .block-slide { padding-top: 80px; }
}

/* page */
.page-above { position: relative; padding-top: 20px; z-index: 5; }

@media screen and (max-width: 768px) {
  .page-above > .l-wrap { padding: 0 20px; }
}

@media screen and (min-width: 769px) {
  .page-above { padding-top: 30px; }
}

/* pagination */
.pagination { display: flex; justify-content: center; align-items: center; gap: 28px; position: relative; margin-top: 50px; padding: 0 40px; min-height: 37px; }
.pagination a { text-decoration: none; }
.pagination .is-link,
.pagination .is-current { position: relative; font-size: 1.6rem; font-weight: 700; line-height: 1; }
.pagination .is-link { color: #aaa; }
.pagination .is-current::after { content: ''; position: absolute; bottom: -5px; left: 50%; transform: translateX(-50%); width: 62.5%; height: 2px; background-color: #000; border-radius: 10px; }
.pagination .is-current[aria-label='1']::after { transform: translateX(-40%); }
.pagination .is-arrow { position: absolute; top: 0; width: 37px; height: 37px; background-color: #EBD26D; border: 1px solid #EBD26D; border-radius: 50%; text-indent: -9999px; white-space: nowrap; overflow: hidden; }
.pagination .is-arrow::before { content: ''; position: absolute; top: 50%; left: 50%; width: 11px; height: 10px; background: url(./_assets/img/icon/arrow1-white.svg) no-repeat center center; background-size: 100% 100%; }
.pagination .is-arrow.is-arrow-prev { left: 0; }
.pagination .is-arrow.is-arrow-prev::before { transform: translate(-50%, -50%) rotate(180deg); }
.pagination .is-arrow.is-arrow-next::before { transform: translate(-50%, -50%); }
.pagination .is-arrow.is-arrow-next { right: 0; }

@media screen and (min-width: 769px) {
  .pagination { gap: 40px; margin: 80px auto 0; padding: 0 80px; max-width: 760px; min-height: 72px; }
  .pagination .is-link,
  .pagination .is-current { font-size: 3rem; }
  .pagination .is-current::after { bottom: -6px; width: 50%; }
  .pagination .is-arrow { width: 72px; height: 72px; }
  .pagination .is-arrow::before { width: 19px; height: 18px; }
}

/* pager */
.pager { position: relative; margin-top: 54px; text-align: center; }
.pager a { text-decoration: none; }
.pager .is-back { display: inline-block; padding: 22px 10px; max-width: calc(100% - (40px * 2)); min-width: 171px; background-color: #fff; border: 1px solid #000; border-radius: 70px; text-align: center; vertical-align: top; font-size: 1.4rem; font-weight: 500; line-height: 1; letter-spacing: -0.03em; color: #000; }
.pager .is-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 37px; height: 37px; background-color: #EBD26D; border: 1px solid #EBD26D; border-radius: 50%; text-indent: -9999px; white-space: nowrap; overflow: hidden; }
.pager .is-arrow::before { content: ''; position: absolute; top: 50%; left: 50%; width: 11px; height: 10px; background: url(./_assets/img/icon/arrow1-white.svg) no-repeat center center; background-size: 100% 100%; }
.pager .is-arrow.is-arrow-prev { left: 0; }
.pager .is-arrow.is-arrow-prev::before { transform: translate(-50%, -50%) rotate(180deg); }
.pager .is-arrow.is-arrow-next::before { transform: translate(-50%, -50%); }
.pager .is-arrow.is-arrow-next { right: 0; }

@media screen and (min-width: 769px) {
  .pager { margin: 62px auto 0; max-width: 760px; }
  .pager .is-back { padding: 30px 10px; max-width: calc(100% - (80px * 2)); min-width: 240px; font-size: 1.6rem; }
  .pager .is-arrow { width: 72px; height: 72px; }
  .pager .is-arrow::before { width: 19px; height: 18px; }
}

/* container
------------------------------------------------ */
.l-container { position: relative; }
.l-main { position: relative; padding-top: var(--header-height); }
.l-wrap { position: relative; }

@media screen and (min-width: 769px) {
  .l-wrap { margin: 0 auto; padding: 0 20px; max-width: 1440px; }
  .l-main { position: relative; padding-top: var(--header-height-desktop); }
}

@media screen and (min-width: 769px) and (max-width: 1460px) {
  .l-main { padding-top: calc(120 / 1460 * 100vw); }
}


/* header
------------------------------------------------ */
.l-hd { position: fixed; top: 0; left: 0; width: 100%; height: var(--header-height); z-index: 10; }
.l-hd-logo { position: absolute; top: 8px; left: 20px; margin: 0; width: 133px; font-size: 1rem; line-height: 1; z-index: 2; }
.l-hd-logo > a { display: block; width: 100%; }
.l-hd-content { display: flex; align-items: center; position: absolute; top: 23px; right: 32px; padding: 8px 10px 8px 38px; background-color: #fff; border-radius: 50px; }
.l-hd-links { display: flex; gap: 34px; }
.l-hd-links__item { font-size: 1.6rem; font-weight: 500; line-height: 1.4375; }
.l-hd-links__item > a { display: inline-block; text-decoration: none; vertical-align: top; color: #000; }
.l-hd-btn { margin: 0 0 0 50px; font-size: 1.6rem; font-weight: 700; line-height: 1.4375; }
.l-hd-btn > a { display: flex; justify-content: center; align-items: center; gap: 15px; width: 258px; height: 58px; background-color: #EBD26D; border: 1px solid #EBD26D; border-radius: 50px; text-decoration: none; color: #fff; }
.l-hd-btn > a::before { content: ''; width: 29px; height: 29px; background: url(./_assets/img/icon/mail1-white.png) no-repeat center center; background-size: 100%; }
.l-hd-menu { position: absolute; top: 12px; right: 20px; margin: 0; width: 50px; height: 50px; z-index: 2; }
.l-hd-menu > button,
.l-hd-menu span { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.l-hd-menu > button { background-color: #EBD26D; border-radius: 50%; }
.l-hd-menu span { text-indent: -9999px; white-space: nowrap; overflow: hidden; }
.l-hd-menu > button::after,
.l-hd-menu span::before,
.l-hd-menu span::after { content: ''; position: absolute; left: 50%; transition: top 0.4s ease, transform 0.4s ease; transform: translateX(-50%); width: 14px; height: 2px; background-color: #fff; border-radius: 10px; }
.l-hd-menu > button::after { top: 19px; }
.l-hd-menu span::before { top: 24px; }
.l-hd-menu span::after { top: 29px; }
.l-hd-menu > button[aria-expanded=true]::after { opacity: 0; }
.l-hd-menu > button[aria-expanded=true] span::before,
.l-hd-menu > button[aria-expanded=true] span::after { top: 50%; width: 15px; }
.l-hd-menu > button[aria-expanded=true] span::before { transform: translate(-50%, -50%) rotate(45deg); }
.l-hd-menu > button[aria-expanded=true] span::after { transform: translate(-50%, -50%) rotate(-45deg); }
.l-gnav { pointer-events: none; position: absolute; top: 0; left: 0; transition: opacity 0.4s ease; padding-top: 75px; width: 100%; height: 100dvh; background-color: rgba(255, 255, 255, 0.95); opacity: 0; z-index: 1; }
.l-gnav[aria-hidden=false] { pointer-events: all; opacity: 1; }
.l-gnav-content { position: relative; padding: 22px 20px 40px; width: 100%; height: 100%; overscroll-behavior: contain; overflow-y: auto; }
.l-gnav-btn { margin: 0; font-size: 2rem; font-weight: 700; line-height: 1.45; }
.l-gnav-btn > a { display: flex; justify-content: center; align-items: center; gap: 16px; padding: 28px 0; width: 100%; background-color: #EBD26D; border: 1px solid #EBD26D; border-radius: 50px; text-decoration: none; color: #fff; }
.l-gnav-btn > a::before { content: ''; width: 43px; height: 43px; background: url(./_assets/img/icon/mail1-white.png) no-repeat center center; background-size: 100%; }
.l-gnav-links { margin-top: 30px; border-bottom: 1px solid rgba(0, 0, 0, 0.15); }
.l-gnav-links__item { border-top: 1px solid rgba(0, 0, 0, 0.15); font-size: 1.5rem; font-weight: 700; line-height: 4; }
.l-gnav-links__item > a { display: block; position: relative; padding: 0 10px; text-decoration: none; color: #000; }
.l-gnav-links__item > a::after { content: ''; position: absolute; top: 50%; right: 10px; transform: translateY(-50%); width: 12px; height: 10px; background: url(./_assets/img/icon/arrow1.svg) no-repeat center center; background-size: 100% 100%; }
.l-gnav-below { display: flex; flex-flow: row-reverse; justify-content: space-between; margin-top: 30px; }
.l-gnav-others__item { font-size: 1.4rem; line-height: 2.4; }
.l-gnav-others__item > a { display: inline-block; text-decoration: none; vertical-align: top; color: #000; }
.l-gnav-sns { display: grid; gap: 26px; }
.l-gnav-sns__item { font-family: 'Josefin Sans', sans-serif; font-size: 1.3rem; font-weight: 400; line-height: 1; letter-spacing: -0.02em; }
.l-gnav-sns__item > a { display: inline-flex; align-items: center; gap: 7px; text-decoration: none; color: #000; }
.l-gnav-sns__item > a::before { content: ''; width: 30px; height: 30px; background-repeat: no-repeat; background-position: center center; }
.l-gnav-sns__item.is-sns-instagram > a::before { background-image: url(./_assets/img/icon/sns_instagram1.svg); background-size: 30px 30px; }
.l-gnav-sns__item.is-sns-tiktok > a::before { background-image: url(./_assets/img/icon/sns_tiktok1.svg); background-size: 21px 24px; }

@media (hover: hover) {
  .l-hd-btn > a { transition: background-color 0.4s ease, border-color 0.4s ease; }
  .l-hd-btn > a:hover { background-color: #D88277; border-color: #D88277; opacity: 1; }
}

@media screen and (max-width: 768px) {
  .l-hd { background-color: #fff; border-radius: 0 0 30px 30px; }
  .l-hd-content { display: none; }
}

@media screen and (min-width: 769px) {
  .l-hd { height: var(--header-height-desktop); }
  .l-hd-logo { top: 10px; left: 33px; width: 228px; }
  .l-hd-menu { display: none; }
  .l-gnav { display: none !important; }
}

@media screen and (min-width: 769px) and (max-width: 1460px) {
  .l-hd { height: calc(120 / 1460 * 100vw); }
  .l-hd-logo { top: calc(10 / 1460 * 100vw); left: calc(33 / 1460 * 100vw); width: calc(228 / 1460 * 100vw); }
  .l-hd-content { top: calc(23 / 1460 * 100vw); right: calc(32 / 1460 * 100vw); padding: calc(8 / 1460 * 100vw) calc(10 / 1460 * 100vw) calc(8 / 1460 * 100vw) calc(38 / 1460 * 100vw); }
  .l-hd-links { gap: calc(34 / 1460 * 100vw); }
  .l-hd-links__item { font-size: calc(16 / 1460 * 100vw); }
  .l-hd-btn { margin-left: calc(50 / 1460 * 100vw); font-size: calc(16 / 1460 * 100vw); }
  .l-hd-btn > a { gap: calc(15 / 1460 * 100vw); width: calc(258 / 1460 * 100vw); height: calc(58 / 1460 * 100vw); border-radius: calc(50 / 1460 * 100vw); }
  .l-hd-btn > a::before { width: calc(29 / 1460 * 100vw); height: calc(29 / 1460 * 100vw); }
}

/* top
------------------------------------------------ */
/* visual */
.top-visual { position: relative; padding: 10px 0 45px; overflow: hidden; }
.top-visual-slide { position: relative; aspect-ratio: 345 / 600; border-radius: calc(200 / 375 * 100vw); overflow: hidden; z-index: 1; }
.top-visual-slide__text { position: absolute; bottom: calc(164 / 375 * 100vw); left: calc(15 / 375 * 100vw); width: calc(100% - (15 / 375 * 100vw)); color: #fff; z-index: 2; }
.top-visual-slide__text p { margin: 0; white-space: nowrap; }
.top-visual-slide__text .is-catch { font-size: calc(26 / 375 * 100vw); font-weight: 900; line-height: 2.423076923; }
.top-visual-slide__text .is-name { margin-top: calc(14 / 375 * 100vw); font-size: calc(18 / 375 * 100vw); font-weight: 700; line-height: 1.2; }
.top-visual-slide__text .is-name::before,
.top-visual-slide__text .is-name::after { content: '\30FC'; }
.top-visual-slide__text .is-name::before { padding-right: 0.6em; }
.top-visual-slide__text .is-name::after { padding-left: 0.6em; }
.top-visual-slide__photo { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }
.top-visual-faq { position: relative; padding: calc(150 / 375 * 100vw) calc(20 / 375 * 100vw) 0; }
.top-visual-faq::after { content: ''; position: absolute; top: calc(15 / 375 * 100vw); left: calc(81 / 375 * -100vw); aspect-ratio: 521 / 555; width: calc(521 / 375 * 100vw); background: url(./_assets/img/top/faq_bg.png) no-repeat center center; background-size: 100% 100%; z-index: -1; }
.top-visual-faq__catch { margin: 0 0 36px; font-size: calc(28 / 375 * 100vw); font-weight: 700; line-height: 1.7857142857; color: #78461B; }
.top-visual-faq__lists { display: grid; gap: 34px; }
.top-visual-faq__lists__item { display: flex; align-items: center; position: relative; padding-left: 64px; min-height: 51px; font-size: 1.6rem; font-weight: 700; line-height: 1.75; }
.top-visual-faq__lists__item::before { content: '?'; display: flex; justify-content: center; align-items: center; position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 51px; height: 51px; background: url(./_assets/img/icon/balloon1.png) no-repeat center center; background-size: 100% 100%; font-size: 2.8rem; font-weight: 700; line-height: 1.1071428571; }
.top-visual-faq__photo { position: absolute; top: calc(56 / 375 * -100vw); right: calc(22 / 375 * -100vw); aspect-ratio: 203 / 240; width: calc(203 / 375 * 100vw); mask-image: url(./_assets/img/top/faq_photo1_mask.svg); mask-repeat: no-repeat; mask-position: center center; mask-size: 100% 100%; z-index: 3; }

@media screen and (max-width: 768px) {
  .top-visual-slide { margin: 0 16px; }
}

@media screen and (min-width: 769px) {
  .top-visual { padding: 30px 0 80px; }
  .top-visual-slide { aspect-ratio: 1400 / 700; border-radius: 800px; }
  .top-visual-slide__text { bottom: clamp(calc(198px * 0.2), calc(198 / 1400 * 100vw), 198px); left: clamp(calc(123px * 0.2), calc(123 / 1400 * 100vw), 123px); width: calc(100% - (123px * 2)); }
  .top-visual-slide__text .is-catch { font-size: clamp(calc(4.8rem * 0.2), calc(48 / 1400 * 100vw), 4.8rem); line-height: 1.8958333333; }
  .top-visual-slide__text .is-name { margin-top: clamp(calc(48px * 0.2), calc(48 / 1400 * 100vw), 48px); font-size: clamp(calc(2.8rem * 0.2), calc(28 / 1400 * 100vw), 2.8rem); }
  .top-visual-faq { padding: clamp(calc(118px * 0.2), calc(118 / 1400 * 100vw), 118px) 0 0 clamp(calc(104px * 0.2), calc(104 / 1400 * 100vw), 104px); }
  .top-visual-faq::after { top: clamp(-65px, calc(65 / 1400 * -100vw), calc(65px * -0.2)); left: clamp(-114px, calc(114 / 1400 * -100vw), calc(114px * -0.2)); width: clamp(calc(520px * 0.2), calc(520 / 1400 * 100vw), 520px); }
  .top-visual-faq__catch { margin-bottom: clamp(calc(40px * 0.2), calc(40 / 1400 * 100vw), 40px); font-size: clamp(calc(4rem * 0.2), calc(40 / 1400 * 100vw), 4rem); line-height: 1.75; }
  .top-visual-faq__lists { gap: 30px; padding: 0 clamp(calc(482px * 0.2), calc(482 / 1400 * 100vw), 482px) 0 clamp(calc(44px * 0.2), calc(44 / 1400 * 100vw), 44px); }
  .top-visual-faq__lists__item { padding-left: 66px; min-height: 51px; font-size: 2rem; line-height: 1.75; }
  .top-visual-faq__lists__item::before { width: 51px; height: 51px; font-size: 2.8rem; }
  .top-visual-faq__photo { top: clamp(calc(87px * 0.2), calc(87 / 1400 * 100vw), 87px); right: clamp(calc(52px * 0.2), calc(52 / 1400 * 100vw), 52px); width: clamp(calc(430px * 0.2), calc(430 / 1400 * 100vw), 430px); }
}

/* about */
.top-about { position: relative; padding: 45px 0 50px; }
.top-about-photo { aspect-ratio: 360 / 213; border-radius: 0 50px 50px 0; overflow: hidden; }
.top-about-text { margin: 0; font-size: 1.8rem; line-height: 2.1666666666; }

@media screen and (max-width: 768px) {
  .top-about .title-1 { margin-bottom: 42px; }
  .top-about-photo { margin-right: 15px; }
  .top-about-text { margin: 30px 25px 0; }
  .top-about .btn-1 { margin: 30px 20px 0; }
}

@media screen and (min-width: 769px) {
  .top-about { display: grid; align-items: flex-start; row-gap: 0; column-gap: calc(110 / 1600 * 100%); grid-template-rows: auto; grid-template-columns: calc(920 / 1600 * 100%) calc(480 / 1600 * 100%); padding: 80px 0 75px; }
  .top-about .title-1 { grid-row: 1; grid-column: 2; margin-bottom: 62px; padding-top: 40px; }
  .top-about-photo { grid-row: 1 / 5; grid-column: 1; border-radius: 0 100px 100px 0; }
  .top-about-text { grid-row: 2 / 3; grid-column: 2; font-size: 2rem; line-height: 2.7; }
  .top-about .btn-1 { grid-row: 3 / 4; grid-column: 2; margin-top: 44px; }
}

/* news */
.top-news { position: relative; padding: 50px 0; }

@media screen and (max-width: 768px) {
  .top-news > .l-wrap { padding: 0 20px; }
  .top-news .title-1 { margin-bottom: 32px; }
  .top-news .btn-1 { margin-top: 30px; }
}

@media screen and (min-width: 769px) {
  .top-news { padding: 75px 0 55px; }
  .top-news > .l-wrap { display: grid; align-items: center; grid-template-columns: calc(274 / 1400 * 100%) calc(100% - 274 / 1400 * 100%); }
  .top-news .title-1 { grid-row: 1; grid-column: 1; width: fit-content; }
  .top-news .list-news { grid-row: 1; grid-column: 2; }
  .top-news .btn-1 { grid-row: 2; grid-column: 1 / 3; margin-top: 50px; }
}

/* step */
.top-step { position: relative; padding: 50px 0; }
.top-step .title-1 { margin-bottom: 32px; }
.top-step-lists { display: grid; position: relative; gap: 46px; }
.top-step-lists__item { position: relative; aspect-ratio: 1 / 1; padding-top: 32px; background-color: #fff; border: 6px solid #EBD26D; border-radius: 50%; }
.top-step-lists::before { content: ''; position: absolute; background-color: #EBD26D; z-index: -1; }
.top-step-lists::after { content: ''; position: absolute; width: 23px; height: 37px; background: url(./_assets/img/icon/arrow2-gold.svg) no-repeat center center; background-size: 100% 100%; }
.top-step-lists__num { display: flex; justify-content: center; align-items: center; position: absolute; top: 12px; left: -24px; margin: 0; width: 70px; height: 70px; background-color: #DFB58F; border-radius: 50%; font-family: 'Josefin Sans', sans-serif; font-size: 5rem; font-style: italic; font-weight: 700; line-height: 0.48; color: #fff; }
.top-step-lists__icon { display: flex; justify-content: center; align-items: center; margin: 0 auto; height: 102px; }
.top-step-lists__icon img { width: auto; height: 100%; max-width: inherit; }
.top-step-lists__text { margin: 10px 20px 0; text-align: center; font-size: 1.4rem; font-weight: 700; line-height: 1.7142857142; }
.top-step .btn-2 { margin-top: 24px; }

@media screen and (max-width: 768px) {
  .top-step > .l-wrap { padding: 0 20px; }
  .top-step-lists { padding: 46px 0 52px; }
  .top-step-lists::before { top: 0; left: 50%; transform: translateX(-50%); width: 6px; height: 100%; }
  .top-step-lists::after { bottom: -5px; left: 50%; transform-origin: left top; transform: rotate(90deg) translate(50%, -50%); }
  .top-step-lists__item { margin: 0 auto; width: 250px; }
}

@media screen and (min-width: 769px) {
  .top-step { padding: 55px 0 60px; }
  .top-step .title-1 { margin-bottom: 62px; }
  .top-step-lists { justify-content: center; align-items: center; gap: calc(46 / 1400 * 100%); grid-template-columns: repeat(3, calc(330 / 1400 * 100%)); }
  .top-step-lists::before { top: 50%; left: 0; transform: translateY(-50%); width: calc(100% - 6px); height: 6px; }
  .top-step-lists::after { top: 50%; right: 0; transform: translateY(-50%); width: 23px; height: 37px; }
  .top-step-lists__item { padding-top: clamp(calc(85px * 0.2), calc(85 / 1400 * 100vw), 85px); border-width: 6px; }
  .top-step-lists__num { top: clamp(calc(12px * 0.2), calc(12 / 1400 * 100vw), 12px); left: clamp(calc(8px * 0.2), calc(8 / 1400 * 100vw), 8px); width: clamp(calc(70px * 0.2), calc(70 / 1400 * 100vw), 70px); height: clamp(calc(70px * 0.2), calc(70 / 1400 * 100vw), 70px); font-size: clamp(calc(5rem * 0.2), calc(50 / 1400 * 100vw), 5rem); }
  .top-step-lists__icon { height: clamp(calc(102px * 0.2), calc(102 / 1400 * 100vw), 102px); }
  .top-step-lists__text { margin: clamp(calc(22px * 0.2), calc(22 / 1400 * 100vw), 22px) clamp(calc(52px * 0.2), calc(52 / 1400 * 100vw), 52px) 0; font-size: clamp(calc(1.6rem * 0.2), calc(16 / 1400 * 100vw), 1.6rem); line-height: 1.5; }
  .top-step .btn-2 { margin-top: 50px; }
}

/* column */
.top-column { position: relative; padding: 50px 0; }
.top-column .title-1 { margin-bottom: 32px; }

@media screen and (max-width: 768px) {
  .top-column .btn-1 { margin: 32px 20px 0; }
}

@media screen and (min-width: 769px) {
  .top-column { padding: 60px 0 80px; }
  .top-column .title-1 { margin-bottom: 52px; }
  .top-column .list-columns { display: grid !important; gap: 28px; grid-template-columns: repeat(3, calc((100% / 3) - (28px / (3 / 2)))); }
  .top-column .btn-1 { margin-top: 50px; }
}

/* column
------------------------------------------------ */
/* common */
.column-archive .list-columns,
.column-latest .list-columns { display: grid; row-gap: 30px; column-gap: 20px; grid-template-columns: repeat(2, calc(50% - (20px / 2))); }

@media screen and (max-width: 768px) {
  .column-archive .list-columns-item > a:not(.post-edit-link),
  .column-latest .list-columns-item > a:not(.post-edit-link) { padding-bottom: 15px; border-radius: 30px; }
  .column-archive .list-columns-photo,
  .column-latest .list-columns-photo { aspect-ratio: 1.3166666666 / 1; margin-bottom: 10px; border-radius: 30px 30px 0 0; }
  .column-archive .list-columns-date,
  .column-archive .list-columns-title,
  .column-latest .list-columns-date,
  .column-latest .list-columns-title { padding: 0 15px; }
  .column-archive .list-columns-title,
  .column-latest .list-columns-title { margin-top: -1px; -webkit-line-clamp: 3; }
}

@media screen and (min-width: 769px) {
  .body-column .title-page-name { margin-top: -8px; }
  .column-archive .list-columns,
  .column-latest .list-columns { row-gap: 100px; column-gap: 30px; grid-template-columns: repeat(3, calc((100% / 3) - (30px / (3 / 2)))); }
  .column-archive .list-columns-item > a:not(.post-edit-link),
  .column-latest .list-columns-item > a:not(.post-edit-link) { padding-bottom: 35px; }
  .column-archive .list-columns-photo,
  .column-latest .list-columns-photo { aspect-ratio: 1.5079365079 / 1; margin-bottom: 28px; }
  .column-archive .list-columns-title,
  .column-latest .list-columns-title { margin-top: 8px; }
}

/* archive */
.column-archive { position: relative; padding-top: 42px; }

@media screen and (max-width: 768px) {
  .column-archive > .l-wrap { padding: 0 20px; }
}

@media screen and (min-width: 769px) {
  .column-archive { padding-top: 100px; }
  .column-archive > .l-wrap { max-width: calc(1200px + 40px); }
}

/* article */
.column-article { position: relative; padding-top: 36px; }
.column-article-hd { position: relative; margin-bottom: 22px; }
.column-article-title { margin: 0 0 20px; font-size: 1.8rem; font-weight: 700; line-height: 1.41; }
.column-article-date { display: block; font-family: 'Josefin Sans', sans-serif; font-size: 1.7rem; font-weight: 400; line-height: 1.6; letter-spacing: -0.03em; color: #DFB58F; }
.column-article-content { position: relative; font-size: 1.6rem; line-height: 1.875; }
.column-article-content p { margin-bottom: 0; }
.column-article-content figure { margin-bottom: 0; margin-right: 0; margin-left: 0; }
.column-article-content > *:first-child { margin-top: 0; }
.column-article-content > * + * { margin-top: 30px; }
.column-article-content p + p { margin-top: 1.875em; }
.column-article-ft { position: relative; }

@media screen and (max-width: 768px) {
  .column-article > .l-wrap { padding: 0 20px; }
}

@media screen and (min-width: 769px) {
  .column-article { padding-top: 100px; }
  .column-article > .l-wrap { max-width: calc(1200px + 40px); }
  .column-article-hd { margin-bottom: 72px; }
  .column-article-title { margin-bottom: 45px; font-size: 2.4rem; line-height: 1.2; }
  .column-article-date { font-size: 1.8rem; line-height: 1; }
  .column-article-content { font-size: 1.6rem; }
  .column-article-content > * + * { margin-top: 38px; }
  .column-article-content figure { margin-right: auto; margin-left: auto; max-width: 800px; }
}

/* latest */
.column-latest { position: relative; margin-top: 82px; }
.column-latest .title-2 { margin-bottom: 20px; }

@media screen and (min-width: 769px) {
  .column-latest { margin-top: 120px; }
  .column-latest .title-2 { margin-bottom: 34px; }
}

/* news
------------------------------------------------ */
/* archive */
.body-news .title-page-name { margin-top: -4px; }
.news-archive { position: relative; padding-top: 40px; }

@media screen and (max-width: 768px) {
  .news-archive > .l-wrap { padding: 0 20px; }
}

@media screen and (min-width: 769px) {
  .body-news .title-page-name { margin-top: -12px; }
  .news-archive { padding-top: 100px; }
  .news-archive > .l-wrap { max-width: calc(1200px + 40px); }
}

/* article */
.news-article { position: relative; padding-top: 36px; }
.news-article-hd { position: relative; margin-bottom: 15px; }
.news-article-title { margin: 0 0 20px; font-size: 1.8rem; font-weight: 700; line-height: 1.41; }
.news-article-date { display: block; font-family: 'Josefin Sans', sans-serif; font-size: 1.7rem; font-weight: 400; line-height: 1.6; letter-spacing: -0.03em; color: #DFB58F; }
.news-article-content { position: relative; font-size: 1.6rem; line-height: 1.875; }
.news-article-content p { margin-bottom: 0; }
.news-article-content figure { margin-bottom: 0; margin-right: 0; margin-left: 0; }
.news-article-content > *:first-child { margin-top: 0; }
.news-article-content > * + * { margin-top: 30px; }
.news-article-content p + p { margin-top: 1.875em; }
.news-article-ft { position: relative; }

@media screen and (max-width: 768px) {
  .news-article > .l-wrap { padding: 0 20px; }
}

@media screen and (min-width: 769px) {
  .news-article { padding-top: 100px; }
  .news-article > .l-wrap { max-width: calc(1200px + 40px); }
  .news-article-hd { margin-bottom: 66px; }
  .news-article-title { margin-bottom: 45px; font-size: 2.4rem; line-height: 1.2; }
  .news-article-date { font-size: 1.8rem; line-height: 1; }
  .news-article-content { font-size: 1.6rem; }
  .news-article-content > * + * { margin-top: 38px; }
  .news-article-content figure { margin-right: auto; margin-left: auto; max-width: 800px; }
}

/* about
------------------------------------------------ */
/* common */
.body-about .block-slide { padding-top: 100px; }
.body-about .title-page-name { top: 28px; transform: translateX(-50%); }

@media screen and (min-width: 769px) {
  .body-about .title-page-name { top: 65px; margin-left: 48px; }
  .body-about .block-slide { padding-top: 156px; }
}

/* concept */
.about-concept { position: relative; padding: 26px 0 35px; overflow-x: clip; z-index: 1; }
.about-concept::after { content: ''; position: absolute; top: 54px; left: -355px; aspect-ratio: 1 / 1; width: 720px; background: url(./_assets/img/about/concept_bg1.png) no-repeat center center; background-size: 100% 100%; z-index: -1; }
.about-concept-catch { margin: 0 0 20px; font-size: 2.5rem; font-weight: 700; line-height: 2; color: #78461B; }
.about-concept-text { margin: 0; font-size: 1.6rem; line-height: 1.875; }
.about-concept-photo { position: relative; aspect-ratio: 265 / 297; width: calc(265 / 375 * 100vw); mask-image: url(./_assets/img/about/concept_photo1_mask.svg); mask-repeat: no-repeat; mask-position: center center; mask-size: cover; }

@media screen and (max-width: 768px) {
  .about-concept > .l-wrap { padding: 0 20px; }
  .about-concept-photo { margin: 10px 0 0 auto; }
}

@media screen and (min-width: 769px) {
  .about-concept { padding: 100px 0 60px; }
  .about-concept::after { top: clamp(-240px, calc(240 / 1600 * -100vw), calc(240px * -0.2)); left: clamp(-287px, calc(287 / 1600 * -100vw), calc(287px * -0.2)); width: clamp(calc(820px * 0.2), calc(820 / 1600 * 100vw), 820px); }
  .about-concept > .l-wrap { display: grid; align-items: center; column-gap: calc(35 / 1200 * 100%); grid-template-columns: calc(638 / 1200 * 100%) calc(100% - (638 / 1200 * 100%)); max-width: calc(1200px + 40px); }
  .about-concept-catch { grid-row: 1; grid-column: 1; margin-bottom: 82px; font-size: 3.8rem; line-height: 2.1052631578; }
  .about-concept-text { grid-row: 2; grid-column: 1; font-size: 1.6rem; line-height: 2.625; }
  .about-concept-photo { grid-row: 1 / 3; grid-column: 2; width: calc(514 / 562 * 100%); }
}

/* philosophy */
.about-philosophy { position: relative; padding: 35px 0; }
.about-philosophy .title-1 { margin-bottom: 35px; }
.about-philosophy-lists { display: grid; gap: 45px; position: relative; }
.about-philosophy-lists__item { position: relative; }
.about-philosophy-lists__above { position: relative; width: calc(250 / 335 * 100%); }
.about-philosophy-lists__num { display: flex; justify-content: center; position: absolute; margin: 0; padding-top: 18px; width: 85px; height: 85px; background-color: #fff; border: 5px solid #DFB58F; border-radius: 50%; font-family: 'Josefin Sans', sans-serif; font-size: 4.8rem; font-weight: 700; font-style: italic; line-height: 1; color: #DFB58F; z-index: 2; }
.about-philosophy-lists__photo { position: relative; aspect-ratio: 1 / 1; width: 100%; border-radius: 50px; overflow: hidden; z-index: 1; }
.about-philosophy-lists__info { position: relative; }
.about-philosophy-lists__title { margin: 0 0 20px; font-size: 1.8rem; font-weight: 700; line-height: 1.6666666666; }
.about-philosophy-lists__text { margin: 0; font-size: 1.6rem; line-height: 1.875; }
.about-philosophy-lists__item:nth-of-type(odd) .about-philosophy-lists__num { bottom: 16px; right: -60px; }
.about-philosophy-lists__item:nth-of-type(even) .about-philosophy-lists__num { bottom: 16px; left: -60px; }

@media screen and (max-width: 768px) {
  .about-philosophy > .l-wrap { padding: 0 20px; }
  .about-philosophy-lists__info { margin-top: 35px; }
  .about-philosophy-lists__item:nth-of-type(even) .about-philosophy-lists__above { margin-left: auto; }
}

@media screen and (min-width: 769px) {
  .about-philosophy { padding: 60px 0 100px; }
  .about-philosophy > .l-wrap { max-width: calc(1200px + 40px); }
  .about-philosophy .title-1 { margin-bottom: 80px; text-align: left; }
  .about-philosophy-lists { gap: 60px; margin: 0 auto; max-width: 1000px; }
  .about-philosophy-lists__item { display: flex; justify-content: space-between; align-items: center; }
  .about-philosophy-lists__above { width: calc(450 / 1000 * 100%); }
  .about-philosophy-lists__num { padding-top: 26px; width: 120px; height: 120px; border-width: 7px; font-size: 6.4rem; }
  .about-philosophy-lists__photo { border-radius: 100px; }
  .about-philosophy-lists__info { width: calc(410 / 1000 * 100%); }
  .about-philosophy-lists__title { margin-bottom: 36px; font-size: 2.4rem; line-height: 3.375; }
  .about-philosophy-lists__text { font-size: 1.6rem; }
  .about-philosophy-lists__item:nth-of-type(odd) .about-philosophy-lists__num { bottom: 60px; right: -88px; }
  .about-philosophy-lists__item:nth-of-type(even) { flex-flow: row-reverse; }
  .about-philosophy-lists__item:nth-of-type(even) .about-philosophy-lists__num { bottom: 60px; left: -88px; }
}

/* behavior */
.about-behavior { position: relative; padding-top: 35px; }
.about-behavior .title-1 { margin-bottom: 35px; }
.about-behavior-lists { display: grid; gap: 32px; position: relative; }
.about-behavior-lists__photo { position: relative; aspect-ratio: 335 / 223; border-radius: 50px; overflow: hidden; }
.about-behavior-lists__text { margin: 10px 0 0; text-align: center; font-size: 1.6rem; line-height: 1.875; }

@media screen and (max-width: 768px) {
  .about-behavior > .l-wrap { padding: 0 20px; }
}

@media screen and (min-width: 769px) {
  .about-behavior { padding-top: 100px; }
  .about-behavior > .l-wrap { max-width: calc(1200px + 40px); }
  .about-behavior .title-1 { margin-bottom: 74px; text-align: left; }
  .about-behavior-lists { gap: 30px; grid-template-columns: repeat(3, calc((100% / 3) - (30px / (3 / 2)))); }
  .about-behavior-lists__text { margin-top: 24px; font-size: 1.6rem; }
}

/* course
------------------------------------------------ */
/* common */
.course-attentions { display: grid; gap: 13px; margin-top: 20px; }
.course-attentions-item { font-size: 1.6rem; line-height: 1.875; }
.course-attentions-item.is-focus { font-weight: 700; color: #C55445; }

@media screen and (min-width: 769px) {
  .course-attentions { gap: 13px; margin-top: 42px; }
  .course-attentions-item { font-size: 1.6rem; }
}

/* intro */
.course-intro { position: relative; padding: 30px 0 35px; }
.course-intro-text { margin: 0; font-size: 1.6rem; line-height: 1.875; }

@media screen and (max-width: 768px) {
  .course-intro > .l-wrap { padding: 0 20px; }
}

@media screen and (min-width: 769px) {
  .course-intro { padding: 92px 0 60px; }
  .course-intro > .l-wrap { max-width: calc(1200px + 40px); }
  .course-intro-text { font-size: 1.6rem; }
}

/* trial */
.course-trial { position: relative; padding: 35px 0; }
.course-trial .title-1 { margin-bottom: 28px; }
.course-trial .title-1-ja > span { background: linear-gradient(transparent 60%, #DFB58F 40%); }
.course-trial-lists { display: grid; gap: 50px; }
.course-trial-lists__item { padding: 55px 20px 50px; background-color: #fff; border: 5px solid #DFB58F; border-radius: 50px; }
.course-trial-lists__title { margin: 0 0 20px; padding: 10px; background-color: #DFB58F; border-radius: 30px; text-align: center; font-size: 2.4rem; font-weight: 700; line-height: 1.6; color: #fff; }
.course-trial-lists__box { margin: 0 0 32px; padding-bottom: 30px; border-bottom: 2px dashed #DFB58F; }
.course-trial-lists__box__line { display: flex; justify-content: center; align-items: baseline; gap: 30px; }
.course-trial-lists__box__title { font-size: 2.6rem; font-weight: 700; line-height: 1.6; }
.course-trial-lists__box__price { margin: 0; font-size: 2rem; font-weight: 700; line-height: 1.6; }
.course-trial-lists__box__price .is-num { font-size: 3.8rem; }
.course-trial-lists__text { margin: 0; font-size: 1.6rem; line-height: 1.6; }

@media screen and (max-width: 768px) {
  .course-trial > .l-wrap { padding: 0 20px; }
}

@media screen and (min-width: 769px) {
  .course-trial { padding: 60px 0; }
  .course-trial > .l-wrap { max-width: calc(1200px + 40px); }
  .course-trial .title-1 { margin-bottom: 60px; text-align: left; }
  .course-trial .title-1-ja > span { background: linear-gradient(transparent 70%, #DFB58F 30%); }
  .course-trial-lists { gap: 30px; margin: 0 auto; max-width: 720px; }
  .course-trial-lists__item { padding: 45px 30px 48px; }
  .course-trial-lists__title { margin-bottom: 20px; padding: 8px 10px; font-size: 2.8rem; }
  .course-trial-lists__box { margin-bottom: 32px; padding-bottom: 18px; border-bottom: 2px dashed #DFB58F; }
  .course-trial-lists__box__line { justify-content: flex-start; gap: 30px; }
  .course-trial-lists__box__title { font-size: 3rem; }
  .course-trial-lists__box__price { font-size: 2.4rem; }
  .course-trial-lists__box__price .is-num { font-size: 4.2rem; }
  .course-trial-lists__text { font-size: 1.6rem; }
}

/* attend */
.course-attend { position: relative; padding: 35px 0; }
.course-attend .title-1 { margin-bottom: 28px; }
.course-attend-lists { display: grid; gap: 50px; }
.course-attend-lists__item { padding: 55px 20px 50px; background-color: #fff; border: 5px solid #EDD77C; border-radius: 50px; }
.course-attend-lists__title { margin: 0 0 40px; padding: 20px 10px; background-color: #EDD77C; border-radius: 100px; text-align: center; font-size: 2.4rem; font-weight: 700; line-height: 1.5; color: #fff; }
.course-attend-lists__title .is-num { display: inline-block; margin: -10px 5px 0; padding-top: 8px; width: 55px; height: 55px; background-color: #C55445; border-radius: 50%; text-align: center; vertical-align: top; white-space: nowrap; font-size: 3.2rem; font-weight: 700; line-height: 1; color: #fff; }
.course-attend-lists__title .is-num.is-over-10 { display: inline-flex; letter-spacing: -0.45em; }
.course-attend-lists__box { display: grid; gap: 42px; margin: 0 0 35px; padding-bottom: 34px; border-bottom: 2px dashed #EDD77C; }
.course-attend-lists__box__title { font-size: 2rem; font-weight: 700; line-height: 1.2; }
.course-attend-lists__box__title::after { content: '\FF1A'; }
.course-attend-lists__box__price { margin: 0; font-size: 2rem; font-weight: 700; line-height: 1.2; }
.course-attend-lists__box__price .is-num { font-size: 3.8rem; }
.course-attend-lists__text { margin: 0; font-size: 1.6rem; line-height: 1.6; }

@media screen and (max-width: 768px) {
  .course-attend > .l-wrap { padding: 0 20px; }
}

@media screen and (min-width: 769px) {
  .course-attend { padding: 60px 0; }
  .course-attend > .l-wrap { max-width: calc(1200px + 40px); }
  .course-attend .title-1 { margin-bottom: 60px; text-align: left; }
  .course-attend-lists { gap: 30px; grid-template-columns: repeat(3, calc((100% / 3) - (30px / (3 / 2)))); }
  .course-attend-lists__item { padding: 50px 25px 48px; }
  .course-attend-lists__title { margin-bottom: 40px; padding: 18px 10px; font-size: 2.8rem; line-height: 1.4; }
  .course-attend-lists__title .is-num { margin: -6px 5px 0; padding-top: 6px; width: 50px; height: 50px; font-size: 3.2rem; }
  .course-attend-lists__box { gap: 38px; margin-bottom: 52px; padding-bottom: 44px; }
  .course-attend-lists__box__title { font-size: 2.4rem; }
  .course-attend-lists__box__price { font-size: 2.4rem; }
  .course-attend-lists__box__price .is-num { font-size: 4rem; }
  .course-attend-lists__text { font-size: 1.6rem; }
}

/* outside */
.course-outside { position: relative; padding: 35px 0; }
.course-outside .title-1 { margin-bottom: 24px; }
.course-outside-text { margin: 0 0 24px; font-size: 1.6rem; line-height: 1.875; }
.course-outside-lists { background-color: #fff; border: 1px solid rgba(0, 0, 0, 0.13); border-radius: 50px; }
.course-outside-lists__item { display: flex; justify-content: center; align-items: baseline; position: relative; padding: 40px 10px; text-align: center; font-size: 1.8rem; font-weight: 700; line-height: 1; }
.course-outside-lists__item:not(:first-child) { border-top: 1px solid rgba(0, 0, 0, 0.13); }
.course-outside-lists__item .is-hour::after { content: '|'; padding: 0 0.4em; }
.course-outside-lists__item .is-minute::after { content: '/'; padding: 0 0.2em; }

@media screen and (max-width: 768px) {
  .course-outside > .l-wrap { padding: 0 20px; }
  .course-outside-lists__item .is-tax { font-size: 1.4rem; }
}

@media screen and (min-width: 769px) {
  .course-outside { padding: 60px 0; }
  .course-outside > .l-wrap { max-width: calc(1200px + 40px); }
  .course-outside .title-1 { margin-bottom: 50px; text-align: left; }
  .course-outside-text { margin-bottom: 45px; font-size: 1.6rem; }
  .course-outside-lists { margin: 0 auto; max-width: 720px; }
  .course-outside-lists__item { padding: 34px 10px; font-size: 2.4rem; }
  .course-outside-lists__item .is-hour::after { padding: 0 1em; }
  .course-outside-lists__item .is-minute::after { padding: 0 0.2em; }
}

/* request */
.course-request { position: relative; padding-top: 30px; }
.course-request-content { position: relative; padding: 45px 20px; background-color: #fff; border-radius: 50px; }
.course-request-box { position: relative; margin: 0; }
.course-request-box__title { position: relative; margin-bottom: 24px; font-size: 1.8rem; font-weight: 700; line-height: 1.6666666666; }
.course-request-box__title::before { content: '\FF01'; position: absolute; top: -55px; left: -18px; padding-top: 8px; width: 51px; height: 51px; background: url(./_assets/img/icon/balloon1.png) no-repeat center center; background-size: 100% 100%; text-align: center; font-size: 2.8rem; font-weight: 700; line-height: 1.1071428571; }
.course-request-box__text { margin: 0; font-size: 1.6rem; line-height: 1.875; }

@media screen and (max-width: 768px) {
  .course-request > .l-wrap { padding: 0 20px; }
  .course-request-box__title { padding: 0 5px; }
}

@media screen and (min-width: 769px) {
  .course-request { padding-top: 60px; }
  .course-request > .l-wrap { max-width: calc(1200px + 40px); }
  .course-request-content { padding: 46px 130px; }
  .course-request-box__title { margin-bottom: 33px; font-size: 1.8rem; }
  .course-request-box__title::before { top: -15px; left: -74px; padding-top: 8px; width: 51px; height: 51px; font-size: 2.8rem; }
  .course-request-box__text { font-size: 1.6rem; }
}

/* flow
------------------------------------------------ */
/* common */
.body-flow .title-page-name { margin-top: -4px; }
.body-flow .block-slide { padding-top: 100px; }

@media screen and (min-width: 769px) {
  .body-flow .title-page-name { margin-top: -11px; }
  .body-flow .block-slide { padding-top: 164px; }
}

/* intro */
.flow-intro { position: relative; padding: 30px 0 22px; }
.flow-intro-text { margin: 0; font-size: 1.6rem; line-height: 1.875; }

@media screen and (max-width: 768px) {
  .flow-intro > .l-wrap { padding: 0 20px; }
}

@media screen and (min-width: 769px) {
  .flow-intro { padding: 92px 0 54px; }
  .flow-intro > .l-wrap { max-width: calc(1200px + 40px); }
  .flow-intro-text { font-size: 1.6rem; }
}

/* day */
.flow-day { position: relative; padding-top: 22px; }
.flow-day .title-1 { margin-bottom: 82px; }
.flow-day-lists__item { position: relative; }
.flow-day-lists__item:not(:last-child) { padding-bottom: 90px; }
.flow-day-lists__item:not(:last-child)::after { content: ''; position: absolute; bottom: 0; left: 35px; width: 5px; height: 90px; background-color: #EBD26D; }
.flow-day-lists__watch { position: absolute; top: -43px; left: 0; width: 72px; height: 72px; background-color: #fff; border: 8px solid #EBD26D; border-radius: 50%; z-index: 2; }
.flow-day-lists__watch::before,
.flow-day-lists__watch::after { content: ''; position: absolute; top: 50%; transform-origin: right center; background-color: #EBD26D; height: 6px; border-radius: 20px; }
.flow-day-lists__watch::before { left: calc(50% - 13px); width: 13px; }
.flow-day-lists__watch::after { left: calc(50% - 18px); width: 18px; }
.flow-day-lists__watch.is-hand-10-0::before { transform: rotate(30deg); }
.flow-day-lists__watch.is-hand-10-0::after { transform: translateY(50%) rotate(90deg); }
.flow-day-lists__watch.is-hand-11-0::before { transform: rotate(60deg); }
.flow-day-lists__watch.is-hand-11-0::after { transform: translateY(50%) rotate(90deg); }
.flow-day-lists__watch.is-hand-12-30::before { transform: rotate(100deg); }
.flow-day-lists__watch.is-hand-12-30::after { transform: translateY(-50%) rotate(-90deg); }
.flow-day-lists__watch.is-hand-14-0::before { transform: rotate(135deg); }
.flow-day-lists__watch.is-hand-14-0::after { transform: translateY(50%) rotate(90deg); }
.flow-day-lists__watch.is-hand-15-30::before { transform: rotate(190deg); }
.flow-day-lists__watch.is-hand-15-30::after { transform: translateY(-50%) rotate(-90deg); }
.flow-day-lists__watch.is-hand-16-0::before { transform: rotate(210deg); }
.flow-day-lists__watch.is-hand-16-0::after { transform: translateY(50%) rotate(90deg); }
.flow-day-lists__frame { display: grid; gap: 25px; position: relative; padding: 30px; background-color: #fff; border-radius: 50px; z-index: 1; }
.flow-day-lists__hour { margin: 0 0 18px; padding-bottom: 3px; border-bottom: 1px solid #EBD26D; font-size: 2.2rem; font-weight: 700; line-height: 2.6; }
.flow-day-lists__title { margin: 0; font-size: 1.8rem; font-weight: 700; line-height: 1.5; }
.flow-day-lists__text { margin: 10px 0 0; font-size: 1.6rem; line-height: 1.6; }
.flow-day-lists__photo { aspect-ratio: 280 / 157; border-radius: 50px; overflow: hidden; }

@media screen and (max-width: 768px) {
  .flow-day > .l-wrap { padding: 0 20px; }
}

@media screen and (min-width: 769px) {
  .flow-day { padding-top: 54px; }
  .flow-day > .l-wrap { max-width: calc(1200px + 40px); }
  .flow-day .title-1 { margin-bottom: 80px; text-align: left; }
  .flow-day-lists__item:not(:last-child) { padding-bottom: 80px; }
  .flow-day-lists__item:not(:last-child)::after { bottom: 0; left: 50px; width: 5px; height: 100%; }
  .flow-day-lists__watch { top: 0; left: 0; width: 100px; height: 100px; }
  .flow-day-lists__watch::before { left: calc(50% - 18px); width: 18px; }
  .flow-day-lists__watch::after { left: calc(50% - 25px); width: 25px; }
  .flow-day-lists__frame { gap: 60px; grid-template-columns: calc(440 / 890 * 100%) calc(100% - (60px + (440 / 890 * 100%))); margin-left: calc((200 / 1200 * 100%)); padding: 30px 50px 30px 60px; }
  .flow-day-lists__frame::before { content: ''; position: absolute; top: 44px; left: -40px; border: 24px solid transparent; border-right: 40px solid #fff; border-left: none; }
  .flow-day-lists__hour { margin-bottom: 24px; padding-bottom: 3px; font-size: 2.4rem; }
  .flow-day-lists__title { font-size: 2rem; line-height: 2.6; }
  .flow-day-lists__text { margin-top: -3px; font-size: 1.6rem; }
}

/* store
------------------------------------------------ */
/* common */
.body-store .title-page-name { margin-top: -2px; }

@media screen and (min-width: 769px) {
  .body-store .title-page-name { margin-top: -8px; }
}

/* outline */
.store-outline { position: relative; padding: 30px 0 36px; }
.store-outline-title { margin: 0 0 25px; }
.store-outline-title span { font-size: 1.8rem; font-weight: 700; line-height: 1.8; }
.store-outline-title strong { font-size: 2.4rem; font-weight: 700; line-height: 1.8; }
.store-outline-box { margin: 0; border-top: 1px solid rgba(0, 0, 0, 0.15); }
.store-outline-box__line { padding: 14px 10px; border-bottom: 1px solid rgba(0, 0, 0, 0.15); }
.store-outline-box__title { font-size: 1.6rem; line-height: 1.875; }
.store-outline-box__title::after { content: '\FF1A'; }
.store-outline-box__text { margin: 0; font-size: 1.6rem; line-height: 1.875; }
.store-outline-box__text a { color: #000; }
.store-outline-map { position: relative; aspect-ratio: 335 / 400; }
.store-outline-map iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

@media screen and (max-width: 768px) {
  .store-outline > .l-wrap { padding: 0 20px; }
  .store-outline-title span,
  .store-outline-title strong { display: block; }
  .store-outline-box__text .is-address { display: block; }
  .store-outline-map { margin-top: 30px; }
}

@media screen and (min-width: 769px) {
  .store-outline { padding: 92px 0 60px; }
  .store-outline > .l-wrap { display: grid; column-gap: 67px; grid-template-columns: calc(610 / 1200 * 100%) calc(100% - (67px + (610 / 1200 * 100%))); max-width: calc(1200px + 40px); }
  .store-outline-title { grid-row: 1; grid-column: 1 / 3; margin-bottom: 60px; }
  .store-outline-title span { padding-right: 30px; font-size: 2.6rem; line-height: 1.1538461538; }
  .store-outline-title strong { font-size: 3rem; line-height: 1; }
  .store-outline-box__line { display: flex; gap: 45px; padding: 35px 30px; }
  .store-outline-box__title { width: 140px; font-size: 1.6rem; }
  .store-outline-box__text { width: calc(100% - (140px + 45px)); font-size: 1.6rem; }
  .store-outline-map { aspect-ratio: 1 / 1; }
}

/* gallery */
.store-gallery { position: relative; padding-top: 36px; }
.store-gallery-text { margin: 0 0 24px; font-size: 1.8rem; font-weight: 700; line-height: 1.6; }
.store-gallery-lists { display: grid; gap: 20px; grid-template-columns: repeat(2, calc(50% - (20px / 2))); }
.store-gallery-lists__item { position: relative; aspect-ratio: 158 / 105; border-radius: 30px; overflow: hidden; }
.store-gallery-instagram { position: relative; margin-top: 24px; }
.store-gallery-instagram__text { margin: 0; font-size: 1.6rem; line-height: 1.875; }
.store-gallery-instagram .btn-1 { margin-top: 36px; }

@media screen and (max-width: 768px) {
  .store-gallery > .l-wrap { padding: 0 20px; }
}

@media screen and (min-width: 769px) {
  .store-gallery { padding-top: 60px; }
  .store-gallery > .l-wrap { max-width: calc(1200px + 40px); }
  .store-gallery-text { margin-bottom: 45px; font-size: 2rem; }
  .store-gallery-lists { gap: 30px; grid-template-columns: repeat(3, calc((100% / 3) - (30px / (3 / 2)))); }
  .store-gallery-lists__item { border-radius: 50px; }
  .store-gallery-instagram { margin-top: 40px; }
  .store-gallery-instagram__text { font-size: 1.6rem; }
  .store-gallery-instagram .btn-1 { margin-top: 58px; }
  .store-gallery-instagram .btn-1 > a { min-width: 320px; }
}

/* contact
------------------------------------------------ */
/* common */
.body-contact .title-page-name > span { display: block; }
.body-contact .title-page-name > span:first-child { margin-top: -10px; }
.body-contact .title-page-name > span:last-child { margin-top: 16px; }

@media screen and (min-width: 769px) {
  .body-contact .title-page-name > span:first-child { margin-top: -8px; }
  .body-contact .title-page-name > span:last-child { margin-top: 40px; }
}

/* form */
.contact { position: relative; padding-top: 34px; }
.contact-lead { margin: 0 0 48px; font-size: 1.6rem; line-height: 1.875; }
.contact-form fieldset { position: relative; margin: 0; padding: 0; border: none; }
.contact-form legend { position: absolute; clip: rect(0, 0, 0, 0); margin: -1px; padding: 0; width: 1px; height: 1px; border: 0; white-space: nowrap; overflow: hidden; }
.contact-form input[type=text],
.contact-form input[type=email],
.contact-form input[type=tel],
.contact-form input[type=date],
.contact-form textarea,
.contact-form select { -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; appearance: none; position: relative; padding: 12px 20px; width: 100%; height: 54px; background: #fff; border: none; border-radius: 10px; box-shadow: none; font-family: inherit; font-size: 1.6rem; font-weight: inherit; line-height: 1.7; }
.contact-form textarea { height: 240px; }
.contact-form input::placeholder,
.contact-form textarea::placeholder { color: #bbb; opacity: 1; }
.contact-form input[type=date].is-empty { color: #bbb; }
.contact-form select.is-empty { color: #bbb; }
.contact-form .wpcf7-list-item { font-size: 1.6rem; line-height: 1; }
.contact-form .wpcf7-list-item label { display: inline-flex; align-items: center; gap: 12px; position: relative; }
.contact-form .wpcf7-list-item label input { -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; appearance: none; position: relative; padding: 0; width: 25px; height: 25px; background: #fff; border: 1px solid #000; border-radius: 0; box-shadow: none; font-family: inherit; }
.contact-form .wpcf7-list-item label input:checked + span::before { content: ''; position: absolute; top: 50%; left: 6px; transform: translateY(-50%); width: 13px; height: 13px; background-color: #000; }
.contact-form .wpcf7-list-item label input[type=radio] { border-radius: 50%; }
.contact-form .wpcf7-list-item label input[type=radio]:checked + span::before { border-radius: 50%; }
.contact-form-block { padding: 24px 0 30px; border-bottom: 1px solid rgba(0, 0, 0, 0.15); }
.contact-form-block:nth-of-type(1) { border-top: 1px solid rgba(0, 0, 0, 0.15); }
.contact-form-block.is-block-toggle.is-hidden { display: none; }
.contact-form-label { display: block; position: relative; font-size: 1.6rem; line-height: 1.7; }
.contact-form-label .is-required { padding: 4px 8px; background-color: #C55445; font-size: 1.2rem; font-weight: 700; line-height: 1.2; color: #fff; }
.contact-form-group { position: relative; font-size: 1.6rem; line-height: 1.7 }
.contact-form-group .wpcf7-form-control-wrap { display: block; width: 100%; }
.contact-form-group .wpcf7-radio { display: grid; gap: 20px; }
.contact-form-group .wpcf7-radio .wpcf7-list-item { margin: 0; }
.contact-form-agree { margin: 42px 0 0; font-size: 1.6rem; line-height: 1.875; }
.contact-form-agree a { color: #000; }
.contact-form-actions { margin-top: 28px; }
.contact-form-actions .wpcf7-spinner { display: block; margin: 20px auto 0; }
.contact-form .wpcf7-not-valid-tip { margin-top: 0.6em; }
.contact-form .wpcf7 form .wpcf7-response-output { padding: 16px 10px; text-align: center; font-size: 1.6rem; line-height: 1.75; }
.contact-form-confirm__text { margin: 0; width: 100%; }
.contact-thanks-text { margin: 0; text-align: center; font-size: 1.2rem; line-height: 1.6; }
.contact-thanks .btn-1 { margin-top: 20px; }

@media screen and (max-width: 768px) {
  .contact > .l-wrap { padding: 0 20px; }
  .contact-form-label { margin-bottom: 24px; }
  .contact-form-label .is-required { margin-left: 20px; }
  .contact-form-group { display: grid; gap: 20px; }
}

@media screen and (min-width: 769px) {
  .contact { padding-top: 100px; }
  .contact > .l-wrap { max-width: calc(1200px + 40px); }
  .contact-lead { margin-bottom: 92px; font-size: 1.6rem; }
  .contact-form input[type=text],
  .contact-form input[type=email],
  .contact-form input[type=tel],
  .contact-form input[type=date],
  .contact-form textarea,
  .contact-form select { padding: 12px 20px; font-size: 1.6rem; }
  .contact-form textarea { height: 200px; }
  .contact-form-block { display: grid; align-items: center; gap: calc(50 / 980 * 100%); grid-template-columns: calc(283 / 980 * 100%) calc(100% - ((283 / 980 * 100%) + (50 / 980 * 100%))); padding: 20px 110px; min-height: 140px; }
  .contact-form-label { padding-right: 50px; font-size: 1.6rem; }
  .contact-form-label .is-required { position: absolute; top: 50%; right: 0; transform: translateY(-50%); padding: 5px 8px; font-size: 1.2rem; }
  .contact-form-group { display: flex; flex-wrap: wrap; align-items: center; row-gap: 26px; column-gap: calc(50 / 650 * 100%); }
  .contact-form-group .is-w-full { width: 100%; }
  .contact-form-group .is-w-half { width: calc(300 / 650 * 100%); }
  .contact-form-group .wpcf7-radio { display: flex; flex-wrap: wrap; align-items: center; row-gap: 20px; column-gap: calc(80 / 650 * 100%); }
  .contact-form-agree { margin-top: 54px; text-align: center; font-size: 1.6rem; }
  .contact-form-actions { margin-top: 46px; }
  .contact-thanks-text { font-size: 1.6rem; }
  .contact-thanks .btn-1 { margin-top: 40px; }
}

/* privacy
------------------------------------------------ */
/* common */
.body-privacy .title-page-name { margin-top: -1px; }

@media screen and (min-width: 769px) {
  .body-privacy .title-page-name { margin-top: 2px; }
}

/* content */
.privacy { position: relative; padding-top: 36px; }
.privacy-title { margin: 0 0 20px; font-size: 1.8rem; font-weight: 700; line-height: 1.41; }
.privacy-content { font-size: 1.6rem; line-height: 2; }
.privacy-content a { text-decoration: none; color: #000; }
.privacy-content p { margin: 0; }
.privacy-content h3 { margin: 0; font-weight: 500; }
.privacy-content ul,
.privacy-content ol { margin: 0 0 0 1.4em; padding: 0; }
.privacy-content ul > li::marker { content: '\30FB'; }

@media screen and (max-width: 768px) {
  .privacy > .l-wrap { padding: 0 20px; }
}

@media screen and (min-width: 769px) {
  .privacy { padding-top: 100px; }
  .privacy > .l-wrap { max-width: calc(1200px + 40px); }
  .privacy-title { margin-bottom: 40px; font-size: 1.8rem; line-height: 1; }
  .privacy-content { font-size: 1.6rem; }
}

/* footer
------------------------------------------------ */
.l-ft { position: relative; margin-top: 50px; padding: 22px 0 30px; background-color: #fff; }
.l-ft-column { position: relative; }
.l-ft-column__left { position: relative; }
.l-ft-links { display: flex; flex-wrap: wrap; column-gap: 38px; }
.l-ft-links__item { position: relative; font-size: 1.5rem; font-weight: 700; line-height: 4; }
.l-ft-links__item > a { display: inline-flex; align-items: center; gap: 10px; position: relative; text-decoration: none; vertical-align: top; color: #000; }
.l-ft-links__item > a::after { content: ''; width: 12px; height: 10px; background: url(./_assets/img/icon/arrow1.svg) no-repeat center center; background-size: 100% 100%; }
.l-ft-sns { display: flex; flex-wrap: wrap; gap: 35px; margin-top: 18px; }
.l-ft-sns__item { height: 30px; font-family: 'Josefin Sans', sans-serif; font-size: 1.3rem; font-weight: 400; line-height: 1; letter-spacing: -0.02em; }
.l-ft-sns__item > a { display: inline-flex; align-items: center; gap: 7px; height: 100%; text-decoration: none; color: #000; }
.l-ft-sns__item > a::before { content: ''; width: 30px; height: 100%; background-repeat: no-repeat; background-position: center center; }
.l-ft-sns__item.is-sns-instagram > a::before { background-image: url(./_assets/img/icon/sns_instagram1.svg); background-size: 30px 30px; }
.l-ft-sns__item.is-sns-tiktok > a::before { background-image: url(./_assets/img/icon/sns_tiktok1.svg); background-size: 21px 24px; }
.l-ft-btn { margin: 32px 0 0; font-size: 2rem; font-weight: 700; line-height: 1.45; }
.l-ft-btn > a { display: flex; justify-content: center; align-items: center; gap: 16px; padding: 28px 0; width: 100%; background-color: #EBD26D; border: 1px solid #EBD26D; border-radius: 50px; text-decoration: none; color: #fff; }
.l-ft-btn > a::before { content: ''; width: 43px; height: 43px; background: url(./_assets/img/icon/mail1-white.png) no-repeat center center; background-size: 100%; }
.l-ft-others { margin-top: 11px; }
.l-ft-others__item { font-size: 1.4rem; line-height: 2.4; }
.l-ft-others__item > a { display: inline-block; text-decoration: none; vertical-align: top; color: #000; }
.l-ft-column__right { position: relative; }
.l-ft-logo { margin: 0; width: 197px; }
.l-ft-logo > a { display: block; width: 100%; }
.l-ft-store { margin: 15px 0 0; border-top: 1px dashed rgba(0, 0, 0, 0.15); }
.l-ft-store__line { display: flex; align-items: center; padding: 20px 0; border-bottom: 1px dashed rgba(0, 0, 0, 0.15); }
.l-ft-store__title { width: 84px; font-size: 1.4rem; line-height: 1.2857142857; }
.l-ft-store__title::after { content: '\FF1A'; }
.l-ft-store__text { margin: 0; width: calc(100% - 84px); font-size: 1.4rem; line-height: 1.2857142857; }
.l-ft-store__text address { font-style: normal; }
.l-ft-below { position: relative; margin-top: 28px; }
.l-ft-copyright { margin: 0; text-align: center; font-size: 1.2rem; line-height: 1; letter-spacing: -0.02em; }
.l-ft-copyright small { font-size: inherit; }

@media (hover: hover) {
  .l-ft-btn > a { transition: background-color 0.4s ease, border-color 0.4s ease; }
  .l-ft-btn > a:hover { background-color: #D88277; border-color: #D88277; opacity: 1; }
}

@media screen and (max-width: 768px) {
  .l-ft > .l-wrap { padding: 0 20px; }
  .l-ft-column__right { margin-top: 28px; padding-top: 28px; border-top: 1px solid rgba(0, 0, 0, 0.15); }
  .l-ft-logo { margin: 0 auto; }
}

@media screen and (min-width: 769px) {
  .l-ft { margin-top: 80px; padding: 30px 0 32px; }
  .l-ft-column { display: grid; align-items: flex-start; gap: 20px; grid-template-columns: calc(100% - ((500 / 1400 * 100%) + 20px)) calc(500 / 1400 * 100%); }
  .l-ft-links { justify-content: space-between; column-gap: 0; max-width: 800px; }
  .l-ft-links__item { width: 50%; font-size: 1.8rem; line-height: 3.5555555555; }
  .l-ft-links__item > a { gap: 10px; }
  .l-ft-links__item > a::after { width: 16px; height: 15px; }
  .l-ft-sns { gap: 60px; margin-top: 27px; }
  .l-ft-sns__item { height: 30px; font-size: 1.6rem; }
  .l-ft-sns__item > a { gap: 14px; }
  .l-ft-sns__item > a::before { width: 28px; }
  .l-ft-sns__item.is-sns-instagram > a::before { background-size: 28px 28px; }
  .l-ft-sns__item.is-sns-tiktok > a::before { background-size: 26px 30px; }
  .l-ft-btn { margin-top: 42px; font-size: 2rem; }
  .l-ft-btn > a { gap: 22px; padding: 28px 0; width: 360px; }
  .l-ft-btn > a::before { width: 43px; height: 43px; }
  .l-ft-others { margin-top: 26px; }
  .l-ft-others__item { font-size: 1.6rem; line-height: 1; letter-spacing: -0.02em; }
  .l-ft-logo { margin-left: auto; padding-top: 62px; width: 258px; }
  .l-ft-store { margin: 22px 0 0 auto; }
  .l-ft-store__line { padding: 20px 0; }
  .l-ft-store__title { width: calc(132 / 500 * 100%); font-size: 1.4rem; }
  .l-ft-store__text { display: flex; flex-wrap: wrap; column-gap: 1em; width: calc(100% - (132 / 500 * 100%)); font-size: 1.4rem; }
  .l-ft-store__text address { display: inline-block; vertical-align: top; }
  .l-ft-below { margin-top: 60px; padding-top: 24px; border-top: 1px solid rgba(0, 0, 0, 0.15); }
  .l-ft-copyright { text-align: right; font-size: 1.4rem; }
}

@media screen and (min-width: 769px) and (max-width: 1000px) {
  .l-ft-links { gap: 12px; }
  .l-ft-links__item { width: auto; }
}