@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap");
:root { --beige: #fff6e9; --red: #cb333a; --green: #69a070; --blue: #62a5cc; --orange: #ce805d; --purple: #a77392; --yellow: #ffe200; --gray: #5e5e5e; --black: #000000; --white: #ffffff; }

@media (max-width: 750px) { :root { --m-width: 750; } }
@media (max-width: 375px) { :root { --s-width: 375; } }
/* ---------- RESET ---------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: none; zoom: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; box-sizing: border-box; }

table { border-collapse: collapse; font-family: inherit; }

h1, h2, h3, h4, h5 { font-weight: normal; line-height: 1; }

input, textarea, select { font-family: inherit; }

input[type="button"], input[type="text"], input[type="submit"] { -webkit-appearance: none; border-radius: 0; }

textarea { resize: none; -webkit-appearance: none; border-radius: 0; }

ul { list-style-type: none; }

ul, li, ol, dl, dt, dd, div { box-sizing: border-box; }

img { vertical-align: text-bottom; vertical-align: -webkit-baseline-middle; max-width: 100%; height: auto; width: auto; }

/* ---------- COMMON ---------- */
html, body { font-size: 62.5%; scroll-behavior: smooth; }

body { color: var(--gray); background-color: #fff; font-family: "Noto Sans JP", sans-serif; font-weight: 400; position: relative; }

* { box-sizing: border-box; }

::before, ::after { pointer-events: none; box-sizing: border-box; }

a { color: #323232; text-decoration: none; }

h1, h2, h3, h4, h5, h6, p, small, strong, div, ul, li, ol, dl, dt, dd, figure, figcaption, section, archive { font-feature-settings: "palt"; }

/* ---------- HEADER ---------- */
header.header { display: flex; width: 100%; padding-inline: 16px; position: fixed; top: 0; left: 0; right: 0; z-index: 10; }
@media (max-width: 750px) { header.header { padding-inline: 4px; } }

.logo { display: block; width: 278px; height: 34px; margin-top: 10px; }
@media (max-width: 750px) { .logo { width: calc((300 / var(--m-width)) * 100vw); height: auto; } }
@media (max-width: 375px) { .logo { width: calc((150 / var(--s-width)) * 100vw); height: auto; } }

@media (hover: hover) { a:has(img) { transition: opacity ease .3s; }
  a:has(img):hover { opacity: 0.5; } }
a.txt-link { text-decoration: underline solid 2px var(--red); text-underline-offset: 5px; transition: opacity ease 0.3s; }
a.txt-link:hover { opacity: 0.5; }

/* ---------- NAVIGATION ---------- */
nav.gnav { margin-left: auto; }
nav.gnav ul { display: flex; align-items: flex-start; }
nav.gnav ul li { margin-right: 8px; }
nav.gnav ul li:last-child { margin-right: 0; }
@media (max-width: 750px) { nav.gnav ul li { width: calc((168 / var(--m-width)) * 100vw); height: auto; } }
@media (max-width: 375px) { nav.gnav ul li { width: calc((84 / var(--s-width)) * 100vw); height: auto; } }
nav.gnav ul li a { display: block; }
nav.gnav ul li a[href=""] { opacity: 0.5; pointer-events: none; }

/* ---------- CONTAINER ---------- */
.inner { margin-inline: auto; }
@media screen and (min-width: 751px), print { .inner { width: 1000px; } }
@media (max-width: 750px) { .inner { padding-inline: calc((40 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { .inner { padding-inline: calc((20 / var(--s-width)) * 100vw); } }

/* ---------- MAIN VISUAL ---------- */
.mv { width: 100%; height: 800px; background: url("../img/mv.png") center center no-repeat; background-size: cover; position: relative; }
@media (max-width: 750px) { .mv { height: calc((900 / var(--m-width)) * 100vw); background: none; } }
@media (max-width: 375px) { .mv { height: calc((450 / var(--s-width)) * 100vw); } }

.mv__logo { width: 711px; height: 245px; position: absolute; left: 0; right: 0; margin-inline: auto; }
@media screen and (min-width: 751px), print { .mv__logo { top: 50%; transform: translateY(-50%); } }
@media (max-width: 750px) { .mv__logo { width: calc((702 / var(--m-width)) * 100vw); height: auto; bottom: -15.2vw; } }
@media (max-width: 375px) { .mv__logo { width: calc((351 / var(--s-width)) * 100vw); height: auto; } }

/* slider */
@media screen and (min-width: 751px), print { .slider { visibility: hidden; display: none; } }
@media (max-width: 750px) { .slider { z-index: -1; } }

/* ---------- TARGET ---------- */
.target { background-color: var(--red); color: #fff; padding: 12px 16px; }
@media (max-width: 750px) { .target { padding-top: 18.4vw; } }
.target .inner { padding-inline: 0; }
.target p { font-size: 2.4rem; text-align: center; line-height: 1.5; }
@media (max-width: 750px) { .target p { font-size: calc((34 / var(--m-width)) * 100vw); text-align: left; } }
@media (max-width: 375px) { .target p { font-size: calc((17 / var(--s-width)) * 100vw); } }

/* ---------- ABOUT ---------- */
.about { padding: 75px 0 112px 0; }
@media (max-width: 750px) { .about { padding: calc((52 / var(--m-width)) * 100vw) 0 calc((76 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { .about { padding: calc((26 / var(--s-width)) * 100vw) 0 calc((38 / var(--s-width)) * 100vw); } }
.about .about__catchcopy { font-size: 3.3rem; line-height: 1.7; text-align: center; }
@media (max-width: 750px) { .about .about__catchcopy { font-size: calc((34 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { .about .about__catchcopy { font-size: calc((17 / var(--s-width)) * 100vw); } }
.about .about__catchcopy strong { color: var(--red); }
.about figure { display: block; text-align: center; margin-top: 80px; margin-bottom: 140px; }
@media (max-width: 750px) { .about figure { margin-top: calc((64 / var(--m-width)) * 100vw); margin-bottom: calc((106 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { .about figure { margin-top: calc((32 / var(--s-width)) * 100vw); margin-bottom: calc((53 / var(--s-width)) * 100vw); } }
.about figure figcaption { font-size: 2.6rem; letter-spacing: 0.1em; margin-top: 20px; }
@media (max-width: 750px) { .about figure figcaption { font-size: calc((28 / var(--m-width)) * 100vw); white-space: nowrap; } }
@media (max-width: 375px) { .about figure figcaption { font-size: calc((14 / var(--s-width)) * 100vw); } }

.eventinfo { margin-bottom: 65px; }
@media screen and (min-width: 751px), print { .eventinfo { display: flex; } }
@media (max-width: 750px) { .eventinfo { margin-bottom: calc((90 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { .eventinfo { margin-bottom: calc((45 / var(--s-width)) * 100vw); } }
.eventinfo .eventinfo__day { width: 467px; height: 257px; margin-right: 60px; }
@media (max-width: 750px) { .eventinfo .eventinfo__day { width: calc((600 / var(--m-width)) * 100vw); height: auto; margin: 0 auto calc((76 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { .eventinfo .eventinfo__day { width: calc((300 / var(--s-width)) * 100vw); height: auto; margin: 0 auto calc((38 / var(--s-width)) * 100vw); } }

dl.eventinfo__dl dt { display: inline-block; font-size: 1.7rem; letter-spacing: 0.2rem; line-height: 1.2; border: 1px solid var(--gray); border-radius: 3px; margin-bottom: 8px; padding: 4px 12px; }
dl.eventinfo__dl dd:not(:last-child) { margin-bottom: 32px; }
@media (max-width: 750px) { dl.eventinfo__dl dd.date { width: calc((500 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { dl.eventinfo__dl dd.date { width: calc((250 / var(--s-width)) * 100vw); } }

p.place span:first-child { display: block; font-size: 3.2rem; }
@media (max-width: 750px) { p.place span:first-child { font-size: calc((42 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { p.place span:first-child { font-size: calc((21 / var(--s-width)) * 100vw); } }
p.place span:nth-child(2) { font-size: 3.6rem; }
@media (max-width: 750px) { p.place span:nth-child(2) { font-size: calc((52 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { p.place span:nth-child(2) { font-size: calc((26 / var(--s-width)) * 100vw); } }

button.btn--map { width: 42px; height: 20px; background-color: transparent; border: 0; vertical-align: text-bottom; padding: 0; }
@media (hover: hover) { button.btn--map { transition: background ease .3s; }
  button.btn--map:hover { background-color: #eee; } }

@media (hover: hover) { button { cursor: pointer; } }

p.notes { font-size: 1.6rem; text-indent: -2rem; margin-left: 2rem; }
p.notes::before { content: '※'; margin-right: 4px; }

.dropbox { background-color: #fff; border: 3px solid #595757; padding: 21px; margin: 0 3px 3px; position: relative; }
@media (max-width: 750px) { .dropbox { padding: calc((40 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { .dropbox { padding: calc((20 / var(--s-width)) * 100vw); } }
.dropbox::after { content: ''; display: block; background-color: #d2d2d3; border: 3px solid #595757; width: 100%; height: 100%; position: absolute; left: 9px; top: 9px; z-index: -1; }
.dropbox.--bg-red { background-color: var(--red); color: #fff; }
.dropbox:not(:last-child) { margin-bottom: 28px; }
.dropbox .dropbox__ttl { font-size: 3.1rem; letter-spacing: 0.25em; line-height: 1.7; text-align: center; }
@media (max-width: 750px) { .dropbox .dropbox__ttl { font-size: calc((30 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { .dropbox .dropbox__ttl { font-size: calc((15 / var(--s-width)) * 100vw); } }
.dropbox p { font-size: 2.4rem; line-height: 1.58; text-align: center; }
@media (max-width: 750px) { .dropbox p { font-size: calc((24 / var(--m-width)) * 100vw); text-align: left; } }
@media (max-width: 375px) { .dropbox p { font-size: calc((12 / var(--s-width)) * 100vw); } }

p.fs-s { font-size: 1.7rem; line-height: 1.82; text-align: center; }
@media (max-width: 750px) { p.fs-s { font-size: calc((22 / var(--m-width)) * 100vw); text-align: left; } }
@media (max-width: 375px) { p.fs-s { font-size: calc((11 / var(--s-width)) * 100vw); } }

/* ---------- TIME SCHEDULE ---------- */
.time-schedule { background-color: var(--beige); padding-top: 73px; padding-bottom: 176px; }
@media (max-width: 750px) { .time-schedule { padding-top: calc((58 / var(--m-width)) * 100vw); padding-bottom: calc((164 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { .time-schedule { padding-top: calc((29 / var(--s-width)) * 100vw); padding-bottom: calc((82 / var(--s-width)) * 100vw); } }
.time-schedule .ttl { margin-bottom: 78px; }
@media (max-width: 750px) { .time-schedule .ttl { margin-bottom: calc((52 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { .time-schedule .ttl { margin-bottom: calc((26 / var(--s-width)) * 100vw); } }

.ttl { text-align: center; }
@media (max-width: 750px) { .ttl img { width: calc((380 / var(--m-width)) * 100vw); height: auto; } }
@media (max-width: 375px) { .ttl img { width: calc((190 / var(--s-width)) * 100vw); height: auto; } }

.ttl--popup { font-size: 2.6rem; font-weight: 700; line-height: 1.7; letter-spacing: 0.5rem; text-align: center; margin-bottom: 49px; position: relative; z-index: 1; }
@media (max-width: 750px) { .ttl--popup { font-size: calc((26 / var(--m-width)) * 100vw); margin-bottom: calc((64 / var(--m-width)) * 100vw); } }
.ttl--popup > span { background-color: #fff; border: 2px solid #595757; padding: 12px 84px; position: relative; display: inline-block; }
@media (max-width: 750px) { .ttl--popup > span { padding: calc((16 / var(--m-width)) * 100vw) calc((80 / var(--m-width)) * 100vw); } }
.ttl--popup > span::after { content: ''; width: 100%; height: 100%; background-color: #d2d2d3; border: 2px solid #595757; position: absolute; top: 8px; left: 7px; z-index: -1; }

/* ---------- MINI SEMINAR ---------- */
.mini-seminar { background-color: var(--beige); padding-bottom: 158px; }
@media (max-width: 750px) { .mini-seminar { padding-bottom: calc((186 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { .mini-seminar { padding-bottom: calc((93 / var(--s-width)) * 100vw); } }
.mini-seminar .ttl { margin-bottom: 42px; }
@media (max-width: 750px) { .mini-seminar .ttl { margin-bottom: calc((56 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { .mini-seminar .ttl { margin-bottom: calc((27 / var(--s-width)) * 100vw); } }

@media screen and (min-width: 751px), print { ul.cards { display: flex; flex-wrap: wrap; } }
ul.cards li.card { margin-bottom: 6%; }
@media screen and (min-width: 751px), print { ul.cards li.card { width: 47%; }
  ul.cards li.card:nth-child(odd) { margin-right: 6%; }
  ul.cards li.card:last-child, ul.cards li.card:nth-last-child(2) { margin-bottom: 0; } }
@media (max-width: 750px) { ul.cards li.card .card__tab img { width: calc((320 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { ul.cards li.card .card__tab img { width: calc((160 / var(--s-width)) * 100vw); } }
ul.cards li.card .card__in { background-color: #fff; box-shadow: 3px 3px 0 #b5b5b5; padding: 20px; }
ul.cards li.card .card__in .card__ttl { border-bottom: 1px solid #646464; font-size: 2.4rem; line-height: 1.41; padding-bottom: 16px; margin-bottom: 16px; }
@media (max-width: 750px) { ul.cards li.card .card__in .card__ttl { font-size: calc((28 / var(--m-width)) * 100vw); padding-bottom: calc((12 / var(--m-width)) * 100vw); margin-bottom: calc((12 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { ul.cards li.card .card__in .card__ttl { font-size: calc((14 / var(--s-width)) * 100vw); padding-bottom: calc((12 / var(--s-width)) * 100vw); margin-bottom: calc((6 / var(--s-width)) * 100vw); } }
ul.cards li.card .card__in .card__ttl small { color: var(--green); font-size: 83.3%; }
ul.cards li.card .card__in .card__ttl span { font-size: 83.3%; }
ul.cards li.card .card__in .card__target { font-size: 1.7rem; margin-bottom: 36px; }
@media (max-width: 750px) { ul.cards li.card .card__in .card__target { font-size: calc((22 / var(--m-width)) * 100vw); margin-bottom: calc((36 / var(--s-width)) * 100vw); } }
@media (max-width: 375px) { ul.cards li.card .card__in .card__target { font-size: calc((11 / var(--s-width)) * 100vw); margin-bottom: calc((18 / var(--s-width)) * 100vw); } }
ul.cards li.card .card__in p { font-size: 1.6rem; line-height: 1.75; }
@media (max-width: 750px) { ul.cards li.card .card__in p { font-size: calc((22 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { ul.cards li.card .card__in p { font-size: calc((11 / var(--s-width)) * 100vw); } }
ul.cards li.card .card__in figure { text-align: center; margin-top: 12px; }
@media (max-width: 750px) { ul.cards li.card .card__in figure { margin-top: calc((42 / var(--s-width)) * 100vw); } }
@media (max-width: 375px) { ul.cards li.card .card__in figure { margin-top: calc((21 / var(--s-width)) * 100vw); } }

/* ---------- CHECK ---------- */
.check { background-color: var(--beige); padding-bottom: 126px; position: relative; /*.check__ttl { position: relative; text-align: center; margin: -80px auto 25px;  img { @media (max-width: 750px) { width: calc((380 / var(--m-width)) * 100vw); height: auto; } @media (max-width: 375px) { width: calc((190 / var(--s-width)) * 100vw); height: auto; } }
}*/ }
@media (max-width: 750px) { .check { padding-bottom: calc((114 / var(--m-width)) * 100vw); padding-inline: calc((40 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { .check { padding-bottom: calc((57 / var(--s-width)) * 100vw); padding-inline: calc((20 / var(--s-width)) * 100vw); } }
.check .inner { background-color: #fff; border-radius: 15px; padding: 55px 45px 52px 91px; }
@media (max-width: 750px) { .check .inner { padding: calc((130 / var(--m-width)) * 100vw) calc((28 / var(--m-width)) * 100vw) calc((48 / var(--m-width)) * 100vw) calc((34 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { .check .inner { padding: calc((65 / var(--s-width)) * 100vw) calc((14 / var(--s-width)) * 100vw) calc((24 / var(--s-width)) * 100vw) calc((17 / var(--s-width)) * 100vw); } }
.check .ttl--popup { margin-top: -84px; }

.corner { display: flex; flex-wrap: wrap; }
.corner figure { text-align: right; margin-left: auto; }
@media (max-width: 750px) { .corner figure { padding-top: calc((32 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { .corner figure { padding-top: calc((16 / var(--s-width)) * 100vw); margin-inline: auto; }
  .corner figure img { width: calc((178 / var(--s-width)) * 100vw); height: auto; } }
.corner p { font-size: 1.6rem; line-height: 1.5; }
@media (max-width: 750px) { .corner p { font-size: calc((32 / var(--m-width)) * 100vw); } }

.corner__ttl { margin-bottom: 32px; }
@media (max-width: 750px) { .corner__ttl { font-size: calc((32 / var(--m-width)) * 100vw); } }

/* ---------- DIAGNOSIS ---------- */
.diagnosis { background-color: var(--beige); padding-bottom: 138px; }
@media (max-width: 750px) { .diagnosis { padding-bottom: calc((40 / var(--m-width)) * 100vw); padding-inline: calc((40 / var(--m-width)) * 100vw); } }
.diagnosis .inner { background-color: #fff; border: 2px solid #c82f07; border-radius: 15px; box-shadow: 6px 6px 0px #8e8e8e; padding: 46px 97px 62px 103px; }
@media (max-width: 750px) { .diagnosis .inner { padding: calc((34 / var(--m-width)) * 100vw) calc((20 / var(--m-width)) * 100vw) calc((80 / var(--m-width)) * 100vw); } }
.diagnosis .inner > figure { margin-bottom: 41px; text-align: center; }
@media (max-width: 750px) { .diagnosis .inner > figure { margin-bottom: calc((48 / var(--m-width)) * 100vw); } }
.diagnosis .inner > p { color: #646464; font-size: 2rem; font-weight: 500; line-height: 1.7; }
@media (max-width: 750px) { .diagnosis .inner > p { font-size: calc((26 / var(--m-width)) * 100vw); } }

.diagnosis__ttl { text-align: center; margin-bottom: 32px; }
@media (max-width: 750px) { .diagnosis__ttl { margin-bottom: calc((36 / var(--m-width)) * 100vw); } }
.diagnosis__ttl img { width: 512px; height: 137px; }
@media (max-width: 750px) { .diagnosis__ttl img { width: calc((478 / var(--m-width)) * 100vw); height: calc((128 / var(--m-width)) * 100vw); } }

.diagnosis__question { border: 1px solid #888; padding: 14px 21px 31px 16px; margin: 69px 0 40px; overflow: hidden; }
@media (max-width: 750px) { .diagnosis__question { margin-top: calc((56 / var(--m-width)) * 100vw); margin-bottom: calc((72 / var(--m-width)) * 100vw); } }
.diagnosis__question .question__ttl { display: block; background-color: #dcdcdc; border-radius: 50%; text-align: center; position: relative; }
@media screen and (min-width: 751px), print { .diagnosis__question .question__ttl { float: left; height: 97px; width: 97px; } }
@media (max-width: 750px) { .diagnosis__question .question__ttl { width: calc((148 / var(--m-width)) * 100vw); height: calc((148 / var(--m-width)) * 100vw); margin-inline: auto; } }
.diagnosis__question .question__ttl > span { font-size: 2rem; line-height: 1.7; position: absolute; top: 50%; left: 0; right: 0; margin: auto; transform: translateY(-50%); }
@media (max-width: 750px) { .diagnosis__question .question__ttl > span { font-size: calc((30 / var(--m-width)) * 100vw); } }
.diagnosis__question figure { margin-left: 22px; margin-right: 50px; }
@media screen and (min-width: 751px), print { .diagnosis__question figure { float: left; } }
@media (max-width: 750px) { .diagnosis__question figure { text-align: center; margin-top: calc((24 / var(--m-width)) * 100vw); margin-bottom: calc((40 / var(--m-width)) * 100vw); } }
.diagnosis__question p { font-size: 1.9rem; font-weight: 500; line-height: 1.5; letter-spacing: 0.2rem; }
@media (max-width: 750px) { .diagnosis__question p { font-size: calc((26 / var(--m-width)) * 100vw); } }

ol.num-list--circle { list-style: none; counter-reset: ol_li; font-size: 3rem; font-weight: 500; line-height: 1.7; margin-bottom: 16px; }
@media (max-width: 750px) { ol.num-list--circle { font-size: calc((28 / var(--m-width)) * 100vw); margin-bottom: calc((24 / var(--m-width)) * 100vw); } }
ol.num-list--circle li { display: flex; align-items: center; }
ol.num-list--circle li:not(:last-child) { margin-bottom: 22px; }
@media (max-width: 750px) { ol.num-list--circle li:not(:last-child) { margin-bottom: calc((20 / var(--m-width)) * 100vw); } }
ol.num-list--circle li::before { counter-increment: ol_li; content: counter(ol_li); background-color: #eb6d6b; border-radius: 50%; color: #fff; font-size: 2.5rem; display: inline-block; margin-right: 11px; padding: 0 14px; flex-shrink: 1; }
@media (max-width: 750px) { ol.num-list--circle li::before { font-size: calc((24 / var(--m-width)) * 100vw); padding: 0 7px; } }
ol.num-list--circle li small { font-size: 70%; }

/* ---------- FOOTER ---------- */
footer.footer { background-color: var(--black); color: #fff; padding: 41px 0 58px; }
@media (max-width: 750px) { footer.footer { padding: calc((32 / var(--m-width)) * 100vw) 0 calc((36 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { footer.footer { padding: calc((16 / var(--s-width)) * 100vw) 0 calc((18 / var(--s-width)) * 100vw); } }
footer.footer dl.supporters { font-size: 1.3rem; }
@media (max-width: 750px) { footer.footer dl.supporters { font-size: calc((20 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { footer.footer dl.supporters { font-size: calc((10 / var(--s-width)) * 100vw); } }
footer.footer dl.supporters dt { display: inline; }
footer.footer dl.supporters dt::after { content: ':'; display: inline; vertical-align: middle; }
footer.footer dl.supporters dd { display: inline; }
footer.footer .footer__last { border-top: 1px solid #fff; padding-top: 28px; margin-top: 25px; }
@media screen and (min-width: 751px), print { footer.footer .footer__last { display: flex; align-items: flex-end; justify-content: space-between; } }
footer.footer address { font-style: normal; font-size: 1.3rem; font-weight: 100; line-height: 1.46; }
@media (max-width: 750px) { footer.footer address { font-size: calc((22 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { footer.footer address { font-size: calc((11 / var(--s-width)) * 100vw); } }
footer.footer address strong { font-size: 2.1rem; }
@media (max-width: 750px) { footer.footer address strong { font-size: calc((37 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { footer.footer address strong { font-size: calc((17 / var(--s-width)) * 100vw); } }
footer.footer ul.sns { display: flex; align-items: center; margin-left: auto; }
@media (max-width: 750px) { footer.footer ul.sns { justify-content: center; margin-top: 28px; } }
footer.footer ul.sns li { width: 32px; height: 32px; }
footer.footer ul.sns li:not(:last-child) { margin-right: 26px; }

@media (max-width: 750px) { footer.footer .inner { padding-inline: calc((24 / var(--m-width)) * 100vw); } }
@media (max-width: 375px) { footer.footer .inner { padding-inline: calc((12 / var(--s-width)) * 100vw); } }

/* add */
.foot_btn_contact { margin: 20px 0; }
.foot_btn_contact a { display: block; color: #fff; font-size: 1.3rem; text-align: center; transition: 0.3s; position: relative; }
.foot_btn_contact a::after { content: ''; display: block; border: 1px solid #ccc; width: 100%; height: 100%; position: absolute; top: 3px; left: 3px; z-index: 1; }
.foot_btn_contact a:hover { opacity: 0.5; }
.foot_btn_contact a strong { display: block; background-color: #cb333a; padding: 5px 20px; position: relative; z-index: 2; }

/* add - end */
.map img { max-width: 600px; height: auto; }

/* modal - overlay */
body.clip { overflow: hidden; }

.btn--back { font-size: 1.6rem; background-color: #333; color: #fff; border: 0; padding: 8px 16px; position: absolute; top: 10px; right: 10px; }
@media (max-width: 750px) { .btn--back { font-size: calc((16 / var(--m-width)) * 100vw); } }

.modal { opacity: 0; visibility: hidden; display: none; }

.overlay { width: 100%; height: 100%; background: rgba(0, 0, 0, 0.6); justify-content: center; align-items: center; opacity: 0; visibility: hidden; position: fixed; top: 0; left: 0; z-index: 999; transition: opacity 0.3s ease, visibility .3s ease; }
.overlay .popup { max-width: 80%; max-height: 80%; background-color: #fff; padding: 34px; overflow: auto; visibility: hidden; transform: translateY(-20px); opacity: 0; transition: opacity 0.3s ease, transform 0.3s ease; }
.overlay.active { display: flex; opacity: 1; visibility: visible; }
.overlay.active .popup { opacity: 1; visibility: visible; transform: translateY(0); }

.popup { scrollbar-width: thin; scrollbar-color: #888 #fff; /* スクロールバー全体 */ /* スクロールバーのトラック（背景） */ /* スクロールバーのつまみ（ドラッグできる部分） */ /* ホバー時のつまみ */ }
.popup::-webkit-scrollbar { width: 12px; height: 12px; }
.popup::-webkit-scrollbar-track { background: #fff; border-radius: 10px; }
.popup::-webkit-scrollbar-thumb { background: #888; border-radius: 10px; border: 3px solid #fff; }
.popup::-webkit-scrollbar-thumb:hover { background: #555; }

/* add */
.read-gray { display: block; font-size: 2.4rem; text-align: center; margin: 60px auto 30px; }
@media (max-width: 750px) { .read-gray { font-size: calc((24 / var(--m-width)) * 100vw); margin: calc((60 / var(--m-width)) * 100vw) auto calc((30 / var(--m-width)) * 100vw); } }

/* add - end */
@media screen and (min-width: 751px), print { .sp-only { display: none; } }
@media (max-width: 750px) { .pc-only { display: none; } }
