@charset "UTF-8";
:root {
  --f-jp: "Zen Maru Gothic", sans-serif;
  --f-en: "Zen Maru Gothic", sans-serif;
  --fs-base: 16px;
  --lh-base: calc(32 / 16);
  --ls-base: .1em;
  --ttl_size: 28px;
  --wrapper: 130px;
  --border-radius: 10px;
  --main-color: #de86b1;
  --main-color-rgb: 222 134 177;
  --clr1: #4c4948;
  --clr1-rgb: 76 73 72;
  --clr2: #0fa9e1;
  --clr2-rgb: 15 169 225;
  --clr3: #fbb113;
  --clr3-rgb: 251 177 19;
  --clr-pink1: #eca0c9;
  --clr-pink1-rgb: 236 160 201;
  --clr-pink2: #e899b5;
  --clr-pink2-rgb: 232 153 181;
  --clr-pink3: #f37fa6;
  --clr-pink3-rgb: 243 127 166;
  --clr-pink4: #da5395;
  --clr-pink4-rgb: 218 83 149;
  --clr-blue1: #7fa7b5;
  --clr-blue1-rgb: 127 167 181;
  --clr-blue2: #009ee7;
  --clr-blue2-rgb: 0 158 231;
  --clr-blue3: #248bba;
  --clr-blue3-rgb: 36 139 186;
  --clr-blue4: #71c6e5;
  --clr-blue4-rgb: 113 198 229;
  --clr-orange1: #ffce65;
  --clr-orange1-rgb: 255 206 101;
}

/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////  Copyright (C) 2009 株式会社フリーセル All Rights Reserved.  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
body {
  background-color: #ffffff;
  -webkit-text-size-adjust: none;
  letter-spacing: var(--ls-base);
  color: var(--clr1);
  font-family: var(--f-jp);
}
body::-webkit-scrollbar {
  display: block;
  width: 10px;
  height: 10px;
}
body::-webkit-scrollbar-track {
  border-radius: 10px;
  background: #fff;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5);
}
body::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background: linear-gradient(to bottom, var(--clr2) 0%, var(--main-color) 50%, var(--clr2) 100%);
  box-shadow: inset 0 0 6px #fff;
}
body::-webkit-scrollbar-thumb:window-inactive {
  background: linear-gradient(to bottom, var(--clr2) 0%, var(--main-color) 50%, var(--clr2) 100%);
}

h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
textarea,
select,
p,
blockquote,
th,
td,
pre,
address,
li,
dt,
dd {
  font-size: 100%;
  -webkit-text-size-adjust: none;
}

header,
section,
footer,
aside,
nav,
main,
article,
figure,
picture {
  display: block;
  padding: 0;
  margin: 0;
}

img {
  display: table;
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

a:not(.tel_click) {
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  color: #64b5f7;
}
a.tel_click {
  text-decoration: none;
  color: inherit;
}

@media only screen and (min-width: 769px) {
  a:not([target*=_blank]) {
    transition: opacity 0.3s ease;
  }
  a:not([target*=_blank]):hover {
    opacity: 0.7;
  }
  a.tel_click {
    pointer-events: none;
  }
  a:not(.tel_click):hover, a:not(.tel_click):active {
    color: #64b5f7;
  }
}
a.logo:hover,
.logo a:hover,
a.ft_logo:hover,
.ft_logo a:hover,
a.tel_click:hover {
  opacity: 1 !important;
}

table {
  width: 100%;
}

iframe {
  width: 100%;
  height: 100%;
}

.captcha_box iframe {
  height: auto;
}

.flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

p {
  line-height: var(--lh-base);
  letter-spacing: var(--ls-base);
  word-wrap: break-word;
  word-break: break-word;
  margin-bottom: 15px;
}
p:empty {
  display: none !important;
}
p:last-child {
  margin-bottom: 0;
}

.red {
  color: #ca0a0a !important;
}

.bold {
  font-weight: bold !important;
}

.fl {
  float: left;
}

.fr {
  float: right;
}

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

/*==========================================================================*/
/*                            Container                                     */
/*==========================================================================*/
html {
  overflow-x: auto !important;
}

.wrapper {
  padding-top: var(--wrapper);
  overflow: hidden;
}

.inner_max,
.inner_big,
.inner,
.inner_sm {
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}

.inner_max {
  max-width: 1480px;
}

.inner_big {
  max-width: 1320px;
}

.inner {
  max-width: 1210px;
}

.inner_sm {
  max-width: 1020px;
}

.fullWidthBreak {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

.txt_ver {
  writing-mode: vertical-rl;
}

.txt_main {
  color: var(--main-color) !important;
}

.txt_clr1 {
  color: var(--clr1) !important;
}

.txt_clr2 {
  color: var(--clr2) !important;
}

.txt_tel {
  font-size: 1.5em;
  font-weight: 500;
  color: var(--clr3) !important;
  display: inline-block !important;
}

.txt_uline {
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
  text-decoration-color: currentColor;
}

@media only screen and (min-width: 769px) {
  .txt_ver_pc {
    writing-mode: vertical-rl;
  }
}
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                           WordPress Core                                 */
/*==========================================================================*/
.alignnone {
  margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 35px;
}

.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}
a img.alignnone {
  margin: 5px 20px 20px 0;
}
a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}
a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption {
  background: #fff;
  border: 1px solid #f0f0f0;
  max-width: 96%;
  /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center;
}
.wp-caption.alignnone {
  margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
  margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
  margin: 5px 0 20px 20px;
}
.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto;
}
.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}
.screen-reader-text:focus {
  background-color: #eee;
  clip: auto !important;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*                              General                                     */
/*==========================================================================*/
@media only screen and (max-width: 768px) {
  .pc_only {
    display: none !important;
  }
}
@media only screen and (min-width: 769px) {
  .sp_only {
    display: none !important;
  }
}
.rel {
  position: relative;
}

.ovh {
  overflow: hidden !important;
}

.ovs {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  /* Lets it scroll lazy */
}

.lt0 {
  letter-spacing: 0 !important;
}

figure,
picture {
  text-align: center;
  line-height: 1;
}

.fblock {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.key {
  position: relative;
}

.txt_l {
  float: left;
  width: calc(100% - 385px);
}

.txt_r {
  float: right;
  width: calc(100% - 385px);
}

.tel_click {
  display: table;
  text-decoration: none;
}

.en {
  font-family: var(--f-en);
}

.yt {
  max-width: 960px;
  margin: 0px auto;
}

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.slick-arrow {
  display: block;
  border: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-color: transparent;
  position: absolute;
  top: 37%;
  width: 2em;
  height: 2em;
  transform: translateY(-50%);
  cursor: pointer;
  color: transparent;
}
.slick-arrow:focus {
  outline: 0;
}

.slick-prev {
  left: -1em;
}

.slick-next {
  right: -1em;
}

.TabContainer .TabPager {
  display: flex;
  justify-content: center;
  margin: 0px auto;
}
.TabContainer .TabPager > div {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  transition: all 0.3s ease;
  cursor: pointer;
}
.TabContainer .TabPager > div.active {
  pointer-events: none;
  z-index: 1;
}
.TabContainer .TabContent {
  position: relative;
  z-index: 2;
  overflow: hidden;
}
.TabContainer .TabContent .content {
  transition: all 0.3s ease-in-out;
}
.TabContainer .TabContent .content > div {
  opacity: 0;
  z-index: -10;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  transition: all 0.5s ease-in-out;
}
.TabContainer .TabContent .content > div.active {
  opacity: 1;
  z-index: 1;
  visibility: visible;
}

.btn-group {
  font-size: 0.625em;
}
.btn-group .btn {
  width: 100%;
  overflow: hidden;
  min-width: 10em;
  max-width: 32em;
  margin-bottom: 0;
}
.btn-group .btn a {
  position: relative;
  min-height: 3.6667em;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-decoration: none;
  font-family: var(--f-jp);
  font-size: 1.8em;
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: #fff;
  text-align: center;
  background-color: var(--main-color);
  transition: all 0.3s ease;
  border-radius: 999em;
  padding: 5px 2.5em;
}
.btn-group .btn a::before, .btn-group .btn a::after {
  content: "";
  position: absolute;
  width: 22px;
  aspect-ratio: 1/1;
  top: calc(50% - 11px);
  right: 1em;
  border-radius: 50%;
  transition: all 0.3s ease;
}
.btn-group .btn a::before {
  border: 1px solid #fff;
  background-color: transparent;
}
.btn-group .btn a::after {
  --mask: url("../images/ic_arrow.png");
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: #fff;
}
@media only screen and (max-width: 1024px) {
  .btn-group .btn a::before, .btn-group .btn a::after {
    width: 18px;
    top: calc(50% - 9px);
    right: 10px;
  }
}
.btn-group .btn a:hover {
  opacity: 1;
}
.btn-group .btn a.atv {
  pointer-events: none;
  background-color: var(--clr2);
}
@media only screen and (min-width: 769px) {
  .btn-group .btn a:not([target]):hover {
    background-color: var(--clr2);
  }
}
@media only screen and (max-width: 1024px) {
  .btn-group .btn a {
    padding: 5px 2em;
  }
}
.btn-group .btn.white a {
  background-color: transparent;
  color: #fff;
  border: 1px solid currentColor;
}
.btn-group .btn.white a:not([target]):hover {
  background-color: #fff;
  color: var(--main-color);
}
.btn-group .btn.white a:not([target]):hover::before {
  background-color: var(--main-color);
}
.btn-group .btn.lg {
  max-width: 40em;
}
.btn-group .btn.st2 a {
  min-height: 2.4375em;
  justify-content: flex-start;
  text-align: left;
  color: var(--main-color);
  background-color: #fff;
  border: 1px solid currentColor;
  font-size: 1.6em;
  padding: 0.25em 1.0625em;
}
.btn-group .btn.st2 a::before, .btn-group .btn.st2 a::after {
  content: "";
  position: absolute;
  width: 22px;
  aspect-ratio: 1/1;
  top: calc(50% - 11px);
  right: 0.625em;
  border-radius: 50%;
  transition: all 0.3s ease;
}
.btn-group .btn.st2 a::before {
  background-color: currentColor;
}
.btn-group .btn.st2 a::after {
  --mask: url("../images/ic_arrow.png");
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: #fff;
}
@media only screen and (max-width: 1024px) {
  .btn-group .btn.st2 a::before, .btn-group .btn.st2 a::after {
    width: 18px;
    top: calc(50% - 9px);
    right: 10px;
  }
}
.btn-group .btn.st2 a::before {
  border: 0;
}
.btn-group .btn.st2 a:not([target]):hover {
  color: #fff;
  background-color: var(--main-color);
}
.btn-group .btn.st2 a:not([target]):hover::after {
  background-color: var(--main-color);
}
@media only screen and (min-width: 769px) {
  .btn-group .btn.md {
    max-width: 27em;
  }
}

.br_auto {
  display: inline-block;
}
@media only screen and (max-width: 319px) {
  .br_auto {
    display: inline;
  }
}

.br_1170 {
  display: none;
}

@media only screen and (min-width: 769px) and (max-width: 1170px) {
  .br_1170 {
    display: block;
  }
  .dis_1170 {
    display: none;
  }
}
.br_992 {
  display: none;
}

@media only screen and (min-width: 769px) and (max-width: 992px) {
  .br_992 {
    display: block;
  }
  .dis_992 {
    display: none;
  }
}
.br_769 {
  display: none;
}

@media only screen and (min-width: 769px) and (max-width: 992px) {
  .br_769 {
    display: block;
  }
  .dis_769 {
    display: none;
  }
}
@media only screen and (max-width: 319px) {
  .br_769 {
    display: none;
  }
}
.br_750 {
  display: none;
}

@media only screen and (max-width: 750px) {
  .br_750 {
    display: block;
  }
  .in_750 {
    display: inline;
  }
  .dis_750 {
    display: none;
  }
}
@media only screen and (max-width: 319px) {
  .br_750 {
    display: none;
  }
}
.br_640 {
  display: none;
}

@media only screen and (max-width: 640px) {
  .br_640 {
    display: block;
  }
  .in_640 {
    display: inline;
  }
  .dis_640 {
    display: none;
  }
}
@media only screen and (max-width: 319px) {
  .br_640 {
    display: none;
  }
}
.br_520 {
  display: none;
}

@media only screen and (max-width: 520px) {
  .br_520 {
    display: block;
  }
  .in_520 {
    display: inline;
  }
  .dis_520 {
    display: none;
  }
}
@media only screen and (max-width: 319px) {
  .br_520 {
    display: none;
  }
}
.br_480 {
  display: none;
}

@media only screen and (max-width: 480px) {
  .br_480 {
    display: block;
  }
  .in_480 {
    display: inline;
  }
  .dis_480 {
    display: none;
  }
}
@media only screen and (max-width: 319px) {
  .br_480 {
    display: none;
  }
}
.br_430 {
  display: none;
}

@media only screen and (max-width: 430px) {
  .br_430 {
    display: block;
  }
  .in_430 {
    display: inline;
  }
  .dis_430 {
    display: none;
  }
}
@media only screen and (max-width: 319px) {
  .br_430 {
    display: none;
  }
}
.br_390 {
  display: none;
}

@media only screen and (max-width: 390px) {
  .br_390 {
    display: block;
  }
  .in_390 {
    display: inline;
  }
  .dis_390 {
    display: none;
  }
}
@media only screen and (max-width: 319px) {
  .br_390 {
    display: none;
  }
}
.br_375 {
  display: none;
}

@media only screen and (max-width: 375px) {
  .br_375 {
    display: block;
  }
  .in_375 {
    display: inline;
  }
  .dis_375 {
    display: none;
  }
}
@media only screen and (max-width: 319px) {
  .br_375 {
    display: none;
  }
}
.br_360 {
  display: none;
}

@media only screen and (max-width: 360px) {
  .br_360 {
    display: block;
  }
  .in_360 {
    display: inline;
  }
  .dis_360 {
    display: none;
  }
}
@media only screen and (max-width: 319px) {
  .br_360 {
    display: none;
  }
}
.br_320 {
  display: none;
}

@media only screen and (max-width: 320px) {
  .br_320 {
    display: block;
  }
  .in_320 {
    display: inline;
  }
  .dis_320 {
    display: none;
  }
}
@media only screen and (max-width: 319px) {
  .br_320 {
    display: none;
  }
}
.flex_gr {
  --size-mg: 5px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: calc(var(--size-mg) * -1);
}
.flex_gr .item {
  width: 100%;
  margin: var(--size-mg);
}
@media only screen and (min-width: 769px) {
  .flex_gr.col-2 .item {
    width: calc(50% - 2 * var(--size-mg));
  }
  .flex_gr.col-3 .item {
    width: calc(33.3333333333% - 2 * var(--size-mg));
  }
  .flex_gr.col-4 .item {
    width: calc(25% - 2 * var(--size-mg));
  }
  .flex_gr.col-5 .item {
    width: calc(20% - 2 * var(--size-mg));
  }
}
@media only screen and (max-width: 768px) {
  .flex_gr.col-2 .item {
    width: calc(50% - 2 * var(--size-mg));
  }
  .flex_gr.col-3 .item {
    width: calc(50% - 2 * var(--size-mg));
  }
  .flex_gr.col-4 .item {
    width: calc(50% - 2 * var(--size-mg));
  }
  .flex_gr.col-5 .item {
    width: calc(50% - 2 * var(--size-mg));
  }
}
@media only screen and (max-width: 430px) {
  .flex_gr.col-2 .item {
    width: calc(100% - 2 * var(--size-mg));
  }
  .flex_gr.col-3 .item {
    width: calc(100% - 2 * var(--size-mg));
  }
  .flex_gr.col-4 .item {
    width: calc(100% - 2 * var(--size-mg));
  }
  .flex_gr.col-5 .item {
    width: calc(100% - 2 * var(--size-mg));
  }
  .flex_gr.col-2-sp .item {
    width: calc(50% - 2 * var(--size-mg));
  }
}

a.link {
  position: absolute;
  inset: 0;
  z-index: 1;
}

/* Tablet
-------------------------------------------*/
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  body {
    font-size: 87.5%;
  }
}
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                           Header - Footer                                */
/*==========================================================================*/
h1 {
  position: absolute;
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--wrapper);
  z-index: 20;
}

header.active,
.ovh header {
  background-color: #fff;
}

.header_top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  justify-content: space-between;
  margin: 0 auto;
  height: 100%;
  transition: all 0.3s ease-in-out;
}

.logo {
  max-width: 559px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.logo a {
  display: block;
  width: 100%;
  text-align: center;
}
.logo img {
  width: auto;
}

.right_head {
  display: flex;
  justify-content: flex-end;
}

.h_instagram a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(../images/h_instagram_bg.jpg) no-repeat center/cover;
  color: #fff;
}
.h_instagram a .tt {
  position: relative;
}
.h_instagram a .tt::before {
  content: "";
  position: absolute;
  aspect-ratio: 1/1;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' %3E%3Cpath d='M17.913,12.925 C17.820,15.990 15.802,17.918 12.737,17.957 C10.232,17.990 7.726,17.992 5.221,17.954 C2.096,17.908 0.090,15.889 0.025,12.768 C-0.001,11.488 0.021,10.207 0.021,8.926 C0.021,7.645 -0.004,6.364 0.026,5.084 C0.095,2.070 2.073,0.078 5.077,0.035 C7.635,-0.001 10.195,0.002 12.753,0.034 C15.800,0.072 17.827,2.022 17.914,5.083 C17.988,7.695 17.992,10.314 17.913,12.925 ZM16.334,5.223 C16.292,3.010 14.948,1.707 12.735,1.681 C10.255,1.653 7.775,1.655 5.295,1.680 C2.970,1.705 1.686,3.007 1.669,5.332 C1.652,7.762 1.652,10.191 1.669,12.621 C1.686,14.966 2.927,16.225 5.277,16.282 C6.503,16.312 7.731,16.288 8.958,16.288 C8.958,16.285 8.958,16.281 8.958,16.277 C10.264,16.277 11.573,16.318 12.877,16.267 C15.000,16.184 16.298,14.880 16.335,12.751 C16.378,10.242 16.381,7.731 16.334,5.223 ZM13.786,5.243 C13.207,5.277 12.692,4.765 12.735,4.191 C12.781,3.581 13.132,3.218 13.754,3.186 C14.348,3.157 14.814,3.642 14.799,4.329 C14.743,4.855 14.402,5.207 13.786,5.243 ZM8.996,13.572 C6.429,13.594 4.368,11.551 4.355,8.968 C4.342,6.405 6.405,4.336 8.970,4.338 C11.515,4.339 13.611,6.446 13.589,8.982 C13.567,11.507 11.522,13.551 8.996,13.572 ZM8.974,5.986 C7.336,5.983 5.971,7.368 6.002,9.004 C6.033,10.617 7.380,11.923 8.998,11.909 C10.618,11.895 11.925,10.564 11.919,8.939 C11.913,7.320 10.587,5.989 8.974,5.986 Z'/%3E%3C/svg%3E");
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: currentColor;
}
.h_instagram a:hover {
  opacity: 1;
  color: #fff;
}

.pc_navi {
  padding-top: 0.5em;
  margin-right: 4.7em;
}
.pc_navi > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  text-align: center;
  width: 100%;
}
.pc_navi > ul > li {
  position: relative;
}
.pc_navi > ul > li:not(:last-child) {
  margin-right: 6.1em;
}
.pc_navi > ul > li:hover > a,
.pc_navi > ul > li:hover > p {
  opacity: 1;
  color: var(--clr2);
}
.pc_navi > ul > li.menu-item-has-children > a::after,
.pc_navi > ul > li.menu-item-has-children > p::after {
  content: "";
  width: 9px;
  aspect-ratio: 9/6;
  position: absolute;
  bottom: -10px;
  left: calc(50% - 5px);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  background-color: var(--clr2);
  transition: all 0.3s ease;
}
.pc_navi > ul > li > a,
.pc_navi > ul > li > p {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  text-align: center;
  font-weight: 500;
  font-size: 2em;
  line-height: 1.5;
  letter-spacing: 0.1em;
  transition: all 0.3s ease;
  color: var(--clr1);
  margin: 0;
}
.pc_navi > ul > li:hover a.title::after,
.pc_navi > ul > li:hover p.title::after {
  transform: translateY(5px);
}
.pc_navi > ul .subInner {
  position: absolute;
  width: 35em;
  right: 50%;
  bottom: -20px;
  padding-top: 0px;
  transform: translate(50%, 100%);
  transition: all 0.2s ease-in-out;
  opacity: 0;
  visibility: hidden;
  z-index: 1;
}
.pc_navi > ul .subInner.active {
  opacity: 1;
  visibility: visible;
}
.pc_navi > ul .subInner ul {
  background-color: var(--main-color);
  padding-bottom: 10px;
}
.pc_navi > ul .subInner ul li {
  padding: 0 10px;
}
.pc_navi > ul .subInner ul li a {
  position: relative;
  display: block;
  padding: 1.2em 0.6em 1.2em 1.6em;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.7);
  transition: all 0.2s ease;
  font-size: 1.6em;
  font-weight: 500;
  color: #fff;
  text-decoration: none;
  text-align: left;
  letter-spacing: 0.05em;
}
.pc_navi > ul .subInner ul li a::before {
  content: "›";
  display: block;
  position: absolute;
  top: 50%;
  left: 0.6em;
  transform: translateY(-50%);
}

@media only screen and (min-width: 769px) {
  header {
    font-size: clamp(6px, 0.625vw, 0.625em);
  }
  .header_top {
    padding: 5px var(--wrapper) 5px 5em;
  }
  .logo {
    width: 33%;
  }
  .h_instagram {
    margin-right: 2px;
  }
  .h_instagram a {
    width: 11.4286em;
    height: 3.2857em;
    border-radius: 999em;
    font-size: 1.4em;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-feature-settings: "palt";
  }
  .h_instagram a .tt {
    padding-left: 1.7143em;
  }
  .h_instagram a .tt::before {
    width: 1.2857em;
    top: -1px;
    left: 0px;
  }
  .pc_navi > ul .col2 .subInner {
    width: 65em;
  }
  .pc_navi > ul .col2 .subInner ul {
    display: flex;
    flex-wrap: wrap;
  }
  .pc_navi > ul .col2 .subInner ul li {
    width: 50%;
  }
  .menu_toggle .inside .ft_link {
    width: 100%;
    max-width: 110em;
    margin: auto;
    min-height: 100%;
    display: flex;
    align-items: center;
    font-size: min(1.075vw, 10px);
  }
  .menu_toggle .inside .ft_link .link_list {
    justify-content: space-between;
  }
  .menu_toggle .inside .ft_link .link_list .menu01 {
    width: 30%;
  }
  .menu_toggle .inside .ft_link .link_list .menu01 > ul > li {
    width: 100%;
  }
  .menu_toggle .inside .ft_link .link_list .menu02 {
    width: 60%;
  }
  .menu_toggle .inside .ft_link .link_list .menu02 > ul {
    max-height: 55em;
  }
  .menu_toggle .inside .ft_link .link_list .menu02 > ul > li {
    width: 50%;
  }
  .menu_toggle .inside .ft_link .link_list .menu02 > ul > li:nth-child(n+3) {
    width: fit-content;
  }
  .menu_toggle .inside .ft_link .link_list .title {
    color: var(--main-color);
  }
  .menu_toggle .inside .ft_link .link_list .menu-child > a {
    color: var(--clr2);
  }
  .menu_toggle .inside .ft_link .link_list a {
    color: var(--clr1);
  }
  .menu_toggle .inside .ft_link .link_list a:hover {
    color: var(--main-color);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1900px) {
  .pc_navi {
    margin-right: 2.5em;
  }
  .pc_navi > ul > li:not(:last-child) {
    margin-right: 2.5em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1560px) {
  :root {
    --wrapper: 100px;
  }
  .header_top {
    padding-left: 20px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1560px) and (max-height: 800px) {
  .menu_toggle .inside .ft_link {
    font-size: clamp(8.25px, 0.725vw, 10px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  :root {
    --wrapper: 80px;
    --fs-base: 14px;
    --ttl_size: 22px;
  }
  .pc_navi {
    margin-right: 10px;
  }
  .pc_navi > ul > li:not(:last-child) {
    margin-right: 10px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  :root {
    --wrapper: 60px;
  }
  .logo {
    width: 22.5%;
  }
  .header_top {
    padding-left: 10px;
  }
}
.idx_gallery {
  padding: 10px 0;
}
.idx_gallery .list {
  display: flex;
}
.idx_gallery .list picture img {
  border-radius: 6px;
  margin: 0 5px;
  max-width: clamp(220px, 30vw, 360px);
}

.time_sheet {
  font-size: 10px;
}
.time_sheet .note {
  margin-top: 0.8571em;
  margin-left: 0.7857em;
  font-size: calc(var(--fs-base) - 2px);
  letter-spacing: 0.1em;
  color: #fff;
}
.time_sheet table {
  font-feature-settings: "palt";
  border-top: 1px solid #fff;
}
.time_sheet table th,
.time_sheet table td {
  position: relative;
  border: none;
  text-align: center;
  font-weight: 500;
  font-size: 1.6em;
  letter-spacing: 0.05em;
  color: #fff;
  width: 10.4%;
}
.time_sheet table th::after,
.time_sheet table td::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #fff;
}
.time_sheet table th:first-child,
.time_sheet table td:first-child {
  width: auto;
}
.time_sheet table th:last-child,
.time_sheet table td:last-child {
  width: 13%;
}
.time_sheet table th {
  padding: 1.125em 0.2em 1.3125em;
}
.time_sheet table td {
  padding: 0.9375em 0.2em 1.3125em;
}
.time_sheet table td::after {
  bottom: 1px;
}

.totop {
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  position: fixed;
  z-index: 19;
  bottom: 25px;
  right: 25px;
}
.totop.active {
  opacity: 1;
  visibility: visible;
}
.totop .icon {
  background-image: url(../images/totop.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  border: 0px;
  width: 66px;
  height: 66px;
  margin: 0;
}

@media only screen and (min-width: 769px) {
  .totop:hover .icon {
    opacity: 0.9;
    animation-name: bounces;
  }
}
.bounce {
  animation-name: bounces;
}

.animateds {
  animation-duration: 0.5s;
  animation-fill-mode: both;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

@keyframes bounces {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}
@keyframes fixed_banner {
  0% {
    left: 0;
    opacity: 1;
  }
  100% {
    left: -3px;
    opacity: 0.7;
  }
}
.fixed_banner {
  position: fixed;
  top: calc(50% - 15.9em);
  right: 0px;
  z-index: 15;
  transition: right 0.3s ease-in-out;
}
.fixed_banner > div {
  position: relative;
  transition: all 0.3s ease;
}
.fixed_banner a {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: 2;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.fixed_banner p {
  display: block;
  width: 100%;
  height: 100%;
  margin-bottom: 0;
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 1.2222222222;
  text-align: center;
  text-decoration: none;
}
.fixed_banner p:hover {
  color: #fff;
}
.fixed_banner p .tt {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.fixed_banner p .tt::before {
  content: "";
  display: block;
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: #fff;
}
.fixed_banner .tel p {
  background-color: var(--clr3);
}
.fixed_banner .tel p .tt::before {
  width: 1.5em;
  height: 1.4375em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 23' %3E%3Cpath d='M6.562,0.836 C7.978,1.870 9.050,3.321 9.962,4.654 L10.677,5.705 C11.136,6.375 11.052,7.277 10.478,7.850 L8.958,9.370 L9.118,9.712 C9.510,10.507 10.187,11.651 11.206,12.671 C11.910,13.363 12.703,13.961 13.565,14.442 L13.977,14.663 L14.343,14.845 L14.507,14.920 L16.026,13.400 C16.602,12.825 17.507,12.744 18.176,13.208 L19.313,13.996 C20.604,14.905 21.953,15.940 23.001,17.282 C23.370,17.758 23.451,18.396 23.213,18.948 C22.275,21.137 19.900,23.002 17.431,22.910 L17.094,22.892 L16.833,22.870 L16.544,22.835 L16.229,22.793 L15.887,22.737 L15.521,22.665 L15.133,22.579 L14.723,22.472 L14.292,22.349 L13.841,22.204 C11.771,21.500 9.145,20.123 6.450,17.427 C3.756,14.734 2.377,12.106 1.675,10.036 L1.529,9.585 L1.406,9.154 L1.301,8.744 L1.213,8.356 C1.188,8.234 1.164,8.112 1.143,7.990 L1.087,7.649 L1.042,7.333 L1.009,7.044 L0.987,6.783 L0.969,6.447 C0.878,3.984 2.763,1.593 4.942,0.659 C5.475,0.428 6.091,0.496 6.562,0.836 M5.523,2.865 C4.321,3.493 3.157,4.926 3.210,6.363 L3.232,6.730 L3.257,6.962 L3.289,7.219 L3.334,7.503 L3.392,7.813 L3.464,8.148 L3.554,8.506 L3.662,8.887 L3.790,9.288 C3.836,9.424 3.886,9.565 3.940,9.709 L4.112,10.148 L4.310,10.603 C5.014,12.154 6.162,13.967 8.037,15.842 C9.912,17.716 11.726,18.866 13.275,19.571 L13.731,19.768 L14.170,19.939 C14.314,19.994 14.454,20.043 14.591,20.090 L14.992,20.217 L15.373,20.325 L15.731,20.414 L16.065,20.489 L16.376,20.545 L16.660,20.591 L16.918,20.624 L17.147,20.646 L17.515,20.668 C18.932,20.721 20.378,19.565 21.003,18.378 C20.205,17.442 19.214,16.674 18.121,15.900 L17.283,15.317 L17.070,15.539 L16.614,16.035 L16.373,16.289 C15.716,16.958 14.950,17.526 14.030,17.157 L13.777,17.049 L13.467,16.910 L13.295,16.828 L12.916,16.638 L12.500,16.414 C11.448,15.829 10.479,15.103 9.622,14.257 C8.776,13.399 8.050,12.431 7.464,11.379 L7.240,10.964 L7.050,10.583 L6.830,10.102 L6.722,9.845 C6.374,8.984 6.853,8.257 7.467,7.626 L7.718,7.380 L8.342,6.804 L8.566,6.591 L8.036,5.814 C7.248,4.669 6.478,3.639 5.521,2.863 L5.523,2.865 ZM15.683,4.868 L15.813,4.881 C17.487,5.177 18.780,6.518 19.017,8.201 C19.106,8.815 18.681,9.383 18.068,9.471 C17.502,9.554 16.965,9.196 16.822,8.642 L16.796,8.514 C16.704,7.856 16.234,7.314 15.597,7.132 L15.423,7.091 C14.813,6.984 14.406,6.402 14.514,5.792 C14.614,5.232 15.116,4.835 15.683,4.868 M15.691,1.459 C19.406,1.459 22.417,4.472 22.417,8.187 C22.416,8.805 21.914,9.307 21.295,9.307 C20.727,9.305 20.250,8.882 20.183,8.317 L20.175,8.187 C20.176,5.824 18.342,3.866 15.984,3.712 L15.691,3.703 C15.071,3.703 14.570,3.200 14.570,2.581 C14.570,1.962 15.071,1.459 15.691,1.459'/%3E%3C/svg%3E");
}
.fixed_banner .web p {
  background-color: var(--clr2);
}
.fixed_banner .web p .tt::before {
  width: 1.5em;
  height: 1.5em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M18.947,13.894 C19.645,13.894 20.211,14.461 20.211,15.158 L20.211,17.685 L22.737,17.685 C23.434,17.685 24.000,18.249 24.000,18.948 C24.000,19.645 23.434,20.210 22.737,20.210 L20.211,20.210 L20.211,22.736 C20.211,23.436 19.645,24.001 18.947,24.001 C18.250,24.001 17.684,23.436 17.684,22.736 L17.684,20.210 L15.158,20.210 C14.460,20.210 13.895,19.645 13.895,18.948 C13.895,18.249 14.460,17.685 15.158,17.685 L17.684,17.685 L17.684,15.158 C17.684,14.461 18.250,13.894 18.947,13.894 M16.421,-0.000 C17.119,-0.000 17.684,0.566 17.684,1.264 L17.684,2.526 L20.211,2.526 C21.606,2.526 22.737,3.658 22.737,5.052 L22.737,10.105 C22.737,10.803 22.171,11.369 21.474,11.369 L2.526,11.369 L2.526,20.210 L10.105,20.210 C10.803,20.210 11.369,20.777 11.369,21.474 C11.369,22.171 10.803,22.736 10.105,22.736 L2.526,22.736 C1.131,22.736 -0.000,21.606 -0.000,20.210 L-0.000,5.052 C-0.000,3.658 1.131,2.526 2.526,2.526 L5.053,2.526 L5.053,1.264 C5.053,0.566 5.618,-0.000 6.316,-0.000 C7.013,-0.000 7.579,0.566 7.579,1.264 L7.579,2.526 L15.158,2.526 L15.158,1.264 C15.158,0.566 15.723,-0.000 16.421,-0.000 M20.211,5.052 L2.526,5.052 L2.526,8.842 L20.211,8.842 L20.211,5.052 Z'/%3E%3C/svg%3E");
}
.fixed_banner .require p {
  background-color: var(--clr-pink2);
}
.fixed_banner .require p .tt::before {
  width: 1.75em;
  height: 2.25em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 36' %3E%3Cpath d='M27.128,35.321 C26.586,35.816 25.936,35.991 25.207,35.991 C18.399,35.986 11.591,35.988 4.784,35.988 C4.376,35.988 3.967,35.991 3.559,35.987 C2.127,35.973 1.067,34.976 0.976,33.561 C0.969,33.444 0.971,33.327 0.971,33.209 C0.971,25.460 0.973,17.711 0.968,9.963 C0.967,9.031 1.272,8.258 2.046,7.694 C2.731,7.195 3.513,7.199 4.348,7.248 C4.348,8.076 4.345,8.856 4.349,9.638 C4.358,11.373 5.597,12.633 7.350,12.637 C12.091,12.651 16.831,12.651 21.572,12.638 C23.326,12.633 24.564,11.376 24.574,9.639 C24.579,8.858 24.575,8.077 24.575,7.298 C26.499,6.905 27.857,8.088 27.946,9.651 C27.952,9.754 27.953,9.858 27.953,9.962 C27.953,17.723 27.951,25.485 27.956,33.247 C27.956,34.053 27.741,34.762 27.128,35.321 ZM8.159,15.990 C7.582,15.974 7.003,15.972 6.426,15.991 C5.967,16.005 5.644,16.335 5.618,16.788 C5.602,17.074 5.615,17.360 5.615,17.646 C5.614,17.646 5.614,17.646 5.613,17.646 C5.613,17.906 5.607,18.166 5.614,18.425 C5.629,18.969 5.940,19.299 6.495,19.318 C7.033,19.338 7.572,19.338 8.110,19.318 C8.616,19.299 8.947,19.011 8.973,18.531 C9.006,17.949 9.005,17.362 8.975,16.779 C8.952,16.308 8.624,16.004 8.159,15.990 ZM8.082,21.828 C7.819,21.819 7.556,21.827 7.293,21.827 C7.293,21.827 7.293,21.828 7.293,21.828 C7.016,21.828 6.739,21.817 6.463,21.831 C5.952,21.851 5.629,22.165 5.617,22.670 C5.603,23.216 5.602,23.764 5.617,24.311 C5.631,24.811 5.959,25.128 6.474,25.141 C7.013,25.154 7.554,25.153 8.093,25.142 C8.634,25.131 8.959,24.832 8.982,24.300 C9.005,23.766 9.003,23.232 8.985,22.698 C8.966,22.145 8.642,21.843 8.082,21.828 ZM8.983,28.505 C8.962,27.995 8.650,27.676 8.138,27.655 C7.575,27.632 7.008,27.631 6.445,27.657 C5.933,27.681 5.627,28.013 5.616,28.518 C5.604,29.050 5.604,29.582 5.616,30.114 C5.627,30.652 5.964,30.971 6.516,30.985 C6.779,30.991 7.041,30.986 7.304,30.986 C7.554,30.986 7.803,30.991 8.053,30.985 C8.629,30.974 8.965,30.668 8.985,30.103 C9.003,29.571 9.004,29.037 8.983,28.505 ZM22.398,16.828 C20.754,16.818 19.110,16.825 17.466,16.824 C15.795,16.824 14.125,16.820 12.454,16.826 C11.869,16.828 11.521,17.150 11.524,17.656 C11.527,18.152 11.892,18.478 12.465,18.483 C13.057,18.489 13.649,18.484 14.241,18.484 C16.924,18.484 19.607,18.481 22.291,18.488 C22.691,18.489 23.023,18.389 23.216,18.021 C23.515,17.450 23.099,16.832 22.398,16.828 ZM11.524,23.476 C11.521,23.893 11.788,24.219 12.216,24.298 C12.356,24.324 12.503,24.324 12.648,24.324 C14.226,24.326 15.805,24.325 17.384,24.325 C18.962,24.325 20.541,24.325 22.120,24.325 C22.901,24.324 23.301,24.044 23.308,23.494 C23.315,22.942 22.908,22.645 22.138,22.645 C18.980,22.645 15.823,22.645 12.666,22.646 C12.522,22.646 12.375,22.644 12.233,22.668 C11.801,22.742 11.528,23.060 11.524,23.476 ZM23.034,28.733 C22.826,28.589 22.533,28.498 22.276,28.497 C19.777,28.479 17.278,28.487 14.779,28.487 C13.990,28.487 13.200,28.480 12.411,28.490 C11.874,28.496 11.520,28.841 11.524,29.327 C11.529,29.831 11.878,30.144 12.468,30.145 C14.113,30.149 15.757,30.147 17.401,30.147 C18.190,30.147 18.980,30.147 19.769,30.147 C20.676,30.146 21.584,30.149 22.492,30.140 C22.876,30.136 23.133,29.931 23.261,29.576 C23.379,29.248 23.311,28.924 23.034,28.733 ZM21.491,10.982 C19.148,10.983 16.804,10.982 14.461,10.982 C12.144,10.982 9.827,10.983 7.510,10.982 C6.516,10.982 6.030,10.503 6.028,9.521 C6.025,8.531 6.023,7.542 6.029,6.552 C6.034,5.660 6.550,5.149 7.452,5.143 C8.150,5.138 8.848,5.134 9.546,5.145 C9.771,5.149 9.853,5.085 9.892,4.849 C10.261,2.606 12.192,0.981 14.463,0.982 C16.737,0.982 18.652,2.595 19.031,4.850 C19.071,5.089 19.157,5.148 19.380,5.145 C20.078,5.136 20.776,5.138 21.473,5.143 C22.383,5.149 22.890,5.651 22.895,6.552 C22.901,7.568 22.902,8.584 22.894,9.601 C22.888,10.482 22.378,10.981 21.491,10.982 Z'/%3E%3C/svg%3E");
}
.fixed_banner .mail p {
  background-color: var(--clr-pink3);
}
.fixed_banner .mail p .tt::before {
  width: 1.5625em;
  height: 1.875em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 30' %3E%3Cpath d='M17.280,29.999 L0.974,29.999 L0.974,2.620 L3.549,2.620 L3.549,6.897 L22.430,6.897 L22.430,2.620 L25.004,2.620 L25.004,22.297 L17.280,22.297 L17.280,29.999 ZM6.981,23.153 L14.706,23.153 C15.179,23.153 15.563,22.771 15.563,22.298 C15.563,21.827 15.180,21.443 14.706,21.442 L6.981,21.442 C6.508,21.443 6.124,21.825 6.124,22.297 C6.124,22.771 6.507,23.153 6.981,23.153 ZM18.997,11.176 L6.981,11.176 C6.981,11.176 6.980,11.176 6.980,11.176 C6.506,11.176 6.122,11.559 6.123,12.032 C6.123,12.504 6.507,12.887 6.981,12.887 L18.997,12.887 C18.997,12.887 18.998,12.887 18.998,12.887 C19.472,12.886 19.856,12.503 19.855,12.031 C19.855,11.558 19.471,11.176 18.997,11.176 ZM18.997,18.020 C19.470,18.020 19.854,17.638 19.854,17.165 C19.855,16.692 19.471,16.310 18.997,16.310 L6.981,16.310 C6.508,16.310 6.124,16.692 6.124,17.164 C6.124,17.636 6.507,18.020 6.981,18.020 L18.997,18.020 ZM5.265,2.620 L9.557,2.620 L9.557,0.907 C9.557,0.435 9.941,0.051 10.415,0.051 L15.564,0.051 C16.035,0.054 16.415,0.438 16.415,0.907 L16.415,2.620 L20.713,2.620 L20.713,5.186 L5.265,5.186 L5.265,2.620 ZM18.997,29.997 L18.997,24.010 L25.004,24.010 L18.997,29.997 Z'/%3E%3C/svg%3E");
}

@media only screen and (min-width: 769px) {
  .fixed_banner {
    font-size: 10px;
    --size: 9em;
    width: var(--size);
  }
  .fixed_banner > div {
    width: 100%;
    height: 100%;
    margin-bottom: 1px;
  }
  .fixed_banner p {
    width: var(--size);
    height: var(--size);
    border-radius: 6px 0 0 6px;
  }
  .fixed_banner p .tt {
    font-size: 1.6em;
    font-weight: 500;
    letter-spacing: 0.05em;
    flex-direction: column;
  }
  .fixed_banner p .tt::before {
    margin-bottom: 0.35em;
  }
  .fixed_banner .tel {
    --w_tel: 15em;
    transform: translateX(calc(-var(--size) - var(--w_tel)));
    transition: all 0.3s ease;
  }
  .fixed_banner .tel:hover {
    transform: translateX(calc(0em - var(--w_tel)));
  }
  .fixed_banner .tel:hover a {
    width: calc(var(--size) + var(--w_tel));
  }
  .fixed_banner .tel .ov {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--clr3);
    position: absolute;
    left: var(--size);
    height: 100%;
    top: 0;
    width: var(--w_tel);
    border-left: 1px solid #fff;
  }
  .fixed_banner .tel .ov .text {
    font-size: 2.2em;
    font-weight: 500;
    font-family: var(--f-en);
  }
  .fixed_banner .require p {
    height: 18em;
  }
  .fixed_banner .require p .tt {
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    -moz-text-orientation: upright;
    -ms-text-orientation: upright;
    text-orientation: upright;
    width: 100%;
    text-align: left;
    line-height: 1.5;
    flex-direction: row;
  }
  .fixed_banner .require p .tt::before {
    margin-bottom: 0.5em;
  }
  .fixed_banner .require:hover p {
    background-color: var(--clr3);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1560px) {
  .fixed_banner {
    font-size: min(0.75vw, 8.75px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .fixed_banner {
    font-size: min(0.75vw, 7.5px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) and (max-height: 800px) {
  .fixed_banner {
    font-size: min(0.75vw, 7.5px);
    top: calc(50% - 20em);
  }
  .totop .icon {
    width: 50px;
    height: 50px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .fixed_banner {
    top: 22em;
  }
}
.ft_map{
    height: 378px;
    margin-top: 45px;
    border-radius: 20px;
    overflow: hidden;
}
footer {
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  background-image: url(../images/ft_bg.jpg);
}
footer p {
  margin-bottom: 0;
}
footer p,
footer a {
  color: #fff;
  text-decoration: none;
}
footer .ft_logo {
  display: table;
  max-width: 550px;
  margin: 0 auto;
}
footer .ft_logo a:hover {
  opacity: 1;
}
footer .ft_address {
  text-align: center;
  font-size: calc(var(--fs-base) + 2px);
  font-weight: 500;
}
footer .ft_tel {
  display: table;
  margin: 0 auto;
}
footer .ft_tel a {
  width: 9.375em;
  height: 1.6667em;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 4.8em;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  border-radius: 999em;
  background-color: var(--clr3);
  padding: 0.1042em 0.1042em 0.25em 0.1042em;
}
footer .ft_tel a > span {
  position: relative;
  padding-left: 1.0625em;
}
footer .ft_tel a > span::before {
  content: "";
  position: absolute;
  width: 0.6458em;
  aspect-ratio: 1/1;
  top: calc(50% - 0.1875em);
  left: 0.1458em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 31 31' %3E%3Cpath d='M8.160,1.402 C10.059,2.788 11.497,4.735 12.720,6.521 L13.679,7.933 C14.294,8.830 14.182,10.039 13.412,10.808 L11.373,12.846 L11.588,13.305 C12.114,14.370 13.023,15.906 14.389,17.273 C15.333,18.202 16.397,19.003 17.552,19.649 L18.104,19.945 L18.596,20.190 L18.815,20.289 L20.853,18.252 C21.625,17.480 22.839,17.371 23.736,17.994 L25.261,19.051 C26.993,20.269 28.801,21.657 30.207,23.458 C30.702,24.095 30.811,24.950 30.491,25.692 C29.233,28.628 26.048,31.128 22.736,31.004 L22.285,30.981 L21.935,30.951 L21.547,30.906 L21.125,30.847 L20.666,30.772 L20.176,30.675 L19.656,30.561 L19.105,30.419 L18.527,30.254 L17.922,30.057 C15.147,29.116 11.624,27.266 8.010,23.651 C4.397,20.040 2.548,16.516 1.607,13.739 L1.411,13.136 L1.246,12.557 L1.105,12.006 L0.987,11.486 C0.953,11.324 0.922,11.159 0.893,10.997 L0.817,10.538 L0.757,10.114 L0.714,9.728 L0.684,9.376 L0.660,8.925 C0.538,5.625 3.065,2.416 5.988,1.164 C6.703,0.855 7.529,0.945 8.160,1.402 M6.767,4.122 C5.155,4.964 3.594,6.887 3.665,8.813 L3.695,9.307 L3.728,9.616 L3.772,9.961 L3.832,10.343 L3.909,10.758 L4.006,11.207 L4.126,11.687 L4.271,12.198 L4.442,12.737 C4.505,12.919 4.572,13.107 4.644,13.301 L4.875,13.889 L5.140,14.501 C6.084,16.579 7.624,19.012 10.139,21.525 C12.653,24.041 15.085,25.581 17.163,26.527 L17.775,26.791 L18.364,27.020 C18.557,27.095 18.745,27.160 18.928,27.223 L19.466,27.395 L19.978,27.539 L20.457,27.658 L20.905,27.757 L21.322,27.833 L21.704,27.893 L22.049,27.940 L22.356,27.968 L22.849,27.999 C24.749,28.071 26.689,26.518 27.528,24.927 C26.458,23.671 25.128,22.641 23.663,21.604 L22.538,20.820 L22.252,21.121 L21.642,21.786 L21.319,22.126 C20.438,23.023 19.409,23.785 18.176,23.289 L17.837,23.145 L17.422,22.959 L17.190,22.849 L16.682,22.595 L16.124,22.293 C14.713,21.509 13.414,20.535 12.265,19.399 C11.130,18.250 10.156,16.952 9.371,15.540 L9.070,14.984 L8.814,14.474 L8.520,13.827 L8.375,13.484 C7.908,12.329 8.551,11.353 9.374,10.507 L9.710,10.177 L10.548,9.406 L10.849,9.121 L10.137,8.078 C9.081,6.543 8.048,5.161 6.765,4.119 L6.767,4.122 ZM20.393,6.809 L20.567,6.828 C22.812,7.225 24.547,9.022 24.864,11.279 C24.983,12.101 24.413,12.863 23.591,12.982 C22.832,13.094 22.112,12.614 21.920,11.870 L21.885,11.697 C21.762,10.817 21.132,10.091 20.277,9.843 L20.044,9.791 C19.226,9.646 18.681,8.866 18.826,8.047 C18.959,7.298 19.632,6.765 20.393,6.809 M20.403,2.238 C25.385,2.238 29.424,6.277 29.424,11.260 C29.423,12.089 28.749,12.762 27.919,12.762 C27.158,12.761 26.517,12.191 26.427,11.435 L26.417,11.260 C26.418,8.091 23.959,5.465 20.797,5.259 L20.403,5.246 C19.573,5.246 18.900,4.572 18.900,3.741 C18.900,2.911 19.573,2.238 20.403,2.238 '/%3E%3C/svg%3E");
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: currentColor;
}
footer .ft_banner .item {
  display: table;
  max-width: 530px;
  margin: 40px auto 0;
}
footer .ft_banner .item a:hover {
  opacity: 1;
}
footer .ft_link {
  margin-top: 5.7em;
  margin-bottom: 41px;
  font-size: min(0.86vw, 0.625em);
}
footer .ft_link a {
  color: #fff;
}
footer .ft_link .menu01 {
  width: 100%;
}
footer .ft_link .menu01 > ul {
  max-height: 27em;
}
footer .ft_link .menu02 {
  width: 100%;
  margin-top: 2em;
}
footer .ft_link .menu02 > ul {
  max-height: 54em;
}
@media only screen and (min-width: 1025px){
  footer .ft_link a .pc_only{
    display: none !important;
  }
}
@media only screen and (min-width: 769px) {
  footer {
    padding: 89px 0 0;
  }
  footer .ft_info, footer .ft_menu {
   width: 48%;
  }
  footer .ft_logo {
    margin-bottom: 18px;
  }
  footer .ft_address {
    margin-bottom: 0.95em;
  }
  footer .ft_tel {
    font-size: min(0.78vw, 0.625em);
  }
  footer .time_sheet {
    font-size: min(0.975vw, 0.625em);
  }
  footer .ft_link .link_list {
    display: block;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {

  footer .ft_link .link_list > div > ul {
    gap: 0 1.25em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .ft_map{
    max-height: 345px;
    height: 28vw;
    margin-top: 20px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  footer .box_access {
    padding-left: 0;
    padding-right: 0;
  }
  footer .ft_link {
    padding: 0;
  }
  footer .ft_menu{width: 49%;}
}

.ft_link {
  font-size: 10px;
}
.ft_link a {
  text-decoration: none;
}
.ft_link ul:last-child {
  margin-bottom: 0;
}
.ft_link .title {
  padding-left: 0;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  pointer-events: none;
  font-family: var(--f-en);
  text-transform: uppercase;
}
.ft_link .title::before {
  display: none;
}
.ft_link .menu-child > a {
  line-height: 1.5;
  text-indent: 0.1em;
  pointer-events: none;
}
.ft_link .menu-child > a::before {
  content: "";
  width: round(0.35em, 1px);
  height: round(0.35em, 1px);
  top: 0.7em;
  left: 0.1em;
  background-color: currentColor;
}
.ft_link a {
  position: relative;
  display: table;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.ft_link a::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.ft_link a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .ft_link a:hover {
    color: var(--clr2);
  }
  .ft_link .title {
    margin-bottom: 0.8em;
    font-size: 3em;
  }
  .ft_link .menu-child:not(:last-child) {
    margin-bottom: 1.7em;
  }
  .ft_link .menu-child > a {
    font-size: 2em;
    padding-left: 0.85em;
    margin-bottom: 0.5em;
  }
  .ft_link li {
    margin-bottom: 1.6em;
  }
  .ft_link a {
    font-size: 1.6em;
    padding-left: 1.0625em;
  }
  .ft_link .link_list {
    display: flex;
    width: 100%;
  }
  .ft_link .link_list > div > ul {
    display: flex;
    flex-flow: column wrap;
    align-content: space-between;
  }
  .ft_link .link_list > div > ul > li {
    width: 50%;
  }
  .ft_link .link_list .menu02 .title {
    margin-bottom: 0.6em;
  }
}

.copyright {
  margin: 0 auto;
  color: #fff;
  position: relative;
  z-index: 1;
}
.copyright .wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}
.copyright::before {
  position: absolute;
  content: "";
  display: block;
  z-index: -1;
  left: calc(50% - 50vw);
  top: 0;
  height: 100%;
  width: 100vw;
  background-color: rgb(var(--clr-pink4-rgb)/0.5);
}
.copyright .textwidget {
  display: block;
  border-left: 1px solid #fff;
  font-weight: 400;
  letter-spacing: 0.1em;
  padding-left: 22px;
  margin-left: 22px;
}
.copyright .textwidget p {
  margin-bottom: 0;
  font-size: calc(var(--fs-base) - 2px);
  line-height: inherit;
  letter-spacing: 0.1em;
}
.copyright .grits {
  margin-bottom: 0;
}
.copyright .grits a {
  display: block;
}
.copyright .grits img {
  max-width: 120px;
}
@media only screen and (min-width: 769px) {
  .copyright {
    padding: 26px 0;
  }
}

@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .copyright{margin-top: 40px;}
}
.box_access .item {
  position: relative;
  display: flex;
  background-color: #fff;
}
.box_access .item:not(:last-child) {
  margin-bottom: 20px;
}
.box_access .item::before {
  content: "";
  flex-shrink: 0;
  position: relative;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.box_access .item .txt .tt {
  font-size: calc(var(--fs-base) + 2px);
  font-weight: 500;
  line-height: 1.4;
  color: var(--clr2);
}
.box_access .item .txt .desc {
  line-height: 1.5;
  font-size: var(--fs-base);
}
.box_access .item .txt .desc:not(:last-child) {
  margin-bottom: 10px;
}
.box_access .item .txt .link a {
  display: table;
  position: relative;
  text-decoration: none;
  color: var(--clr2);
  font-size: var(--fs-base);
  letter-spacing: 0.1em;
  padding-right: 2.625em;
}
.box_access .item .txt .link a::before, .box_access .item .txt .link a::after {
  content: "";
  position: absolute;
  width: 22px;
  aspect-ratio: 1/1;
  top: calc(50% - 11px);
  right: 0;
  border-radius: 50%;
  transition: all 0.3s ease;
}
.box_access .item .txt .link a::before {
  background-color: currentColor;
}
.box_access .item .txt .link a::after {
  --mask: url("../images/ic_arrow.png");
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: #fff;
}
footer .box_access .item .txt .desc{color: var(--clr1);}
@media only screen and (max-width: 1024px) {
  .box_access .item .txt .link a::before, .box_access .item .txt .link a::after {
    width: 18px;
    top: calc(50% - 9px);
  }
}
.box_access .item1::before {
  background-image: url(../images/idx02_access_ic1.png);
}
.box_access .item2::before {
  background-image: url(../images/idx02_access_ic2.png);
}
.box_access .item3::before {
  background-image: url(../images/idx02_access_ic3.png);
}

@media only screen and (min-width: 769px) {
  .box_access {
    padding-top: 37px;
    font-size: min(0.9vw, 0.625em);
  }
  .box_access .item {
    gap: 1.2em;
    border-radius: 2em;
    padding: 3.9em 3em 3.8em;
  }
  .box_access .item::before {
    width: round(8em, 1px);
    height: round(8em, 1px);
    top: -0.3em;
  }
  .box_access .item .txt .tt {
    margin-bottom: 11px;
  }
  .box_access .item .txt .link a:hover {
    opacity: 1;
  }
  .box_access .item1 {
    padding-bottom: 31px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .box_access {
    padding-left: 15px;
    padding-right: 30px;
  }
}
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                INDEX                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                Under                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/

/*# sourceMappingURL=style.css.map */
