@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@100..900&family=Oswald:wght@700&display=swap");
html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  margin-top: 0 !important;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background-color: var(--background-color);
  color: #000;
  font-size: 0.9rem;
  font-family: system-ui;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  overflow-x: hidden;
  position: relative;
}
@media screen and (min-width: 375px) {
  body {
    font-size: 1rem;
  }
}

main {
  width: 100%;
}
@media screen and (min-width: 1024px) {
  main {
    margin-top: 70px;
  }
}

section {
  width: 100%;
  position: relative;
}

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
  text-decoration: none;
  cursor: pointer;
  transition: 0.3s;
}
a:hover {
  outline-width: 0;
  text-decoration: none;
  opacity: 0.8;
}
a.underline {
  text-decoration: underline;
}
a.underline:hover {
  text-decoration: none;
}
a::before, a::after {
  transition: 0.3s;
}

img {
  max-width: 100%;
  height: auto;
  border-style: none;
  -o-object-fit: contain;
     object-fit: contain;
}
img.img {
  width: 100%;
  display: block;
}

em {
  font-style: normal;
}

strong {
  font-weight: 700;
}

/* ============= common class ================ */
@media screen and (min-width: 576px) {
  .disp_xs {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .disp_tab {
    display: none !important;
  }
  .disp_pc {
    display: none !important;
  }
  .disp_notsp {
    display: none !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .disp_sp {
    display: none !important;
  }
  .disp_pc {
    display: none !important;
  }
}
@media screen and (min-width: 1024px) {
  .disp_sp {
    display: none !important;
  }
  .disp_tab {
    display: none !important;
  }
  .disp_notpc {
    display: none !important;
  }
}

.bg {
  position: relative;
}
.bg--white {
  background-color: #fff;
}
.bg--blue {
  background-color: var(--main-color);
}
.bg--sky {
  background-color: var(--sub-color);
}
.bg--bg {
  background-color: #F1F1F1;
}
.bg--car {
  padding-top: 259px;
  position: relative;
  overflow: hidden;
}
.bg--car::before {
  content: "";
  width: 100%;
  height: calc(100% - 120px);
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
}
.bg--car-Gray::before {
  background-color: #F1F1F1;
}
.bg--car-White::before {
  background-color: #fff;
}
.bg--car::after {
  content: "";
  width: 100%;
  height: 256px;
  background: url(../images/bg_car.png) center top/570px no-repeat;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.bg--car > .inner {
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .bg--car {
    padding-top: 355px;
  }
  .bg--car::before {
    width: 180%;
    height: calc(100% - 155px);
    -webkit-clip-path: ellipse(100% 100% at center bottom);
            clip-path: ellipse(100% 100% at center bottom);
    transform: translateX(-50%);
    left: 50%;
  }
  .bg--car::after {
    height: 422px;
    background-size: 1000px;
  }
}
@media screen and (min-width: 1200px) {
  .bg--car::before {
    width: 140%;
  }
}
@media screen and (min-width: 1600px) {
  .bg--car::before {
    width: 120%;
    transform: translateX(-50%);
    left: 50%;
  }
}
.bg--maintenance {
  background-color: var(--main-color);
}
.bg--maintenance::before, .bg--maintenance::after {
  content: "";
  width: 100%;
  padding-top: 56%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.bg--maintenance::before {
  background: url("../images/bg-maintenance.jpg") center/cover no-repeat;
	mix-blend-mode: multiply;
	opacity: 0.4;
}
.bg--maintenance::after {
  background: linear-gradient(180deg, transparent 45%, var(--main-color) 100%);
}
.bg--maintenance > .inner {
  z-index: 1;
}

.en {
  font-family: "Oswald", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.bold {
  font-weight: 700;
}

.txt--main {
  color: var(--main-color);
}
.txt--white {
  color: #fff;
}
.txt--red {
  color: var(--grad1-color);
}
.txt--yellow {
  color: var(--accent-color);
}

.marker--white {
  background: linear-gradient(transparent 60%, #fff 60%);
}
.marker--sky {
  background: linear-gradient(transparent 60%, var(--sub-color) 60%);
}

@media screen and (min-width: 768px) {
  .pcOrder--1 {
    order: 1;
  }
}
.js-collapse {
  cursor: pointer;
}

/* ============= common parts ================ */
.inner {
  width: calc(100% - 20px);
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .inner {
    width: calc(100% - 40px);
    max-width: 1200px;
  }
}

.btn {
  width: 100%;
  max-width: 310px;
  height: 60px;
  padding: 0 44px 0 0;
  background: linear-gradient(180deg, var(--grad1-color) 0%, var(--grad2-color) 100%);
  border-radius: 10000px;
  box-shadow: 0px 4px 0px #DFDFDF;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: 0.3s;
}
.btn::after {
  content: "";
  width: 22px;
  height: 22px;
  margin: auto 0;
  background: url('data:image/svg+xml;charset=utf8,<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11 22C17.0751 22 22 17.0751 22 11C22 4.92487 17.0751 0 11 0C4.92487 0 0 4.92487 0 11C0 17.0751 4.92487 22 11 22ZM9.5 13.5981L14 11L9.5 8.40192V13.5981Z" fill="%23fff"/></svg>') center/contain no-repeat;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 22px;
  transition: 0.3s;
}
.btn:hover {
  opacity: 1;
  color: rgba(255, 255, 255, 0.6);
  box-shadow: none;
  transform: translateY(4px);
}
.btn:hover::after {
  opacity: 0.6;
}

/*------------------------------------------------------
    header
-------------------------------------------------------*/
.header {
  width: 100%;
  background-color: #fff;
  position: relative;
  top: 0;
  left: 0;
  z-index: 1041;
}
@media screen and (min-width: 1024px) {
  .header {
    height: 70px;
  }
}
.header.fixed {
  padding-top: 54px;
}
.header.fixed .header__top {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
}
@media screen and (min-width: 1024px) {
  .header.fixed {
    padding-top: 0;
    position: fixed;
  }
  .header.fixed .header__top {
    position: relative;
    z-index: 0;
  }
}
.header.open .header__lead {
  display: none;
}
.header__lead {
  height: 24px;
  background-color: #333F47;
  color: #fff;
  font-size: 11px;
  text-align: center;
  display: flex;
  align-items: center;
}
.header__lead > .inner {
  width: calc(100% - 40px);
  max-width: 100%;
}
.header__top {
  width: 100%;
  height: 54px;
  padding: 3px 0 4px;
  background-color: #fff;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .header__top {
    display: contents;
  }
}
.header__bottom {
  width: 100%;
  padding: 8px 0;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1023px) {
  .header__bottom--none {
    padding: 5px 0 0;
  }
  .header__bottom--none * {
    display: none !important;
  }
}
@media screen and (min-width: 1024px) {
  .header__bottom {
    width: auto;
    grid-gap: 3px;
  }
}
@media screen and (min-width: 1200px) {
  .header__bottom {
    display: contents;
  }
}
.header__inner {
  max-width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
.header__inner--pc {
  display: contents;
}
@media screen and (min-width: 1024px) {
  .header__inner {
    width: calc(100% - 40px);
    max-width: 1820px;
    height: 100%;
  }
  .header__inner--sp {
    display: contents;
  }
  .header__inner--pc {
    display: flex;
    justify-content: flex-start;
  }
}
@media screen and (min-width: 1600px) {
  .header__inner {
    width: calc(100% - 100px);
  }
}
.header__ttlWrap {
  width: 100%;
  max-width: 135px;
}
.header__ttlWrap .ttl {
  width: 100%;
}
.header__ttlWrap .ttl__link {
  width: 100%;
  display: block;
}
.header__ttlWrap .ttl__img {
  width: 100%;
  max-height: 40px;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left center;
     object-position: left center;
}
@media screen and (min-width: 1024px) {
  .header__ttlWrap {
    width: auto;
    max-width: 150px;
  }
  .header__ttlWrap .ttl__img {
    max-height: 48px;
  }
}
@media screen and (min-width: 1440px) {
  .header__ttlWrap {
    max-width: 209px;
  }
}
.header__achieves {
  margin: 0 auto 0 13px;
  display: grid;
  grid-gap: 0 3px;
}
.header__achieves .heading {
  height: 19px;
  background: linear-gradient(180deg, var(--grad1-color) 0%, var(--grad2-color) 100%);
  border-radius: 4px 4px 0 0;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 0px;
  line-height: 19px;
  text-align: center;
  text-shadow: 0px 0px 2px 0.25;
}
.header__achieves .heading--achievement {
  width: 90px;
}
.header__achieves .heading--history {
  grid-row: 1;
  grid-column: 2;
  width: 65px;
}
.header__achieves .contents {
  height: 27px;
  background-color: var(--sub-color);
  border-radius: 0 0 4px 4px;
  font-size: 10px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header__achieves .contents strong {
  color: var(--grad1-color);
  font-size: 22px;
  font-weight: 700;
}
@media screen and (min-width: 1024px) {
  .header__achieves {
    margin: 0 12px 0 15px;
  }
}
@media screen and (min-width: 1440px) {
  .header__achieves {
    margin: 0 12px 0 15px;
  }
}
.header__btn {
  width: 50px;
  height: 50px;
  background-color: #333F47;
  border-radius: 0 0 4px 4px;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  grid-gap: 3px;
  cursor: pointer;
  position: absolute;
  top: -3px;
  right: -6px;
  z-index: 1042;
}
.header__btn .bar {
  width: 34px;
  height: 1px;
  background-color: #fff;
  display: block;
  transition: 0.3s;
}
.header__btn .txt {
  width: 100%;
  margin-top: 6.5px;
  font-size: 10px;
  text-align: center;
  display: block;
}
.header__btn .txt--close {
  display: none;
}
.header__btn.open .bar {
  position: absolute;
  top: -18px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transform: rotate(15deg);
}
.header__btn.open .bar:nth-child(2) {
  transform: rotate(-15deg);
}
.header__btn.open .bar:nth-child(3) {
  transform: scale(0);
}
.header__btn.open .txt--menu {
  display: none;
}
.header__btn.open .txt--close {
  display: block;
  position: absolute;
  bottom: 15px;
  left: 0;
}
.header__menu {
  width: 0;
  height: calc(100vh - 54px);
  background: #fff;
  position: fixed;
  top: 54px;
  right: 0;
  pointer-events: none;
  opacity: 0;
  transition: 0.3s;
  z-index: 1041;
  overflow-y: auto;
}
.header__menu.open {
  width: 100%;
  opacity: 1;
  pointer-events: auto;
}
@media screen and (min-width: 768px) {
  .header__menu.open {
    width: 400px;
  }
}
@media screen and (min-width: 1024px) {
  .header__menu {
    width: auto;
    height: 100%;
    padding: 0;
    margin-left: auto;
    position: relative;
    top: 0;
    pointer-events: auto;
    opacity: 1;
    overflow: visible;
    order: 1;
  }
  .header__menu.open {
    width: auto;
  }
}
.header__menu > .inner {
  max-width: 284px;
  padding: 33px 0;
}
@media screen and (min-width: 1024px) {
  .header__menu > .inner {
    width: 100%;
    max-width: 100%;
    height: 100%;
    padding: 0;
  }
}
.header__menu .navWrap {
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .header__menu .navWrap {
    height: 100%;
  }
}
.header__menu .gnav {
  width: 100%;
  display: grid;
  grid-gap: 6px;
}
.header__menu .gnav__item {
  width: 100%;
  padding: 0 0 6px 41px;
  border-bottom: 1px solid var(--main-color);
  position: relative;
}
.header__menu .gnav__item::before, .header__menu .gnav__item::after {
  content: "";
  width: 22px;
  height: 22px;
  display: block;
  position: absolute;
  top: 12px;
  left: 0;
}
.header__menu .gnav__item::after {
  background: url('data:image/svg+xml;charset=utf8,<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11 22C17.0751 22 22 17.0751 22 11C22 4.92487 17.0751 0 11 0C4.92487 0 0 4.92487 0 11C0 17.0751 4.92487 22 11 22ZM9.5 13.5981L14 11L9.5 8.40192V13.5981Z" fill="%230086E3"/></svg>') center/contain no-repeat;
}
.header__menu .gnav__item .sub-menu {
  width: calc(100% + 41px);
  margin: 6px 0 2px -41px;
}
.header__menu .gnav__item .sub-menu li {
  padding-bottom: 0;
  border-bottom: 0;
}
.header__menu .gnav__item .sub-menu li::before {
  background-color: var(--main-color);
  border-radius: 50%;
  transform: scale(0.9);
}
.header__menu .gnav__item .sub-menu li::after {
  background: url('data:image/svg+xml;charset=utf8,<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11 22C17.0751 22 22 17.0751 22 11C22 4.92487 17.0751 0 11 0C4.92487 0 0 4.92487 0 11C0 17.0751 4.92487 22 11 22ZM9.5 13.5981L14 11L9.5 8.40192V13.5981Z" fill="%23F1F1F1"/></svg>') center/contain no-repeat;
}
.header__menu .gnav__item .sub-menu a {
  font-weight: 400;
  line-height: 2.5;
}
.header__menu .gnav__link {
  width: 100%;
  color: var(--main-color);
  font-weight: 700;
  line-height: 2.7;
  white-space: nowrap;
  display: flex;
  align-items: center;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .header__menu .gnav {
    height: 100%;
    display: flex;
    align-items: center;
    grid-gap: 20px;
  }
  .header__menu .gnav__item {
    width: auto;
    height: 100%;
    padding: 0;
    border-bottom: 0;
    display: flex;
    align-items: center;
    position: relative;
  }
  .header__menu .gnav__item::before, .header__menu .gnav__item::after {
    display: none;
  }
  .header__menu .gnav__item.hasSub > .gnav__link {
    padding-right: 20px;
    position: relative;
  }
  .header__menu .gnav__item.hasSub > .gnav__link::after {
    content: "";
    width: 12px;
    height: 14px;
    background: url('data:image/svg+xml;charset=utf8,<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.7782 6.36399L12.7267 1.41421L11.3125 0L6.36328 4.94913L1.41418 2.86102e-05L0 1.41424L4.94849 6.36396L6.36267 7.77817L7.7782 6.36399Z" fill="%23000"/></svg>') center/contain no-repeat;
    display: block;
    position: absolute;
    top: 2px;
    right: 0;
    transition: 0.3s;
  }
  .header__menu .gnav__item.hasSub > .gnav__link:hover::after {
    background-image: url('data:image/svg+xml;charset=utf8,<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.7782 6.36399L12.7267 1.41421L11.3125 0L6.36328 4.94913L1.41418 2.86102e-05L0 1.41424L4.94849 6.36396L6.36267 7.77817L7.7782 6.36399Z" fill="%23F19319"/></svg>');
    transform: rotate(180deg);
  }
  .header__menu .gnav__item.current-menu-item > .gnav__link, .header__menu .gnav__item.current-menu-parent > .gnav__link {
    color: var(--grad2-color);
  }
  .header__menu .gnav__item.current-menu-item.hasSub > .gnav__link::after, .header__menu .gnav__item.current-menu-parent.hasSub > .gnav__link::after {
    background-image: url('data:image/svg+xml;charset=utf8,<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.7782 6.36399L12.7267 1.41421L11.3125 0L6.36328 4.94913L1.41418 2.86102e-05L0 1.41424L4.94849 6.36396L6.36267 7.77817L7.7782 6.36399Z" fill="%23F19319"/></svg>');
  }
  .header__menu .gnav__item .sub-menu {
    width: auto;
    padding: 10px 20px 20px;
    margin: 0;
    background-color: rgba(255, 255, 255, 0.8);
    display: grid;
    grid-gap: 6px;
    position: absolute;
    bottom: 0;
    left: -19px;
    transform: translateY(100%);
    opacity: 0;
    pointer-events: none;
  }
  .header__menu .gnav__item .sub-menu.visible {
    opacity: 1;
    pointer-events: auto;
  }
  .header__menu .gnav__link {
    width: auto;
    color: #000;
    font-size: 14px;
    line-height: 1;
    display: inline-block;
  }
  .header__menu .gnav__link::after {
    display: none;
  }
  .header__menu .gnav__link:hover {
    color: var(--grad2-color);
    opacity: 1;
  }
}
@media screen and (min-width: 1440px) {
  .header__menu .gnav {
    grid-gap: 38px;
  }
}
.header__payment {
  width: 166px;
  padding: 5px 10px 5px 10px;
  margin: 2px 0 0;
  background-color: #333F47;
  -webkit-clip-path: polygon(0 0, calc(100% - 13px) 0, 100% 50%, calc(100% - 13px) 100%, 0 100%);
          clip-path: polygon(0 0, calc(100% - 13px) 0, 100% 50%, calc(100% - 13px) 100%, 0 100%);
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  flex-shrink: 0;
}
.header__payment li {
  padding: 0 10px 0 16px;
  background: url('data:image/svg+xml;charset=utf8,<svg width="12" height="10" viewBox="0 0 12 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.03071 7.67646L11.3536 1.35359L10.6465 0.646484L4.96934 6.32361L2.32012 4.11593L1.67993 4.88415L5.03071 7.67646ZM0 1H8.87886L7.87886 2H1V9H5.05686L5.09212 9.02938L5.1215 9H8V6.1215L9 5.12151V10H0V1Z" fill="%23fff"/></svg>') left top 3px/13px no-repeat;
}
@media screen and (min-width: 1024px) {
  .header__payment {
    font-size: 10px;
  }
  .header__payment li {
    padding: 0 10px 0 12px;
    background-size: 11px;
  }
}
@media screen and (min-width: 1200px) {
  .header__payment {
    font-size: 12px;
  }
  .header__payment li {
    padding: 0 10px 0 16px;
    background-size: 13px;
  }
}
@media screen and (min-width: 1440px) {
}
.header__credit {
  max-width: 195px;
  padding: 0 5px;
}
@media screen and (min-width: 1024px) {
  .header__credit {
    max-width: 120px;
    padding: 0 6px 0 0;
  }
}
@media screen and (min-width: 1200px) {
  .header__credit {
    max-width: 170px;
    padding: 0 6px;
  }
}
@media screen and (min-width: 1440px) {
  .header__credit {
    max-width: 195px;
  }
}

/*------------------------------------------------------
    contents
-------------------------------------------------------*/
.pageTtlArea {
  width: 100%;
  padding: 15px 0px 51px;
}
.pageTtlArea__inner {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .pageTtlArea__inner {
    max-width: 1200px;
  }
}
.pageTtlArea .ttl {
  margin-bottom: 34px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.pageTtlArea .ttl__en {
  color: transparent;
  font-size: 50px;
  font-weight: 700;
  line-height: 1.4;
  -webkit-text-stroke: 1px var(--main-color);
}
.pageTtlArea .ttl__jp {
  margin: -5px 0 0;
  color: var(--main-color);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  display: block;
}
@media screen and (min-width: 768px) {
  .pageTtlArea {
    padding: 4px 0px 65px;
  }
  .pageTtlArea .ttl {
    margin-bottom: 58px;
  }
  .pageTtlArea .ttl__en {
    font-size: 130px;
  }
  .pageTtlArea .ttl__jp {
    font-size: 32px;
  }
}

.breadcrumbArea {
  width: 100%;
  padding: 8px 0 5px;
  color: var(--main-color);
  font-size: 12px;
  line-height: 1.4167;
}
@media screen and (min-width: 768px) {
  .breadcrumbArea {
    padding: 12px 0 5px;
  }
}
.breadcrumbArea__inner {
  width: calc(100% - 16px);
  max-width: 100%;
  display: flex;
  align-items: center;
  grid-gap: 2px;
}
.breadcrumbArea__inner > span {
  flex-shrink: 0;
}
.breadcrumbArea__inner > span:last-child {
  flex-shrink: inherit;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .breadcrumbArea__inner {
    width: calc(100% - 40px);
    max-width: 1820px;
  }
}
@media screen and (min-width: 1600px) {
  .breadcrumbArea__inner {
    width: calc(100% - 100px);
  }
}
.breadcrumbArea a {
  color: #000;
  text-decoration: underline;
}
.breadcrumbArea a:hover {
  text-decoration: none;
}
.breadcrumbArea .separator {
  color: #000;
}

.secTtl--ptn1 {
  width: 100vw;
  color: var(--sub-color);
  font-size: 62px;
  line-height: 1.4;
  white-space: nowrap;
  text-align: center;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  .secTtl--ptn1 {
    font-size: 132px;
  }
}
@media screen and (min-width: 1024px) {
  .secTtl--ptn1 {
    font-size: 172px;
  }
}
.secTtl--ptn2 {
  width: 100%;
  color: var(--main-color);
  display: flex;
  flex-direction: column;
  grid-gap: 4px;
}
.secTtl--ptn2 .en {
  font-size: 42px;
  font-weight: 700;
  line-height: 1.4;
}
.secTtl--ptn2 .jp {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .secTtl--ptn2 .en {
    font-size: 60px;
  }
  .secTtl--ptn2 .jp {
    font-size: 30px;
  }
}
.secTtl--ptn3 {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.secTtl--ptn3 .en {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}
.secTtl--ptn3 .jp {
  color: var(--main-color);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .secTtl--ptn3 .en {
    font-size: 20px;
  }
  .secTtl--ptn3 .jp {
    font-size: 32px;
  }
}

.ctaArea {
  padding: 10px 0 27px;
}
@media screen and (min-width: 768px) {
  .ctaArea {
    padding: 55px 0 4px;
  }
}
.ctaArea__ttl {
  width: 100%;
  max-width: 400px;
  margin: 0 auto 22px;
  color: var(--main-color);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 8px;
  position: relative;
}
.ctaArea__ttl::before, .ctaArea__ttl::after {
  content: "";
  width: 2px;
  height: 100%;
  background-color: var(--main-color);
  display: block;
  position: absolute;
  bottom: 0;
  transform-origin: bottom;
}
.ctaArea__ttl::before {
  left: 16px;
  transform: rotate(-11deg);
}
.ctaArea__ttl::after {
  right: 16px;
  transform: rotate(11deg);
}
.ctaArea__ttl strong {
  color: var(--accent-color);
  font-size: 30px;
}
.ctaArea__ttl strong.label {
  padding: 8px 18px 6px;
  background-color: var(--main-color);
  color: #fff;
  font-size: 24px;
  display: inline-block;
}
@media screen and (min-width: 1024px) {
  .ctaArea__ttl {
    max-width: 1000px;
    margin: 0 auto 42px;
    font-size: 28px;
    flex-direction: row;
    justify-content: center;
    grid-gap: 18px;
  }
  .ctaArea__ttl::before, .ctaArea__ttl::after {
    width: 4px;
    height: 165%;
    bottom: -32%;
  }
  .ctaArea__ttl::before {
    left: 6%;
  }
  .ctaArea__ttl::after {
    right: 6%;
  }
  .ctaArea__ttl strong.label {
    padding: 5px 27px 4px;
    margin: 2px 0 0 0;
    font-size: 28px;
  }
}
.ctaArea__txt {
  width: 100%;
  max-width: 310px;
  margin: 0 auto 25px;
  line-height: 1.75;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .ctaArea__txt {
    max-width: 100%;
    margin-bottom: 31px;
  }
}
.ctaArea__btns {
  width: 100%;
  display: flex;
  flex-direction: column;
  grid-gap: 19px;
}
.ctaArea__btns .btn {
  max-width: 100%;
  height: 70px;
  padding: 0;
  box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.3);
  font-size: 18px;
}
.ctaArea__btns .btn::after {
  position: relative;
  inset: 0;
  flex-shrink: 0;
  order: -1;
}
.ctaArea__btns .btn:hover {
  box-shadow: none;
  transform: translateY(3px);
}
.ctaArea__btns .btn--mail {
  background: linear-gradient(180deg, var(--grad1-color) 0%, var(--grad2-color) 100%);
  grid-gap: 10px;
}
.ctaArea__btns .btn--mail::after {
  width: 35px;
  height: 23px;
  background: url('data:image/svg+xml;charset=utf8,<svg width="36" height="23" viewBox="0 0 36 23" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 2H33.2667V21H2V2ZM0 0H2H33.2667H35.2667V2V21V23H33.2667H2H0V21V2V0ZM6.60524 5.25L5.66406 7.01471L17.6347 13.399L29.6052 7.01471L28.6641 5.25L17.6347 11.1324L6.60524 5.25Z" fill="%23fff"/></svg>') center/contain no-repeat;
}
.ctaArea__btns .btn--tel {
  background: linear-gradient(180deg, var(--tel1-color) 0%, var(--tel2-color) 100%);
  grid-gap: 12px;
}
.ctaArea__btns .btn--tel::after {
  width: 29px;
  height: 34px;
  background: url('data:image/svg+xml;charset=utf8,<svg width="29" height="34" viewBox="0 0 29 34" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.91646 1.68814C4.6851 1.22629 5.76146 0.846143 6.58107 0.602678C7.01449 0.473928 7.43909 0.364927 7.7983 0.290605C7.97554 0.253933 8.16205 0.220432 8.33895 0.199123C8.34181 0.198778 8.34493 0.198399 8.34829 0.197989C8.45444 0.185061 8.80827 0.141965 9.18556 0.216424L9.97521 0.372262L10.4368 1.03163L8.79833 2.17858C8.45249 2.11033 6.03407 2.74901 4.94655 3.40247C2.79584 4.69478 2.37334 8.73433 3.18533 12.0267C3.8177 14.5906 5.16217 18.0298 7.42928 21.2684C9.56202 24.3151 12.5375 27.047 14.8063 28.6276C17.7198 30.6572 21.8731 31.9472 24.0238 30.6549C25.1113 30.0014 26.7271 28.2161 26.8008 27.8957L28.4392 26.7488L28.9493 27.4774L28.7498 28.3443C28.654 28.7606 28.4367 29.0872 28.3798 29.1726C28.3774 29.1762 28.3753 29.1793 28.3735 29.182C28.2737 29.3332 28.1589 29.4845 28.048 29.6226C27.8225 29.9032 27.5372 30.2231 27.2305 30.5404C26.6496 31.1414 25.8275 31.9044 25.0539 32.3692C23.29 33.4291 21.0582 33.2843 19.2195 32.8281C17.2895 32.3493 15.3011 31.4097 13.6631 30.2687C11.2283 28.5724 8.07585 25.6796 5.79084 22.4154C3.36539 18.9506 1.92747 15.2786 1.24352 12.5056C0.77947 10.624 0.658757 8.51091 0.984014 6.62469C1.2967 4.81137 2.10653 2.77568 3.91646 1.68814ZM15.5541 23.516C15.7282 23.5903 15.8894 23.6616 16.0398 23.728C16.9407 24.1262 17.4539 24.353 18.0501 24.0338C18.0501 24.0338 18.9845 22.6047 19.9991 22.072C20.7513 21.6773 22.232 21.369 22.4681 21.7063L25.6454 26.2452L26.8008 27.8957L28.4392 26.7488L27.2839 25.0983L24.1066 20.5594C23.754 20.0556 23.2844 19.828 22.9984 19.7257C22.7007 19.6193 22.4226 19.5836 22.2228 19.5702C21.8208 19.5431 21.4184 19.5873 21.0907 19.6432C20.4394 19.7543 19.6715 19.9853 19.0698 20.3011C18.2108 20.752 17.5204 21.4869 17.1205 21.9571C17.1077 21.9721 17.0951 21.987 17.0826 22.0018C17.011 21.9706 16.9351 21.9371 16.8499 21.8994C16.8306 21.8909 16.8107 21.8821 16.7904 21.8731C16.6552 21.8134 16.5032 21.7465 16.3385 21.6763C15.964 21.5166 15.3938 21.095 14.6722 20.3505C13.996 19.6528 13.3122 18.8047 12.6755 17.9537C12.0962 17.0677 11.5415 16.1466 11.1328 15.2963C10.6904 14.3761 10.5313 13.7637 10.5276 13.4547C10.5255 13.2841 10.5215 13.1258 10.5178 12.9868C10.5173 12.9658 10.5167 12.9454 10.5162 12.9256C10.5161 12.9226 10.516 12.9196 10.5159 12.9166C11.1248 12.7735 12.1053 12.496 12.8916 11.959C13.4559 11.5735 14.0117 11.0049 14.403 10.4776C14.5977 10.2151 14.8242 9.86677 14.9775 9.4748C15.0539 9.27931 15.146 8.98855 15.1654 8.64034C15.1852 8.28775 15.1348 7.74299 14.7696 7.22114L11.5922 2.68215L10.4368 1.03163L8.79833 2.17858L13.131 8.36792C13.3671 8.70527 12.4594 9.83208 11.7637 10.3074C10.8249 10.9485 9.03541 11.1561 9.03541 11.1561C8.47773 11.5303 8.49196 12.057 8.51695 12.9814C8.52112 13.1357 8.52559 13.3011 8.52775 13.4787C8.54609 15.0047 9.81322 17.2363 11.0362 19.1011C12.3752 20.8962 14.0577 22.8781 15.5541 23.516Z" fill="%23fff"/></svg>') center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .ctaArea__btns {
    max-width: 720px;
    margin: 0 auto;
    flex-direction: row;
  }
  .ctaArea__btns li {
    width: 50%;
  }
}
.ctaArea__note {
  width: 100%;
  margin: 12px 0 0;
  font-size: 14px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .ctaArea__note {
    max-width: 720px;
    margin: 12px auto 0;
    font-size: 16px;
    white-space: nowrap;
    display: flex;
    justify-content: center;
  }
}
.ctaArea.bg--blue .ctaArea__ttl {
  color: var(--accent-color);
}
.ctaArea.bg--blue .ctaArea__ttl::before, .ctaArea.bg--blue .ctaArea__ttl::after {
  background-color: var(--accent-color);
}
.ctaArea.bg--blue .ctaArea__ttl strong.label {
  background-color: var(--accent-color);
  color: #000;
}
.ctaArea.bg--blue .ctaArea__txt {
  color: #fff;
}
.ctaArea.bg--blue .ctaArea__note {
  color: #fff;
}
.ctaArea--top {
  padding: 0 0 27px;
}

.wp-pagenavi {
  width: 100%;
  margin: 22px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  grid-gap: 5px;
}
.wp-pagenavi a, .wp-pagenavi .current, .wp-pagenavi .extend {
  width: 40px;
  height: 40px;
  font-size: 20px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wp-pagenavi a:hover, .wp-pagenavi .current:hover, .wp-pagenavi .extend:hover {
  color: var(--main-color);
}
.wp-pagenavi .current {
  background-color: var(--main-color);
  border-radius: 50%;
  color: #fff;
}
.wp-pagenavi .current, .wp-pagenavi .extend {
  pointer-events: none;
}
.wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink {
  color: transparent;
  order: -1;
  position: relative;
}
.wp-pagenavi .previouspostslink::after, .wp-pagenavi .nextpostslink::after {
  content: "";
  width: 20px;
  height: 20px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  display: block;
  transform: rotate(135deg);
}
.wp-pagenavi .previouspostslink:hover, .wp-pagenavi .nextpostslink:hover {
  color: transparent;
}
.wp-pagenavi .previouspostslink:hover::after, .wp-pagenavi .nextpostslink:hover::after {
  border-color: var(--main-color);
}
.wp-pagenavi .nextpostslink {
  order: 1;
}
.wp-pagenavi .nextpostslink::after {
  transform: rotate(-45deg);
}
@media screen and (min-width: 768px) {
  .wp-pagenavi {
    margin-top: 78px;
  }
}

.js-slide-image .swiper-wrapper {
  transition-timing-function: linear !important;
}

/*------------------------------------------------------
    footer
-------------------------------------------------------*/
.footer__footerBlk {
  padding: 64px 0 60px;
  background-color: var(--main-color);
  color: #fff;
}
@media screen and (min-width: 768px) {
  .footer__footerBlk {
    padding: 49px 0 80px;
  }
}
.footer .ctaArea {
  padding: 0;
}
.footer .ctaArea__inner {
  padding-bottom: 62px;
  border-bottom: 2px solid #fff;
}
@media screen and (min-width: 768px) {
  .footer .ctaArea__inner {
    padding-bottom: 48px;
  }
}
.footer .ctaArea__ttl {
  grid-gap: 0;
}
.footer .ctaArea__ttl::before, .footer .ctaArea__ttl::after {
  width: 4px;
  height: 84%;
}
.footer .ctaArea__ttl span {
  color: #fff;
  font-size: 24px;
  line-height: 1.3;
  display: block;
}
@media screen and (min-width: 768px) {
  .footer .ctaArea__ttl {
    margin-bottom: 34px;
    font-size: 34px;
    flex-direction: column;
  }
  .footer .ctaArea__ttl::before, .footer .ctaArea__ttl::after {
    bottom: 0;
  }
  .footer .ctaArea__ttl::before {
    left: auto;
    right: calc(50% + 313px);
    transform: rotate(-20deg);
  }
  .footer .ctaArea__ttl::after {
    right: auto;
    left: calc(50% + 313px);
    transform: rotate(20deg);
  }
  .footer .ctaArea__ttl strong {
    font-size: 41px;
  }
  .footer .ctaArea__ttl span {
    font-size: 34px;
  }
}
.footer .ctaArea__txt {
  width: 100%;
  max-width: 310px;
  margin: 0 auto 25px;
  line-height: 1.75;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footer .ctaArea__txt {
    max-width: 100%;
    margin-bottom: 31px;
  }
}
.footer .ctaArea__btns {
  width: 100%;
  display: flex;
  flex-direction: column;
  grid-gap: 19px;
}
.footer .ctaArea__btns .btn {
  max-width: 100%;
  height: 70px;
  padding: 0;
  box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.3);
  font-size: 18px;
}
.footer .ctaArea__btns .btn::after {
  position: relative;
  inset: 0;
  flex-shrink: 0;
  order: -1;
}
.footer .ctaArea__btns .btn:hover {
  box-shadow: none;
  transform: translateY(3px);
}
.footer .ctaArea__btns .btn--mail {
  background: linear-gradient(180deg, var(--grad1-color) 0%, var(--grad2-color) 100%);
  grid-gap: 10px;
}
.footer .ctaArea__btns.rec .btn--mail{
  background: linear-gradient(90deg, #26afd7 0%, #145eb3 100%);
}
.footer .ctaArea__btns .btn--mail::after {
  width: 35px;
  height: 23px;
  background: url('data:image/svg+xml;charset=utf8,<svg width="36" height="23" viewBox="0 0 36 23" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 2H33.2667V21H2V2ZM0 0H2H33.2667H35.2667V2V21V23H33.2667H2H0V21V2V0ZM6.60524 5.25L5.66406 7.01471L17.6347 13.399L29.6052 7.01471L28.6641 5.25L17.6347 11.1324L6.60524 5.25Z" fill="%23fff"/></svg>') center/contain no-repeat;
}
.footer .ctaArea__btns .btn--tel {
  background: linear-gradient(180deg, var(--tel1-color) 0%, var(--tel2-color) 100%);
  grid-gap: 12px;
}
.footer .ctaArea__btns .btn--tel::after {
  width: 29px;
  height: 34px;
  background: url('data:image/svg+xml;charset=utf8,<svg width="29" height="34" viewBox="0 0 29 34" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.91646 1.68814C4.6851 1.22629 5.76146 0.846143 6.58107 0.602678C7.01449 0.473928 7.43909 0.364927 7.7983 0.290605C7.97554 0.253933 8.16205 0.220432 8.33895 0.199123C8.34181 0.198778 8.34493 0.198399 8.34829 0.197989C8.45444 0.185061 8.80827 0.141965 9.18556 0.216424L9.97521 0.372262L10.4368 1.03163L8.79833 2.17858C8.45249 2.11033 6.03407 2.74901 4.94655 3.40247C2.79584 4.69478 2.37334 8.73433 3.18533 12.0267C3.8177 14.5906 5.16217 18.0298 7.42928 21.2684C9.56202 24.3151 12.5375 27.047 14.8063 28.6276C17.7198 30.6572 21.8731 31.9472 24.0238 30.6549C25.1113 30.0014 26.7271 28.2161 26.8008 27.8957L28.4392 26.7488L28.9493 27.4774L28.7498 28.3443C28.654 28.7606 28.4367 29.0872 28.3798 29.1726C28.3774 29.1762 28.3753 29.1793 28.3735 29.182C28.2737 29.3332 28.1589 29.4845 28.048 29.6226C27.8225 29.9032 27.5372 30.2231 27.2305 30.5404C26.6496 31.1414 25.8275 31.9044 25.0539 32.3692C23.29 33.4291 21.0582 33.2843 19.2195 32.8281C17.2895 32.3493 15.3011 31.4097 13.6631 30.2687C11.2283 28.5724 8.07585 25.6796 5.79084 22.4154C3.36539 18.9506 1.92747 15.2786 1.24352 12.5056C0.77947 10.624 0.658757 8.51091 0.984014 6.62469C1.2967 4.81137 2.10653 2.77568 3.91646 1.68814ZM15.5541 23.516C15.7282 23.5903 15.8894 23.6616 16.0398 23.728C16.9407 24.1262 17.4539 24.353 18.0501 24.0338C18.0501 24.0338 18.9845 22.6047 19.9991 22.072C20.7513 21.6773 22.232 21.369 22.4681 21.7063L25.6454 26.2452L26.8008 27.8957L28.4392 26.7488L27.2839 25.0983L24.1066 20.5594C23.754 20.0556 23.2844 19.828 22.9984 19.7257C22.7007 19.6193 22.4226 19.5836 22.2228 19.5702C21.8208 19.5431 21.4184 19.5873 21.0907 19.6432C20.4394 19.7543 19.6715 19.9853 19.0698 20.3011C18.2108 20.752 17.5204 21.4869 17.1205 21.9571C17.1077 21.9721 17.0951 21.987 17.0826 22.0018C17.011 21.9706 16.9351 21.9371 16.8499 21.8994C16.8306 21.8909 16.8107 21.8821 16.7904 21.8731C16.6552 21.8134 16.5032 21.7465 16.3385 21.6763C15.964 21.5166 15.3938 21.095 14.6722 20.3505C13.996 19.6528 13.3122 18.8047 12.6755 17.9537C12.0962 17.0677 11.5415 16.1466 11.1328 15.2963C10.6904 14.3761 10.5313 13.7637 10.5276 13.4547C10.5255 13.2841 10.5215 13.1258 10.5178 12.9868C10.5173 12.9658 10.5167 12.9454 10.5162 12.9256C10.5161 12.9226 10.516 12.9196 10.5159 12.9166C11.1248 12.7735 12.1053 12.496 12.8916 11.959C13.4559 11.5735 14.0117 11.0049 14.403 10.4776C14.5977 10.2151 14.8242 9.86677 14.9775 9.4748C15.0539 9.27931 15.146 8.98855 15.1654 8.64034C15.1852 8.28775 15.1348 7.74299 14.7696 7.22114L11.5922 2.68215L10.4368 1.03163L8.79833 2.17858L13.131 8.36792C13.3671 8.70527 12.4594 9.83208 11.7637 10.3074C10.8249 10.9485 9.03541 11.1561 9.03541 11.1561C8.47773 11.5303 8.49196 12.057 8.51695 12.9814C8.52112 13.1357 8.52559 13.3011 8.52775 13.4787C8.54609 15.0047 9.81322 17.2363 11.0362 19.1011C12.3752 20.8962 14.0577 22.8781 15.5541 23.516Z" fill="%23fff"/></svg>') center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .footer .ctaArea__btns {
    max-width: 720px;
    margin: 0 auto;
    flex-direction: row;
  }
  .footer .ctaArea__btns li {
    width: 50%;
  }
}
.footer .ctaArea__note {
  width: 100%;
  margin: 12px 0 0;
  font-size: 14px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footer .ctaArea__note {
    max-width: 720px;
    margin: 12px auto 0;
    font-size: 16px;
    text-align: right;
  }
}
.footer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 72px;
}
@media screen and (min-width: 768px) {
  .footer__inner {
    padding: 50px 0 0;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }
}
.footer__infoBlk {
  width: calc(100% - 40px);
  padding: 60px 0 0;
  margin: 0 auto;
}
.footer__infoBlk .logo {
  width: 100%;
  margin-bottom: 40px;
  text-align: center;
}
.footer__infoBlk .logo__img {
  width: 100%;
  display: block;
}
.footer__infoBlk .address {
  padding: 0 4px;
  margin-bottom: 26px;
}
.footer__infoBlk .address__address {
  margin-bottom: 16px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
}
.footer__infoBlk .address__mapLink {
  font-size: 18px;
  font-weight: 500;
  display: flex;
  align-items: center;
  grid-gap: 13px;
}
.footer__infoBlk .address__mapLink img {
  width: 19px;
  display: block;
}
.footer__infoBlk .opentime {
  width: 100%;
  padding: 0 4px;
  font-size: 20px;
  font-weight: 500;
  line-height: 2;
  display: flex;
  flex-wrap: wrap;
}
.footer__infoBlk .opentime__heading {
  width: 115px;
  font-weight: 500;
}
.footer__infoBlk .opentime__contents {
  width: calc(100% - 115px);
}
@media screen and (min-width: 768px) {
  .footer__infoBlk {
    width: 40%;
    max-width: 322px;
    padding: 13px 0 0;
    margin: 0;
    flex-shrink: 0;
  }
  .footer__infoBlk .logo {
    margin-bottom: 40px;
  }
  .footer__infoBlk .logo__img {
    -o-object-position: left top;
       object-position: left top;
  }
}
@media screen and (min-width: 1024px) {
  .footer__infoBlk {
    width: 26.83%;
  }
  .footer__infoBlk .address {
    padding: 0;
    margin-bottom: 0;
  }
  .footer__infoBlk .address__address {
    font-size: 20px;
  }
}
.footer__navBlk {
  width: 100%;
  font-size: 16px;
  font-weight: 700;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 35px;
}
.footer__navBlk .navColumn {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  grid-gap: 26px;
}
.footer__navBlk .list {
  line-height: 1;
  display: grid;
  grid-gap: 26px;
}
.footer__navBlk .list .sub-menu {
  margin-top: 30px;
  font-weight: 400;
  display: grid;
  grid-gap: 26px;
}
.footer__navBlk .list .sub-menu li {
  padding-left: 46px;
  position: relative;
}
.footer__navBlk .list .sub-menu li::before {
  content: "";
  width: 13px;
  height: 11px;
  border-width: 0 0 1px 1px;
  border-style: solid;
  border-color: #fff;
  display: block;
  position: absolute;
  top: 0;
  left: 18px;
}
@media screen and (min-width: 768px) {
  .footer__navBlk {
    max-width: 727px;
  }
  .footer__navBlk .list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
}
@media screen and (min-width: 1024px) {
  .footer__navBlk {
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 40px;
  }
  .footer__navBlk .navColumn, .footer__navBlk .navWrap {
    display: contents;
  }
}
@media screen and (min-width: 1200px) {
  .footer__navBlk {
    padding-right: 41px;
    grid-gap: 100px;
  }
}
.footer__snsBlk {
  padding: 38px 0 40px;
}
.footer__snsBlk .snsTxt {
  margin: -45px 0 37px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  position: relative;
  z-index: 1;
}
.footer__snsBlk .snsList {
  display: flex;
  align-items: center;
  justify-content: center;
  grid-gap: 30px;
}
.footer__snsBlk .snsList img {
  width: 50px;
}
@media screen and (min-width: 768px) {
  .footer__snsBlk {
    padding: 24px 0 59px;
  }
  .footer__snsBlk .snsTxt {
    margin: -80px 0 43px;
    font-size: 30px;
  }
}
.footer__btmBlk {
  padding: 11px 0 115px;
  background-color: #333F47;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.footer__btmBlk .copyright {
  font-size: 14px;
  line-height: 2.7;
  text-align: center;
}
.footer__btmBlk .topLink {
  margin-top: 12px;
  color: #000;
  font-weight: 700;
  text-align: center;
  position: relative;
}
.footer__btmBlk .topLink__txt {
  display: inline-flex;
  align-items: center;
  grid-gap: 15px;
  position: relative;
  z-index: 1;
}
.footer__btmBlk .topLink__txt--shadow {
  margin: 0 auto;
  -webkit-text-stroke-width: 5px;
  -webkit-text-stroke-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  pointer-events: none;
  z-index: 0;
}
.footer__btmBlk .topLink__txt span {
  font-size: 200%;
  display: inline-block;
  transform: rotate(-90deg);
}
@media screen and (min-width: 768px) {
  .footer__btmBlk {
    padding: 7px 0 0;
  }
}
.footer__btns {
  width: 100%;
  max-width: 355px;
  height: 96px;
  padding: 4px 5px 8px;
  margin: 0 auto;
  background-color: #333F47;
  border: 1px solid #fff;
  border-radius: 4px;
  position: fixed;
  bottom: 11px;
  left: 0;
  right: 0;
  z-index: 1039;
  transition: 0.3s;
}
.footer__btns .txt {
  color: var(--accent-color);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.footer__btns .opentime {
  margin-bottom: 2px;
  color: #fff;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
}
.footer__btns .ctaArea__btns {
  width: 100%;
  flex-direction: row;
  grid-gap: 4px;
}
.footer__btns .ctaArea__btns li {
  width: 50%;
}
.footer__btns .ctaArea__btns .btn {
  height: 40px;
  border-radius: 20px;
  box-shadow: none;
  font-size: 13px;
  transition: 0.3s;
}
.footer__btns .ctaArea__btns .btn:hover {
  transform: translateY(0);
}
.footer__btns .ctaArea__btns .btn--mail {
  grid-gap: 8px;
}
.footer__btns .ctaArea__btns .btn--mail::after {
  width: 23px;
}
.footer__btns .ctaArea__btns .btn--tel {
  grid-gap: 8px;
}
.footer__btns .ctaArea__btns .btn--tel::after {
  width: 14px;
  height: 17px;
}
.footer__btns .closeBtn {
  width: 26px;
  height: 26px;
  background-color: #000;
  border: 1px solid #fff;
  border-radius: 50%;
  display: block;
  position: absolute;
  top: -13px;
  right: 11px;
}
.footer__btns .closeBtn span {
  width: 11px;
  height: 1px;
  margin: auto;
  background-color: #fff;
  display: block;
  position: absolute;
  inset: 0;
}
.footer__btns .closeBtn span:nth-child(1) {
  transform: rotate(45deg);
}
.footer__btns .closeBtn span:nth-child(2) {
  transform: rotate(-45deg);
}
.footer__btns.close {
  height: auto;
  padding: 0;
  background-color: transparent;
  border: 0;
  bottom: 0;
}
.footer__btns.close .close_disap {
  display: none;
}
.footer__btns.close .ctaArea__btns {
  width: 100%;
  flex-direction: row;
  grid-gap: 4px;
}
.footer__btns.close .ctaArea__btns li {
  width: 50%;
}
.footer__btns.close .ctaArea__btns .btn {
  height: 30px;
  border-radius: 10px 10px 0 0;
}
@media screen and (min-width: 768px) {
  .footer__btns {
    width: 80px;
    height: 310px;
    padding: 0;
    margin: 0;
    background-color: transparent;
    border: 0;
    border-radius: 0;
    position: fixed;
    top: 40%;
    bottom: auto;
    left: auto;
    right: 0;
    z-index: 1039;
    transform-origin: right center;
    transform: translateY(-50%) scale(0.6);
  }
  .footer__btns .ctaArea__btns {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    margin-top: 10px;
  }
  .footer__btns .ctaArea__btns .btn {
    width: 100%;
    height: 100%;
    border-radius: 10px 0 0 10px;
    box-shadow: none;
    font-size: 26px;
    writing-mode: vertical-rl;
  }
  .footer__btns .ctaArea__btns .btn:hover {
    transform: translateY(0);
    opacity: 0.8;
  }
  .footer__btns .ctaArea__btns .btn--mail {
    padding-top: 34px;
    background: linear-gradient(90deg, var(--grad1-color) 0%, var(--grad2-color) 100%);
    letter-spacing: 0.3em;
    grid-gap: 17px;
  }
  .footer__btns .ctaArea__btns .btn--mail::after {
    width: 37px;
    height: 24px;
    margin: 0;
  }
  .footer__btns .ctaArea__btns .fukidashi {
    width: 111.25%;
    max-width: 111.25%;
    display: block;
    position: absolute;
    top: -50px;
    left: -25px;
    z-index: 1;
    pointer-events: none;
  }
  .footer__btns.close {
    height: 310px;
    bottom: auto;
  }
  .footer__btns.close .ctaArea__btns .btn {
    height: 100%;
    border-radius: 10px 0 0 10px;
  }
}
@media screen and (min-width: 1024px) {
  .footer__btns {
    transform: translateY(-50%) scale(0.75);
  }
}
@media screen and (min-width: 1440px) {
  .footer__btns {
    width: 80px;
    height: 310px;
    transform: translateY(-50%);
  }
}