@charset "UTF-8";
:root {
  --f-notosans: "Noto Sans JP", sans-serif;
  --f-jp: "Noto Serif JP", serif;
  --f-en: "Zen Kaku Gothic New", sans-serif;
  --f-shippori: "Shippori Mincho", serif;
  --main-color: #e0899b;
  --clr1: #4f5465;
  --clr2: #eeb67a;
  --ttl_size: 28px;
  --wrapper: 100px;
  --border-radius: 10px;
}

.home_page {
  background-image: url(../images/home-page-bg.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
@media only screen and (max-width: 991px) and (min-width: 769px) {
  .home_page {
    background-size: inherit;
  }
}
@media only screen and (max-width: 768px) {
  .home_page {
    background-size: 100% 15%;
  }
}

/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////  Copyright (C) 2009 株式会社フリーセル All Rights Reserved.  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
body {
  background-color: #ffffff;
  -webkit-text-size-adjust: none;
  letter-spacing: 0.1em;
  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: 2.25;
  letter-spacing: 0.1em;
  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 {
  overflow: hidden;
  padding-top: 20px;
}
@media only screen and (max-width: 991px) and (min-width: 769px) {
  .wrapper {
    padding-top: 15px;
  }
}

.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: 2;
  overflow: hidden;
}
.TabContainer .TabContent .content {
  transition: all 0.3s ease-in-out;
  background-color: #fff;
  border-radius: 60px;
  border: 1px solid var(--main-color);
}
.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 .TabContent .tab-inner {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 42px;
  padding-bottom: 78px;
}
.TabContainer .TabPager {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 12px;
  width: 90%;
  margin: 0px auto;
  max-width: 1196px;
  min-height: 5em;
}
.TabContainer .TabPager > div {
  background-color: #a4c7ce;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  margin: 0;
  width: calc(25% - 0px);
  transition: all 0.3s ease;
  cursor: pointer;
  color: #ffffff;
  border-radius: 30px 30px 0px 0px;
  min-height: 4.375em;
}
.TabContainer .TabPager > div p {
  margin: 0;
  font-size: min(20px, 2.2vw);
  line-height: 2;
  position: relative;
}
.TabContainer .TabPager > div p::before {
  position: absolute;
  content: "";
  bottom: -13px;
  left: calc(50% - 5px);
  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='22px' height='12px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M21.018,2.019 L13.003,10.014 L13.003,10.014 L10.1000,12.013 L0.983,2.019 L2.987,0.016 L11.000,8.015 L19.014,0.016 L21.018,2.019 Z'/%3E%3C/svg%3E");
  width: 10px;
  height: 6px;
  background-color: #fff;
  opacity: 0;
}
.TabContainer .TabPager > div p .num {
  display: inline-block;
  font-size: 1.4em;
  margin-left: 0.285714em;
}
.TabContainer .TabPager > div.active {
  background-color: #fff;
  z-index: 1;
  min-height: 5em;
}
.TabContainer .TabPager > div.active p::before {
  opacity: 1;
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .TabContainer .TabPager > div p {
    font-size: min(18px, 2vw);
  }
}
@media only screen and (max-width: 991px) and (min-width: 769px) {
  .TabContainer .TabPager {
    width: 85%;
    gap: 6px;
  }
  .TabContainer .TabPager > div p {
    line-height: 1.5;
  }
  .TabContainer .TabPager > div p span {
    display: block;
  }
  .TabContainer .TabPager > div p::before {
    bottom: -8px;
  }
  .TabContainer .TabContent .tab-inner {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
@media only screen and (max-width: 768px) {
  .TabContainer .TabPager {
    gap: 5px;
  }
  .TabContainer .TabPager > div {
    border-radius: 20px 20px 0 0;
  }
  .TabContainer .TabPager > div p {
    line-height: 1.3;
    font-size: min(16px, 2.4vw);
  }
  .TabContainer .TabPager > div p span {
    display: block;
  }
  .TabContainer .TabPager > div p::before {
    bottom: -8px;
  }
  .TabContainer .TabContent .content {
    border-radius: 30px;
  }
  .TabContainer .TabContent .tab-inner {
    padding: 30px 15px;
  }
}
@media only screen and (max-width: 480px) {
  .TabContainer .TabPager {
    width: 86%;
  }
}
@media only screen and (max-width: 479px) {
  .TabContainer .TabPager {
    flex-wrap: wrap;
    min-height: unset;
    gap: 0;
  }
  .TabContainer .TabPager > div {
    width: calc(50% - 6px);
    min-height: unset !important;
    height: 70px;
  }
  .TabContainer .TabPager > div:nth-child(1) {
    border-top-right-radius: 0;
  }
  .TabContainer .TabPager > div:nth-child(2) {
    border-top-left-radius: 0;
  }
  .TabContainer .TabPager > div:nth-child(3), .TabContainer .TabPager > div:nth-child(4) {
    border-radius: 0;
  }
  .TabContainer .TabPager > div p {
    padding: 25px 0;
    font-size: 15px;
    letter-spacing: 0.05em;
  }
  .TabContainer .TabPager > div p::before {
    bottom: 12px;
  }
}

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

.tel_click {
  text-decoration: none;
  position: relative;
  display: block;
  padding-left: 6.4em;
}
.tel_click::before {
  content: "";
  position: absolute;
  top: 1.2em;
  left: 0;
  width: 4em;
  height: 4em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='40px' height='40px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M39.803,29.774 L39.803,37.592 C39.803,38.753 38.906,39.717 37.747,39.799 C36.781,39.867 35.992,39.905 35.381,39.905 C15.845,39.905 0.009,24.063 0.009,4.527 C0.009,3.918 0.042,3.126 0.111,2.160 C0.192,1.002 1.156,0.103 2.317,0.103 L10.135,0.103 C10.703,0.103 11.179,0.532 11.235,1.100 C11.286,1.608 11.333,2.016 11.377,2.318 C11.816,5.389 12.717,8.366 14.048,11.165 C14.257,11.607 14.121,12.139 13.723,12.421 L8.952,15.825 C11.869,22.623 17.285,28.040 24.083,30.960 L27.487,26.200 C27.774,25.797 28.307,25.658 28.754,25.868 C31.550,27.199 34.532,28.097 37.597,28.531 C37.904,28.576 38.309,28.624 38.813,28.672 C39.377,28.730 39.806,29.207 39.805,29.774 L39.803,29.774 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: #fff;
}
.tel_click span {
  font-family: var(--f-shippori);
  color: #fff;
  letter-spacing: 0.1em;
}
.tel_click .icon {
  display: flex;
  align-items: center;
  font-weight: 700;
  font-size: 2.8em;
  font-weight: bold;
}
.tel_click .txt {
  font-weight: 500;
  font-size: 1.4em;
  display: block;
  padding-left: 2px;
  margin-top: -3px;
}
.tel_click .txt::before {
  display: none;
}
.tel_click .txt span {
  padding-left: 5px;
}

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

.btn a {
  position: relative;
  text-decoration: none;
}
.btn a::before {
  position: absolute;
  content: "";
  top: calc(50% - 12px);
  right: 17px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: var(--main-color);
}
.btn a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 5px;
  height: 9px;
  right: 26px;
  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='9px' height='16px'%3E%3Cpath fill-rule='evenodd' fill='rgb(238, 182, 122)' d='M9.009,7.1000 L1.577,15.825 L0.090,14.260 L6.037,7.999 L0.090,1.739 L1.577,0.173 L7.523,6.435 L7.523,6.435 L9.009,7.1000 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 {
  width: 100%;
  min-width: 180px;
  max-width: 340px;
}
.btn-group .btn.style01 a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 60px;
  padding: 0.5em 1em;
  font-size: 1.6em;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: var(--main-color);
  text-align: center;
  background-color: #fff;
  transition: all 0.3s;
  border-radius: 20px;
  border: 1px solid var(--main-color);
}
.btn-group .btn.style01 a::after {
  background-color: #fff;
}
.btn-group .btn.style01 a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .btn-group .btn.style01 a:hover {
    background-color: var(--main-color);
    color: #fff;
    box-shadow: 0px 10px 30px 0px rgba(224, 137, 155, 0.5);
  }
  .btn-group .btn.style01 a:hover::before {
    background-color: #fff;
  }
  .btn-group .btn.style01 a:hover::after {
    background-color: var(--main-color);
  }
}
.btn-group .btn.style01 a[target=_blank]:hover {
  background-color: #fff;
  color: var(--main-color);
  box-shadow: unset;
}
.btn-group .btn.style01 a[target=_blank]:hover::before {
  background-color: var(--main-color);
}
.btn-group .btn.style01 a[target=_blank]:hover::after {
  background-color: #fff;
}
.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;
}

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

header.active,
.ovh header {
  background-color: #fff;
  height: var(--wrapper);
}
header.active .header_top,
.ovh header .header_top {
  padding-top: unset;
  padding-left: 20px;
  padding-right: 20px;
}
header.active .pc_navi,
.ovh header .pc_navi {
  padding-left: unset;
  padding-top: unset;
  padding-bottom: unset;
}
header.active .logo img,
.ovh header .logo img {
  filter: unset;
}
header.active .hamburger-btn,
.ovh header .hamburger-btn {
  right: 0;
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  header.active .right_head,
  .ovh header .right_head {
    max-width: 850px;
  }
}

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

.logo {
  width: 26%;
  max-width: 459px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.logo a {
  display: block;
  width: 100%;
  text-align: center;
}
.logo img {
  width: auto;
  filter: brightness(0) invert(1);
}

.right_head {
  width: 70%;
  max-width: 893px;
  padding-right: 175px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  position: relative;
  background-color: #fff;
  border-radius: 40px;
}

.pc_navi {
  width: 100%;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 67px;
}
.pc_navi > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  text-align: center;
  width: 100%;
}
.pc_navi > ul > li {
  position: relative;
}
@media only screen and (min-width: 1025px) {
  .pc_navi > ul > li:nth-child(2) {
    left: -7px;
  }
  .pc_navi > ul > li:nth-child(3) {
    left: -11px;
  }
  .pc_navi > ul > li:nth-child(4) {
    left: 3px;
  }
}
.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,
.pc_navi > ul > li.menu-item-has-children > p {
  padding-right: 1.0625em;
}
.pc_navi > ul > li.menu-item-has-children > a::after,
.pc_navi > ul > li.menu-item-has-children > p::after {
  position: absolute;
  content: "";
  background: url(../images/shared_pc_navi_arrow.png) center no-repeat;
  background-size: 100% auto;
  width: 8px;
  height: 4px;
  top: 50%;
  right: 0;
  transition: all 0.5s ease;
  /*border-color: #fff transparent transparent transparent;
  border-style: solid;
  border-width: 6px 6px 0px 6px;
  width: 0;
  height: 0;*/
}
.pc_navi > ul > li.menu-item-has-children > a:hover::after,
.pc_navi > ul > li.menu-item-has-children > p:hover::after {
  transform: translateY(5px);
}
.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-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  transition: all 0.2s ease;
  color: var(--clr1);
}
.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:hover a.title::after,
.pc_navi > ul > li:hover p.title::after {
  transform: translateY(5px);
}
.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: #eeb67a;
  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 only screen and (min-width: 769px) {
  .pc_navi > ul .col2 .subInner {
    width: 550px;
  }
  .pc_navi > ul .col2 ul {
    display: flex;
    flex-wrap: wrap;
  }
  .pc_navi > ul .col2 ul li {
    width: 50%;
  }
  .pc_navi > ul .col3 .subInner {
    width: 730px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 991px) {
  .pc_navi > ul .col3 .subInner {
    width: 60em;
  }
}
@media only screen and (min-width: 769px) {
  .pc_navi > ul .col3 ul {
    display: flex;
    flex-wrap: wrap;
  }
  .pc_navi > ul .col3 ul li {
    width: 33.33%;
  }
  .menu_toggle .inside .ft_link {
    width: 100%;
    max-width: 1320px;
    padding: 0 20px;
    margin: auto;
    min-height: 100%;
    display: flex;
    align-items: center;
    font-size: min(16px, 1.32vw);
  }
  .menu_toggle .inside .ft_link .link_list {
    width: 100%;
  }
}
@media only screen and (max-width: 1560px) and (min-width: 769px) {
  .menu_toggle .ft_link li {
    margin-bottom: 1em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .menu_toggle .ft_link {
    font-size: min(14px, 1.32vw) !important;
  }
  .menu_toggle .ft_link .ft-menuFlex .title {
    margin-bottom: 0.5em !important;
  }
  .menu_toggle .ft_link .menu01 .title {
    margin-bottom: 0.8em;
  }
  .menu_toggle .ft_link .ttl {
    font-size: 1.3em;
  }
  .menu_toggle .ft_link li {
    margin-bottom: 0.8em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  :root {
    --wrapper: 100px;
  }
  .header_top {
    padding-top: 30px;
    padding-left: 30px;
    padding-right: 30px;
  }
  .right_head {
    padding-right: 125px;
    max-width: 800px;
  }
  .pc_navi {
    padding-left: 20px;
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .pc_navi > ul {
    font-size: 1.4vw;
  }
  .pc_navi > ul .subInner ul li a {
    font-size: 12px;
  }
}
.idx_gallery .list {
  display: flex;
}
.idx_gallery .img img {
  overflow: hidden;
  border-radius: 30px;
  margin: 0 2.5px;
}
@media only screen and (max-width: 1440px) and (min-width: 769px) {
  .idx_gallery .img img {
    width: 350px;
    margin: 0 3px;
  }
}

.time_sheet {
  margin: 0px auto;
  max-width: 464px;
}
.time_sheet .note {
  margin-top: 15px;
  margin-left: -2px;
  line-height: 2;
  font-size: 14px;
  letter-spacing: 0.1em;
}
.time_sheet .note span {
  display: inline-block;
}
.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;
  font-weight: 500;
  letter-spacing: 0.1em;
  width: 9.9%;
  border-bottom: 1px solid var(--clr1);
}
.time_sheet table th:first-child,
.time_sheet table td:first-child {
  width: auto;
  padding-left: 1.9%;
}
.time_sheet table th:last-child,
.time_sheet table td:last-child {
  width: 16.05%;
  padding-left: 0.8em;
  text-align: left;
}
.time_sheet table th {
  padding: 0.6em 0.2em;
}
.time_sheet table td {
  padding: 1.35em 0.2em 1.65em;
  color: var(--main-color);
}
.time_sheet table td:first-child {
  color: #333;
}
.time_sheet table tr:nth-child(3) td {
  padding-bottom: 1.6em;
}

@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: 10px;
  right: 10px;
  width: 80px;
  height: 80px;
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.totop.active {
  opacity: 1;
  visibility: visible;
}
.totop .icon {
  background-image: url(../images/totop.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 10px auto;
  border: 0px;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  border-radius: 50%;
  background-color: #fff;
  margin: 0;
}

@media only screen and (min-width: 769px) {
  .totop:hover {
    background-color: var(--main-color);
  }
}
.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: 21.4em;
  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;
  flex-wrap: wrap;
  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: #eeb67a;
}
.fixed_banner .tel p .tt::before {
  margin-bottom: 0.5em;
  width: 1.125em;
  height: 1.1666666667em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='54px' height='54px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M53.796,39.802 L53.796,50.178 C53.797,51.718 52.605,52.997 51.068,53.106 C49.785,53.196 48.738,53.247 47.928,53.247 C21.999,53.247 0.981,32.221 0.981,6.294 C0.981,5.485 1.026,4.435 1.116,3.151 C1.224,1.614 2.504,0.423 4.045,0.423 L14.420,0.423 C15.174,0.423 15.806,0.990 15.881,1.744 C15.949,2.417 16.010,2.961 16.069,3.361 C16.652,7.436 17.847,11.389 19.613,15.103 C19.892,15.690 19.710,16.398 19.182,16.770 L12.850,21.290 C16.721,30.310 23.911,37.499 32.932,41.376 L37.450,35.057 C37.831,34.522 38.539,34.339 39.131,34.617 C42.843,36.383 46.800,37.574 50.868,38.152 C51.276,38.209 51.813,38.276 52.482,38.341 C53.231,38.415 53.800,39.049 53.799,39.802 L53.796,39.802 Z'/%3E%3C/svg%3E");
}
.fixed_banner .tel .tel_click::before {
  display: none;
}
.fixed_banner .web p {
  background-color: #2e9de9;
}
.fixed_banner .web p .tt::before {
  margin-bottom: 0.5em;
  width: 2em;
  height: 2em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 232 232 ' %3E%3Cpath d='M218.959,232.004 L13.039,232.004 C5.931,232.004 0.169,226.540 0.169,219.806 L0.169,49.115 C0.169,42.374 5.931,36.917 13.039,36.917 L51.648,36.917 L51.648,12.533 C51.648,5.799 57.410,0.348 64.518,0.348 C71.626,0.348 77.388,5.799 77.388,12.533 L77.388,36.917 L154.608,36.917 L154.608,12.533 C154.608,5.799 160.370,0.348 167.478,0.348 C174.586,0.348 180.348,5.799 180.348,12.533 L180.348,36.917 L206.089,36.917 L218.959,36.917 C226.069,36.917 231.829,42.374 231.829,49.115 L231.829,219.806 C231.829,226.540 226.069,232.004 218.959,232.004 ZM106.345,141.603 L83.269,119.752 C78.243,114.984 70.098,114.984 65.071,119.752 C60.043,124.508 60.043,132.228 65.071,136.983 L97.246,167.469 C99.659,169.750 102.934,171.045 106.345,171.045 C109.758,171.045 113.032,169.750 115.445,167.469 L166.925,118.702 C171.953,113.940 171.953,106.214 166.925,101.452 C161.898,96.690 153.753,96.690 148.726,101.452 L106.345,141.603 Z'/%3E%3C/svg%3E");
}
.fixed_banner .mail p {
  background-color: #fff;
  border: 1px solid var(--main-color);
}
.fixed_banner .mail p .tt {
  color: var(--main-color);
}
.fixed_banner .mail p .tt::before {
  margin-bottom: 0.77778em;
  width: 1.5em;
  height: 1.2222222222em;
  background-color: var(--main-color);
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='53px' height='44px'%3E%3Cpath fill-rule='evenodd' fill='rgb(224, 137, 155)' d='M45.868,43.126 L6.965,43.126 C3.135,43.126 0.018,40.070 0.018,36.311 L0.018,7.690 C0.018,3.930 3.135,0.875 6.965,0.875 L45.868,0.875 C49.698,0.875 52.815,3.930 52.815,7.690 L52.815,36.311 C52.815,40.070 49.698,43.126 45.868,43.126 ZM50.036,7.690 C50.036,5.434 48.166,3.601 45.868,3.601 L6.965,3.601 C4.666,3.601 2.797,5.434 2.797,7.690 L2.797,9.686 L26.416,25.133 L50.036,9.686 L50.036,7.690 ZM50.036,12.961 L27.187,27.905 C26.954,28.059 26.685,28.134 26.416,28.134 C26.148,28.134 25.879,28.059 25.646,27.905 L2.797,12.961 L2.797,36.311 C2.797,37.546 3.370,38.642 4.257,39.393 C4.129,38.936 4.227,38.431 4.593,38.074 L14.319,28.534 C14.862,28.000 15.741,28.000 16.284,28.534 C16.826,29.064 16.826,29.928 16.284,30.461 L6.558,39.999 C6.418,40.137 6.255,40.236 6.081,40.302 C6.367,40.363 6.661,40.399 6.965,40.399 L45.868,40.399 C46.172,40.399 46.466,40.363 46.751,40.302 C46.578,40.236 46.415,40.137 46.275,39.999 L36.549,30.461 C36.007,29.928 36.007,29.064 36.549,28.534 C37.092,28.000 37.971,28.000 38.514,28.534 L48.240,38.074 C48.605,38.431 48.703,38.936 48.576,39.393 C49.462,38.643 50.036,37.546 50.036,36.311 L50.036,12.961 Z'/%3E%3C/svg%3E");
}

@media only screen and (min-width: 769px) {
  .fixed_banner {
    font-size: 10px;
    --size: 8em;
    width: 8em;
    --radius: 30px;
  }
  .fixed_banner > div {
    width: var(--size);
    margin-bottom: 7px;
  }
  .fixed_banner p {
    height: var(--size);
    width: 100%;
  }
  .fixed_banner p .tt {
    width: 100%;
  }
  .fixed_banner .tel {
    transition: all 0.3s ease;
  }
  .fixed_banner .tel .tt::before {
    margin-bottom: 0.45em;
  }
  .fixed_banner .tel:hover a {
    width: calc(var(--size) + var(--w_tel));
  }
  .fixed_banner .tel p {
    border-radius: var(--radius) 0 0 var(--radius);
    height: 10.9166666667em;
    font-size: 2.4em;
  }
  .fixed_banner .tel p .tt {
    letter-spacing: 0;
  }
  .fixed_banner .web p .tt::before {
    margin-bottom: 0.5em;
  }
  .fixed_banner .mail p {
    border-radius: var(--radius) 0 0 var(--radius);
    height: 11.2777777778em;
    font-size: 1.8em;
    padding-top: 0.4444em;
    padding-left: 0.222em;
    transition: all 0.3s;
  }
  .fixed_banner .mail p .tt {
    letter-spacing: 0.3em;
    transition: all 0.3s;
  }
  .fixed_banner .mail p .tt::before {
    transition: all 0.3s;
  }
  .fixed_banner .mail:hover p {
    background-color: var(--main-color);
  }
  .fixed_banner .mail:hover p .tt {
    color: #fff;
  }
  .fixed_banner .mail:hover p .tt::before {
    background-color: #fff;
  }
}
@media only screen and (max-width: 1560px) and (min-width: 769px) {
  .fixed_banner {
    font-size: 8px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  .fixed_banner {
    font-size: 6.5px;
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .fixed_banner {
    --radius: 20px;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .fixed_banner {
    font-size: 6px;
  }
}
footer {
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-color: #f8f8f8;
}
footer p {
  margin-bottom: 0;
}
footer p,
footer a {
  color: #fff;
  text-decoration: none;
}
footer .ft_logo {
  padding: 0px 0 34px;
  width: 100%;
  max-width: 459px;
}
footer .ft_info {
  width: 100%;
  position: relative;
  z-index: 1;
  padding-top: 101px;
}
footer .ft_info::before {
  position: absolute;
  content: "";
  z-index: -1;
  top: 0;
  left: calc(50% - 50vw);
  width: 100vw;
  height: 100%;
  background-color: var(--main-color);
}
footer .ft_info .des {
  margin-bottom: 26px;
  font-size: 14px;
  letter-spacing: 0.1em;
}
footer .ft-top {
  position: relative;
  z-index: 1;
  padding-top: 92px;
  padding-bottom: 73px;
}
footer .ft-top::before {
  position: absolute;
  content: "";
  z-index: -1;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../images/ft-bg.jpg);
  border-radius: 120px 120px 0 0;
}
footer .ft_link {
  width: 100%;
  font-size: min(16px, 1.32vw);
}
footer .ft-left {
  max-width: 505px;
  width: 49%;
}
footer .ft-list {
  --ftList: 6.75em;
  margin-bottom: 22px;
}
footer .ft-list li {
  display: flex;
  color: #fff;
  margin-bottom: 10px;
}
footer .ft-list li:last-child {
  margin-bottom: 0;
}
footer .ft-list li span {
  display: block;
  line-height: 2.25;
  letter-spacing: 0.1em;
}
footer .ft-list li .left {
  width: var(--ftList);
}
footer .ft-list li .right {
  width: calc(100% - var(--ftList));
}
footer .ft-list li .right span {
  display: inline-block;
}
footer .ft-map {
  max-width: 700px;
  width: 55%;
  height: 340px;
}
footer .ft-map iframe {
  border-radius: 10px;
  filter: grayscale(1);
  border: 1px solid #fff;
}
footer .ft-tel {
  font-size: 10px;
}
@media only screen and (max-width: 1280px) and (min-width: 769px) {
  footer .ft_info {
    padding-top: 80px;
  }
  footer .ft-map {
    width: 49%;
    height: 385px;
  }
  footer .ft-left {
    width: 49%;
  }
  footer .ft-top {
    padding-top: 70px;
    padding-bottom: 50px;
  }
}
@media only screen and (max-width: 991px) and (min-width: 769px) {
  footer .ft-list {
    --ftList: 4em;
  }
  footer .ft-list li .right span {
    display: block;
  }
  footer .ft_info {
    padding-top: 60px;
  }
}

.ft_link a {
  text-decoration: none;
}
.ft_link .title {
  margin-bottom: 28px;
  padding-left: 0;
  font-size: 2.5em;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  pointer-events: none;
  font-family: var(--f-en);
  width: 100%;
  text-transform: uppercase;
}
.ft_link .title::before {
  display: none;
}
.ft_link .ttl {
  font-size: 1.5em;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin-bottom: 0.875em;
}
.ft_link ul:last-child {
  margin-bottom: 0;
}
.ft_link li {
  margin-bottom: 1.4em;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
.ft_link a {
  display: table;
  position: relative;
  padding-left: 0em;
  letter-spacing: 0.1em;
  color: #fff;
  line-height: 1.6;
  transition: all 0.3s;
  padding-left: 0.6875em;
}
.ft_link a:hover {
  color: #fff;
}
.ft_link a::before {
  position: absolute;
  top: calc(50% - 0.125em);
  left: 0;
  content: "";
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: #fff;
}
.ft_link a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .ft_link .ft-menuFlex {
    display: flex;
    flex-wrap: wrap;
  }
  .ft_link .menu01 {
    max-width: 307px;
    width: 30%;
    position: relative;
  }
  .ft_link .menu01::before {
    position: absolute;
    content: "";
    top: 8px;
    right: 1px;
    width: 1px;
    height: calc(100% - 40px);
    background-color: #fff;
    opacity: 0.4;
  }
  .ft_link .menu01 .title {
    margin-bottom: 1.375em;
  }
  .ft_link .ft-menuFlex {
    width: 70%;
    justify-content: space-between;
  }
  .ft_link .ft-menuFlex .title {
    margin-bottom: 1.35em;
  }
  .ft_link .mn01 .menu-flex:last-child {
    margin-top: 2em;
  }
  .ft_link .mn02 .menu-flex:last-child {
    margin-top: 4.25em;
  }
  .ft_link a:hover {
    text-decoration: underline;
    text-underline-offset: 0.3em;
  }
}
@media only screen and (min-width: 1281px) {
  .ft_link .ttl {
    margin-left: -6px;
  }
  .ft_link .title {
    margin-left: -5px;
  }
  .ft_link .mn03 {
    position: relative;
    left: 8px;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .ft_link .menu01 {
    width: 25%;
  }
  .ft_link .ft-menuFlex {
    width: 72%;
  }
}

.copyright {
  margin: 0 auto 0;
  color: #fff;
  position: relative;
  z-index: 1;
  padding-top: 27px;
  padding-bottom: 30px;
}
.copyright .flex {
  align-items: center;
  justify-content: center;
  min-height: 40px;
}
.copyright::before {
  position: absolute;
  content: "";
  display: block;
  z-index: -1;
  left: calc(50% - 50vw);
  top: 0;
  height: 100%;
  width: 100vw;
  background-color: var(--main-color);
}
.copyright .textwidget {
  display: block;
  margin-top: 2px;
  line-height: 20px;
  padding-left: 15px;
  padding-bottom: 3px;
  margin-left: 15px;
  border-left: 1px solid rgba(255, 255, 255, 0.2);
  font-weight: 400;
  letter-spacing: 0.1em;
}
.copyright .textwidget p {
  margin-bottom: 0;
  font-size: 12px;
  line-height: inherit;
  letter-spacing: 0.1em;
}
.copyright .textwidget p span {
  padding-left: 17px;
}
.copyright .grits {
  margin-bottom: 0;
  line-height: 2.501;
}
.copyright .grits a {
  display: block;
}
.copyright .grits img {
  max-width: 112px;
}

@media only screen and (min-width: 1281px) {
  .copyright .flex {
    position: relative;
    left: 7px;
  }
}
.idx08 {
  padding-bottom: 80px;
  position: relative;
  z-index: 1;
}
.idx08::before {
  position: absolute;
  content: "";
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../images/idx08-bg.jpg);
}
.idx08 .inner_big {
  width: calc(100% - 40px);
  padding-top: 75px;
  padding-bottom: 80px;
  max-width: 1720px;
  background-color: #fff;
  border-radius: 0 0 80px 80px;
  box-shadow: 0px 0px 70px 0px rgba(170, 170, 170, 0.13);
}
.idx08 .inner_big h3 {
  font-size: 10px;
  margin-bottom: 23px;
  padding-bottom: 0;
}
.idx08 .inner_big h3::after {
  display: none;
}
.idx08 .inner_big h3 span {
  display: block;
}
.idx08 .inner_big h3 .jp {
  line-height: 1.2;
  margin-top: 10px;
}
.idx08 .inner_big h3 .en {
  color: #eeb67a;
  text-transform: uppercase;
  font-size: 22px;
  letter-spacing: 0.1em;
  line-height: 1;
}
.idx08 h3 {
  padding-bottom: 0;
}
.idx08 h3::before, .idx08 h3::after {
  display: none;
}
.idx08-ttl {
  color: #fff;
  font-size: 24px;
  background-color: var(--main-color);
  display: table;
  margin-left: auto;
  margin-right: auto;
  border-radius: 23px;
  letter-spacing: 0.1em;
  padding-left: 77px;
  padding-top: 4px;
  padding-bottom: 6px;
  padding-right: 72px;
  margin-bottom: 60px;
  position: relative;
  font-weight: bold;
}
.idx08-ttl::after {
  position: absolute;
  content: "";
  left: 50%;
  transform: translateX(-50%);
  bottom: -9px;
  background-color: var(--main-color);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  width: 18px;
  height: 10px;
}
.idx08-ttl .sm {
  font-size: 18px;
  margin-right: 26px;
  font-weight: 400;
}
.idx08 .flex {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
.idx08 .box {
  max-width: 620px;
  height: 14em;
  border-radius: 20px;
  width: 49.5%;
  position: relative;
  font-size: 10px;
  transition: all 0.3s;
  display: flex;
  justify-content: center;
  align-items: center;
}
.idx08 .box p {
  text-align: center;
  margin-bottom: 0;
  position: relative;
  margin-bottom: 0;
  transition: all 0.3s;
}
.idx08 .box p::before {
  transition: all 0.3s;
  position: absolute;
  content: "";
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: 100% auto;
}
.idx08 .tel {
  background-color: var(--main-color);
  padding-right: 6.5em;
}
.idx08 .tel p {
  font-size: 1em;
  color: #fff;
  padding-left: 6.8em;
}
.idx08 .tel p::before {
  top: 0.4em;
  left: 0;
  width: 4em;
  height: 4em;
  background-color: #fff;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='40px' height='40px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M39.803,29.774 L39.803,37.592 C39.803,38.753 38.906,39.717 37.747,39.798 C36.781,39.867 35.992,39.905 35.381,39.905 C15.845,39.905 0.009,24.063 0.009,4.527 C0.009,3.917 0.042,3.126 0.111,2.160 C0.192,1.000 1.156,0.103 2.317,0.103 L10.135,0.103 C10.703,0.103 11.179,0.531 11.235,1.098 C11.286,1.608 11.333,2.015 11.377,2.319 C11.816,5.388 12.717,8.366 14.048,11.165 C14.257,11.607 14.120,12.140 13.722,12.421 L8.952,15.824 C11.869,22.623 17.285,28.040 24.082,30.960 L27.487,26.201 C27.774,25.797 28.307,25.658 28.753,25.868 C31.550,27.199 34.532,28.098 37.597,28.532 C37.904,28.575 38.309,28.623 38.813,28.672 C39.377,28.729 39.806,29.206 39.805,29.774 L39.803,29.774 Z'/%3E%3C/svg%3E");
}
.idx08 .tel p span {
  display: block;
  line-height: 1;
  letter-spacing: 0.1em;
}
.idx08 .tel p .num {
  font-size: 2.8em;
}
.idx08 .tel p .sm {
  font-size: 1.4em;
  padding-top: 7px;
}
@media only screen and (min-width: 769px) {
  .idx08 .tel {
    pointer-events: none;
  }
}
.idx08 .mail {
  background-color: #fff;
  border: 1px solid var(--main-color);
}
.idx08 .mail p {
  font-size: 2.4em;
  letter-spacing: 0.1em;
  padding-left: 2.9583333333em;
}
.idx08 .mail p::before {
  top: 0.3333333em;
  left: 0;
  width: 1.9583333333em;
  height: 1.5833333333em;
  background-color: var(--main-color);
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='94px' height='76px'%3E%3Cpath fill-rule='evenodd' fill='rgb(224, 137, 155)' d='M81.732,75.227 L13.180,75.227 C6.430,75.227 0.939,69.838 0.939,63.216 L0.939,17.600 C0.939,17.599 0.939,17.598 0.939,17.597 L0.939,12.782 C0.939,6.163 6.430,0.774 13.180,0.774 L81.732,0.774 C88.482,0.774 93.974,6.163 93.974,12.782 L93.974,17.593 C93.974,17.596 93.974,17.600 93.974,17.603 L93.974,63.216 C93.974,69.838 88.482,75.227 81.732,75.227 ZM89.077,12.782 C89.077,8.808 85.782,5.578 81.732,5.578 L13.180,5.578 C9.130,5.578 5.835,8.808 5.835,12.782 L5.835,16.301 L47.456,43.520 L89.077,16.301 L89.077,12.782 ZM89.077,22.075 L48.814,48.403 C48.403,48.674 47.929,48.805 47.456,48.805 C46.982,48.805 46.509,48.674 46.098,48.403 L5.835,22.075 L5.835,63.216 C5.835,65.390 6.826,67.337 8.383,68.659 C8.155,67.853 8.353,66.956 9.000,66.322 L26.138,49.512 C27.095,48.572 28.645,48.572 29.601,49.512 C30.557,50.446 30.557,51.968 29.601,52.909 L12.463,69.717 C12.216,69.960 11.928,70.137 11.622,70.253 C12.125,70.360 12.645,70.420 13.180,70.420 L81.732,70.420 C82.267,70.420 82.787,70.360 83.290,70.253 C82.984,70.137 82.696,69.960 82.449,69.717 L65.311,52.909 C64.355,51.968 64.355,50.446 65.311,49.512 C66.268,48.572 67.817,48.572 68.773,49.512 L85.911,66.322 C86.558,66.956 86.757,67.853 86.528,68.660 C88.086,67.338 89.077,65.390 89.077,63.216 L89.077,22.075 Z'/%3E%3C/svg%3E");
}
.idx08-des {
  letter-spacing: 0.1em;
  font-family: var(--f-shippori);
  position: relative;
  display: table;
  margin-left: auto;
  margin-right: auto;
  margin-top: 45px;
  padding-left: 57px;
}
.idx08-des span {
  padding-right: 5px;
}
.idx08-des::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  background-image: url(../images/idx08-ic1.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.idx08-banner {
  justify-content: center;
  gap: 40px;
  margin-top: 79px;
  padding-left: 20px;
  padding-right: 20px;
}
.idx08-banner .banner {
  max-width: 460px;
  width: calc(50% - 20px);
}
.idx08-banner a {
  border-radius: 20px;
}
@media only screen and (min-width: 769px) {
  .idx08 .inner_big h3 .jp {
    font-size: 3em;
    letter-spacing: 0.1em;
  }
  .idx08-banner .banner:hover a {
    opacity: 1;
  }
  .idx08 .mail:hover {
    background-color: var(--main-color);
    box-shadow: 0px 10px 30px 0px rgba(224, 137, 155, 0.5);
  }
  .idx08 .mail:hover p {
    color: #fff;
  }
  .idx08 .mail:hover p::before {
    background-color: #fff;
  }
}
@media only screen and (max-width: 991px) and (min-width: 769px) {
  .idx08 .box {
    font-size: 8px;
  }
}

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

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