@charset "UTF-8";

:root {
  --f-notosans: "Noto Sans JP", sans-serif;
  --f-jp: "Noto Serif JP", serif;
  --f-en: "Lato", sans-serif;
  --f-zen-gothic: "Zen Maru Gothic", sans-serif;
  --f-zen-antique: "Zen Kaku Gothic Antique", sans-serif;
  --f-mplus: "M PLUS Rounded 1c", sans-serif;
  --f-KosugiMaru: "Kosugi Maru", sans-serif;
  --main-color: #ec75aa;
  --clr1: #5a5a5a;
  --clr2: #00ade7;
  --ttl_size: 28px;
  --wrapper: 100px;
  --border-radius: 10px;
}

/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////  Copyright (C) 2009 株式会社フリーセル All Rights Reserved.  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
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%);
}

body {
  background-color: #ffffff;
  -webkit-text-size-adjust: none;
  letter-spacing: 0.1em;
  color: var(--clr1);
  font-family: var(--f-zen-gothic);
}

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.tel_click {
  text-decoration: none;
  color: inherit;
}

@media only screen and (min-width: 769px) {
  a:not(.tel_click, [target*=_blank]) {
    transition: all 0.3s ease;
  }

  a:not(.tel_click, [target*=_blank]):hover {
    opacity: 0.7;
  }

  a.tel_click {
    pointer-events: none;
  }

  a:not(.tel_click, [target*=_blank]):hover,
  a:not(.tel_click, [target*=_blank]):active {
    color: #64b5f7;
  }
}

.br-auto {
  display: inline-block !important;
}

a.logo:hover,
.logo a:hover,
a.ft_logo:hover,
.ft_logo a:hover,
a.tel_click:hover {
  opacity: 1 !important;
}

.idx-tel {
  font-size: 10px;
  font-family: var(--f-KosugiMaru);
  border-radius: 10px;
  margin-left: auto;
  margin-right: auto;
}

.idx-tel a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.idx-tel .txt {
  color: var(--main-color);
  display: flex;
  align-items: center;
  position: relative;
  letter-spacing: 0.05em;
}

.idx-tel .txt::before {
  display: block;
  content: "";
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: 100% auto;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='49px' height='50px'%3E%3Cpath fill-rule='evenodd' fill='rgb(236, 117, 170)' d='M48.974,36.906 L48.974,46.426 C48.975,47.842 47.882,49.013 46.473,49.116 C45.298,49.196 44.338,49.238 43.596,49.238 C19.834,49.238 0.572,29.956 0.572,6.163 C0.572,5.421 0.613,4.458 0.696,3.278 C0.795,1.872 1.967,0.776 3.380,0.776 L12.888,0.776 C13.579,0.776 14.158,1.301 14.227,1.990 C14.289,2.609 14.346,3.101 14.399,3.476 C14.934,7.210 16.029,10.838 17.648,14.247 C17.903,14.786 17.737,15.428 17.252,15.773 L11.449,19.925 C14.998,28.201 21.586,34.797 29.853,38.351 L33.994,32.548 C34.343,32.061 34.992,31.893 35.535,32.149 C38.936,33.769 42.562,34.862 46.290,35.392 C46.664,35.450 47.156,35.508 47.770,35.566 C48.456,35.637 48.978,36.216 48.977,36.906 L48.974,36.906 Z'/%3E%3C/svg%3E");
  background-color: var(--main-color);
  width: 25px;
  height: 25px;
}

.idx-tel .txt::after {
  position: absolute;
  content: "";
  background-color: #e3c7d3;
  top: 6px;
  left: 58px;
  width: 1px;
  height: 36px;
}

@media (width <=1024px) {
  .idx-tel {
    font-size: 8px;
  }
}

table {
  width: 100%;
}

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

.captcha_box iframe {
  height: auto;
}

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

.cl1 {
  color: var(--main-color);
}

.cl2 {
  color: var(--clr2);
}

p,
li {
  line-height: 2.25;
  letter-spacing: 0.1em;
  word-wrap: break-word;
  word-break: break-word;
  margin-bottom: 15px;
}

p:empty,
li:empty {
  display: none !important;
}

p:last-child,
li:last-child {
  margin-bottom: 0;
}

li {
  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 {
  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;
}

@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;
  }
}

.TabContainer .TabContent {
  position: relative;
  z-index: 1;
}

.TabContainer .TabContent .content {
  transition: all 0.3s ease-in-out;
  background-color: rgba(255, 255, 255, 0.9);
}

.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;
}

.TabContainer .TabPager {
  display: flex;
  justify-content: center;
  margin: 0px auto;
}

.TabContainer .TabPager>div {
  background-color: #fbdbdf;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  margin: 0;
  padding: 10px;
  transition: all 0.3s ease;
  cursor: pointer;
  color: var(--main-color);
  border-radius: var(--border-radius);
  z-index: 2;
}

.TabContainer .TabPager>div::after {
  position: absolute;
  content: "";
  transition: all 0.3s ease;
  bottom: -14px;
  left: calc(50% - 16px);
  background-color: var(--main-color);
  width: 32px;
  height: 30px;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  opacity: 0;
}

.TabContainer .TabPager>div p {
  margin: 0;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.1em;
}

.TabContainer .TabPager>div p span {
  display: inline-block;
}

.TabContainer .TabPager>div.active {
  background-color: var(--main-color);
  color: #fff;
}

.TabContainer .TabPager>div.active:hover {
  background-color: var(--main-color);
}

.TabContainer .TabPager>div.active::after {
  opacity: 1;
}

@media only screen and (min-width: 769px) {
  .TabContainer .TabPager>div:hover {
    background-color: #e5c0c4;
  }
}

.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);
}

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

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

.btn a {
  position: relative;
  color: var(--main-color);
  text-decoration: none;
  font-weight: 500;
}

.btn a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 6px;
  height: 8px;
  right: 20px;
  top: calc(50% - 4px);
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='12px' height='16px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M0.006,14.655 L8.626,8.002 L11.1000,7.991 L2.404,15.987 L0.006,14.655 ZM8.402,7.991 L0.006,1.334 L2.404,0.001 L11.1000,7.991 L8.402,7.991 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: var(--main-color);
}

.btn-group {
  font-size: 0.625em;
}

.btn-group .btn {
  font-size: 1em;
}

.btn-group .btn.style01,
.btn-group .btn.style02 {
  width: 100%;
  max-width: 320px;
  overflow: hidden;
}

.btn-group .btn.style01 a,
.btn-group .btn.style02 a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 70px;
  padding: 0.5em 1em;
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  background: linear-gradient(270deg, #ffffff -90%, #ffffff -100%, #00ade7 35%);
  transition: all 0.3s;
  border-radius: 35px;
}

.btn-group .btn.style01 a span,
.btn-group .btn.style02 a span {
  display: inline-block;
}

.btn-group .btn.style01 a::after,
.btn-group .btn.style02 a::after {
  background-color: #fff;
}

.btn-group .btn.style01 a:hover,
.btn-group .btn.style02 a:hover {
  opacity: 1;
}

@media only screen and (min-width: 769px) {

  .btn-group .btn.style01 a:hover,
  .btn-group .btn.style02 a:hover {
    opacity: 0.8;
  }
}

@media (769px <=width <=1280px) {

  .btn-group .btn.style01 a,
  .btn-group .btn.style02 a {
    font-size: 16px;
  }
}

.btn-group .btn.style02 a {
  background: linear-gradient(270deg, #ffffff -90%, #ffffff -100%, #ec75aa 35%);
}

.btn-group .btn.bg01 a {
  background-color: #fff;
  color: var(--main-color);
}

.btn-group .btn.bg01 a::after {
  background-color: var(--main-color);
}

.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;
}

/* 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;
}

.idx-banner {
  padding-top: 31px;
  padding-bottom: 120px;
}

.idx-banner .flex {
  gap: 16px;
  justify-content: center;
}

.idx-banner .bn {
  width: calc(25% - 12px);
  max-width: 308px;
  margin-bottom: 0;
}

.idx-banner .bn.full {
  width: 100%;
  max-width: 632px;
  margin-left: auto;
  margin-right: auto;
}

.idx-banner .col1 {
  margin-bottom: 16px;
}

@media (769px <=width <=1024px) {
  .idx-banner {
    padding-top: 0;
    padding-bottom: 60px;
  }
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 116px;
  z-index: 20;
}

header:not(.active) .logo img {
  filter: brightness(0) invert(1);
}

.ovh header .logo img {
  filter: none;
}

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

header.active .logo,
.ovh header .logo {
  top: 0;
  left: 0;
}

header.active .pc_navi>ul>li::before,
.ovh header .pc_navi>ul>li::before {
  background-color: var(--main-color);
}

header.active .pc_navi>ul>li>a,
header.active .pc_navi>ul>li>p,
.ovh header .pc_navi>ul>li>a,
.ovh header .pc_navi>ul>li>p {
  color: var(--main-color);
}

header.active .pc_navi>ul>li>a::after,
header.active .pc_navi>ul>li>p::after,
.ovh header .pc_navi>ul>li>a::after,
.ovh header .pc_navi>ul>li>p::after {
  background-color: var(--main-color);
}

header.active #nav-icon span,
.ovh header #nav-icon span {
  background-color: var(--main-color);
}

@media only screen and (min-width: 769px) {

  header.active .hamburger-btn:hover #nav-icon span,
  .ovh header .hamburger-btn:hover #nav-icon span {
    background-color: #fff;
  }
}

@media (min-width: 1281px) {
  header.active .hamburger-btn {
    top: 7px;
  }
}

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

.logo {
  width: 25%;
  max-width: 466px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  left: 33px;
  top: 8px;
  transition: all 0.3s;
}

.logo a {
  display: block;
  width: 100%;
  text-align: center;
}

.logo img {
  width: auto;
  transition: all 0.3s;
}

.right_head {
  width: 73%;
  max-width: 100%;
  padding-right: 9.75em;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.pc_navi {
  width: 100%;
}

.pc_navi>ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  text-align: center;
  width: 100%;
}

.pc_navi>ul>li {
  position: relative;
  padding: 0 1.4375em;
}

.pc_navi>ul>li::before {
  position: absolute;
  content: "";
  top: calc(50% - 0.3125em);
  left: 0;
  width: 2px;
  height: 14px;
  background-color: #fff;
}

.pc_navi>ul>li:first-child {
  padding-left: 0;
}

.pc_navi>ul>li:first-child::before {
  display: none;
}

.pc_navi>ul>li:last-child {
  padding-right: 0;
}

.pc_navi>ul>li:hover>a,
.pc_navi>ul>li:hover>p {
  opacity: 0.8;
  color: var(--main-color);
}

.pc_navi>ul>li.menu-item-has-children>a::after,
.pc_navi>ul>li.menu-item-has-children>p::after {
  position: absolute;
  content: "";
  left: calc(50% - 0.2777777778em);
  bottom: -0.4444444444em;
  width: 8px;
  height: 6px;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='16px' height='12px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M8.007,11.999 L8.007,8.403 L14.665,0.005 L16.000,2.404 L8.007,11.999 ZM1.344,0.005 L7.998,8.625 L8.007,11.999 L0.013,2.404 L1.344,0.005 Z'/%3E%3C/svg%3E");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: 100% auto;
  background-color: #fff;
}

.pc_navi>ul>li>a,
.pc_navi>ul>li>p {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 0;
  height: 40px;
  text-decoration: none;
  text-align: center;
  font-size: 1.125em;
  line-height: 1.5;
  letter-spacing: 0.1em;
  transition: all 0.2s ease;
  color: #fff;
}

.pc_navi>ul>li>a span,
.pc_navi>ul>li>p span {
  display: block;
  width: 100%;
  padding-top: 0px;
  font-size: 66.6666666667%;
  font-weight: 600;
}

.pc_navi>ul>li:nth-child(3) .subInner {
  width: 30em;
}

@media (769px <=width <=991px) {
  .pc_navi>ul>li:nth-child(3) .subInner {
    width: 38em;
  }
}

.pc_navi>ul>li:last-child .subInner {
  width: 36em;
  right: 90%;
}

@media (769px <=width <=1280px) {
  .logo {
    left: 0;
  }

  .pc_navi>ul>li:last-child .subInner {
    width: 33em;
    right: 100%;
  }

  .header_top {
    font-size: min(1em, 1.3vw);
  }
}

@media (769px <=width <=1024px) {
  .pc_navi>ul>li:last-child .subInner {
    right: 116%;
  }
}

@media (769px <=width <=991px) {
  .pc_navi>ul>li:last-child .subInner {
    right: 180%;
    width: 42em;
  }
}

.pc_navi>ul .subInner {
  position: absolute;
  width: 18em;
  right: 50%;
  bottom: -15px;
  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: 0.875em;
  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(-54%);
}

@media (769px <=width <=1366px) {
  .pc_navi>ul .subInner ul li a {
    padding: 0.8em 0.6em;
  }
}

@media only screen and (min-width: 769px) {
  .pc_navi>ul .col2 .subInner {
    width: 440px;
  }

  .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: 1320px;
    margin: auto;
    min-height: 100%;
    display: flex;
    align-items: center;
  }

  .menu_toggle .inside .ft_link .link_list {
    width: 100%;
  }

  .menu_toggle .inside .ft_link li {
    margin-bottom: 0.85em;
  }
}

@media only screen and (min-width: 769px) and (max-width: 1560px) {
  .menu_toggle .inside .ft_link li {
    margin-bottom: 0.4em;
  }

  .menu_toggle .inside .ft_link .menu02 {
    margin-top: 4em;
  }

  .menu_toggle .inside .ft_link .title {
    margin-bottom: 0.5em;
  }
}

@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .menu_toggle .inside .ft_link li {
    margin-bottom: 0;
  }

  .menu_toggle .inside .ft_link {
    font-size: 14px;
  }

  .menu_toggle .inside .ft_link .menu02 {
    margin-top: 3.5em;
  }
}

@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .menu_toggle .inside .ft_link li {
    margin-bottom: 0.2em;
  }
}

@media only screen and (min-width: 769px) and (max-width: 1366px) {
  :root {
    --wrapper: 100px;
  }
}

@media (769px <=width <=1280px) {
  header {
    height: var(--wrapper);
  }

  .logo {
    left: 0;
  }

  .right_head {
    padding-right: 6.875em;
  }

  .pc_navi {
    padding-top: 18px;
  }
}

@media (769px <=width <=1280px) {
  .pc_navi {
    padding-top: 0;
  }
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .pc_navi>ul {}

  .pc_navi>ul>li::before {
    top: calc(50% - 0.4em);
  }

  .pc_navi>ul>li>a,
  .pc_navi>ul>li p {}

  .pc_navi>ul .subInner ul li a {
    font-size: 12px;
  }

  .right_head {
    padding-right: 100px;
  }
}

@media (769px <=width <=991px) {
  .pc_navi>ul>li::before {
    top: calc(50% - 0.6em);
  }

  .right_head {
    padding-right: 75px;
  }
}

.idx_gallery .list {
  display: flex;
}

.idx_gallery .list .img img {
  overflow: hidden;
}

@media (769px <=width <=1366px) {
  .idx_gallery .img {
    width: 28vw;
  }
}

.time_sheet {
  margin: 0px auto;
}

.time_sheet .dot {
  position: relative;
  padding: 0 0.5em;
}

.time_sheet .dot::before {
  position: absolute;
  content: "";
  background-color: #3d3d3d;
  width: 5px;
  height: 1px;
  top: 0.8125em;
  left: 0.3125em;
}

.time_sheet .txt-note {
  margin-top: 27px;
}

.time_sheet .note {
  line-height: 2.1428571429;
  font-size: 14px;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
}

.time_sheet .note span {
  color: var(--main-color);
  display: inline-block;
}

.time_sheet .time_inner {
  border: 1px solid #e577a7;
  border-radius: 22px;
}

.time_sheet .cl1 {
  color: var(--clr2);
}

.time_sheet .cl2 {
  color: #4b4b4b;
}

.time_sheet table {
  font-feature-settings: "palt";
}

.time_sheet table th,
.time_sheet table td {
  border-top: none;
  border-right: none;
  border-left: none;
  text-align: center;
  letter-spacing: 0.05em;
  font-weight: 300;
  width: 9.15%;
  border-bottom: 1px solid #e8e7e2;
  padding: 0;
  font-family: var(--f-notosans);
  padding-top: 0.8125em;
  padding-bottom: 0.625em;
}

.time_sheet table th .sm,
.time_sheet table td .sm {
  display: block;
  font-size: 0.75em;
  color: #e35d89;
  letter-spacing: 0.05em;
  line-height: 1;
}

@media (min-width: 1281px) {

  .time_sheet table th .sm,
  .time_sheet table td .sm {
    position: relative;
    top: 2px;
  }
}

.time_sheet table th:first-child,
.time_sheet table td:first-child {
  width: 31.2%;
  padding-left: 0.88889em;
}

.time_sheet table th:last-child,
.time_sheet table td:last-child {
  width: 14%;
  padding-right: 0.61111em;
}

.time_sheet table td {
  color: var(--main-color);
}

.time_sheet table td:first-child {
  font-weight: 400;
  color: #3d3d3d;
}

.time_sheet table tr:first-child th {
  font-size: 1.125em;
  background-color: #e577a7;
  padding-top: 1.1111111111em;
  padding-bottom: 1.2777777778em;
  letter-spacing: 0.1em;
  font-weight: 500;
  font-family: var(--f-zen-gothic);
  color: #fff;
}

.time_sheet table tr:first-child th:first-child {
  border-top-left-radius: 20px;
}

.time_sheet table tr:first-child th:last-child {
  border-top-right-radius: 20px;
}

.time_sheet table tr:last-child th,
.time_sheet table tr:last-child td {
  border-bottom: 0;
}

.time_sheet table tr:last-child td {
  padding-bottom: 0.6875em;
}

.time_sheet table tbody tr td:not(:first-child) {
  font-size: 18px;
}

@media only screen and (max-width: 992px) and (min-width: 769px) {
  :root {
    --ttl_size: 22px;
    --wrapper: 80px;
  }
}

.totop {
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  position: fixed;
  z-index: 19;
  bottom: 25px;
  right: 25px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  box-shadow: 10px 17.321px 44.5px 5.5px rgba(0, 0, 0, 0.05);
  background-color: #fff;
}

.totop.active {
  opacity: 1;
  visibility: visible;
}

.totop .icon {
  background-image: url(../images/totop.png);
  background-repeat: no-repeat;
  background-size: 10px auto;
  background-position: center;
  border: 0px;
  margin: 0;
  width: 100%;
  height: 100%;
  transition: all 0.3s;
}

@media only screen and (min-width: 769px) {
  .totop:hover {
    background-color: var(--clr2);
  }

  .totop:hover .icon {
    background-image: url(../images/totop-hover.png);
  }
}

.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: 29.8em;
  right: 0px;
  z-index: 15;
  transition: right 0.3s ease-in-out;
}

.fixed_banner>div {
  position: relative;
  transition: all 0.3s ease;
  background-color: #fff;
}

.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;
  text-transform: uppercase;
  font-size: 1em;
}

.fixed_banner p:hover {
  color: #fff;
}

.fixed_banner p .tt {
  font-weight: 500;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 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 {
  font-family: var(--f-zen-gothic);
}

.fixed_banner .tel p .tt {
  letter-spacing: 0.05em;
  color: var(--clr1);
}

.fixed_banner .tel p .tt::before {
  margin-bottom: 0.9375em;
  width: 1.1875em;
  height: 1.125em;
  background-color: #e577a7;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='36px' height='36px'%3E%3Cpath fill-rule='evenodd' fill='rgb(229, 119, 167)' d='M35.998,26.839 L35.998,33.912 C35.998,34.964 35.186,35.836 34.138,35.908 C33.263,35.968 32.549,35.1000 31.997,35.1000 C14.321,35.1000 -0.006,21.672 -0.006,3.995 C-0.006,3.443 0.024,2.729 0.086,1.852 C0.159,0.808 1.031,-0.004 2.082,-0.004 L9.155,-0.004 C9.669,-0.004 10.099,0.383 10.151,0.895 C10.197,1.355 10.239,1.723 10.279,2.000 C10.676,4.772 11.491,7.470 12.695,10.001 C12.885,10.402 12.761,10.881 12.401,11.137 L8.085,14.219 C10.724,20.370 15.625,25.271 21.774,27.912 L24.855,23.602 C25.114,23.240 25.597,23.115 26.001,23.303 C28.531,24.506 31.228,25.319 34.002,25.715 C34.279,25.755 34.646,25.798 35.102,25.843 C35.612,25.895 36.000,26.324 35.1000,26.839 L35.998,26.839 Z'/%3E%3C/svg%3E");
}

.fixed_banner .web p {
  font-family: var(--f-zen-antique);
}

.fixed_banner .web p .tt {
  color: #606060;
}

.fixed_banner .web p .tt::before {
  margin-bottom: 0.5em;
  width: 1em;
  height: 1.0588235294em;
  background-color: #00ade7;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='34px' height='37px'%3E%3Cpath fill-rule='evenodd' fill='rgb(0, 173, 231)' d='M32.104,36.018 L1.889,36.018 C0.846,36.018 0.000,35.104 0.000,33.979 L0.000,8.165 C0.000,7.039 0.846,6.122 1.889,6.122 L7.554,6.122 L7.554,2.042 C7.554,0.914 8.399,0.001 9.442,0.001 C10.485,0.001 11.331,0.914 11.331,2.042 L11.331,6.122 L22.661,6.122 L22.661,2.042 C22.661,0.914 23.507,0.001 24.550,0.001 C25.593,0.001 26.438,0.914 26.438,2.042 L26.438,6.122 L30.215,6.122 L32.104,6.122 C33.147,6.122 33.992,7.039 33.992,8.165 L33.992,33.979 C33.992,35.104 33.147,36.018 32.104,36.018 ZM15.580,22.923 L12.194,19.265 C11.456,18.467 10.261,18.467 9.523,19.265 C8.785,20.061 8.785,21.353 9.523,22.151 L14.244,27.254 C14.599,27.637 15.079,27.855 15.580,27.855 C16.080,27.855 16.561,27.637 16.915,27.254 L24.468,19.091 C25.206,18.292 25.206,16.998 24.468,16.202 C23.731,15.405 22.536,15.405 21.798,16.202 L15.580,22.923 Z'/%3E%3C/svg%3E");
}

.fixed_banner .mail p {
  background-color: #5ac6d2;
}

.fixed_banner .mail p .tt::before {
  margin-bottom: 0.5em;
  width: 2.333em;
  height: 1.6667em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 272 196' %3E%3Cpath d='M233.995,0.755 L38.001,0.755 C17.197,0.755 0.331,17.258 0.331,37.614 L0.331,158.907 C0.331,179.250 17.197,195.759 38.001,195.759 L233.995,195.759 C254.798,195.759 271.666,179.250 271.666,158.907 L271.666,37.614 C271.666,17.258 254.798,0.755 233.995,0.755 ZM94.749,132.313 L41.999,176.344 C38.278,179.430 32.683,179.025 29.509,175.377 C26.333,171.737 26.775,166.259 30.500,163.160 L83.252,119.122 C86.970,116.029 92.565,116.474 95.739,120.108 C98.917,123.762 98.475,129.220 94.749,132.313 ZM135.998,115.591 C128.943,115.565 122.103,113.265 116.755,108.767 L116.759,108.767 L116.743,108.754 C116.747,108.754 116.751,108.754 116.755,108.767 L35.815,40.037 C32.118,36.892 31.724,31.428 34.930,27.807 C38.140,24.204 43.732,23.811 47.428,26.937 L128.388,95.673 C130.118,97.194 132.970,98.257 135.998,98.251 C139.022,98.251 141.824,97.200 143.650,95.628 L143.691,95.589 L224.568,26.943 C228.263,23.811 233.857,24.204 237.067,27.807 C240.272,31.428 239.878,36.892 236.180,40.037 L155.218,108.774 C149.889,113.259 143.058,115.585 135.998,115.591 ZM242.492,175.377 C239.316,179.025 233.721,179.430 230.003,176.344 L177.251,132.313 C173.526,129.220 173.084,123.762 176.261,120.108 C179.435,116.474 185.029,116.029 188.748,119.122 L241.501,163.160 C245.226,166.259 245.666,171.737 242.492,175.377 Z'/%3E%3C/svg%3E");
}

@media only screen and (min-width: 769px) {
  .fixed_banner {
    font-size: 10px;
    --size: 6em;
    width: 6em;
  }

  .fixed_banner>div {
    width: var(--size);
    height: 20em;
    margin-bottom: 0.5em;
    border-radius: 5px 0 0 5px;
  }

  .fixed_banner p {
    width: var(--size);
    height: 20em;
  }

  .fixed_banner p .tt {
    font-size: 1.2em;
    letter-spacing: 0.1em;
  }

  .fixed_banner .tel {
    --w_tel: 15em;
    transform: translateX(calc(-var(--size) - var(--w_tel)));
    transition: all 0.3s ease;
  }

  .fixed_banner .tel .tt {
    font-size: 1.6em;
  }

  .fixed_banner .tel .tt::before {
    margin-bottom: 0.45em;
  }

  .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(--main-color);
    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: 1.5em;
    font-family: var(--f-en);
  }

  .fixed_banner .web p .tt {
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 1.7em;
  }

  .fixed_banner .web p .tt::before {
    margin-bottom: 0.882353em;
  }
}

@media (769px <=width <=1560px) {
  .fixed_banner {
    top: 50%;
    transform: translateY(-50%);
  }
}

@media only screen and (min-width: 769px) and (max-width: 1366px),
(min-width: 769px) and (max-height: 650px) {
  .fixed_banner {
    font-size: 8.75px;
  }

  .totop .icon {
    width: 60px;
    height: 60px;
  }
}

@media only screen and (min-width: 769px) and (max-height: 620px) {
  .totop {
    right: 100px;
  }
}

footer {
  padding: 110px 0 70px;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

footer::before {
  position: absolute;
  content: "";
  top: -115px;
  left: 0;
  width: 100%;
  height: calc(100% + 115px);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../images/footer-bg.png);
}

@media (min-width: 1921px) {
  footer::before {
    background-size: cover;
  }
}

footer .inner_big {
  position: relative;
}

footer p {
  margin-bottom: 0;
}

footer .ft_top {
  width: 100%;
}

footer .time_sheet .time_inner {
  background-color: #fff;
  border: 0;
}

@media (min-width: 1281px) {
  footer .time_sheet .txt-note {
    margin-top: 27px;
  }
}

footer .time_sheet .txt-note .note {
  color: var(--clr1);
}

@media (min-width: 1281px) {
  footer .time_sheet tr:last-child td {
    padding-bottom: 13px;
  }
}

footer .ft_map iframe {
  border-radius: 20px;
}

footer .idx-tel {
  width: 27.1em;
  padding-left: 1.1em;
  padding-top: 2.25em;
  padding-bottom: 2.2em;
  background-color: #ffffff;
}

footer .idx-tel .txt {
  font-size: 2.4em;
}

footer .idx-tel .txt::before {
  margin-right: 1.8333333333em;
}

footer .idx-tel .txt::after {
  top: -1px;
  left: 1.8333333333em;
}

footer p,
footer a {
  color: #fff;
  text-decoration: none;
}

footer .ft_logo {
  padding: 0px 0 18px;
  max-width: 464px;
  margin-left: auto;
  margin-right: auto;
}

footer .ft_info {
  max-width: 640px;
  width: 50%;
}

footer .ft_info .des {
  margin-bottom: 26px;
  color: var(--clr1);
  letter-spacing: 0.1em;
  font-weight: 500;
  text-align: center;
  margin-top: 5px;
  margin-bottom: 31px;
  font-size: 18px;
}

@media (max-width: 1280px) {
  footer .ft_info .des {
    font-size: 16px;
  }
}

footer .ft_info .des span {
  display: inline-block;
}

footer .ft_map {
  max-width: 580px;
  width: 49%;
  height: 638px;
}

footer .ft_link {
  width: 100%;
  margin-top: 81px;
}

.ft_link a {
  text-decoration: none;
}

.ft_link .link_list {
  width: auto;
}

.ft_link .title {
  margin-bottom: 1.0416666667em;
  padding-left: 0;
  font-size: 1.5em;
  letter-spacing: 0.1em;
  line-height: 1;
  pointer-events: none;
  color: var(--main-color);
  font-weight: bold;
}

.ft_link .title::before {
  display: none;
}

.ft_link ul:last-child {
  margin-bottom: 0;
}

.ft_link li {
  margin-bottom: 1.28125em;
  letter-spacing: 0.1em;
  line-height: 1.6;
}

.ft_link a {
  display: table;
  position: relative;
  color: var(--clr1);
  line-height: 1.6;
  font-weight: 500;
  padding-left: 1.125em;
}

.ft_link a::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "・";
  border-radius: 100%;
  width: auto;
  height: auto;
}

.ft_link a:hover {
  opacity: 1;
}

.ft_link a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 0;
  height: 0;
  border-bottom: 1px solid;
  bottom: 0;
  left: 1em;
}

.ft_link a:hover {
  opacity: 1;
  color: var(--clr2);
}

@media only screen and (min-width: 769px) {
  .ft_link a:hover::after {
    width: calc(100% - 1em);
  }
}

@media only screen and (min-width: 769px) {
  .ft_link .menu02 {
    margin-top: 6.9em;
  }
}

.copyright {
  padding-top: 18px;
  padding-bottom: 20px;
  color: #fff;
  position: relative;
  z-index: 1;
}

.copyright .flex {
  align-items: center;
  justify-content: center;
  min-height: 40px;
}

.copyright .inner_big {
  max-width: 1135px;
}

.copyright::before {
  position: absolute;
  content: "";
  display: block;
  z-index: -1;
  left: calc(50% - 50vw);
  top: 0;
  height: 100%;
  width: 100vw;
  background-color: #fff;
}

.copyright .textwidget {
  display: block;
  margin-top: 2px;
  line-height: 20px;
  padding-left: 19px;
  padding-bottom: 3px;
  margin-left: 19px;
  border-left: 1px solid #cecece;
  font-weight: 400;
  letter-spacing: 0.1em;
}

.copyright .textwidget p {
  margin-bottom: 0;
  line-height: inherit;
  letter-spacing: 0.1em;
  color: #203424;
  font-size: 16px;
}

.copyright .grits {
  margin-bottom: 0;
  line-height: 2.501;
}

.copyright .grits a {
  display: block;
}

.copyright .grits img {
  max-width: 184px;
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
  footer {
    padding: 80px 0 40px;
  }

  footer .ft_map {
    width: 48%;
  }

  .ft_link li {
    margin-bottom: 1.1em;
  }

  .ft_link a {
    font-size: 12px;
    letter-spacing: 0.05em;
  }
}

@media only screen and (min-width: 769px) and (max-width: 991px) {
  footer .idx-tel {
    padding-bottom: 2em;
  }

  footer .idx-tel .txt::before {
    margin-right: 1.4em;
  }

  footer .idx-tel .txt::after {
    left: 2.1em;
    top: -5px;
  }
}

/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                INDEX                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                Under                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/

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