*, *::after, *::before {
  box-sizing: border-box
}
:where(:focus-visible) {
  outline-offset: 3px
}
:where(html) {
  -webkit-text-size-adjust: none;
  text-size-adjust: none
}
:where(html) {
  line-height: 1.5
}
:where(html) {
  scrollbar-gutter: stable
}
:where(h1) {
  font-size: 2em;
  margin-block: .67em
}
:where(abbr[title]) {
  cursor: help;
  text-decoration-line: underline;
  text-decoration-style: dotted
}
@media(forced-colors: active) {
  :where(mark) {
    color: HighlightText;
    background-color: Highlight
  }
}
:where(audio, iframe, img, svg, video) {
  max-block-size: 100%;
  max-inline-size: 100%
}
:where(fieldset) {
  min-inline-size: 0
}
:where(label):has(+:where(input:not([type=radio], [type=checkbox]), select, textarea)) {
  display: block
}
:where(textarea:not([rows])) {
  min-block-size: 6em
}
:where(button, input, select, textarea) {
  font-family: inherit;
  font-size: inherit
}
:where([type=search]) {
  -webkit-appearance: textfield
}
@supports(-webkit-touch-callout: none) {
  :where([type=search]) {
    border: 1px solid -apple-system-secondary-label;
    background-color: canvas
  }
}
:where(input):where([type=tel], [type=url], [type=email], [type=number]):not(:placeholder-shown) {
  direction: ltr
}
:where(table) {
  border-collapse: collapse;
  border: 1px solid
}
:where(th, td) {
  border: 1px solid;
  padding: .25em .5em;
  vertical-align: top
}
:where(dialog)::backdrop {
  background: oklch(0 0 0/.3)
}
:where(dialog, [popover]), :where(dialog)::backdrop {
  opacity: 0;
  transition: opacity 150ms ease-out, display 150ms allow-discrete, overlay 150ms allow-discrete
}
:where(dialog[open], :popover-open), :where(dialog[open])::backdrop {
  opacity: 1
}
@starting-style {
  :where(dialog[open], : popover-open), :where(dialog[open])::backdrop {
    opacity: 0
  }
}
[hidden]:not([hidden=until-found]) {
  display: none !important
}
:where(img) {
  display: block
}
:where(summary) {
  cursor: default
}
:where(iframe) {
  border: none
}
:root {
  --max-1: 1480px;
  --max-2: 1400px;
  --max-3: 1200px;
  --outer: 50px;
  --center-offset: 20px
}
.guidelines {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999
}
.guidelines .guide {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--line-color, #00e8e8);
  opacity: var(--line-opacity, 0.9)
}
.guidelines .guide[data-set] {
  --cw: min(var(--w), 100vw)
}
.guidelines .container-start {
  left: calc(50% - var(--cw)/2)
}
.guidelines .container-end {
  left: calc(50% + var(--cw)/2)
}
.guidelines .center {
  left: 50%;
  background: lime;
  opacity: .95
}
.guidelines .center-left {
  left: calc(50% - var(--center-offset))
}
.guidelines .center-right {
  left: calc(50% + var(--center-offset))
}
.guidelines [data-set="1"] {
  --w: var(--max-1);
  --line-color: #00ff00;
  --line-opacity: 0.85
}
.guidelines [data-set="2"] {
  --w: var(--max-2);
  --line-opacity: 0.95
}
.guidelines [data-set="3"] {
  --w: var(--max-3);
  --line-opacity: 0.7
}
:root {
  --cl-FFFFFF: #ffffff;
  --cl-F9FAFC: #f9fafc;
  --cl-F2F5F8: #f2f5f8;
  --cl-DBDBDB: #dbdbdb;
  --cl-E25858: #e25858;
  --cl-6A6A6A: #6a6a6a;
  --cl-E6E6E6: #e6e6e6;
  --cl-F8F8F8: #f8f8f8;
  --cl-707070: #707070;
  --cl-4B3A45: #4b3a45;
  --cl-E7F6FB: #e7f6fb;
  --cl-E3E3E3: #e3e3e3;
  --cl-0080CC: #0080cc;
  --cl-8AA0E2: #8aa0e2;
  --cl-05A3E4: #05a3e4;
  --cl-6DC6D5: #6dc6d5;
  --cl-E09F93: #e09f93;
  --cl-74C1B6: #74c1b6;
  --cl-E4E4E4: #e4e4e4;
  --cl-F5F7FA: #f5f7fa;
  --cl-AFAFAF: #afafaf;
  --cl-7FBFE5: #7fbfe5;
  --cl-D4E9FC: #d4e9fc;
  --cl-B6C1CF: #b6c1cf;
  --cl-E4EBF5: #e4ebf5;
  --cl-6A747C: #6a747c;
  --cl-B7C2C7: #b7c2c7;
  --cl-333333: #333333;
  --cl-0080CB: #0080cb;
  --cl-222222: #222222
}
:root {
  --fs-89: clamp(2.25rem, 1.42rem + 4.14vw, 5.5625rem);
  --fs-76: clamp(2.125rem, 1.47rem + 3.28vw, 4.75rem);
  --fs-75: clamp(1.90rem, 1.30rem + 2.90vw, 4.38rem);
  --fs-46: clamp(1.6875rem, 1.39rem + 1.48vw, 2.875rem);
  --fs-40: clamp(1.625rem, 1.41rem + 1.09vw, 2.5rem);
  --fs-37: clamp(1.5rem, 1.3rem + 1.02vw, 2.3125rem);
  --fs-34: clamp(1.375rem, 1.19rem + 0.94vw, 2.125rem);
  --fs-32: clamp(1.25rem, 1.06rem + 0.94vw, 2rem);
  --fs-29: clamp(1.1875rem, 1.03rem + 0.78vw, 1.8125rem);
  --fs-28: clamp(1.125rem, 0.97rem + 0.78vw, 1.75rem);
  --fs-26: clamp(1.0625rem, 0.92rem + 0.7vw, 1.625rem);
  --fs-24: clamp(1rem, 0.88rem + 0.63vw, 1.5rem);
  --fs-23: clamp(1rem, 0.89rem + 0.55vw, 1.4375rem);
  --fs-22: clamp(1rem, 0.91rem + 0.47vw, 1.375rem);
  --fs-21: clamp(0.9375rem, 0.84rem + 0.47vw, 1.3125rem);
  --fs-20: clamp(0.9375rem, 0.86rem + 0.39vw, 1.25rem);
  --fs-19: clamp(0.9375rem, 0.88rem + 0.31vw, 1.1875rem);
  --fs-18: clamp(0.875rem, 0.81rem + 0.31vw, 1.125rem);
  --fs-16: clamp(0.8125rem, 0.77rem + 0.23vw, 1rem);
  --fs-14: 0.6875rem;
  --fs-12: 0.625rem
}
@media screen and (min-width: 769px) {
  :root {
    --fs-14: 0.875rem;
    --fs-12: 0.75rem
  }
}
@media screen and (min-width: 1600px) {
  html {
    font-size: 1vw
  }
}
body {
  margin: 0;
  position: relative;
  font-size: var(--fs-16);
  color: var(--cl-222222);
  font-weight: 700;
  letter-spacing: 0;
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "MS PMincho", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  transition: .5s ease;
  overflow-y: visible;
  overflow-anchor: none
}
.b-visuallyHidden {
  position: fixed !important;
  top: 0px !important;
  left: 0px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  overflow: hidden !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  visibility: visible !important
}
.b-inner {
  width: min(75rem, 94%);
  margin-inline: auto
}
.b-inner__sm {
  width: min(55rem, 94%);
  margin-inline: auto
}
.b-inner__md {
  width: min(87.5rem, 94%);
  margin-inline: auto
}
.b-inner__lg {
  width: min(92.5rem, 94%);
  margin-inline: auto
}
@supports(text-box-trim: trim-both) {
  h1, h2, h3, h4, h5, h6, p {
    text-box-trim: trim-both;
    text-box-edge: text
  }
}
@media screen and (min-width: 769px) {
  .--sp {
    display: none !important
  }
}
@media screen and (max-width: 768px) {
  .--pc {
    display: none !important
  }
}
html.lenis, html.lenis body {
  height: auto
}
.lenis.lenis-stopped {
  overflow: clip
}
.lenis [data-lenis-prevent], .lenis [data-lenis-prevent-wheel], .lenis [data-lenis-prevent-touch], .lenis [data-lenis-prevent-vertical], .lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain
}
.lenis.lenis-smooth iframe {
  pointer-events: none
}
@font-face {
  font-family: "Amiri";
  src: url("../font/Amiri-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap
}
@font-face {
  font-family: "Amiri";
  src: url("../font/Amiri-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap
}
@font-face {
  font-family: "Shippori Mincho";
  src: url("../font/ShipporiMincho-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap
}
@font-face {
  font-family: "Shippori Mincho";
  src: url("../font/ShipporiMincho-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap
}
@font-face {
  font-family: "Shippori Mincho";
  src: url("../font/ShipporiMincho-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap
}
@font-face {
  font-family: "Shippori Mincho";
  src: url("../font/ShipporiMincho-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap
}
*[class*=b-min-] {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "MS PMincho", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal
}
*[class*=b-en-] {
  font-family: "Amiri", Georgia, "Times New Roman", Times, serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal
}
.b-en-400 {
  font-weight: 400
}
.b-min-400 {
  font-weight: 400
}
.b-en-500 {
  font-weight: 500
}
.b-min-500 {
  font-weight: 500
}
.b-en-600 {
  font-weight: 600
}
.b-min-600 {
  font-weight: 600
}
.b-en-700 {
  font-weight: 700
}
.b-min-700 {
  font-weight: 700
}
*[class*=c-btn] {
  text-decoration: none;
  color: inherit
}
.c-btn {
  width: fit-content;
  font-size: var(--fs-16);
  letter-spacing: .05em;
  color: var(--cl-0080CB);
  border: 1px solid var(--cl-0080CB);
  background: #fff;
  border-radius: 9999px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  gap: 1.375em;
  padding-inline: 1.25em;
  padding-block: 1.0625em;
  transition: .3s ease
}
.c-btn i {
  background: var(--cl-0080CB);
  border-radius: 9999px;
  padding-block: .375em;
  padding-inline: .96875em;
  transition: .3s ease
}
.c-btn i img {
  width: .5625rem;
  height: .5rem
}
@media(hover: hover)and (pointer: fine) {
  .c-btn:hover {
    opacity: .8
  }
  .c-btn:hover i {
    transform: translateX(4px)
  }
}
.c-ttl {
  margin-block: 0
}
.c-ttl__en {
  display: block;
  font-size: 74px;
  line-height: 1.2;
  color: var(--cl-0080CB);
  text-box-edge: cap alphabetic
}
@media screen and (max-width: 768px) {
   .c-ttl__en {
       font-size:var(--fs-76);
    }
}
.c-ttl__ja {
  display: block;
  font-size: var(--fs-20);
  margin-block-start: 1.2em;
  line-height: 1;
  font-weight: 500
}
.c-lead {
  font-size: var(--fs-28);
  letter-spacing: .05em;
  line-height: 1.7857142857;
  font-weight: 500;
  margin-block: 0
}
.c-pic {
  display: block
}
.c-pic img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover
}
.l-hd {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 1000;
  display: grid;
  grid-template-columns: auto 1fr;
  padding-inline: clamp(1.25rem, .98rem + 1.33vw, 2.3125rem);
  padding-block: 1.0625em .9375em
}
.l-hd::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .95;
  z-index: 1002;
  background: rgba(0, 0, 0, 0) linear-gradient(180deg, #fff 0%, #fff 93%, rgba(255, 255, 255, 0.031372549) 100%) 0% 0% no-repeat padding-box
}
.l-hd > * {
  position: relative;
  z-index: 1003
}
.l-hd__logo {
  margin-block: 0;
  z-index: 1003;
  width: min(10.1875rem, calc(88 / 375 * 100vw))
}
.l-hd__logo a {
  text-decoration: none;
  color: var(--cl-222222)
}
.l-hd__group {
  display: none
}
@media screen and (min-width: 1201px) {
  .l-hd__group {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: nowrap;
    gap: clamp(1.375rem, 1.09rem + 1.41vw, 2.5rem)
  }
}
.l-hd__nav ul {
  list-style: none;
  margin-block: 0;
  padding-inline-start: 0;
  font-size: var(--fs-12);
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  flex-wrap: nowrap;
  gap: 2em
}
.l-hd__nav li {
  position: relative
}
.l-hd__nav li:has(>ol) > a {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: .5714285714em
}
.l-hd__nav li:has(>ol) > a::after {
  content: "";
  width: .5714285714em;
  height: .5714285714em;
  border-inline-end: 2px solid var(--cl-0080CB);
  border-block-end: 2px solid var(--cl-0080CB);
  transform: translateY(-25%) rotate(45deg)
}
.l-hd__nav li:hover > ol, .l-hd__nav li:focus-within > ol {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0)
}
.l-hd__nav a {
  text-decoration: none;
  color: var(--cl-222222);
  transition: color .3s ease
}
@media(hover: hover)and (pointer: fine) {
  .l-hd__nav a:hover {
    color: var(--cl-0080CB)
  }
}
.l-hd__nav ol {
  position: absolute;
  inset-block-start: calc(100% + 1.125rem);
  inset-inline-start: 50%;
  z-index: 1000;
  min-width: 13.75rem;
  list-style: none;
  margin-block: 0;
  padding: .75rem;
  background: #fff;
  border-radius: .75rem;
  box-shadow: 0 .625rem 1.5rem rgba(0, 0, 0, .12);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%) translateY(0.5rem);
  transition: opacity .25s ease, visibility .25s ease, transform .25s ease
}
.l-hd__nav ol::before {
  content: "";
  position: absolute;
  inset-block-start: -1.125rem;
  inset-inline: 0;
  height: 1.125rem
}
.l-hd__nav ol a {
  display: block;
  padding-block: .7142857143em;
  padding-inline: .8571428571em;
  border-radius: .5rem;
  white-space: nowrap;
  font-size: var(--fs-12)
}
.l-hd__cta {
  width: fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  gap: .6428571429em;
  font-size: var(--fs-14);
  line-height: 1.9285714286;
  letter-spacing: .05em;
  font-weight: 500;
  padding-block: .7142857143em;
  padding-inline: 2.1714285714em;
  background: var(--cl-0080CB);
  border-radius: 9999px;
  color: #fff;
  text-decoration: none;
  margin-inline: auto
}
@media screen and (min-width: 1201px) {
  .l-hd__cta {
    margin-inline: 0
  }
}
.l-hd__cta {
  transition: .3s ease
}
@media(hover: hover)and (pointer: fine) {
  .l-hd__cta:hover {
    opacity: .8
  }
}
.l-hd__cta img {
  width: .875rem;
  height: .75rem
}
.l-hd__toggle {
  position: fixed;
  inset: 1.25rem 1.25rem auto auto;
  z-index: 1002;
  width: min(3.1875rem, calc(32 / 375 * 100vw));
  aspect-ratio: 1;
  border: 0;
  border-radius: 50%;
  padding: 0;
  cursor: pointer;
  background: var(--cl-0080CB)
}
@media screen and (min-width: 1201px) {
  .l-hd__toggle {
    display: none
  }
}
.l-hd__toggle span {
  position: absolute;
  inset-inline-start: 50%;
  width: min(1.5rem, calc(18 / 375 * 100vw));
  height: 1px;
  background: #fff;
  transform: translateX(-50%);
  transition: transform .3s ease, opacity .3s ease, inset .3s ease
}
.l-hd__toggle span:nth-child(1) {
  inset-block-start: calc(50% - 0.375rem)
}
.l-hd__toggle span:nth-child(2) {
  inset-block-start: 50%
}
.l-hd__toggle span:nth-child(3) {
  inset-block-start: calc(50% + 0.375rem)
}
.l-hd.is-menu-open .l-hd__toggle span:nth-child(1) {
  inset-block-start: 50%;
  transform: translateX(-50%) rotate(45deg)
}
.l-hd.is-menu-open .l-hd__toggle span:nth-child(2) {
  opacity: 0
}
.l-hd.is-menu-open .l-hd__toggle span:nth-child(3) {
  inset-block-start: 50%;
  transform: translateX(-50%) rotate(-45deg)
}
.l-hd__panel {
  position: fixed;
  inset: 0;
  z-index: 1001;
  overflow-y: auto;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  background: #fff;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .35s ease, visibility .35s ease
}
@media screen and (min-width: 1201px) {
  .l-hd__panel {
    display: none
  }
}
.l-hd.is-menu-open .l-hd__panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto
}
.l-hd__inner {
  padding-block-start: var(--header-h);
  padding-inline: 3%;
  min-height: calc(100dvh - var(--header-h));
  padding-block-end: 2.5rem;
  opacity: 0;
  transform: translateX(1.5rem);
  transition: opacity .45s ease, transform .45s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform
}
.l-hd.is-menu-open .l-hd__inner {
  opacity: 1;
  transform: translateX(0)
}
.l-hd__navSp ul {
  list-style: none;
  margin-block: 0 2em;
  padding-inline-start: 0
}
.l-hd__navSp ul > li {
  border-block-end: 1px solid var(--cl-B6C1CF);
  font-size: var(--fs-18)
}
.l-hd__navSp ul > li > a {
  display: block;
  padding-block: 1em;
  text-decoration: none;
  color: var(--cl-222222)
}
.l-hd__navSp ol {
  list-style: none;
  margin-block: 0;
  padding-inline-start: 1em
}
.l-hd__navSp ol li a {
  display: block;
  padding-block: 0 .5em;
  text-decoration: none;
  color: var(--cl-222222)
}
@keyframes splide-loading {
  0% {
    transform: rotateZ(0)
  }
  100% {
    transform: rotateZ(360deg)
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  user-select: none
}
.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0
}
.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1
}
.splide--rtl {
  direction: rtl
}
.splide__track--ttb > .splide__list {
  display: block
}
.splide__container {
  box-sizing: border-box;
  position: relative
}
.splide__list {
  backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important
}
.splide.is-initialized:not(.is-active) .splide__list {
  display: block
}
.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none
}
.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto
}
.splide:not(.is-overflow) .splide__pagination {
  display: none
}
.splide__progress__bar {
  width: 0
}
.splide {
  position: relative;
  visibility: hidden
}
.splide.is-initialized, .splide.is-rendered {
  visibility: visible
}
.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative
}
.splide__slide img {
  vertical-align: bottom
}
.splide__spinner {
  animation: splide-loading 1s infinite linear;
  border: 2px solid #999;
  border-left-color: rgba(0, 0, 0, 0);
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px
}
.splide__sr {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px
}
.splide__toggle__pause {
  display: none
}
.splide__toggle.is-active .splide__toggle__play {
  display: none
}
.splide__toggle.is-active .splide__toggle__pause {
  display: inline
}
.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0
}
.c-intro {
  padding-block: clamp(5.125rem, 4.06rem + 5.31vw, 9.375rem)
}
.c-intro__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: clamp(1.375rem, 1.09rem + 1.41vw, 2.5rem)
}
.c-intro__meta {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: clamp(1.375rem, 1.09rem + 1.41vw, 2.5rem)
}
.c-intro__count {
  font-size: var(--fs-24);
  font-weight: 400;
  color: var(--cl-6A747C);
  margin-block: 0;
  text-box-edge: cap alphabetic
}
.c-intro__count .js-intro-current {
  color: var(--cl-0080CB)
}
.c-intro__slider {
  margin-block-start: clamp(3rem, 2.5rem + 2.5vw, 5rem);
  margin-inline-end: calc(50% - 50vw)
}
.c-intro__slider .splide__list {
  align-items: flex-end
}
.c-intro__slider .splide__slide {
  overflow: visible
}
.c-introCard {
  text-decoration: none;
  color: var(--cl-222222);
  display: block;
  transform: scale(0.88);
  transform-origin: right bottom;
  transition: transform .8s cubic-bezier(0.22, 1, 0.36, 1), opacity .8s cubic-bezier(0.22, 1, 0.36, 1)
}
.splide__slide.is-active .c-introCard {
  transform: scale(1)
}
.js-intro-slider.is-moving-forward .splide__slide.is-active .c-introCard {
  transform: scale(0.88)
}
.js-intro-slider.is-moving-forward .splide__slide.is-next .c-introCard {
  transform: scale(1)
}
.js-intro-slider.is-moving-backward .splide__slide.is-active .c-introCard {
  transform: scale(0.88)
}
.js-intro-slider.is-moving-backward .splide__slide.is-prev .c-introCard {
  transform: scale(1)
}
.c-introCard__fig {
  margin: 0;
  width: 100%
}
.c-introCard__img {
  display: block;
  width: 100%;
  border-radius: .625rem
}
.c-introCard__place {
  font-size: var(--fs-14);
  font-weight: 600;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  gap: .5714285714em;
  margin-block: clamp(1.625rem, 1.41rem + 1.09vw, 2.5rem) 1em
}
.c-introCard__place::before {
  content: "";
  display: block;
  width: .75rem;
  height: .9375rem;
  background: url(/_common/img/cmn/icon-pin.svg) no-repeat center center/contain
}
.c-introCard__name {
  color: var(--cl-0080CB);
  font-size: var(--fs-26);
  letter-spacing: .05em;
  font-weight: 500;
  margin-block: 0
}
.c-cta {
  padding-block-start: clamp(5rem, 4rem + 5vw, 9rem);
  padding-block-end: clamp(5rem, 4rem + 5vw, 9rem);
  background: linear-gradient(transparent 50%, var(--cl-E4EBF5) 50%);
  color: #fff;
  position: relative;
  overflow: hidden
}
.c-cta::before {
  content: "";
  position: absolute;
  inset: 0 0 0 auto;
  background: var(--cl-0080CB);
  border-radius: .625rem 0 0 .625rem;
  width: min(96.25rem, 98%);
  z-index: 1
}
.c-cta__box {
  position: relative;
  z-index: 3;
  gap: clamp(2.625rem, 2.28rem + 1.72vw, 4rem);
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap
}
.c-cta__txt p {
  margin-block: 2.875em 0;
  font-size: var(--fs-16);
  line-height: 2;
  letter-spacing: .05em
}
.c-cta .c-ttl__en {
  color: #fff
}
@media screen and (max-width: 768px) {
  .c-cta__info {
    margin-inline: auto
  }
}
.c-cta__mail {
  width: fit-content;
  background: #fff;
  border-radius: 9999px;
  font-size: var(--fs-16);
  letter-spacing: .05em;
  color: var(--cl-0080CB);
  text-decoration: none;
  padding-inline-start: 3em;
  padding-inline-end: 1.875em;
  padding-block: 1em;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap
}
@media screen and (min-width: 769px) {
  .c-cta__mail {
    padding-block: 1.875em
  }
}
.c-cta__mail .icon {
  width: 1.5rem;
  height: 1.125rem;
  margin-inline-end: .5625em
}
.c-cta__mail i {
  margin-inline-start: 1.625em;
  background: var(--cl-D4E9FC);
  border-radius: 9999px;
  padding-block: .6875em;
  padding-inline: 1.53125em;
  transition: .3s ease
}
.c-cta__mail i img {
  width: .5625rem;
  height: .5rem;
  filter: brightness(0) saturate(100%) invert(33%) sepia(76%) saturate(1900%) hue-rotate(180deg) brightness(89%) contrast(101%)
}
.c-cta__mail {
  transition: .3s ease
}
@media(hover: hover)and (pointer: fine) {
  .c-cta__mail:hover {
    opacity: .8
  }
  .c-cta__mail:hover i {
    transform: translateX(4px)
  }
}
.c-cta__tel {
  margin-block: 0
}
@media screen and (min-width: 769px) {
  .c-cta__tel {
    text-align: right
  }
}
.c-cta__tel > a {
  font-size: var(--fs-40);
  line-height: 1;
  letter-spacing: .05em;
  text-decoration: none;
  color: #fff;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: nowrap;
  gap: .175em;
  margin-block-start: .7em
}
@media screen and (max-width: 768px) {
  .c-cta__tel > a {
    justify-content: center
  }
}
.c-cta__tel > a > img {
  filter: brightness(0) invert(1)
}
.c-cta__tel > small {
  font-size: var(--fs-14);
  line-height: 1;
  letter-spacing: .05em
}
@media screen and (max-width: 768px) {
  .c-cta__tel > small {
    display: block;
    margin-block-start: .5em;
    text-align: center
  }
}
.c-cta__bg {
  font-size: clamp(3.5rem, 1.54rem + 8.38vw, 9.918125rem);
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  opacity: .05;
  margin-block: 0;
  pointer-events: none
}
.l-ft {
  background: var(--cl-E4EBF5)
}
.l-ft__wrap {
  padding-block-start: clamp(3rem, 2.5rem + 2.5vw, 5rem);
  padding-block-end: clamp(3.75rem, 3.13rem + 3.13vw, 6.25rem);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: clamp(1.875rem, 1.47rem + 2.03vw, 3.5rem)
}
.l-ft__logo {
  width: min(11.4375rem, calc(88 / 375 * 100vw));
  margin-block: 0
}
.l-ft__addr {
  font-size: var(--fs-14);
  letter-spacing: .05em;
  line-height: 2.2857142857;
  font-style: normal
}
.l-ft__addr > p {
  margin-block: 1.7857142857em 0
}
.l-ft__addr > p a {
  text-decoration: none;
  color: var(--cl-222222)
}
.l-ft__nav {
  display: grid;
  grid-template-columns: auto auto
}
.l-ft__nav ul {
  list-style: none;
  margin-block: 0;
  padding-inline-start: 0;
  font-size: var(--fs-14);
  letter-spacing: .05em
}
.l-ft__nav ul:nth-child(2) {
  justify-self: end
}
.l-ft__nav li + li {
  margin-block-start: 1em
}
.l-ft__nav a {
  text-decoration: none;
  color: var(--cl-222222)
}
.l-ft__bnr {
  margin-block-start: clamp(1.5rem, 1.38rem + .63vw, 2rem);
  width: 18.125rem;
  grid-column: span 2
}
.l-ft__copy {
  position: relative;
  margin-block: 0;
  text-align: right;
  border-block-start: 1px solid var(--cl-B6C1CF);
  opacity: .5
}
.l-ft__copy p {
  margin-block: 0;
  font-weight: 300;
  display: block;
  color: var(--cl-6A747C);
  font-size: var(--fs-14);
  letter-spacing: .05em;
  line-height: 1;
  padding-block: 2.1428571429em
}