@charset "UTF-8";
:root {
  --page_main_hex: #d18fd7;
  --page_main_rgb: 209, 143, 215;
  --text_sub_hex: #666;
  --font_gothic: "source-han-sans-japanese", sans-serif;
  --font_mincho: "fot-tsukuaoldmin-pr6n", sans-serif;
  --font_eng_gothic: "europa", sans-serif;
  --font_eng_cursive: "beloved-script", sans-serif;
  --font_eng_hand01: "adobe-handwriting-ernie", sans-serif;
}

html, body {
  font-family: var(--font_gothic);
  line-height: 1.5;
  letter-spacing: 2.5px;
  margin-top: 0;
  overflow: initial;
}
html *, body * {
  text-align: justify;
}

html {
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
html.wf-active {
  opacity: 1;
}

body {
  min-width: auto;
}

figure, picture {
  font-size: 0;
}

.ftB {
  font-weight: bold;
}

.txC {
  text-align: center;
}
.txC * {
  text-align: center;
}

.rel {
  position: relative;
}

.flexbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
}
.flexbox.flex_space {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.flexbox.flex_around {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}
.flexbox.flex_center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.flexbox.flex_all_center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.flexbox.flex_al_center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.flexbox .flex1 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.btn_box {
  position: relative;
  -webkit-transition: background 0.3s;
  transition: background 0.3s;
  cursor: pointer;
}
.btn_box a, .btn_box .btn_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  color: inherit;
  font-weight: bold;
  text-decoration: none;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
.btn_box a:hover, .btn_box .btn_link:hover {
  opacity: 1;
}
.btn_box.btn_simple {
  background: #fff;
  border-radius: 9rem;
  color: #000;
}
.btn_box.btn_simple:hover {
  background: #000;
  color: #fff;
}
.btn_box.btn_simple:hover .btn_txt:before {
  -webkit-filter: brightness(100%) invert(1);
          filter: brightness(100%) invert(1);
}
.btn_box.type_disable {
  background: #ddd;
  border: 2px solid #ddd;
  cursor: unset;
}
.btn_box.type_disable a, .btn_box.type_disable .btn_link {
  pointer-events: none;
  color: #999;
  cursor: inherit;
}
.btn_box[class*=icon_] .btn_txt {
  position: relative;
}
.btn_box[class*=icon_] .btn_txt:before {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
  content: "";
  width: var(--icon_size, 1em);
  height: var(--icon_size, 1em);
  -webkit-transition: -webkit-filter 0.3s, -webkit-transform 0.3s;
  transition: -webkit-filter 0.3s, -webkit-transform 0.3s;
  transition: filter 0.3s, transform 0.3s;
  transition: filter 0.3s, transform 0.3s, -webkit-filter 0.3s, -webkit-transform 0.3s;
}
.btn_box.icon_doc {
  --icon_size: 1em;
}
.btn_box.icon_doc .btn_txt {
  padding-left: calc(var(--icon_size) / 2);
}
.btn_box.icon_doc .btn_txt:before {
  background: url(../../images/common/icon_doc.png) no-repeat;
  background-size: contain;
  background-position: center center;
}
.btn_box.icon_window {
  --icon_size: 1em;
}
.btn_box.icon_window .btn_txt {
  padding-left: calc(var(--icon_size) / 2);
}
.btn_box.icon_window .btn_txt:before {
  background: url(../../images/common/icon_window.png) no-repeat;
  background-size: contain;
  background-position: center center;
}

.marker.marker_all.yellow {
  background: -webkit-gradient(linear, left bottom, left top, from(#FFFF00), to(#FFFF00));
  background: linear-gradient(0deg, #FFFF00 0%, #FFFF00 100%);
}
.marker.marker_half.yellow {
  background: -webkit-gradient(linear, left bottom, left top, color-stop(45%, #f3ff90), color-stop(45%, rgba(255, 255, 255, 0)));
  background: linear-gradient(0deg, #f3ff90 45%, rgba(255, 255, 255, 0) 45%);
}
.marker.marker_half.white {
  background: -webkit-gradient(linear, left bottom, left top, color-stop(45%, #fff), color-stop(45%, rgba(255, 255, 255, 0)));
  background: linear-gradient(0deg, #fff 45%, rgba(255, 255, 255, 0) 45%);
}
.marker.marker_under.yellow {
  background: -webkit-gradient(linear, left bottom, left top, color-stop(25%, #f3ff90), color-stop(25%, rgba(255, 255, 255, 0)));
  background: linear-gradient(0deg, #f3ff90 25%, rgba(255, 255, 255, 0) 25%);
}
.marker.marker_under.white {
  background: -webkit-gradient(linear, left bottom, left top, color-stop(25%, #fff), color-stop(25%, rgba(255, 255, 255, 0)));
  background: linear-gradient(0deg, #fff 25%, rgba(255, 255, 255, 0) 25%);
}
.marker.lazyCssAnime {
  background-repeat: no-repeat;
  background-size: 0% 100%;
  -webkit-transition: background-size 1.25s;
  transition: background-size 1.25s;
}
.marker.lazyCssAnime.animeComplete {
  background-size: 100% 100%;
}

.bg_label {
  display: inline;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.bg_label.black {
  background: #000;
  color: #fff;
}

.bg_gray {
  background: #f9f9f9;
}

.txt_bg {
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
}
.txt_bg.white {
  background: #fff;
  border: 2px solid #000;
}
.txt_bg.yellow {
  background: var(--usc_main_color);
  border: 2px solid #000;
}

.txt_bg_grad {
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, from(#e8447d), color-stop(47%, #ffca00), to(#21b8d3));
  background: linear-gradient(180deg, #e8447d 0%, #ffca00 47%, #21b8d3 100%);
  background-size: cover;
  background-position: center center;
  -webkit-background-clip: text;
          background-clip: text;
  color: rgba(255, 255, 255, 0);
}
.txt_bg_grad.black {
  --bg_grad_text_color: #000;
}

.bg_grad_txt.grad01 {
  position: relative;
  background: url(../../images/common/bg_dark.jpg);
  background-size: cover;
  background-position: center 65%;
  -webkit-background-clip: text;
          background-clip: text;
  color: rgba(255, 255, 255, 0);
}
.bg_grad_txt.grad02 {
  position: relative;
  background: url(../../images/common/bg_light.jpg);
  background-size: cover;
  background-position: center 35%;
  -webkit-background-clip: text;
          background-clip: text;
  color: rgba(255, 255, 255, 0);
}

.clip_txt {
  border: 1px solid var(--border_color, #000);
}
.clip_txt.grad01 {
  -o-border-image: linear-gradient(45deg, #a583df, #81d1f2) 10;
     border-image: linear-gradient(45deg, #a583df, #81d1f2) 10;
  padding: 2.5px 5px;
  margin-inline: 5px;
}
.clip_txt.black {
  --border_color: #000;
  padding: 0.1em 0.25em;
}

.dialogue_txt {
  position: relative;
  display: inline-block;
}
.dialogue_txt:before, .dialogue_txt:after {
  position: absolute;
  bottom: 0;
}
.dialogue_txt:before {
  left: 0;
  -webkit-transform: translate(-100%, 0);
          transform: translate(-100%, 0);
  content: "＼";
}
.dialogue_txt:after {
  right: 0;
  content: "／";
  -webkit-transform: translate(100%, 0);
          transform: translate(100%, 0);
}

.ud_wavy_line {
  position: relative;
  display: inline-block;
}
.ud_wavy_line:before {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 50%);
          transform: translate(-50%, 50%);
  content: "";
  background: var(--wavy_line_path) no-repeat;
  background-size: contain;
  background-position: center;
  width: 100%;
  height: 2rem;
}
.ud_wavy_line.middle01 {
  --wavy_line_path: url(../../images/common/decoration/ud_wavy01.png);
}
.ud_wavy_line.long01 {
  --wavy_line_path: url(../../images/common/decoration/ud_wavy05.png);
}
.ud_wavy_line.long02 {
  --wavy_line_path: url(../../images/common/decoration/ud_wavy03.png);
}
.ud_wavy_line.long03 {
  --wavy_line_path: url(../../images/common/decoration/ud_wavy04.png);
}

.inline_list > * {
  display: inline;
}
.inline_list > *:not(:last-child):after {
  content: "／";
}

.caution_list .caution {
  text-indent: -1em;
  padding-left: 1em;
}

.slideSideBySideItem.slideSpeedUniform .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.animeMoveEffect {
  display: block;
}

.animeTxtBg {
  position: relative;
  clip-path: inset(0 100% 0 0);
  -webkit-animation: animeTxtBgBeside 1s ease 1s 1 normal forwards running;
          animation: animeTxtBgBeside 1s ease 1s 1 normal forwards running;
}
.animeTxtBg.delay2 {
  -webkit-animation-delay: 1.35s;
          animation-delay: 1.35s;
}
.animeTxtBg.delay4 {
  -webkit-animation-delay: 1.7s;
          animation-delay: 1.7s;
}
.animeTxtBg:before {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  content: "";
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 5;
  clip-path: inset(0 100% 0 0);
  -webkit-animation: animeTxtBgBesideCover 1s ease 1s 1 normal forwards running;
          animation: animeTxtBgBesideCover 1s ease 1s 1 normal forwards running;
}

@-webkit-keyframes animeTxtBgBeside {
  0% {
    clip-path: inset(0 100% 0 0);
  }
  48% {
    clip-path: inset(0);
  }
  100% {
    clip-path: inset(0);
  }
}

@keyframes animeTxtBgBeside {
  0% {
    clip-path: inset(0 100% 0 0);
  }
  48% {
    clip-path: inset(0);
  }
  100% {
    clip-path: inset(0);
  }
}
@-webkit-keyframes animeTxtBgBesideCover {
  0% {
    clip-path: inset(0 100% 0 0);
  }
  48% {
    clip-path: inset(0);
  }
  50% {
    clip-path: inset(0);
  }
  52% {
    clip-path: inset(0);
  }
  100% {
    clip-path: inset(0 0 0 100%);
  }
}
@keyframes animeTxtBgBesideCover {
  0% {
    clip-path: inset(0 100% 0 0);
  }
  48% {
    clip-path: inset(0);
  }
  50% {
    clip-path: inset(0);
  }
  52% {
    clip-path: inset(0);
  }
  100% {
    clip-path: inset(0 0 0 100%);
  }
}
[class*=inMoveContent_] {
  opacity: 0;
  -webkit-transition: opacity 1s, translate 1s;
  transition: opacity 1s, translate 1s;
}
[class*=inMoveContent_].inMoveContent_top {
  translate: 0 50%;
}
[class*=inMoveContent_].inMoveContent_right {
  translate: -50% 0;
}
[class*=inMoveContent_].inMoveContent_bottom {
  translate: 0 -50%;
}
[class*=inMoveContent_].inMoveContent_left {
  translate: 50% 0;
}
[class*=inMoveContent_].lazyComplate {
  opacity: 1;
  translate: 0 0;
}

.animeShowFadeIn {
  opacity: 0;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}
.animeShowFadeIn.lazyComplate {
  opacity: 1;
}

/* スクロールでパララックス */
.photo_effect {
  display: inline-block;
}

/* 途中表示のアコーディオンパネル */
.moreAccArea {
  position: relative;
}
.moreAccArea .moreAccContents {
  overflow: hidden;
}

.accContent {
  display: none;
}

/* モーダル  */
.modalContents {
  position: fixed;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background: #fff;
  border: 1px solid #aaa;
  width: 90%;
  opacity: 0;
  visibility: hidden;
  z-index: -5;
  -webkit-transition: opacity 0.3s, z-index 0.3s;
  transition: opacity 0.3s, z-index 0.3s;
}
.modalContents.modalOpen {
  opacity: 1;
  visibility: visible;
  z-index: 8000;
}
.modalContents .close_btn {
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
  background: #000;
  border-radius: 50%;
  aspect-ratio: 1/1;
  color: #fff;
  font-weight: bold;
  cursor: pointer;
  font-size: 1.5em;
  padding: 0 0.5rem;
}

/* -------------------- common／共通パーツ -------------------- */
#page {
  min-width: 0;
}

.sec_content .sec_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-family: var(--font_mincho);
  font-size: min(3.5vw, 2rem);
  letter-spacing: 0.45em;
}
.sec_content .sec_title .main {
  font-size: 2em;
}

/* -------------------- header／ヘッダー -------------------- */
header.lp_header {
  position: fixed;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100vw;
  z-index: 100;
  padding: min(2.5vw, 2.5rem);
}
header.lp_header .cvbtn_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: var(--font_mincho);
  -webkit-column-gap: min(5vw, 1rem);
     -moz-column-gap: min(5vw, 1rem);
          column-gap: min(5vw, 1rem);
}
header.lp_header .cvbtn_list .cvbtn a {
  padding: min(1vw, 0.25rem) min(5vw, 2rem);
  padding-left: calc(min(5vw, 2rem) + var(--icon_size, 0px));
}
header.lp_header .logo {
  position: relative;
  z-index: 50;
}
header.lp_header .logo > a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
header.lp_header .logo > a > .notes {
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: min(3vw, 0.75rem);
}

/* -------------------- footer／フッター -------------------- */
footer.footer {
  display: none;
}

.lp_footer .footer_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  width: min(100%, 1100px + min(5vw, 2.5rem) * 2);
  margin-inline: auto;
  padding: min(5vw, 5rem) min(5vw, 2.5rem) min(5vw, 2.5rem);
}
.lp_footer .footer_inner .logo {
  margin-bottom: min(3vw, 0.5rem);
}
.lp_footer .footer_inner .logo a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.lp_footer .footer_inner .logo a > .notes {
  position: absolute;
  bottom: min(3vw, 1rem);
  right: 0;
  font-size: min(3vw, 0.75rem);
}

@media screen and (min-width: 768px) {
  /* PC */
  html, body {
    font-size: 14px;
  }
  .dNoPc {
    display: none;
  }
  /* -------------------- header／ヘッダー -------------------- */
  header.lp_header .logo img {
    width: min(20vw, 250px);
  }
  /* -------------------- common／共通パーツ -------------------- */
}
@media screen and (max-width: 768px) {
  /* タブレットサイズ以下 */
  .dNoMb {
    display: none;
  }
  /* -------------------- header／ヘッダー -------------------- */
  header.lp_header {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  header.lp_header > * {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  header.lp_header .cvbtn {
    position: relative;
    z-index: 50;
  }
  header.lp_header .hamburger_menu_area input[type=checkbox] {
    display: none;
  }
  header.lp_header .hamburger_menu_area input[type=checkbox] + label {
    position: relative;
    display: block;
    width: 10vw;
    height: 10vw;
    z-index: 50;
  }
  header.lp_header .hamburger_menu_area input[type=checkbox] + label:before, header.lp_header .hamburger_menu_area input[type=checkbox] + label:after {
    position: absolute;
    top: 50%;
    left: 50%;
    content: "";
    background: #000;
    border-radius: 9rem;
    width: 100%;
    height: 2px;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }
  header.lp_header .hamburger_menu_area input[type=checkbox] + label:before {
    -webkit-transform: translate(-50%, calc(-100% - 5px));
            transform: translate(-50%, calc(-100% - 5px));
  }
  header.lp_header .hamburger_menu_area input[type=checkbox] + label:after {
    -webkit-transform: translate(-50%, calc(100% + 5px));
            transform: translate(-50%, calc(100% + 5px));
  }
  header.lp_header .hamburger_menu_area input[type=checkbox] + label + .hamburger_menulist_box {
    position: fixed;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, calc(-100% - 5px));
            transform: translate(-50%, calc(-100% - 5px));
    width: 100%;
    height: 100vh;
    overflow-y: scroll;
    overflow-x: hidden;
    background-image: url(../../images/common/bg_dark.jpg);
    background-color: rgba(255, 255, 255, 0.75);
    background-size: cover;
    background-position: center center;
    background-blend-mode: screen;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    z-index: 30;
  }
  header.lp_header .hamburger_menu_area input[type=checkbox] + label + .hamburger_menulist_box:before {
    position: absolute;
    top: 5%;
    left: 0;
    content: "KYOTO \aIKEN \a BEAUTY \a ADVISOR";
    white-space: pre;
    color: rgba(255, 255, 255, 0.4);
    font-family: var(--font_eng_gothic);
    font-size: 24vw;
    font-weight: 800;
    line-height: 1;
    z-index: 31;
  }
  header.lp_header .hamburger_menu_area input[type=checkbox] + label + .hamburger_menulist_box > * {
    position: relative;
    z-index: 35;
  }
  header.lp_header .hamburger_menu_area input[type=checkbox] + label + .hamburger_menulist_box .hamburger_menulist_navi {
    padding-top: 7.5rem;
    padding-inline: 5vw;
  }
  header.lp_header .hamburger_menu_area input[type=checkbox] + label + .hamburger_menulist_box .hamburger_menulist_navi .hamburger_menu_list .hamburger_menu {
    border-bottom: 1px solid #000;
  }
  header.lp_header .hamburger_menu_area input[type=checkbox] + label + .hamburger_menulist_box .hamburger_menulist_navi .hamburger_menu_list .hamburger_menu a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 100%;
    font-family: var(--font_mincho);
    font-weight: bold;
    font-size: 4vw;
    color: #000;
    text-decoration: none;
    padding: 5vw 5vw 5vw 0;
  }
  header.lp_header .hamburger_menu_area input[type=checkbox] + label + .hamburger_menulist_box .hamburger_menulist_navi .hamburger_menu_list .hamburger_menu a:after {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translate(-25%, -50%) rotate(45deg);
            transform: translate(-25%, -50%) rotate(45deg);
    content: "";
    width: 3.5vw;
    height: 3.5vw;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
  }
  header.lp_header .hamburger_menu_area input[type=checkbox] + label + .hamburger_menulist_box .area_cv {
    width: 90vw;
    margin-block: 10rem;
    margin-inline: auto;
  }
  header.lp_header .hamburger_menu_area input[type=checkbox] + label + .hamburger_menulist_box .area_cv .cv_list {
    row-gap: 5vw;
  }
  header.lp_header .hamburger_menu_area input[type=checkbox] + label + .hamburger_menulist_box .area_cv .cv_list .cv .cv_box .btn_box a {
    font-size: 4vw;
  }
  header.lp_header .hamburger_menu_area input[type=checkbox]:checked + label:before {
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg);
  }
  header.lp_header .hamburger_menu_area input[type=checkbox]:checked + label:after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg);
  }
  header.lp_header .hamburger_menu_area input[type=checkbox]:checked + label + .hamburger_menulist_box {
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
  /* -------------------- footer／フッター -------------------- */
  .lp_footer {
    padding-bottom: 7.5rem;
  }
  .lp_footer .footer_inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: center;
  }
  .lp_footer .footer_inner * {
    text-align: inherit;
  }
  .lp_footer .footer_inner .address {
    font-size: 0.75rem;
  }
  .lp_footer .footer_inner .copyright {
    letter-spacing: 0.1rem;
    margin-inline: auto;
    margin-top: 2.5rem;
  }
}
/*# sourceMappingURL=common.css.map */