@charset "UTF-8";
/* ============================
    reset
============================*/
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated:2010-09-17
Author:Richard Clark - http://richclarkdesign.com 
Twitter:@rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video,
button {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, picture {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

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

a:active, a:hover {
  outline-width: 0;
}

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

img {
  max-width: 100%;
  height: auto;
  width: auto;
  border: 0;
  border-style: none;
  vertical-align: top;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  box-sizing: border-box;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

ul, ol, ul li, ol li {
  list-style: none;
}

/*main color*/
/*accent*/
/*mono*/
/*navfoot*/
/*addcolor*/
/*font-family*/
/*font-weight notosans*/
/*media query break point*/
/*sp*/
/*tablet*/
/*se*/
/*追加*/
/*topConcept*/
/*brandHaco*/
/*brandHaco*/
/*grid settings*/
/* media query */
a {
  color: #333;
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  a:hover {
    color: #333;
  }
}

html {
  font-size: 62.5%;
}

body {
  color: #333;
  font-family: "noto-sans-cjk-jp", "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
@media (max-width: 768px) {
  body {
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  body {
    font-size: 1.4rem;
  }
}

.contents {
  font-family: "noto-sans-cjk-jp", "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

button {
  font-family: "noto-sans-cjk-jp", "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

em,
i {
  font-style: normal;
}

i {
  display: inline-block;
}

:focus {
  outline: none;
}

/* ==========================================================
 アニメーションエフェクト
========================================================== */
.is-animate.-mvfade {
  opacity: 0;
  transition: 2s cubic-bezier(0.7, 0, 0.41, 0.99);
  filter: blur(15px);
}
.is-animate.-mvfade.active {
  opacity: 1;
  filter: blur(0);
}

.is-animate.-mvfade.--2 {
  opacity: 0;
  transition: 2s 1s cubic-bezier(0.7, 0, 0.41, 0.99);
  filter: blur(15px);
}
.is-animate.-mvfade.--2.active {
  opacity: 1;
  filter: blur(0);
}

.is-animate.-mvdrop {
  opacity: 0;
  transform: translateY(-20px);
  transition: opacity 1s cubic-bezier(0.7, 0, 0.41, 0.99), transform 1s cubic-bezier(0.7, 0, 0.41, 0.99);
}
.is-animate.-mvdrop.active {
  opacity: 1;
  transform: translate(0);
}

/* ==========================================================
 スクロールエフェクト
========================================================== */
.js-animate.-show {
  opacity: 0;
  transition: 1s cubic-bezier(0.7, 0, 0.41, 0.99);
}
.js-animate.-show[data-type=right] {
  transform: translate(5%);
}
.js-animate.-show[data-type=left] {
  transform: translate(-10%);
}
.js-animate.-show[data-type=up] {
  transform: translateY(10%);
}
.js-animate.-show.active {
  opacity: 1;
  transform: translate(0);
}
@media only screen and (max-width: 768px) {
  .js-anipc .js-animate.-show {
    transform: translate(0);
    opacity: 0;
  }
}

.is-animate.-show {
  opacity: 0;
  transition: 1s cubic-bezier(0.7, 0, 0.41, 0.99);
}
.is-animate.-show[data-type=right] {
  transform: translate(10%);
}
.is-animate.-show[data-type=right] {
  transform: translate(10%);
}
.is-animate.-show[data-type=left] {
  transform: translate(-10%);
}
.is-animate.-show[data-type=up] {
  transform: translateY(10%);
}
.is-animate.-show[data-type=fade] {
  opacity: 0;
  transition: 1s cubic-bezier(0.7, 0, 0.41, 0.99);
  filter: blur(15px);
}
.is-animate.-show[data-type=img] {
  opacity: 0;
  transition: 1s cubic-bezier(0.7, 0, 0.41, 0.99);
}
.is-animate.-show[data-type=img] img {
  transform: scale(1.2);
  transition: 2s 0.5s;
}
.p-concept__gall__2 .is-animate.-show[data-type=img] img {
  transform: scale(1.2) translateY(-50%);
  transition: 2s 0.5s;
}
.is-animate.-show[data-type=imgsalon] {
  opacity: 0;
  transition: 1s cubic-bezier(0.7, 0, 0.41, 0.99);
}
.is-animate.-show[data-type=imgsalon] img {
  transform: scale(1.2) translateY(-50%) !important;
  transition: 2s 0.5s;
}
.is-animate.-show.active {
  opacity: 1;
  transform: translate(0);
  filter: blur(0);
}
.is-animate.-show.active img {
  transform: scale(1);
}
#salon-full .is-animate.-show.active .p-concept__gall__2 img {
  transform: scale(1) translateY(-50%) !important;
}

.fade-in-content {
  opacity: 0;
  transform: translateY(50px); /* 下から上にフェードインする場合 */
}

/* ------------------------------------------------------------
    header common
------------------------------------------------------------ */
.open-sesami .header-bg {
  width: 100vw;
  height: 100vh;
  position: fixed;
  background-color: rgba(51, 51, 51, 0.6);
  z-index: 3;
}
@media only screen and (max-width: 768px) {
  .open-sesami .header-bg {
    display: none;
  }
}

body.open-sesami {
  overflow: hidden;
}

.headbar {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  display: flex;
  width: 100%;
  height: 60px;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .headbar {
    position: absolute;
  }
}
#pjDetail .headbar {
  position: fixed;
  z-index: 2;
  background-color: #fff;
}
.headbar-bg {
  background-color: rgba(255, 255, 255, 0.6);
  position: absolute;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 768px) {
  .headbar-bg {
    background-color: transparent;
  }
}
.headbar-right {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  position: absolute;
  right: 0;
}
.headbar__logo {
  position: fixed;
  top: 0;
  left: 0;
}
.headbar__logo a {
  height: 60px;
  display: flex;
  padding: 19px;
}
@media only screen and (max-width: 768px) {
  .headbar__logo a {
    aspect-ratio: 47/11;
    width: 14rem;
  }
  .headbar__logo a img {
    -o-object-fit: contain;
       object-fit: contain;
    height: 100%;
  }
}
.headbar__CTA {
  display: none;
}
.headbar__list {
  display: flex;
  justify-content: center;
  align-items: center;
}
.headbar__list__item a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
  padding: 0 2rem;
}
.headbar__btns {
  display: flex;
  justify-content: center;
  align-items: center;
}

.headbar-sp {
  position: fixed;
  bottom: -1px;
  left: 0;
  width: 100%;
  background-color: #fff;
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.15);
  display: none;
  justify-content: space-between;
  padding: 7px 0 22px 0;
  height: 70px;
  z-index: 200;
}
@media only screen and (max-width: 768px) {
  .headbar-sp {
    display: block;
  }
}
.headbar-sp__nav {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}
.headbar-sp__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0.2rem;
}
.headbar-sp__btn--center {
  height: 9rem;
  width: 8rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -1.3rem;
}
.headbar-sp__btn__txt {
  font-size: 10px;
  letter-spacing: 0;
}
.headbar-sp__btn__img {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
}
.headbar-sp__btn__img--center {
  position: relative;
}

.obj--imgcenter {
  position: absolute;
  top: -20px;
  width: 40px;
  height: 40px;
  background: #9C4998;
  border-radius: 50px;
  border: 1px solid #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
.obj--imgcenter::before {
  content: "";
  width: 48px;
  height: 48px;
  position: absolute;
  background-color: #333;
  border-radius: 50px;
  z-index: -1;
  top: -5px;
  left: -5px;
}

.icon-btn {
  cursor: pointer;
  width: 60px;
  height: 60px;
  color: #fff;
  font-size: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0.5rem;
  background-color: #222B3C;
}
.icon-btn--acc {
  background-color: #9C4998;
}
.icon-btn__img {
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.icon-btn .c-icon-plus {
  width: 25px;
  height: 2px;
  transform: rotate(45deg);
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .icon-btn:hover {
    color: #fff;
  }
}

.hambmenu {
  transform: translateX(390px);
  position: fixed;
  z-index: 300;
  width: 390px;
  height: 100vh;
  right: 0;
  top: 0;
  background-color: #222B3C;
  color: #fff;
  transition: 0.3s;
}
@media only screen and (max-width: 768px) {
  .hambmenu {
    transform: translateY(100vh);
    width: 100%;
  }
}
.hambmenu.js-open {
  transform: translateX(0);
  transition: 0.3s;
  overflow-y: scroll;
}
@media only screen and (max-width: 768px) {
  .hambmenu.js-open {
    transform: translateY(0);
  }
}
.hambmenu a {
  color: #fff;
}
.hambmenu__ttl {
  padding: 3rem 2rem;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
}
.hambmenu__ttl span {
  display: block;
  font-size: 12px;
  font-weight: normal;
  margin-top: 0.5rem;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.hambmenu__ttl--look {
  color: #6E356B;
}
.hambmenu__cross {
  position: absolute;
  right: 0;
  top: 10px;
}
.hambmenu__list {
  padding: 0 2rem;
  margin-top: 3rem;
}
.hambmenu__list__item {
  border-bottom: 1px solid #D7D7D7;
}
.hambmenu__btn {
  padding: 1rem;
  display: flex;
  align-items: center;
  position: relative;
}
.hambmenu__btn__txt {
  font-size: 15px;
}
.hambmenu__btn__txt--eng {
  font-size: 11px;
  display: block;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.hambmenu__btn .u-arw-next {
  position: absolute;
  right: 10px;
  transition: 0.3s;
}
.hambmenu__btn--tog .c-icon-plus {
  position: absolute;
  right: 10px;
  transition: 0.3s;
}
.hambmenu__togcont {
  margin: 2rem 0 2rem 6rem;
}
.hambmenu__togcont__btn {
  background-color: #fff;
  color: #333 !important;
  display: flex;
  padding: 0.7rem 2rem;
  margin-bottom: 0.5rem;
}
.hambmenu__sns {
  display: flex;
  padding: 3rem;
  align-items: center;
  gap: 2rem;
}
.hambmenu__sns__ttl {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 11px;
}
.hambmenu__snslist {
  display: flex;
  align-items: center;
  gap: 2rem;
}
.hambmenu__snslist .sns-icon {
  display: flex;
  justify-content: center;
  align-items: center;
}
.hambmenu__inq {
  padding: 0 2rem 4rem;
  display: grid;
  grid-template-areas: "inq1 inq2" "inq4 inq4" "inq3 inq3";
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
@media only screen and (max-width: 768px) {
  .hambmenu__inq {
    padding-bottom: 10rem;
  }
}
.hambmenu__inq__btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.hambmenu__inq__btn1 {
  grid-area: inq1;
}
.hambmenu__inq__btn2 {
  grid-area: inq2;
}
.hambmenu__inq__btn3 {
  grid-area: inq3;
  padding: 0 1rem;
}
.hambmenu__inq__btn4 {
  grid-area: inq4;
  padding: 0 1rem;
}
.hambmenu__inq__btn .u-arw-next {
  position: absolute;
  right: 1rem !important;
}

.js-minus .u-arw-next {
  transform: rotate(-45deg);
  transition: 0.3s;
}

.obj--icon-wh {
  filter: invert(1);
}

.obj--nolink {
  pointer-events: none;
}

.hamblook {
  transform: translateX(390px);
  position: fixed;
  z-index: 300;
  width: 390px;
  height: 100vh;
  right: 0;
  top: 0;
  background-color: #f4f4f4;
  color: #fff;
  transition: 0.3s;
}
@media only screen and (max-width: 768px) {
  .hamblook {
    transform: translateY(100vh);
    width: 100%;
  }
}
.hamblook.js-open {
  transform: translateX(0);
  transition: 0.3s;
  overflow-y: scroll;
}
@media only screen and (max-width: 768px) {
  .hamblook.js-open {
    transform: translateY(0);
  }
}
.hamblook .icon-btn {
  background-color: transparent;
  color: #333;
}
.hamblook__topbtns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 0 2rem;
  gap: 1rem;
  margin-top: 3rem;
}
.hamblook__topbtn a {
  background-color: #fff;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.4em 0;
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .hamblook__topbtn a:hover {
    background-color: #D1C4C9;
    transition: 0.3s;
  }
}
.hamblook__topbtn__img {
  display: flex;
  justify-content: center;
  align-items: center;
}
.hamblook__list {
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 2rem;
  padding: 0 2rem;
  display: grid;
}
@media only screen and (max-width: 768px) {
  .hamblook__list {
    padding-bottom: 10rem;
  }
}
.hamblook__list__item:last-of-type {
  border-bottom: 1px solid #D7D7D7;
}
.hamblook__list__item .u-btn-next--graybord {
  border-left: unset;
  border-right: unset;
  border-bottom: unset;
}
.hamblook__list__item a .c-icon {
  margin-right: 1em;
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .hamblook__list__item a:hover {
    border: 1px solid transparent;
    border-left: unset;
    border-right: unset;
    border-bottom: unset;
  }
}
.hamblook__in {
  color: #333;
}
.hamblook__in__item {
  margin-bottom: 3px;
}
.hamblook__in__item .u-btn-tog {
  background-color: #fff;
}
.hamblook__in__area {
  padding: 1rem;
  background: rgba(34, 43, 60, 0.09);
}
.hamblook__in__area__box {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 0 1rem;
  padding: 0 0 0 3rem;
}
.hamblook__in__btn {
  padding: 1.5rem;
  background-color: #fff;
}
.hamblook__in__btn a:hover {
  border: unset;
}

.close-float {
  position: fixed;
  width: 60px;
  height: 60px;
  z-index: 300;
  top: 10px;
  right: 1.5rem;
  visibility: hidden;
  pointer-events: none;
}
.close-float .icon-btn {
  background-color: rgba(34, 43, 60, 0.6);
  border-radius: 1000px;
}
.close-float .c-icon-plus {
  display: none;
  transition: 0s;
}
.close-float.js-open {
  visibility: visible;
  pointer-events: all;
}
.close-float.js-open .c-icon-plus {
  display: flex;
  transition: 0s;
}
.close-float.js-white .icon-btn {
  color: #333;
  background-color: rgba(244, 244, 244, 0.6);
}

/* ------------------------------------------------------------
    link
------------------------------------------------------------ */
.noLink {
  pointer-events: none !important;
  opacity: 0.4;
}

.l-ban {
  padding: 1px 0;
  background-color: #f4f4f4;
}
.l-ban__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  margin: 4rem auto;
}
@media only screen and (max-width: 768px) {
  .l-ban__list {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin: 2rem auto;
  }
}

/* ------------------------------------------------------------
    footer
------------------------------------------------------------ */
.l-footer-cap {
  width: 90%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.2rem;
}
.l-footer-cap__txt {
  text-indent: -1em;
  padding-left: 1em;
}

.l-footer {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  /* copy-right
  =========================== */
}
.l-footer .u-container {
  max-width: 1200px !important;
}
@media only screen and (max-width: 768px) {
  .l-footer {
    padding-bottom: 7rem;
  }
}
.l-footer__gray {
  padding-top: 5rem;
  padding-bottom: 2rem;
  background-color: rgb(232, 232, 233);
}
.l-footer__blue {
  padding-top: 5rem;
  padding-bottom: 2rem;
  color: #fff;
  background-color: #17388E;
}
.l-footer__cont {
  display: grid;
  grid-template-columns: 1fr 66%;
  border-bottom: #707070 solid 1px;
  padding-bottom: 4rem;
  margin-bottom: 4rem;
  color: #6E356B;
}
@media only screen and (max-width: 768px) {
  .l-footer__cont {
    text-align: left;
    grid-template-columns: 1fr;
    border-bottom: unset;
  }
}
#smarttour_new .l-footer__cont {
  text-align: left;
  grid-template-columns: 1fr;
  border-bottom: unset;
}
@media only screen and (max-width: 768px) {
  .l-footer__cont__box {
    padding: 0 1rem;
  }
}
#smarttour_new .l-footer__cont__box {
  padding: 0 1rem;
}
.l-footer__cont__ttl {
  font-size: 4.6rem;
  line-height: 1;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .l-footer__cont__ttl {
    text-align: center;
    font-size: 4rem;
  }
}
#smarttour_new .l-footer__cont__ttl {
  text-align: center;
  font-size: 4rem;
}
.l-footer__cont__ttl__sm {
  display: block;
  font-size: 0.3em;
  margin-top: 1em;
}
.l-footer__cont__txt {
  font-size: 1.6rem;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .l-footer__cont__txt {
    font-size: 1.4rem;
    text-align: left;
  }
}
#smarttour_new .l-footer__cont__txt {
  font-size: 1.4rem;
  text-align: left;
}
.l-footer__cont__telBox {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 4rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .l-footer__cont__telBox {
    flex-direction: column;
  }
}
#smarttour_new .l-footer__cont__telBox {
  flex-direction: column;
}
.l-footer__cont__tel {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  gap: 1rem;
  color: #6E356B;
  font-size: 4.6rem;
  transition: opacity 0.3s;
  pointer-events: none;
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .l-footer__cont__tel:hover {
    color: #6E356B;
    opacity: 0.8;
  }
}
@media only screen and (max-width: 768px) {
  .l-footer__cont__tel {
    pointer-events: all;
    font-size: 3.2rem;
  }
}
#smarttour_new .l-footer__cont__tel {
  pointer-events: all;
  font-size: 3.2rem;
}
.l-footer__cont__telimg {
  width: 5rem;
}
.l-footer__cont__sm {
  font-size: 1.3rem;
}
.l-footer__kyu {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .l-footer__kyu {
    flex-direction: column;
    padding: 0 1rem;
  }
}
#smarttour_new .l-footer__kyu {
  flex-direction: column;
  padding: 0 1rem;
}
.l-footer__kyu-inner {
  display: flex;
  gap: 3rem;
}
@media only screen and (max-width: 1080px) {
  .l-footer__kyu-inner {
    flex-direction: column;
    gap: 0;
  }
}
.l-footer__kyu__inc {
  margin-bottom: 3rem;
  font-size: 10px;
  font-size: 1rem;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .l-footer__kyu__inc {
    font-size: 8px;
  }
}
@media (max-width: 768px) {
  .l-footer__kyu__inc {
    font-size: 0.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .l-footer__kyu__inc {
    text-align: center;
  }
}
#smarttour_new .l-footer__kyu__inc {
  text-align: center;
}
.l-footer__kyu__inc a {
  width: 80%;
  max-width: 30rem;
  min-width: unset;
  margin: 0 auto 1rem;
}
.l-footer__kyu__inc.obj--sumai a {
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  gap: 1rem;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .l-footer__kyu__inc.obj--sumai a {
    margin: 0 auto;
  }
}
.l-footer__kyu__inc__img {
  height: 2.4rem;
  margin-bottom: 1rem;
  transition: opacity 0.3s ease;
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .l-footer__kyu__inc__img:hover {
    opacity: 0.6;
  }
}
@media only screen and (max-width: 768px) {
  .l-footer__kyu__inc__img {
    display: block;
  }
}
.l-footer__kyu__inc__img img {
  height: 100%;
}
#smarttour_new .l-footer__kyu__inc__img {
  display: block;
  width: 80%;
  max-width: 30rem;
  min-width: unset;
  margin: 0 auto 1rem;
}
.l-footer__kyu__inc__ttl {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 0;
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .l-footer__kyu__inc__ttl {
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  .l-footer__kyu__inc__ttl {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .l-footer__kyu__inc__ttl {
    line-height: 1;
  }
}
.l-footer__kyu__inc__txt {
  font-size: 1.3rem;
}
@media only screen and (max-width: 768px) {
  .l-footer__kyu__inc__txt {
    font-size: 1.2rem;
    text-align: center;
  }
}
#smarttour_new .l-footer__kyu__inc__txt {
  font-size: 1.2rem;
  text-align: center;
}
.l-footer__kyu__links {
  display: flex;
  gap: 3rem;
}
@media only screen and (max-width: 768px) {
  .l-footer__kyu__links {
    flex-direction: column;
  }
}
#smarttour_new .l-footer__kyu__links {
  flex-direction: column;
}
.l-footer__kyu__hp {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  font-size: 1.3rem;
}
@media only screen and (max-width: 768px) {
  .l-footer__kyu__hp {
    gap: 0;
    text-align: center;
    font-size: 1.2rem;
  }
}
#smarttour_new .l-footer__kyu__hp {
  gap: 0;
  text-align: center;
  font-size: 1.2rem;
}
.l-footer__kyu__hp__a {
  display: block;
  line-height: 1;
}
@media only screen and (max-width: 768px) {
  .l-footer__kyu__hp__a {
    border-top: #707070 1px solid;
    padding: 1.6rem 0;
  }
  .l-footer__kyu__hp__a:last-of-type {
    border-bottom: #707070 1px solid;
  }
}
#smarttour_new .l-footer__kyu__hp__a {
  border-top: #707070 1px solid;
  padding: 1.6rem 0;
}
#smarttour_new .l-footer__kyu__hp__a:last-of-type {
  border-bottom: #707070 1px solid;
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .l-footer__kyu__hp__a:hover {
    color: #6E356B;
  }
}
.l-footer__kyu__sns {
  display: flex;
  gap: 1rem;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .l-footer__kyu__sns {
    gap: 2rem;
    margin-bottom: 6rem;
  }
}
#smarttour_new .l-footer__kyu__sns {
  gap: 2rem;
  margin-bottom: 6rem;
}
.l-footer__kyu__sns a {
  transition: 0.3s ease;
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .l-footer__kyu__sns a:hover {
    opacity: 0.7;
  }
}
.l-footer__grp {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .l-footer__grp {
    flex-direction: column;
  }
}
#smarttour_new .l-footer__grp {
  flex-direction: column;
}
.l-footer__grp__links {
  display: flex;
}
@media only screen and (max-width: 768px) {
  .l-footer__grp__links {
    flex-direction: column;
  }
}
#smarttour_new .l-footer__grp__links {
  flex-direction: column;
}
.l-footer__grp__sns__inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.l-footer__btn {
  display: grid;
  place-content: center;
  width: 100%;
  height: 5rem;
  border: #6E356B 1px solid;
  background: #6E356B;
  color: #fff;
  font-size: 1.6rem;
  transition: background 0.3s, color 0.3s;
}
@media only screen and (max-width: 768px) {
  .l-footer__btn {
    max-width: 40rem;
    margin: 0 auto;
  }
}
#smarttour_new .l-footer__btn {
  max-width: 40rem;
  margin: 0 auto;
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .l-footer__btn:hover {
    background: #fff;
    color: #6E356B;
  }
}
.l-footer__copy-area {
  background-color: #17388E;
  padding: 1.5rem 0;
}
@media only screen and (max-width: 768px) {
  .l-footer__copy-area {
    padding: 3rem 0;
  }
}
#smarttour_new .l-footer__copy-area {
  padding: 3rem 0;
}
.l-footer__copy-area__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .l-footer__copy-area__inner {
    flex-direction: column;
    gap: 2rem;
    justify-content: center;
  }
}
#smarttour_new .l-footer__copy-area__inner {
  flex-direction: column;
  gap: 2rem;
  justify-content: center;
}
.l-footer__group-logo {
  display: flex;
  justify-content: center;
  transition: opacity 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .l-footer__group-logo:hover {
    opacity: 0.7;
  }
}
@media only screen and (max-width: 768px) {
  .l-footer__group-logo {
    justify-content: center;
  }
}
#smarttour_new .l-footer__group-logo {
  justify-content: center;
}
.l-footer__other-area {
  width: 100%;
  display: flex;
  justify-content: end;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  margin: 0 0 0 auto;
}
@media only screen and (max-width: 768px) {
  .l-footer__other-area {
    justify-content: center;
  }
}
#smarttour_new .l-footer__other-area {
  justify-content: center;
}
.l-footer__recruit__btn a {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.16rem;
  color: #17388E;
  border: 1px solid #17388E;
  background-color: #fff;
  width: 22rem;
  margin: 0 auto;
  height: 3.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  transition: 0.3s ease;
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .l-footer__recruit__btn a:hover {
    color: #fff;
    border: 1px solid #fff;
    background-color: #17388E;
  }
}
@media only screen and (max-width: 768px) {
  .l-footer__recruit__btn a {
    max-width: 30rem;
    width: 100%;
  }
}
#smarttour_new .l-footer__recruit__btn a {
  max-width: 30rem;
  width: 100%;
}
.l-footer__recruit__btn:first-child {
  margin-bottom: 7px;
}
@media only screen and (max-width: 768px) {
  .l-footer__recruit__btn__wrap {
    width: 100%;
  }
}
#smarttour_new .l-footer__recruit__btn__wrap {
  width: 100%;
}
.l-footer__sns {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding-right: 4rem;
}
@media only screen and (max-width: 768px) {
  .l-footer__sns {
    width: 100%;
    max-width: 30rem;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    padding-right: unset;
  }
}
#smarttour_new .l-footer__sns {
  width: 100%;
  max-width: 30rem;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding-right: unset;
}
.l-footer__sns__icons {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
}
.l-footer__sns__icons a {
  transition: opacity 0.3s;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .l-footer__sns__icons a {
    width: 2.5rem;
    height: 2.5rem;
  }
}
#smarttour_new .l-footer__sns__icons a {
  width: 2.5rem;
  height: 2.5rem;
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .l-footer__sns__icons a:hover {
    opacity: 0.7;
  }
}
.l-footer__copyright small {
  color: #fff;
  text-align: center;
  font-size: 1.2rem;
  letter-spacing: 0.01em;
}
@media only screen and (max-width: 768px) {
  .l-footer__copyright small {
    font-size: 10px;
  }
}
#smarttour_new .l-footer__copyright small {
  font-size: 10px;
}

/* ------------------------------------------------------------
    page top
------------------------------------------------------------ */
.l-footer__pagetop {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 2;
  background-color: rgba(255, 255, 255, 0.6);
  width: 4rem;
  height: 4rem;
  display: grid;
  place-content: center;
  transition: 0.3s ease;
  cursor: pointer;
  pointer-events: none;
  opacity: 0;
}
@media only screen and (max-width: 768px) {
  .l-footer__pagetop {
    bottom: 1rem;
    right: 1rem;
  }
}
#smarttour_new .l-footer__pagetop {
  bottom: 1rem;
  right: 1rem;
}
.l-footer__pagetop img {
  display: block;
  width: 1.8rem;
  height: auto;
  margin: 0 auto;
  filter: brightness(0);
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .l-footer__pagetop:hover {
    background-color: #6E356B;
  }
  .l-footer__pagetop:hover img {
    filter: brightness(0) invert(1);
  }
}
.l-footer__pagetop.is-top-scroll {
  opacity: 1;
  pointer-events: all;
}

/* ------------------------------------------------------------
    aboutus
------------------------------------------------------------ */
.l-abtus {
  background-color: #F1EDEF;
  padding: 5rem 0;
}
.l-abtus .u-container {
  max-width: 1200px !important;
}
.l-abtus__ttl-wrap {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  gap: 2.3rem;
}
@media only screen and (max-width: 768px) {
  .l-abtus__ttl-wrap {
    gap: 1.8rem;
  }
}
.l-abtus__line {
  width: 100%;
  height: 1px;
  background-color: #D1C4C9;
}
.l-abtus__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  gap: 3.7rem;
  margin: 3rem auto;
}
@media only screen and (max-width: 768px) {
  .l-abtus__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    gap: 3rem 1rem;
  }
}
#company .l-abtus__list .obj--comp {
  display: none;
}
#result .l-abtus__list .obj--res {
  display: none;
}
#staff .l-abtus__list .obj--staff {
  display: none;
}
#sdgs .l-abtus__list .obj--sdgs {
  display: none;
}

.l-abtlist__ttl {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 1.2rem;
}
@media (max-width: 768px) {
  .l-abtlist__ttl {
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  .l-abtlist__ttl {
    font-size: 1.4rem;
  }
}
.l-abtlist__img {
  aspect-ratio: 187/120;
  border: 1px solid #DEDEDE;
}
.l-abtlist__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ------------------------------------------------------------
    用地募集・土地活用ページで使用中
------------------------------------------------------------ */
.p-staff__intro {
  padding-top: 5rem;
  padding-bottom: 3.7rem;
}
.p-staff__intro__box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  gap: 6rem;
  margin-inline: auto;
  margin-top: 5.1rem;
}
@media only screen and (max-width: 768px) {
  .p-staff__intro__box {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 3rem;
  }
}
@media only screen and (max-width: 768px) {
  .p-staff__intro__pic {
    width: 100%;
    margin-bottom: 1.5rem;
  }
}
.p-staff__intro__right {
  padding-right: calc((100vw - 1200px) / 2);
}
@media (max-width: 1230px) {
  .p-staff__intro__right {
    margin-right: 5%;
  }
}
@media only screen and (max-width: 768px) {
  .p-staff__intro__right {
    width: 90%;
    margin: 0 auto;
  }
}
.p-staff__intro__right__ttl {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 3.4rem;
  margin-bottom: 3.4rem;
}
@media only screen and (max-width: 768px) {
  .p-staff__intro__right__ttl {
    font-size: 2.5rem;
    margin: 0 auto;
  }
}
.p-staff__pic {
  margin-top: 5rem;
  background-color: #F1EDEF;
  padding: 8.4rem 0 8rem;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .p-staff__pic {
    margin-top: 2rem;
    padding: 4rem 0;
  }
}
.p-staff__pic__list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 5rem;
  max-width: 800px;
  margin: 0 auto;
  width: 90%;
}
@media only screen and (max-width: 768px) {
  .p-staff__pic__list {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
.p-staff__pic__li {
  width: 100%;
}
.p-staff__pic__li-top {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  grid-template-columns: 30% 1fr;
  padding: 2rem 4rem 2rem 1rem;
  background-color: #B699B4;
  cursor: pointer;
}
@media only screen and (max-width: 768px) {
  .p-staff__pic__li-top {
    grid-template-columns: 1fr;
    padding: 2rem 0 0;
  }
}
.p-staff__pic__li__inf {
  padding-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .p-staff__pic__li__inf {
    position: relative;
    background-color: #b699b4;
    background: rgb(182, 153, 180);
    background: linear-gradient(0deg, rgb(182, 153, 180) 0%, rgb(182, 153, 180) 70%, rgba(182, 153, 180, 0) 100%);
    margin-top: -9rem;
    padding: 0 2rem;
    padding-bottom: 3.7rem;
  }
}
.p-staff__pic__li__ind {
  width: 3rem;
  height: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  border: 1px solid white;
  color: white;
  border-radius: 50px;
}
@media only screen and (max-width: 768px) {
  .p-staff__pic__li__ind {
    right: 1.5rem;
    bottom: 1.5rem;
  }
}
.p-staff__pic__li__name {
  font-size: 22px;
  font-size: 2.2rem;
  color: #fff;
  margin-bottom: 0.6rem;
}
@media (max-width: 768px) {
  .p-staff__pic__li__name {
    font-size: 18px;
  }
}
@media (max-width: 768px) {
  .p-staff__pic__li__name {
    font-size: 1.8rem;
  }
}
.p-staff__pic__li__bgimg {
  display: block;
  aspect-ratio: 1/1;
}
.p-staff__pic__li__bgimg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-staff__pic__li__txt {
  font-size: 16px;
  font-size: 1.6rem;
  color: #fff;
}
@media (max-width: 768px) {
  .p-staff__pic__li__txt {
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  .p-staff__pic__li__txt {
    font-size: 1.4rem;
  }
}
.p-staff__pic__li__img {
  position: absolute;
}
.p-staff__pic__li__img.ichi {
  height: 120%;
  left: 3.5rem;
  bottom: -3rem;
}
@media only screen and (max-width: 768px) {
  .p-staff__pic__li__img.ichi {
    height: unset;
    width: 44%;
    bottom: unset;
    top: -2rem;
    left: 1rem;
  }
}
.p-staff__pic__li__img.ni {
  left: -5rem;
  bottom: 0;
  width: 33%;
}
@media only screen and (max-width: 768px) {
  .p-staff__pic__li__img.ni {
    bottom: 7rem;
    width: 83%;
    left: -1rem;
  }
}
.p-staff__pic__li__img.san {
  max-height: 41.7rem;
  left: -1rem;
  bottom: -2.5rem;
  width: 30%;
}
@media only screen and (max-width: 768px) {
  .p-staff__pic__li__img.san {
    width: 83%;
    bottom: unset;
    top: -2rem;
    left: 1rem;
  }
}
.p-staff__pic__li__img img {
  width: 100%;
  height: 100%;
}
.p-staff__pic__li-bot {
  background-color: #B699B4;
  padding: 0rem 2rem 2rem;
}
@media only screen and (max-width: 768px) {
  .p-staff__pic__li-bot {
    position: relative;
    padding: 0 1rem 1rem;
  }
}
.p-staff__pic__li__tbl {
  background-color: #fff;
  padding: 2rem;
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 1rem;
}
@media only screen and (max-width: 768px) {
  .p-staff__pic__li__tbl {
    padding: 1rem 1rem 2rem;
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.p-staff__ctt {
  margin-top: 6.5rem;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 768px) {
  .p-staff__ctt {
    margin-top: 5rem;
    margin-bottom: 5rem;
  }
}
.p-staff__ctt__ttl {
  text-align: center;
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 800;
  margin-bottom: 3.2rem;
}
@media (max-width: 768px) {
  .p-staff__ctt__ttl {
    font-size: 20px;
  }
}
@media (max-width: 768px) {
  .p-staff__ctt__ttl {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .p-staff__ctt__ttl {
    margin-bottom: 0;
  }
}
.p-staff__ctt__ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  gap: 3rem;
  margin: 0 auto;
}
@media only screen and (max-width: 1080px) {
  .p-staff__ctt__ul {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 768px) {
  .p-staff__ctt__ul {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    align-items: center;
    gap: 1rem;
  }
}
.p-staff__ctt__ul__head {
  width: 7.8rem;
  height: 3rem;
  background-color: #6E356B;
  color: #fff;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  text-align: center;
  font-size: 1.8rem;
}
.p-staff__ctt__ul__box {
  background-color: #F1EDEF;
  padding: 0 2rem;
  text-align: center;
  height: 11rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.p-staff__ctt__ul__box__num {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 3.8rem;
  color: #6E356B;
  line-height: 1;
}
.p-staff__ctt__ul__box__btn {
  max-width: 30rem;
  margin-inline: auto;
  margin-bottom: 0.5rem;
}
.p-staff__ctt__ul__box__btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: 0.3s;
}
.p-staff__ctt__ul__box__btn a:hover {
  background-color: #9C4998;
  transition: 0.3s;
  color: #fff;
}

.u-btn-next.wh {
  background-color: #fff;
  color: #6E356B;
  padding-block: 0.6rem;
  padding-inline: 1.9rem;
  padding-right: 5rem;
  font-size: 1.8rem;
}

.p-side {
  height: 14.5rem;
  width: 33rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  grid-template-columns: max-content 1fr;
  position: fixed;
  right: 0;
  bottom: 9rem;
  transform: translateX(0rem);
  transition: 0.5s;
  z-index: 1;
}
.p-side.js-closed {
  transform: translateX(30rem);
  transition: 0.5s;
}
@media only screen and (max-width: 768px) {
  .p-side.js-closed {
    transform: translateX(28rem);
  }
}
@media only screen and (max-width: 768px) {
  .p-side {
    width: 31rem;
  }
}
.p-side__handle {
  height: 100%;
}
.p-side__handle a {
  height: 100%;
  padding: 0 0.7rem;
  background-color: #4e5562;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-side__handle a .u-arw-right {
  width: 1.5rem;
  color: #fff;
  transform: rotate(0);
  transition: 0.3s;
}
.js-closed .p-side__handle a .u-arw-right {
  transform: rotate(180deg);
  transition: 0.3s;
}
.p-side__info {
  background-color: #222B3C;
  height: 100%;
  padding: 2rem;
}
@media only screen and (max-width: 768px) {
  .p-side__info {
    padding: 2rem 1rem;
  }
}
.p-side__info__ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1rem;
  gap: 1rem;
}
.p-side__info__ttl-txt {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
}
@media (max-width: 768px) {
  .p-side__info__ttl-txt {
    font-size: 16px;
  }
}
@media (max-width: 768px) {
  .p-side__info__ttl-txt {
    font-size: 1.6rem;
  }
}
.p-side__info__btn a {
  background-color: #fff;
  height: 4rem;
  padding: unset;
  padding-left: 1.4rem;
  transition: 0.3s;
}
.p-side__info__btn a .u-arw-next {
  right: 1.2rem;
}
.p-side__info__btn a:hover {
  background-color: #9C4998;
  color: #fff;
  transition: 0.3s;
}
.p-side__info__btn-ic {
  font-size: 14px;
  font-size: 1.4rem;
  background-color: #222B3C;
  border-radius: 5px;
  color: #fff;
  width: 4.5rem;
  height: 2.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 768px) {
  .p-side__info__btn-ic {
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  .p-side__info__btn-ic {
    font-size: 1.4rem;
  }
}
.p-side__info__btn p {
  font-size: 16px;
  font-size: 1.6rem;
  padding-left: 0.5rem;
}
@media (max-width: 768px) {
  .p-side__info__btn p {
    font-size: 16px;
  }
}
@media (max-width: 768px) {
  .p-side__info__btn p {
    font-size: 1.6rem;
  }
}

/* ------------------------------------------------------------
    side banner
------------------------------------------------------------ */
.em-slash::before {
  content: "";
  display: inline-block;
  width: 1.5px;
  height: 2.2rem;
  background-color: currentColor;
  transform: rotate(-30deg) translateY(0.3rem);
  margin-right: 1.5rem;
}
.em-slash::after {
  content: "";
  display: inline-block;
  width: 1.5px;
  height: 2.2rem;
  background-color: currentColor;
  transform: rotate(30deg) translateY(0.3rem);
  margin-left: 1.5rem;
}

.l-rpop-wrappin {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  grid-template-columns: 5.4rem 28rem;
  align-items: flex-start;
  position: fixed;
  right: 0;
  bottom: 8rem;
  z-index: 1;
  transform: translateX(28rem);
  transition: 0.5s;
}
.l-rpop-wrappin.js-open {
  transform: translateX(0);
  transition: 0.5s;
}
.l-rpop__open {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 5.4rem;
  height: 5.4rem;
  background-color: rgba(110, 53, 107, 0.5);
}
.l-rpop__open .u-arw-right {
  width: 2.3rem;
  color: #fff;
}
.l-rpop__open-wrappin {
  transform: rotate(180deg);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.3s;
}
.js-open .l-rpop__open-wrappin {
  transform: rotate(0);
  transition: 0.3s;
}
.l-rpop__cont {
  box-shadow: 5px 2px 5px #707070;
}
.l-rpop__cont__a {
  display: block;
  width: 28rem;
  height: 28rem;
}
.l-rpop__cont__ttl {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 500;
  background-color: #9C4998;
  color: #fff;
  height: 5.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 768px) {
  .l-rpop__cont__ttl {
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  .l-rpop__cont__ttl {
    font-size: 1.4rem;
  }
}
.l-rpop__cont__img {
  aspect-ratio: 280/226;
  height: 22.6rem;
  width: 28rem;
  position: relative;
}
.l-rpop__cont__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.l-rpop__cont__img-txt {
  position: absolute;
  bottom: 0.8rem;
  left: 0.8rem;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 1000px;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 21rem;
  padding: 0.5rem 1rem;
}
@media (max-width: 768px) {
  .l-rpop__cont__img-txt {
    font-size: 12px;
  }
}
@media (max-width: 768px) {
  .l-rpop__cont__img-txt {
    font-size: 1.2rem;
  }
}
.l-rpop__cont__img-txt .u-arw-next {
  margin-left: 0.4rem;
}
.l-rpop__cont__subimg {
  position: absolute;
  bottom: 0;
  right: 0;
  max-width: 7.4rem;
}

/* ------------------------------------------------------------
	icon
------------------------------------------------------------ */
.c-icon {
  width: 3rem;
  height: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-icon img {
  -o-object-fit: contain;
     object-fit: contain;
  height: 100%;
  width: 100%;
}
.c-icon--round {
  background-color: #fff;
  border-radius: 50px;
  border: 1px solid #D7D7D7;
}
.c-icon-plus {
  display: inline-block;
  vertical-align: middle;
  color: currentColor;
  line-height: 1;
  width: 1em;
  height: 0.1em;
  background: currentColor;
  border-radius: 0.1em;
  position: relative;
  transition: 0.3s;
}
.c-icon-plus::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  transform: rotate(90deg);
  transition: 0.3s;
}
.js-minus .c-icon-plus::before {
  width: 0;
  height: 0;
  transition: 0.3s;
}
.js-minus .c-icon-plus {
  transform: rotate(180deg);
  transition: 0.3s;
}
.c-icon-link {
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-icon-link img {
  width: 100%;
}
.c-icon-QA {
  display: grid;
  place-content: center;
  width: 3rem;
  height: 3rem;
  color: #fff;
  border-radius: 100px;
  text-align: center;
  background: #D1C4C9;
}
.c-icon-QA--A {
  background: rgba(34, 43, 60, 0.8);
}
.c-icon-QA strong {
  display: inline-block;
  font-family: "Jost", sans-serif;
  font-size: 20px;
  font-size: 2rem;
  line-height: 0;
  letter-spacing: 0em;
}
@media (max-width: 768px) {
  .c-icon-QA strong {
    font-size: 18px;
  }
}
@media (max-width: 768px) {
  .c-icon-QA strong {
    font-size: 1.8rem;
  }
}
.c-icon-locNum {
  display: grid;
  place-content: center;
  background: #222B3C;
  padding: 0 0.5rem 0 0.6rem;
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: 500;
  width: 2rem;
  height: 2rem;
  width: 1rem;
  height: 1rem;
  margin: 0.5rem 0 0;
}
@media (max-width: 768px) {
  .c-icon-locNum {
    font-size: 11px;
  }
}
@media (max-width: 768px) {
  .c-icon-locNum {
    font-size: 1.1rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-icon-locNum {
    width: 1.8rem;
    height: 1.8rem;
    width: 1rem;
    height: 1rem;
    margin: 0.5rem 0 0;
  }
}
.c-icon-locNum span {
  display: block;
  color: #fff;
  display: none;
}
.c-icon-ol {
  display: grid;
  place-content: center;
  width: 2rem;
  height: 2rem;
}
@media only screen and (max-width: 768px) {
  .c-icon-ol {
    width: 1.8rem;
    height: 1.8rem;
  }
}
.c-icon-ol::before {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  background: #222B3C;
}
.c-icon-cta {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2.2rem;
  height: 2.2rem;
}
@media only screen and (max-width: 1080px) {
  .c-icon-cta {
    width: 1.8rem;
    height: 1.8rem;
  }
}
.c-icon-cta img {
  -o-object-fit: contain;
     object-fit: contain;
  height: 100%;
  width: 100%;
}

/* ------------------------------------------------------------
	title
------------------------------------------------------------ */
.c-ttl-engmain {
  font-size: 60px;
  font-size: 6rem;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-weight: 300;
  color: #D1C4C9;
  line-height: 1;
  text-align: center;
}
@media (max-width: 768px) {
  .c-ttl-engmain {
    font-size: 40px;
  }
}
@media (max-width: 768px) {
  .c-ttl-engmain {
    font-size: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-ttl-engmain {
    text-align: left;
    margin-left: 5%;
  }
}
.c-ttl-engmain .obj--jpsub {
  display: block;
  font-size: 0.3em;
  font-family: "noto-sans-cjk-jp", "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  color: #333;
  margin-top: 0.4rem;
}
@media only screen and (max-width: 768px) {
  .c-ttl-engmain .obj--jpsub {
    font-size: 1.3rem;
  }
}
.c-ttl-engmain--sub {
  font-size: 40px;
  font-size: 4rem;
  font-weight: 400;
  text-align: left;
}
@media (max-width: 768px) {
  .c-ttl-engmain--sub {
    font-size: 30px;
  }
}
@media (max-width: 768px) {
  .c-ttl-engmain--sub {
    font-size: 3rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-ttl-engmain--sub {
    margin-left: 0;
  }
}
.c-ttl-engmain--brand {
  font-size: 40px;
  font-size: 4rem;
  font-weight: 400;
}
@media (max-width: 768px) {
  .c-ttl-engmain--brand {
    font-size: 32px;
  }
}
@media (max-width: 768px) {
  .c-ttl-engmain--brand {
    font-size: 3.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-ttl-engmain--brand {
    text-align: left;
  }
}
.c-ttl-engmain--brand .obj--jpsub {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.75;
}
@media (max-width: 768px) {
  .c-ttl-engmain--brand .obj--jpsub {
    font-size: 16px;
  }
}
@media (max-width: 768px) {
  .c-ttl-engmain--brand .obj--jpsub {
    font-size: 1.6rem;
  }
}
.c-ttl-jpmain {
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
@media (max-width: 768px) {
  .c-ttl-jpmain {
    font-size: 20px;
  }
}
@media (max-width: 768px) {
  .c-ttl-jpmain {
    font-size: 2rem;
  }
}
.c-ttl-jpmain .obj--engsub {
  display: block;
  font-size: 16px;
  font-size: 1.6rem;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #D1C4C9;
  margin-top: 1.7rem;
}
@media (max-width: 768px) {
  .c-ttl-jpmain .obj--engsub {
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  .c-ttl-jpmain .obj--engsub {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-ttl-jpmain .obj--engsub {
    margin-top: 0.7rem;
  }
}
.c-ttl-div {
  font-size: 60px;
  font-size: 6rem;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-weight: 400;
  color: #EFEFEF;
  line-height: 1;
  text-align: center;
}
@media (max-width: 768px) {
  .c-ttl-div {
    font-size: 40px;
  }
}
@media (max-width: 768px) {
  .c-ttl-div {
    font-size: 4rem;
  }
}
.c-ttl-number {
  width: -moz-fit-content;
  width: fit-content;
  padding-right: 2rem;
  padding-bottom: 1rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
  display: flex;
  justify-content: space-between;
  align-items: center;
  justify-content: flex-start;
  align-items: flex-end;
  gap: 4rem;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .c-ttl-number {
    letter-spacing: 0em;
    gap: 1rem;
    padding-right: 0;
    padding-bottom: 0.7rem;
    width: 100%;
  }
}
.c-ttl-number::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #333;
  position: absolute;
  bottom: 0;
  z-index: 1;
}
.c-ttl-number-txt {
  font-size: 30px;
  font-size: 3rem;
  font-weight: 500;
  display: block;
  line-height: 1.2;
}
@media (max-width: 768px) {
  .c-ttl-number-txt {
    font-size: 20px;
  }
}
@media (max-width: 768px) {
  .c-ttl-number-txt {
    font-size: 2rem;
  }
}
.c-ttl-number-no {
  font-size: 40px;
  font-size: 4rem;
  display: block;
  line-height: 1;
  letter-spacing: 0.3rem;
  color: #fff;
  position: relative;
}
@media (max-width: 768px) {
  .c-ttl-number-no {
    font-size: 28px;
  }
}
@media (max-width: 768px) {
  .c-ttl-number-no {
    font-size: 2.8rem;
  }
}
.c-ttl-number-no em {
  position: relative;
  z-index: 1;
  border-bottom: 1px solid #fff;
}
.c-ttl-number-no::before {
  content: "";
  display: block;
  width: 8rem;
  height: 8rem;
  background-color: #6E356B;
  border-radius: 50%;
  z-index: 0;
  left: 46%;
  top: 60%;
  transform: translate(-50%, -50%);
  position: absolute;
}
@media only screen and (max-width: 768px) {
  .c-ttl-number-no::before {
    width: 5rem;
    height: 5rem;
  }
}
.c-ttl-leadicon {
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  border-bottom: 1px solid #333;
}
.c-ttl-leadicon__img {
  width: 6.3rem;
  height: 6.3rem;
}
.c-ttl-leadicon__img img {
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.c-ttl-leadicon__ttl-eng {
  display: block;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  font-style: italic;
  font-size: 18.18px;
  font-size: 1.818rem;
  font-weight: 500;
  font-style: normal;
  color: rgba(110, 53, 107, 0.5);
  line-height: 1;
}
@media (max-width: 768px) {
  .c-ttl-leadicon__ttl-eng {
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  .c-ttl-leadicon__ttl-eng {
    font-size: 1.4rem;
  }
}
.c-ttl-leadicon__ttl-jp {
  display: block;
  font-size: 30px;
  font-size: 3rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.2;
}
@media (max-width: 768px) {
  .c-ttl-leadicon__ttl-jp {
    font-size: 20px;
  }
}
@media (max-width: 768px) {
  .c-ttl-leadicon__ttl-jp {
    font-size: 2rem;
  }
}

.c-pan {
  background-color: #f4f4f4;
}
.c-pan .u-container {
  max-width: 1200px !important;
}
.c-pan__list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  justify-content: flex-start;
}
.c-pan__list__item {
  font-size: 12px;
  font-size: 1.2rem;
  padding: 0.4rem 0;
}
@media (max-width: 768px) {
  .c-pan__list__item {
    font-size: 10px;
  }
}
@media (max-width: 768px) {
  .c-pan__list__item {
    font-size: 1rem;
  }
}
.c-pan__list__item a {
  color: #666666;
}
.c-pan__list__item .u-arw-next {
  margin: 0 1rem;
}

.c-fw_R {
  font-weight: 400 !important;
}

.c-fw_M {
  font-weight: 500 !important;
}

.c-fw_B {
  font-weight: 700 !important;
}

/* ------------------------------------------------------------
	icon
------------------------------------------------------------ */
.c-card-voice {
  background-color: #F7F4F1;
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  gap: 3rem;
  padding: 2rem 8rem 2rem 3rem;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .c-card-voice {
    grid-template-columns: 1fr;
    align-items: normal;
    gap: 1rem;
    padding: 0.7rem;
    padding-bottom: 1rem;
    padding-top: 3.5rem;
    height: 100%;
  }
}
.c-card-voice__icon {
  position: absolute;
  right: 2rem;
}
@media only screen and (max-width: 768px) {
  .c-card-voice__icon {
    top: 1rem;
    right: 1rem;
  }
}
.c-card-reform {
  background-color: #F7F4F1;
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  gap: 3rem;
  padding: 2rem 8rem 2rem 3rem;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .c-card-reform {
    grid-template-columns: 1fr;
    align-items: normal;
    gap: 1rem;
    padding: 0.7rem;
    padding-bottom: 1rem;
    padding-top: 3.5rem;
    height: 100%;
  }
}
.c-card-reform__icon {
  position: absolute;
  right: 2rem;
}
@media only screen and (max-width: 768px) {
  .c-card-reform__icon {
    top: 1rem;
    right: 1rem;
  }
}
.c-card-staff {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  gap: 1.5rem;
  padding: 1rem;
  width: -moz-fit-content;
  width: fit-content;
}
@media only screen and (max-width: 768px) {
  .c-card-staff {
    padding: 0;
  }
}
.c-card-staff .u-frame img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-card-staff__inf {
  text-align: center;
  font-weight: 500;
}
.c-card-staff-det .c-card-staff__inf {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  grid-template-columns: 7rem 1fr;
  align-items: flex-end;
  text-align: left;
  width: 100%;
}
.c-card-staff__inf-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding: 0 2rem;
}
.c-card-staff__inf__ttl {
  font-size: 10px;
  font-size: 1rem;
  color: #D1C4C9;
  max-width: 16rem;
  word-break: break-all;
}
@media (max-width: 768px) {
  .c-card-staff__inf__ttl {
    font-size: 10px;
  }
}
@media (max-width: 768px) {
  .c-card-staff__inf__ttl {
    font-size: 1rem;
  }
}
.c-card-staff-det .c-card-staff__inf__ttl {
  font-size: 16px;
  font-size: 1.6rem;
  color: #6E356B;
}
@media (max-width: 768px) {
  .c-card-staff-det .c-card-staff__inf__ttl {
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  .c-card-staff-det .c-card-staff__inf__ttl {
    font-size: 1.4rem;
  }
}
.c-card-staff__inf__name {
  font-size: 13px;
  font-size: 1.3rem;
}
@media (max-width: 768px) {
  .c-card-staff__inf__name {
    font-size: 13px;
  }
}
@media (max-width: 768px) {
  .c-card-staff__inf__name {
    font-size: 1.3rem;
  }
}
.c-card-staff-det .c-card-staff__inf__name {
  font-size: 24px;
  font-size: 2.4rem;
  position: relative;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .c-card-staff-det .c-card-staff__inf__name {
    font-size: 20px;
  }
}
@media (max-width: 768px) {
  .c-card-staff-det .c-card-staff__inf__name {
    font-size: 2rem;
  }
}
.c-card-staff-det .c-card-staff__inf__name-eng {
  color: #707070;
  display: block;
  line-height: 1;
  font-size: 13px;
  font-size: 1.3rem;
  position: absolute;
  top: -1rem;
  letter-spacing: 0.03em;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .c-card-staff-det .c-card-staff__inf__name-eng {
    font-size: 12px;
  }
}
@media (max-width: 768px) {
  .c-card-staff-det .c-card-staff__inf__name-eng {
    font-size: 1.2rem;
  }
}
.c-card-staff__inf2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  align-items: flex-start;
  grid-template-columns: 7rem 1fr;
  text-align: left;
  font-weight: 500;
  width: 100%;
}
.c-card-staff__inf2__ttl {
  font-size: 16px;
  font-size: 1.6rem;
  color: #6E356B;
}
@media (max-width: 768px) {
  .c-card-staff__inf2__ttl {
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  .c-card-staff__inf2__ttl {
    font-size: 1.4rem;
  }
}
.c-card-staff__inf2__name {
  font-size: 18px;
  font-size: 1.8rem;
}
@media (max-width: 768px) {
  .c-card-staff__inf2__name {
    font-size: 16px;
  }
}
@media (max-width: 768px) {
  .c-card-staff__inf2__name {
    font-size: 1.6rem;
  }
}
.c-card-staff-det {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 3rem;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  position: relative;
}
.c-card-staff-det .u-frame img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-card-detailTtl {
  background: #F7F4F1;
  margin: 3rem auto 0;
  padding: 3rem 0;
}
.c-card-detailTtl hgroup {
  width: 90%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.c-card-detailTtl hgroup h3 {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 700;
}
@media (max-width: 768px) {
  .c-card-detailTtl hgroup h3 {
    font-size: 16px;
  }
}
@media (max-width: 768px) {
  .c-card-detailTtl hgroup h3 {
    font-size: 1.6rem;
  }
}
.c-card-detailTtl hgroup p {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1;
  margin-top: 1rem;
}
@media (max-width: 768px) {
  .c-card-detailTtl hgroup p {
    font-size: 13px;
  }
}
@media (max-width: 768px) {
  .c-card-detailTtl hgroup p {
    font-size: 1.3rem;
  }
}
.c-card-bkn {
  display: grid;
  grid-template-areas: "buktag bukinf bukbtn" "bukimg bukinf bukbtn";
  grid-template-columns: 30% 1fr 20rem;
  grid-template-rows: min-content 1fr;
  background-color: #f4f4f4;
  padding: 2rem;
}
@media only screen and (max-width: 1080px) {
  .c-card-bkn {
    grid-template-areas: "buktag bukinf" "bukimg bukinf" "bukbtn bukinf";
    grid-template-columns: 32.5rem 1fr;
  }
}
@media only screen and (max-width: 768px) {
  .c-card-bkn {
    grid-template-areas: "buktag" "bukimg" "bukinf" "bukbtn";
    grid-template-columns: 1fr;
    grid-template-rows: min-content;
    padding: 1.6rem 1.4rem;
    max-width: 49rem;
    margin: 0 auto;
  }
}
.c-card-bkn--rcmnd {
  grid-template-areas: "buktag" "bukimg" "bukinf" "bukbtn";
  grid-template-columns: 1fr;
  grid-template-rows: min-content;
  padding: 1.6rem 1.4rem;
  max-width: 49rem;
  margin: 0 auto;
}
.c-card-bkn--lineup {
  grid-template-areas: "bukimg" "buktag" "bukinf";
  grid-template-columns: 1fr;
  grid-template-rows: min-content;
  padding: 1.6rem 1.4rem;
  max-width: 49rem;
  margin: 0 auto;
}
.c-card-bkn__tag {
  grid-area: buktag;
  margin-bottom: 4px;
}
.c-card-bkn__img {
  grid-area: bukimg;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  position: relative;
  aspect-ratio: 1/1;
  background-color: #fff;
}
.c-card-bkn__img img {
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
#modelhouse .c-card-bkn__img {
  aspect-ratio: 444/289;
}
#modelhouse .c-card-bkn__img img {
  -o-object-fit: cover;
     object-fit: cover;
}
#lineup .c-card-bkn__img {
  aspect-ratio: 1/1;
}
#lineup .c-card-bkn__img img {
  -o-object-fit: contain;
     object-fit: contain;
}
.c-card-bkn__img--smart {
  display: none;
  position: absolute;
  opacity: 0;
  right: 0;
  bottom: 0;
}
@media only screen and (max-width: 1080px) {
  .c-card-bkn__img--smart {
    display: block;
  }
}
.smart .c-card-bkn__img--smart {
  opacity: 1;
}
.c-card-bkn__img__tag {
  position: absolute;
  display: block;
  bottom: 1rem;
  left: 1rem;
}
.c-card-bkn__inf {
  grid-area: bukinf;
  padding: 3rem 0 0;
  width: 92%;
  max-width: 50rem;
  margin: 0 auto;
}
@media only screen and (max-width: 1080px) {
  .c-card-bkn__inf {
    padding: 3rem 0 0 2rem;
    max-width: unset;
  }
}
@media only screen and (max-width: 768px) {
  .c-card-bkn__inf {
    padding: 1.3rem 0 0;
    width: 100%;
  }
}
.c-card-bkn__inf--rcmnd {
  padding: 1.3rem 0 0;
  width: 100%;
  max-width: unset;
}
.c-card-bkn__inf__ttl {
  font-size: 20px;
  font-size: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  justify-content: flex-start;
  font-weight: 500;
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .c-card-bkn__inf__ttl {
    font-size: 18px;
  }
}
@media (max-width: 768px) {
  .c-card-bkn__inf__ttl {
    font-size: 1.8rem;
  }
}
.c-card-bkn__inf__ttl__tag i {
  display: inline;
}
.c-card-bkn__inf__icon {
  width: 5rem;
  height: 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-card-bkn__inf__icon img {
  -o-object-fit: contain;
     object-fit: contain;
  height: 100%;
  width: 100%;
}
.c-card-bkn__inf__txt .conc {
  padding: 1rem 0;
  padding-left: 0.4rem;
  border-top: 1px solid #DEDEDE;
}
.c-card-bkn__inf__txt .conc--keitai {
  padding: 2rem 0;
}
.c-card-bkn__inf__txt .conc__keitai {
  padding: 0.5rem 1.5rem;
  height: 4rem;
  background-color: #222B3C;
  color: #fff;
  display: inline-block;
}
.c-card-bkn__inf__txt .conc__keitai-sup {
  display: inline-block;
  font-size: 12px;
  font-size: 1.2rem;
}
@media (max-width: 768px) {
  .c-card-bkn__inf__txt .conc__keitai-sup {
    font-size: 12px;
  }
}
@media (max-width: 768px) {
  .c-card-bkn__inf__txt .conc__keitai-sup {
    font-size: 1.2rem;
  }
}
.c-card-bkn__inf__txt .dl {
  display: flex;
  justify-content: center;
  align-items: center;
  justify-content: flex-start;
  padding: 1rem 0;
  padding-left: 0.4rem;
  border-top: 1px solid #DEDEDE;
}
.c-card-bkn__inf__txt .dl:last-of-type {
  border-bottom: 1px solid #DEDEDE;
}
.c-card-bkn__inf__txt .dt {
  width: 7rem;
}
.c-card-bkn__inf__txt .dd {
  width: calc(100% - 7rem);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}
.c-card-bkn__btns {
  grid-area: bukbtn;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
@media only screen and (max-width: 1080px) {
  .c-card-bkn__btns {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row-reverse;
    gap: 0.8rem;
    margin-top: 1rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-card-bkn__btns {
    gap: 0.8rem;
    margin-top: 1.2rem;
  }
}
.c-card-bkn__btns--rcmnd {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row-reverse;
  gap: 0.8rem;
  margin-top: 1.2rem;
}
@media only screen and (max-width: 768px) {
  .c-card-bkn__btns__item {
    width: calc(33.3333333333% - 0.2666666667rem);
  }
}
.c-card-bkn__btns__item--rcmnd {
  width: calc(33.3333333333% - 0.2666666667rem);
}
.c-card-bkn__btns__item--smart {
  margin-bottom: -9px;
  opacity: 0;
}
@media only screen and (max-width: 1080px) {
  .c-card-bkn__btns__item--smart {
    display: none;
  }
}
.smart .c-card-bkn__btns__item--smart,
.c-card-bkn__btns__item--smart .u-btn-smart {
  opacity: 1 !important;
}
.c-card-bkn__btns__item .u-btn-next {
  transition: 0.3s;
}
@media only screen and (max-width: 1080px) {
  .c-card-bkn__btns__item .u-btn-next .u-arw-next {
    right: 1rem;
  }
}
.c-card-bkn__btns__item .u-btn-next i {
  text-align: center;
}
.c-card-bkn__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2.5rem;
  height: 2.5rem;
}
@media only screen and (max-width: 1080px) {
  .c-card-bkn__icon {
    width: 1.8rem;
    height: 1.8rem;
  }
}
.c-card-bkn__icon img {
  -o-object-fit: contain;
     object-fit: contain;
  height: 100%;
  width: 100%;
}
.c-card-cmpt {
  border-top: 3px solid #D1C4C9;
  padding: 1rem 0 3rem;
}
.c-card-cmpt__heading__name {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 500;
}
@media (max-width: 768px) {
  .c-card-cmpt__heading__name {
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  .c-card-cmpt__heading__name {
    font-size: 1.4rem;
  }
}
.c-card-cmpt__heading__add {
  font-size: 13px;
  font-size: 1.3rem;
}
@media (max-width: 768px) {
  .c-card-cmpt__heading__add {
    font-size: 12px;
  }
}
@media (max-width: 768px) {
  .c-card-cmpt__heading__add {
    font-size: 1.2rem;
  }
}
.c-card-cmpt__inf {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 1rem;
}
.c-card-cmpt__inf__img {
  width: 100%;
  height: 96px;
  overflow: hidden;
}
.c-card-cmpt__inf__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.c-card-cmpt__inf__txt {
  border-top: 1px solid #D7D7D7;
  border-bottom: 1px solid #D7D7D7;
}
.c-card-cmpt__inf__txt li {
  padding: 1rem 0;
  line-height: 1.2;
  font-size: 14px;
  font-size: 1.4rem;
}
@media (max-width: 768px) {
  .c-card-cmpt__inf__txt li {
    font-size: 13px;
  }
}
@media (max-width: 768px) {
  .c-card-cmpt__inf__txt li {
    font-size: 1.3rem;
  }
}
.c-card-cmpt__inf__txt li:not(:first-child) {
  border-top: 1px solid #D7D7D7;
}
.c-card-cmpt__inf--onMap {
  grid-template-columns: 1.5fr 1fr;
}
.c-card-cmpt--onMap .u-btn-cmpt--sec {
  margin-top: 1.8rem;
}
@media only screen and (max-width: 768px) {
  .c-card-cmpt--onMap .u-btn-cmpt--sec {
    margin-top: 1.2rem;
  }
}
.c-card-cmpt__btns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 1rem;
}
.c-card-cmpt--onMap {
  border: none;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  padding: 3rem 1.6rem 1.6rem;
  background-color: #fff;
  border-radius: 4px;
  width: 30rem;
}
@media only screen and (max-width: 768px) {
  .c-card-cmpt--onMap {
    padding: 3rem 1.2rem 1.2rem;
    width: 27rem;
  }
}
.c-card-cmpt--onMap:after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 97%);
  background-color: #fff;
  box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
  content: "";
  display: block;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  width: 2.5rem;
  height: 1.5rem;
}
.c-card-cmpt__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 2rem;
  height: 2rem;
}

.c-vc__img {
  border-radius: 100px;
  overflow: hidden;
  width: 14rem;
  height: 14rem;
  border: solid 1px #DEDEDE;
  aspect-ratio: 1/1;
}
@media only screen and (max-width: 768px) {
  .c-vc__img {
    width: 22vw;
    height: 22vw;
    max-width: 11rem;
    max-height: 11rem;
  }
}
.c-vc__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-vc__info {
  width: 21rem;
}
@media only screen and (max-width: 768px) {
  .c-vc__info {
    width: 16rem;
  }
}
.c-vc__info-wrap {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  gap: 2rem;
}
@media only screen and (max-width: 768px) {
  .c-vc__info-wrap {
    gap: 1rem;
  }
}
.c-vc__info__item {
  display: grid;
  grid-template-columns: 9rem 1fr;
}
@media only screen and (max-width: 768px) {
  .c-vc__info__item {
    grid-template-columns: 8rem 1fr;
  }
}
.c-vc__info__item .label {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 500;
}
@media (max-width: 768px) {
  .c-vc__info__item .label {
    font-size: 12px;
  }
}
@media (max-width: 768px) {
  .c-vc__info__item .label {
    font-size: 1.2rem;
  }
}
.c-vc__info__item .value {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 500;
}
@media (max-width: 768px) {
  .c-vc__info__item .value {
    font-size: 13px;
  }
}
@media (max-width: 768px) {
  .c-vc__info__item .value {
    font-size: 1.3rem;
  }
}
.c-vc__txt {
  font-size: 14px;
  font-size: 1.4rem;
  margin: 1rem 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}
.c-vc__txt-wrap {
  background: white;
  padding: 0 2rem;
}
.c-vc__txt-ttl {
  font-weight: 700;
  line-height: 1.5;
  border-bottom: 1px solid #DEDEDE;
  padding: 1rem 0;
}
@media (max-width: 768px) {
  .c-vc__txt {
    font-size: 12px;
  }
}
@media (max-width: 768px) {
  .c-vc__txt {
    font-size: 1.2rem;
  }
}

.c-pagination {
  width: 85%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  padding: 6rem 0 10rem;
}
@media only screen and (max-width: 768px) {
  .c-pagination {
    padding: 6rem 0 8rem;
  }
}
.c-pagination .nav-links ul {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 1rem;
}
.c-pagination .nav-links ul li .page-numbers {
  display: block;
  width: 4rem;
  height: 4rem;
  text-align: center;
  line-height: 4rem;
  background: #fff;
  font-size: 15px;
  font-size: 1.5rem;
  border: 1px solid #DEDEDE;
}
@media (max-width: 768px) {
  .c-pagination .nav-links ul li .page-numbers {
    font-size: 15px;
  }
}
@media (max-width: 768px) {
  .c-pagination .nav-links ul li .page-numbers {
    font-size: 1.5rem;
  }
}
.c-pagination .nav-links ul li .page-numbers.current {
  color: #fff;
  background: #9C4998;
}
.c-pagination .nav-links ul li .page-numbers:where(.prev, .next, .dots) {
  border: unset;
}
.c-pagination .nav-links ul li .page-numbers:where(.prev, .next) {
  display: grid;
  place-content: center;
}
.c-pagination .nav-links ul li .page-numbers:where(.prev, .next)::before {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
}
.c-pagination .nav-links ul li .page-numbers.prev::before {
  transform: rotate(135deg);
  margin-left: 0.5rem;
}
.c-pagination .nav-links ul li .page-numbers.next::before {
  transform: rotate(-45deg);
  margin-right: 0.5rem;
}
.c-pagination .nav-links ul li .page-numbers.dots {
  width: -moz-fit-content;
  width: fit-content;
}

/* ------------------------------------------------------------
	search
------------------------------------------------------------ */
.c-s-area {
  padding: 2rem;
  background-color: #f4f4f4;
  border: 1px solid #D7D7D7;
  border-top: unset;
}
@media only screen and (max-width: 768px) {
  .c-s-area {
    padding: unset;
    border-bottom: unset;
  }
}
.c-s-area__tablist {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1rem;
}
@media only screen and (max-width: 1080px) {
  .c-s-area__tablist {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media only screen and (max-width: 768px) {
  .c-s-area__tablist {
    display: none;
  }
}
.c-s-area__tablist--map {
  grid-template-columns: repeat(5, 1fr);
  margin-bottom: -1px;
  gap: 0;
}
.c-s-area__tablist--map li {
  margin: 0 -1px;
}
@media only screen and (max-width: 1080px) {
  .c-s-area__tablist--map {
    display: grid;
  }
}
.c-s-area__btnlist {
  background-color: #e1e2e3;
  margin: 2rem 0;
  padding: 2rem;
}
@media only screen and (max-width: 768px) {
  .c-s-area__btnlist {
    margin: unset;
    padding: unset;
  }
}
@media only screen and (max-width: 768px) {
  .c-s-area__btnlist__btn {
    display: block !important;
  }
  .c-s-area__btnlist__btn .u-btn-tog {
    background-color: #f4f4f4;
    border-top: 1px solid #D7D7D7;
  }
}
@media only screen and (max-width: 768px) {
  .c-s-area__btnlist__btn:last-of-type .u-btn-tog {
    border-bottom: 1px solid #D7D7D7;
  }
}
@media only screen and (max-width: 768px) {
  .c-s-area__btnlist__btn:first-of-type .u-btn-tog {
    border-top: none;
  }
}
@media only screen and (max-width: 768px) {
  .c-s-area__cont {
    padding: 1rem;
  }
  .obj--topsb .c-s-area__cont {
    padding: 1.4rem;
    padding-bottom: unset;
  }
}
.obj--topsb .c-s-area__cont__check {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #D7D7D7;
}
@media only screen and (max-width: 768px) {
  .obj--topsb .c-s-area__cont__check {
    margin-bottom: 0;
  }
}
.c-s-area__cont__check legend {
  display: none;
}
.c-s-area__cont__check-box {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0 1rem;
  padding: 0 2rem;
}
@media only screen and (max-width: 768px) {
  .c-s-area__cont__check-box {
    grid-template-columns: 1fr;
  }
}
.obj--topsb .c-s-area__cont__check-box {
  grid-template-columns: repeat(3, 1fr);
}
@media only screen and (max-width: 768px) {
  .obj--topsb .c-s-area__cont__check-box {
    grid-template-columns: 1fr;
  }
}
.c-s-area__cont__check input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.c-s-area__cont__check label {
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 14px;
  font-size: 1.4rem;
}
@media (max-width: 768px) {
  .c-s-area__cont__check label {
    font-size: 16px;
  }
}
@media (max-width: 768px) {
  .c-s-area__cont__check label {
    font-size: 1.6rem;
  }
}
.obj--topsb .c-s-area__cont__check label {
  align-items: flex-start;
}
@media only screen and (max-width: 768px) {
  .c-s-area__cont__check label {
    padding: 0.5rem;
  }
}
.c-s-area__cont__check .checkmark {
  display: inline-block;
  width: 1.7rem;
  height: 1.7rem;
  border: 1px solid #D7D7D7;
  background-color: #fff;
  border-radius: 3px;
  margin-right: 8px;
  position: relative;
  transition: background-color 0.2s ease;
}
@media only screen and (max-width: 768px) {
  .c-s-area__cont__check .checkmark {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.c-s-area__cont__check .checkmark:after {
  content: "";
  position: absolute;
  top: 45%;
  left: 50%;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: translate(-50%, -50%) rotate(45deg);
  opacity: 0; /* 非チェック時は非表示 */
  transition: opacity 0.2s ease;
}
.c-s-area__cont__check .checkmark-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 1lh;
}
.c-s-area__cont__check input:checked + .checkmark {
  background-color: #6E356B; /* チェック時の色 */
  border-color: #6E356B;
}
.c-s-area__cont__check input:checked + .checkmark:after {
  opacity: 1;
}
.c-s-area__cont__check input:checked ~ .checkmark-wrap .checkmark {
  background-color: #6E356B; /* チェック時の色 */
  border-color: #6E356B;
}
.c-s-area__cont__check input:checked ~ .checkmark-wrap .checkmark:after {
  opacity: 1;
}
@media only screen and (max-width: 768px) {
  .c-s-area__btn {
    padding: 1.5rem;
    background-color: #f4f4f4;
  }
}

/* ------------------------------------------------------------
	search
------------------------------------------------------------ */
.c-tab {
  padding: 2rem;
  padding-bottom: unset;
  background-color: #f4f4f4;
}
@media only screen and (max-width: 768px) {
  .c-tab {
    padding: unset;
    border-bottom: unset;
  }
}
.c-tab__tablist {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 0rem;
}
.c-tab__tablist li {
  margin: 0 -1px;
}
.c-tab__tablist li.b-1 {
  margin-bottom: -1px;
}
@media only screen and (max-width: 1080px) {
  .c-tab__tablist {
    grid-template-columns: repeat(4, 1fr);
  }
}
.c-tab__btnlist {
  background-color: #e1e2e3;
  margin: 2rem 0;
  padding: 2rem;
}
@media only screen and (max-width: 768px) {
  .c-tab__btnlist {
    margin: unset;
    padding: unset;
  }
}
@media only screen and (max-width: 768px) {
  .c-tab__btnlist__btn {
    display: block !important;
  }
  .c-tab__btnlist__btn .u-btn-tog {
    background-color: #f4f4f4;
    border-top: 1px solid #D7D7D7;
  }
}
@media only screen and (max-width: 768px) {
  .c-tab__btnlist__btn:last-of-type .u-btn-tog {
    border-bottom: 1px solid #D7D7D7;
  }
}
@media only screen and (max-width: 768px) {
  .c-tab__btnlist__btn:first-of-type .u-btn-tog {
    border-top: none;
  }
}
@media only screen and (max-width: 768px) {
  .c-tab__cont {
    padding: 1rem;
  }
  .obj--topsb .c-tab__cont {
    padding: 1.4rem;
    padding-bottom: unset;
  }
}
.obj--topsb .c-tab__cont__check {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #D7D7D7;
}
@media only screen and (max-width: 768px) {
  .obj--topsb .c-tab__cont__check {
    margin-bottom: 0;
  }
}
.c-tab__cont__check legend {
  display: none;
}
.c-tab__cont__check-box {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0 1rem;
  padding: 0 2rem;
}
@media only screen and (max-width: 768px) {
  .c-tab__cont__check-box {
    grid-template-columns: 1fr;
  }
}
.obj--topsb .c-tab__cont__check-box {
  grid-template-columns: repeat(3, 1fr);
}
@media only screen and (max-width: 768px) {
  .obj--topsb .c-tab__cont__check-box {
    grid-template-columns: 1fr;
  }
}
.c-tab__cont__check input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.c-tab__cont__check label {
  display: flex;
  align-items: center;
  cursor: pointer;
}
.obj--topsb .c-tab__cont__check label {
  align-items: flex-start;
}
.c-tab__cont__check .checkmark {
  display: inline-block;
  width: 1.7rem;
  height: 1.7rem;
  border: 1px solid #D7D7D7;
  background-color: #fff;
  border-radius: 3px;
  margin-right: 8px;
  position: relative;
  transition: background-color 0.2s ease;
}
.c-tab__cont__check .checkmark:after {
  content: "";
  position: absolute;
  top: 45%;
  left: 50%;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: translate(-50%, -50%) rotate(45deg);
  opacity: 0; /* 非チェック時は非表示 */
  transition: opacity 0.2s ease;
}
.c-tab__cont__check .checkmark-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 1lh;
}
.c-tab__cont__check input:checked + .checkmark {
  background-color: #6E356B; /* チェック時の色 */
  border-color: #6E356B;
}
.c-tab__cont__check input:checked + .checkmark:after {
  opacity: 1;
}
.c-tab__cont__check input:checked ~ .checkmark-wrap .checkmark {
  background-color: #6E356B; /* チェック時の色 */
  border-color: #6E356B;
}
.c-tab__cont__check input:checked ~ .checkmark-wrap .checkmark:after {
  opacity: 1;
}
@media only screen and (max-width: 768px) {
  .c-tab__btn {
    padding: 1.5rem;
    background-color: #f4f4f4;
  }
}

.u-arw-next {
  display: inline-block;
  vertical-align: middle;
  color: currentColor;
  line-height: 1;
  position: relative;
  width: 0.65em;
  height: 0.65em;
  transform: translateX(-25%) rotate(45deg);
}
.u-arw-next::after, .u-arw-next::before {
  content: "";
  position: absolute;
  background: currentColor;
  border-radius: 0.1em;
}
.u-arw-next::before {
  top: 0;
  left: 0;
  right: 0;
  height: 0.1em;
}
.u-arw-next::after {
  top: 0;
  right: 0;
  bottom: 0;
  width: 0.09em;
}
.u-arw-next--nav {
  transform: translateX(0) rotate(135deg);
}
.u-arw-right {
  display: inline-block;
  vertical-align: middle;
  color: currentColor;
  line-height: 1;
  position: relative;
  width: 3em;
  height: 0.1em;
  background: currentColor;
}
.u-arw-right::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(45deg);
  transform-origin: top right;
  position: absolute;
  top: 50%;
  right: -0.05em;
  box-sizing: border-box;
}

.u-frame {
  width: 18rem;
  height: 18rem;
  border-radius: 1000px;
  overflow: hidden;
  background: rgb(209, 196, 201);
  background: linear-gradient(325deg, rgba(209, 196, 201, 0.5018382353) 0%, rgb(209, 196, 201) 50%, rgb(209, 196, 201) 100%);
}
@media only screen and (max-width: 768px) {
  .u-frame {
    width: 16rem;
    height: 16rem;
  }
}
.u-frame img {
  width: 100%;
  height: auto;
}
.u-frame--sm {
  width: 9rem;
  height: 9rem;
}
@media only screen and (max-width: 768px) {
  .u-frame--sm {
    width: 7rem;
    height: 7rem;
  }
}
.u-frame--bg {
  max-width: 30rem;
  max-height: 30rem;
  width: 21vw;
  height: 21vw;
  background-color: #fff;
  overflow: hidden;
  background: rgb(209, 196, 201);
  background: linear-gradient(325deg, rgba(209, 196, 201, 0.5018382353) 0%, rgb(209, 196, 201) 50%, rgb(209, 196, 201) 100%);
}
@media only screen and (max-width: 768px) {
  .u-frame--bg {
    width: 25rem;
    height: 25rem;
  }
}

/* ------------------------------------------------------------
    block
------------------------------------------------------------ */
.u-container {
  width: 90%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.u-container-85 {
  width: 85%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* ------------------------------------------------------------
    flex layout
------------------------------------------------------------ */
.u-flex {
  width: 100%;
  display: flex;
}
.u-flex.flex-btw {
  justify-content: space-between;
}
.u-flex.flex-btw-basis {
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .u-flex.flex-btw-basis {
    flex-direction: column;
  }
}
.u-flex.flex-ard {
  justify-content: space-around;
}
.u-flex.flex-row {
  flex-direction: row;
}
.u-flex.flex-row-reverse {
  flex-direction: row-reverse;
}
.u-flex.flex-col {
  flex-direction: column;
}
.u-flex.flex-col-reverse {
  flex-direction: column-reverse;
}
.u-flex.flex-wrap {
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .u-flex.sm_flex-row {
    flex-direction: row;
  }
  .u-flex.sm_flex-row-reverse {
    flex-direction: row-reverse;
  }
  .u-flex.sm_flex-col {
    flex-direction: column;
  }
  .u-flex.sm_flex-col-reverse {
    flex-direction: column-reverse;
  }
  .u-flex.sm_flex-wrap {
    flex-wrap: wrap;
  }
}

/* ------------------------------------------------------------
    margin
------------------------------------------------------------ */
.u-mrg__t1 {
  margin-top: 1rem;
}
.u-mrg__t2 {
  margin-top: 2rem;
}
.u-mrg__t4 {
  margin-top: 4rem;
}
.u-mrg__t-10 {
  margin-top: -10rem;
}
.u-mrg__b1 {
  margin-bottom: 1rem;
}
.u-mrg__b2 {
  margin-bottom: 2rem;
}
.u-mrg__l-05 {
  margin-left: -0.5rem;
}
.u-mrg__l-1 {
  margin-left: -1rem;
}
@media only screen and (max-width: 768px) {
  .u-mrgsp__t0 {
    margin-top: 0;
  }
  .u-mrgsp__l2 {
    margin-left: 2rem;
  }
  .u-mrgsp__l3 {
    margin-left: 3rem;
  }
}

@media only screen and (max-width: 768px) {
  .u-sp-mrg__l5 {
    margin-left: 5rem;
  }
}
/* ------------------------------------------------------------
    「　や　（　の左揃え
------------------------------------------------------------ */
.u-brac {
  display: inline-block;
  margin-left: -1rem;
}
.u-brac--R {
  margin-left: 0;
  margin-right: -1rem;
}

.u-btn-next {
  display: flex;
  align-items: center;
  position: relative;
  padding: 0.9em;
  font-size: 15px;
  font-size: 1.5rem;
}
@media (max-width: 768px) {
  .u-btn-next {
    font-size: 15px;
  }
}
@media (max-width: 768px) {
  .u-btn-next {
    font-size: 1.5rem;
  }
}
.u-btn-next .u-arw-next {
  position: absolute;
  right: 2.2rem;
}
.u-btn-next .u-arw-next--cmpt {
  right: 1rem;
}
.u-btn-next--graybord {
  border: 1px solid #D7D7D7;
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .u-btn-next--graybord:hover {
    background-color: #E9E9E9;
    border: 1px solid #D7D7D7;
    transition: 0.3s;
  }
}
.u-btn-next--return {
  max-height: 44px;
  border: 1px solid #D7D7D7;
  justify-content: center;
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .u-btn-next--return:hover {
    background-color: #E9E9E9;
    border: 1px solid #D7D7D7;
    transition: 0.3s;
  }
}
.u-btn-next--blu {
  background-color: #222B3C;
  color: #fff;
  justify-content: center;
  transition: 0.3s;
}
.u-btn-next--blu-border {
  border: 1px solid #D7D7D7;
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .u-btn-next--blu:hover {
    background-color: #222B3C;
    color: #fff;
    opacity: 0.7;
  }
}
.u-btn-next--pur {
  max-height: 44px;
  color: #6E356B;
  background-color: #fff;
  border: 1px solid #6E356B;
  justify-content: center;
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .u-btn-next--pur:hover {
    color: #fff;
    background-color: #6E356B;
    transition: 0.3s;
  }
}
.u-btn-next--cta {
  justify-content: center;
  font-size: 14px;
  font-size: 1.4rem;
  background: #fff;
  min-width: 120px;
  height: 40px;
  gap: 0.6rem;
  transition: 0.3s;
}
@media (max-width: 768px) {
  .u-btn-next--cta {
    font-size: 13px;
  }
}
@media (max-width: 768px) {
  .u-btn-next--cta {
    font-size: 1.3rem;
  }
}
@media only screen and (max-width: 768px) {
  .u-btn-next--cta {
    min-width: 110px;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .u-btn-next--cta:hover {
    background-color: #F1EDEF;
  }
}
.u-btn-next--cta-req {
  color: #9C4998 !important;
  border: 1px solid #9C4998;
}
.u-btn-next--cta-res {
  color: #6E356B !important;
  border: 1px solid #6E356B;
}
.u-btn-tog {
  display: flex;
  align-items: center;
  position: relative;
  padding: 0.9em;
  font-size: 15px;
  font-size: 1.5rem;
  cursor: pointer;
}
@media (max-width: 768px) {
  .u-btn-tog {
    font-size: 15px;
  }
}
@media (max-width: 768px) {
  .u-btn-tog {
    font-size: 1.5rem;
  }
}
.u-btn-tog .c-icon-plus {
  position: absolute;
  right: 2rem;
}
.u-btn-arw {
  display: flex;
  align-items: center;
  position: relative;
  padding: 0.7em 2.5em;
  font-size: 15px;
  font-size: 1.5rem;
  width: -moz-fit-content;
  width: fit-content;
  border: 1px solid;
  justify-content: center;
  position: relative;
  letter-spacing: 0.15em;
  transition: 0.3s;
}
@media (max-width: 768px) {
  .u-btn-arw {
    font-size: 15px;
  }
}
@media (max-width: 768px) {
  .u-btn-arw {
    font-size: 1.5rem;
  }
}
.u-btn-arw .u-arw-right {
  position: absolute;
  right: -1.5em;
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .u-btn-arw:hover .u-arw-right {
    width: 6rem;
    right: -2.4em;
    transition: 0.3s;
  }
}
.u-btn-link {
  display: flex;
  align-items: center;
  position: relative;
  padding: 0.7em 2.5em;
  font-size: 15px;
  font-size: 1.5rem;
}
@media (max-width: 768px) {
  .u-btn-link {
    font-size: 15px;
  }
}
@media (max-width: 768px) {
  .u-btn-link {
    font-size: 1.5rem;
  }
}
.u-btn-round {
  display: flex;
  align-items: center;
  position: relative;
  padding: 0.7em 2.5em;
  font-size: 15px;
  font-size: 1.5rem;
  border-radius: 50px;
}
@media (max-width: 768px) {
  .u-btn-round {
    font-size: 15px;
  }
}
@media (max-width: 768px) {
  .u-btn-round {
    font-size: 1.5rem;
  }
}
.u-btn-play {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 27.8.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='レイヤー_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 36 36' style='enable-background:new 0 0 36 36;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%236E356B;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:6;%7D%0A%3C/style%3E%3Cpath class='st0' d='M10.5,7.5v21 M25.5,7.5v21'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.u-btn-play.js-pause {
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 27.8.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='レイヤー_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 36 36' style='enable-background:new 0 0 36 36;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%236E356B;%7D%0A%3C/style%3E%3Cpath class='st0' d='M12,9c0-0.8,0.7-1.5,1.5-1.5c0.3,0,0.6,0.1,0.9,0.3l12,9c0.7,0.5,0.8,1.4,0.3,2.1c-0.1,0.1-0.2,0.2-0.3,0.3 l-12,9c-0.7,0.5-1.6,0.4-2.1-0.3C12.1,27.6,12,27.3,12,27V9z'/%3E%3C/svg%3E%0A");
}
.u-btn-tab {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #6E356B;
  font-size: 15px;
  font-size: 1.5rem;
  text-align: center;
  line-height: 1.4;
  padding: 0.7em;
  border: 1px solid;
  background-color: #fff;
  transition: 0.3s;
}
@media (max-width: 768px) {
  .u-btn-tab {
    font-size: 15px;
  }
}
@media (max-width: 768px) {
  .u-btn-tab {
    font-size: 1.5rem;
  }
}
.u-btn-tab--gray {
  border-color: #D7D7D7;
}
.u-btn-tab.active {
  background-color: #6E356B;
  color: #fff;
  border: 1px solid #6E356B;
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .u-btn-tab:hover {
    background-color: #6E356B;
    color: #fff;
    border: 1px solid #6E356B;
  }
}
.u-btn-tab--map {
  height: 100%;
  padding: 1em 0.5em;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.3;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .u-btn-tab--map {
    font-size: 11px;
  }
}
@media (max-width: 768px) {
  .u-btn-tab--map {
    font-size: 1.1rem;
  }
}
@media only screen and (max-width: 768px) {
  .u-btn-tab--map {
    padding: 0.9em 0.2em;
    font-size: min(3.3vw, 1.3rem);
  }
}
.u-btn-tab--pjd {
  padding: 0.7em 0.5em;
  height: 100%;
  font-size: 16px;
  font-size: 1.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  align-items: flex-end;
  gap: 0.3rem;
  line-height: 1;
  border-color: #DEDEDE;
}
@media (max-width: 768px) {
  .u-btn-tab--pjd {
    font-size: 16px;
  }
}
@media (max-width: 768px) {
  .u-btn-tab--pjd {
    font-size: 1.6rem;
  }
}
.u-btn-tab--pjd em {
  font-size: 24px;
  font-size: 2.4rem;
}
@media (max-width: 768px) {
  .u-btn-tab--pjd em {
    font-size: 20px;
  }
}
@media (max-width: 768px) {
  .u-btn-tab--pjd em {
    font-size: 2rem;
  }
}
.u-btn-bkn {
  height: 7.5rem;
  width: 20rem;
  font-size: 14px;
  font-size: 1.4rem;
  padding: unset;
  background-color: #6E356B;
  color: #fff;
  flex-direction: column;
  justify-content: center;
  line-height: 1.4;
  letter-spacing: 0.08rem;
}
@media (max-width: 768px) {
  .u-btn-bkn {
    font-size: 12px;
  }
}
@media (max-width: 768px) {
  .u-btn-bkn {
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 1080px) {
  .u-btn-bkn {
    width: 10.3rem;
    height: 5.4rem;
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .u-btn-bkn {
    width: 100%;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .u-btn-bkn:hover {
    background-color: #9C4998;
    color: #fff;
  }
}
.u-btn-bkn.is-hover {
  background-color: #9C4998;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .u-btn-bkn {
    color: #fff;
    background-color: #6E356B;
  }
}
.u-btn-bkn--rcmnd {
  width: 100%;
}
.u-btn-bkn--sec {
  background-color: #222B3C;
}
.u-btn-bkn--wh {
  color: #333;
  background-color: #fff;
  border: 1px solid #DEDEDE;
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .u-btn-bkn--wh:hover {
    color: #333;
    background-color: #F1EDEF;
  }
}
.u-btn-bkn--req {
  color: #fff;
  background-color: #9C4998;
  border: 1px solid #9C4998;
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .u-btn-bkn--req:hover {
    background: #6E356B;
  }
}
.u-btn-smart {
  height: 7.5rem;
  width: 20rem;
  display: flex;
  justify-content: center;
  align-items: center;
  align-items: flex-start;
  opacity: 0;
}
.u-btn-cmpt {
  justify-content: center;
  font-size: 13px;
  font-size: 1.3rem;
  background-color: #6E356B;
  color: #fff;
  line-height: 1.4;
  letter-spacing: 0.08rem;
  padding: 0.8rem 0.4em 0.8em;
  gap: 0.5rem;
  transition: 0.3s;
}
@media (max-width: 768px) {
  .u-btn-cmpt {
    font-size: 13px;
  }
}
@media (max-width: 768px) {
  .u-btn-cmpt {
    font-size: 1.3rem;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .u-btn-cmpt:hover {
    background-color: #9C4998;
    color: #fff;
  }
}
.u-btn-cmpt--rcmnd {
  width: 100%;
}
.u-btn-cmpt--sec {
  background-color: #222B3C;
}
.u-btn-cmpt--wh {
  color: #333;
  background-color: #fff;
  border: 1px solid #DEDEDE;
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .u-btn-cmpt--wh:hover {
    color: #333;
    background-color: #F1EDEF;
  }
}
.u-btn-cmpt--req {
  color: #fff;
  background-color: #9C4998;
  border: 1px solid #9C4998;
}
@media (hover: hover) and (pointer: fine) and (min-width: 789px) {
  .u-btn-cmpt--req:hover {
    background: #6E356B;
  }
}
.u-btn-close {
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20data-slot%3D%22icon%22%20fill%3D%22none%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20viewBox%3D%220%200%2024%2024%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20aria-hidden%3D%22true%22%3E%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M6%2018%2018%206M6%206l12%2012%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  background-size: cover;
  background-repeat: no-repeat;
}

/* ------------------------------------------------------------
    display
------------------------------------------------------------ */
.u-pc {
  display: block;
}
@media only screen and (max-width: 768px) {
  .u-pc {
    display: none;
  }
}

.u-sp {
  display: none;
}
@media only screen and (max-width: 768px) {
  .u-sp {
    display: block;
  }
}

.u-pci {
  display: inline-block;
}
@media only screen and (max-width: 768px) {
  .u-pci {
    display: none;
  }
}

.u-spi {
  display: none;
}
@media only screen and (max-width: 768px) {
  .u-spi {
    display: inline-block;
  }
}

.u-pcf {
  display: flex;
}
@media only screen and (max-width: 768px) {
  .u-pcf {
    display: none;
  }
}

.u-spf {
  display: none;
}
@media only screen and (max-width: 768px) {
  .u-spf {
    display: flex;
  }
}

.u-pcg {
  display: grid;
}
@media only screen and (max-width: 768px) {
  .u-pcg {
    display: none;
  }
}

.u-spg {
  display: none;
}
@media only screen and (max-width: 768px) {
  .u-spg {
    display: grid;
  }
}

.u-pci--1270 {
  display: inline-block;
}

.u-spi--1270 {
  display: none;
}

.u-sronly {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.obj--hide {
  display: none;
}

.obj--noLink {
  pointer-events: none;
}

.obj--noFocus:focus, .obj--noFocus:hover {
  background-color: inherit;
}

.obj--txtnoWrap {
  white-space: nowrap;
}

.u-label {
  display: flex;
  flex-flow: row wrap;
  gap: 0.4rem;
}
.u-label .u-label__item {
  color: #fff;
  line-height: 1;
  background: #6E356B;
  padding: 0 0.5rem;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 500;
  height: 2.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 768px) {
  .u-label .u-label__item {
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  .u-label .u-label__item {
    font-size: 1.4rem;
  }
}
.u-label .u-label__item--bunjou {
  background: #333;
}
.u-label .u-label__item--rcmnd {
  font-size: 1.4rem;
}/*# sourceMappingURL=common.css.map */