@charset "UTF-8";
:root {
  --f-notosans: "Noto Sans JP", sans-serif;
  --f-jp: "Zen Maru Gothic", sans-serif;
  --f-en: "Zen Maru Gothic", sans-serif;
  --main-color: #67c5dc;
  --clr1: #515d6a;
  --clr2: #2b3938;
  --cl-or-f4770d: #f4770d;
  --ttl_size: 30px;
  --wrapper: 120px;
  --border-radius: 10px;
  --line-height-p: 2.25;
  --size-border-radius-key: 60px;
  --value-transition: all 0.3s;
}

:root {
  --size-space-left-right: 85px;
}

@media only screen and (min-width: 769px) and (max-width: 1560px) {
  :root {
    --size-space-left-right: 50px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  :root {
    --size-space-left-right: 30px;
  }
}
@media only screen and (max-width: 768px) {
  :root {
    --size-space-left-right: 20px;
  }
}
/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////  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-notosans);
}
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(--line-height-p);
  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;
}

.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;
  box-shadow: 0px 13px 24px 0px rgba(103, 197, 220, 0.1);
}
.TabContainer .TabContent .content {
  transition: var(--value-transition);
}
.TabContainer .TabContent .content > div {
  opacity: 0;
  z-index: -10;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  transition: var(--value-transition);
}
.TabContainer .TabContent .content > div.active {
  opacity: 1;
  z-index: 1;
  visibility: visible;
}
.TabContainer .TabPager {
  position: relative;
  z-index: 5;
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 0px auto;
  font-size: min(1vw, 10px);
}
.TabContainer .TabPager.style01 > div {
  position: relative;
  z-index: 1;
  background-color: #dae8ec;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  margin: 0;
  padding: 1em 1em;
  width: calc(33.3333333% - 1.5px);
  min-height: 10em;
  transition: var(--value-transition);
  cursor: pointer;
  color: var(--clr2);
}
.TabContainer .TabPager.style01 > div::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  right: 0;
  bottom: calc(-1.6em + 1px);
  margin: 0 auto;
  width: 1.6em;
  height: 1.6em;
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%, 0% 0%);
  background-color: var(--main-color);
  opacity: 0;
}
.TabContainer .TabPager.style01 > div p {
  margin: 0;
  font-size: 2em;
  letter-spacing: 0.1em;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  transition: var(--value-transition);
}
.TabContainer .TabPager.style01 > div.active {
  background-color: var(--main-color);
  z-index: 1;
  color: white;
}
.TabContainer .TabPager.style01 > div.active::after {
  opacity: 1;
}
.TabContainer .TabPager.style01 > div:first-of-type {
  border-top-left-radius: 10px;
}
.TabContainer .TabPager.style01 > div:last-of-type {
  border-top-right-radius: 10px;
}
@media only screen and (min-width: 769px) {
  .TabContainer .TabPager.style01 > div:not(.active):hover {
    background-color: #9fd2e0;
  }
}

@media only screen and (max-width: 768px) {
  .TabContainer .TabPager {
    font-size: min(1.65vw, 8px);
  }
}
.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 {
  display: table;
  text-decoration: none;
}
.tel_click .icon {
  display: flex;
  align-items: center;
  font-family: var(--f-en);
  font-weight: 700;
  color: var(--main-color);
  letter-spacing: 0.05em;
  font-size: 1.5em;
}
.tel_click .icon::before {
  content: "";
  display: block;
  margin-right: 0.3214em;
  margin-top: 0.1786em;
  width: 0.893em;
  height: 0.893em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 101' %3E%3Cpath d='M97.829,82.824 C98.198,91.823 96.073,94.826 87.308,97.205 C74.144,100.791 61.788,98.752 50.561,91.066 C33.671,79.497 19.384,65.207 7.912,48.225 C-0.287,36.096 -1.826,22.855 2.769,8.952 C4.752,2.953 8.059,0.771 14.407,0.925 C23.639,1.157 23.633,1.157 26.561,10.079 C27.869,14.063 29.100,18.078 30.561,22.007 C32.367,26.859 31.432,30.918 27.914,34.711 C22.303,40.765 22.378,40.854 26.680,47.891 C33.854,59.628 43.600,68.580 55.717,75.040 C57.758,76.123 59.178,76.250 60.774,74.416 C62.051,72.951 63.620,71.738 65.076,70.429 C68.123,67.696 71.576,66.743 75.537,68.072 C82.013,70.255 88.532,72.319 94.923,74.723 C96.087,75.162 97.048,76.900 97.511,78.240 C97.992,79.641 97.756,81.285 97.829,82.824 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);
}

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

.en-big {
  font-family: var(--f-en);
  font-size: 120px;
  letter-spacing: 0.05em;
  line-height: 0.9;
  text-transform: uppercase;
}

.btn a {
  position: relative;
  color: var(--main-color);
  text-decoration: none;
}
.btn a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 0.5em;
  height: 0.875em;
  right: 10.1%;
  top: 0;
  bottom: 0;
  margin: auto 0;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 140' %3E%3Cpath d='M0.037,128.230 L57.508,70.022 L79.999,69.932 L16.026,139.889 L0.037,128.230 ZM56.012,69.932 L0.037,11.679 L16.026,-0.008 L79.999,69.932 L56.012,69.932 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: 300px;
  overflow: hidden;
}
.btn-group .btn.style01 a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 4.375em;
  padding: 0.3em 12%;
  font-size: 1.6em;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  background-color: var(--main-color);
  transition: all 0.3s;
  border-radius: 40px;
}
.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:not([target*=_blank]):hover {
    background-color: var(--cl-or-f4770d);
  }
}
.btn-group .btn.bg01 a {
  background-color: #fff;
  color: var(--main-color);
}
.btn-group .btn.bg01 a::after {
  background-color: var(--main-color);
}
.btn-group .btn.bg02 a {
  background-color: var(--cl-or-f4770d);
}
@media only screen and (min-width: 769px) {
  .btn-group .btn.bg02 a:not([target*=_blank]):hover {
    background-color: #ff4200;
  }
}
.btn-group .btn.bg-white a {
  color: var(--cl-or-f4770d);
  background-color: white;
}
.btn-group .btn.bg-white a::after {
  background-color: var(--cl-or-f4770d);
}
@media only screen and (min-width: 769px) {
  .btn-group .btn.bg-white a:not([target*=_blank]):hover {
    background-color: #fff5d6;
  }
}
.btn-group .btn.md {
  min-width: auto;
  max-width: unset;
  width: 160px;
}
.btn-group .btn.md a {
  min-height: 53px;
  font-size: 14px;
}
.btn-group .btn.md a::after {
  right: 13%;
}

@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .btn-group .btn.style01 a::after {
    right: 6%;
  }
}
.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%;
  }
}
.br_auto {
  display: inline-block;
}

@media only screen and (max-width: 319px) {
  .br_auto {
    display: inline;
  }
}
.br_1366,
.br_1280,
.br_1170,
.br_769,
.ft_br_769,
.br_750,
.br_640,
.br_520,
.br_480,
.br_430,
.br_390,
.br_375,
.br_360,
.br_320 {
  display: none;
}

@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .br_1366 {
    display: block;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .br_1280,
  footer .ft_br_1280 {
    display: block;
  }
  .dis_1280 {
    display: none;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1170px) {
  .br_1170 {
    display: block;
  }
  .dis_1170 {
    display: none;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  footer .ft_br_769,
  .br_769 {
    display: block;
  }
  .dis_769 {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .br_750 {
    display: block;
  }
  .dis_750 {
    display: none;
  }
}
@media only screen and (max-width: 640px) {
  .br_640 {
    display: block;
  }
  .dis_640 {
    display: none;
  }
}
@media only screen and (max-width: 520px) {
  .br_520 {
    display: block;
  }
  .dis_520 {
    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: 430px) {
  .br_430 {
    display: block;
  }
  .in_430 {
    display: inline;
  }
  .dis_430 {
    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: 375px) {
  .br_375 {
    display: block;
  }
  .in_375 {
    display: inline;
  }
  .dis_375 {
    display: none;
  }
}
@media only screen and (max-width: 360px) {
  .br_360 {
    display: block;
  }
  .dis_360 {
    display: none;
  }
  .in_360 {
    display: inline;
  }
}
@media only screen and (max-width: 350px) {
  .in_320 {
    display: inline;
  }
  .br_320 {
    display: block;
  }
  .dis_320 {
    display: none;
  }
  .inside .inside_br_320 {
    display: block;
  }
}
@media only screen and (max-width: 319px) {
  .br_769,
  .br_640,
  .br_520,
  .br_480,
  .br_430,
  .br_375 {
    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);
}
.flex_gr.btn-group .btn {
  min-width: auto;
}
@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.333333% - 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));
  }
}

.link a {
  position: absolute;
  display: block;
  inset: 0;
  z-index: 2;
}

/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                           Header - Footer                                */
/*==========================================================================*/
h1 {
  position: absolute;
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: var(--wrapper);
  z-index: 20;
  margin-left: auto;
  margin-right: auto;
  font-size: min(0.73vw, 10px);
}

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;
  padding: 5px var(--size-space-left-right) 6px;
  height: 100%;
  transition: all 0.3s ease-in-out;
}

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

.right_head {
  width: 75%;
  padding-right: 137px;
  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;
  margin-right: 8.95em;
}
.pc_navi > ul > li:last-of-type {
  margin-right: 0;
}
.pc_navi > ul > li:hover > a,
.pc_navi > ul > li:hover > p {
  opacity: 0.8;
  color: var(--cl-or-f4770d);
}
.pc_navi > ul > li.menu-item-has-children > a::after,
.pc_navi > ul > li.menu-item-has-children > p::after {
  content: "";
  background: url(../images/shared_pc_navi_arrow.png) center no-repeat;
  background-size: 100% auto;
  width: 9px;
  height: 5px;
  position: absolute;
  bottom: 0px;
  left: calc(50% - 4.5px);
  transition: all 0.5s ease;
}
.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: table;
  margin: 0;
  height: 40px;
  text-decoration: none;
  text-align: center;
  font-size: 1.8em;
  line-height: 1.5;
  letter-spacing: 0.1em;
  transition: var(--value-transition);
  color: var(--clr1);
  padding-bottom: 0.35em;
  margin-bottom: -0.35em;
}
.pc_navi > ul > li > a span,
.pc_navi > ul > li > p span {
  display: block;
  margin-top: 1px;
  width: 100%;
  padding-top: 0px;
  font-size: 0.77778em;
  font-weight: 500;
  font-family: var(--f-jp);
  letter-spacing: 0.05em;
  color: var(--main-color);
}
.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: min(39em, 250px);
  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: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  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.4em;
  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: min(65em, 420px);
  }
  .pc_navi > ul .col2 .subInner ul {
    display: flex;
    flex-wrap: wrap;
  }
  .pc_navi > ul .col2 .subInner ul li {
    width: 50%;
  }
  .pc_navi > ul .col2.w-lg .subInner {
    width: min(80em, 515px);
  }
  .menu_toggle .inside .ft_link {
    width: 100%;
    max-width: 1280px;
    margin: auto;
    min-height: 100%;
    display: flex;
    align-items: center;
  }
  .menu_toggle .inside .ft_link .link_list {
    width: 100%;
  }
  .menu_toggle .inside .ft_link .menu01 {
    width: 48%;
  }
  .menu_toggle .inside .ft_link .menu02 {
    margin-top: 0;
    width: 52%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1560px) {
  .pc_navi > ul > li > p,
  .pc_navi > ul > li > a {
    text-shadow: 0px 0px 5px white, 0px 0px 5px white, 0px 0px 5px white, 0px 0px 2px white, 0px 0px 2px white, 0px 0px 2px white, 0px 0px 1px white, 0px 0px 1px white, 0px 0px 1px white;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .menu_toggle .inside .ft_link {
    max-width: 1030px;
    font-size: 8px;
  }
  :root {
    --wrapper: 100px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .menu_toggle .inside .ft_link {
    font-size: min(0.85vw, 7.5px);
  }
  .right_head {
    padding-right: 90px;
  }
  :root {
    --wrapper: 80px;
  }
  .pc_navi > ul .subInner ul li a {
    font-size: 12px;
  }
}
@media only screen and (min-width: 769px) and (max-height: 650px) {
  .menu_toggle .inside .ft_link li {
    margin-bottom: 1.6em;
  }
  .menu_toggle .inside .ft_link .menu02 > ul {
    max-height: 53em;
  }
}
.idx_gallery .list {
  display: flex;
}
.idx_gallery .list .img img {
  overflow: hidden;
  border-radius: 10px;
  margin: 0 2.5px;
}

@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx_gallery .list .img img {
    max-width: 350px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx_gallery .list .img img {
    max-width: 300px;
  }
}
.time_sheet {
  margin: 0px auto;
  max-width: 560px;
}
.time_sheet .cl-or {
  color: var(--cl-or-f4770d);
}
.time_sheet .time_sheet_note {
  margin-top: 15px;
}
.time_sheet .time_sheet_note p {
  line-height: 1.8;
  margin-bottom: 5px;
}
.time_sheet .time_sheet_note p:last-child {
  margin-bottom: 0;
}
.time_sheet table {
  font-size: min(1vw, 10px);
}
.time_sheet table th,
.time_sheet table td {
  border-top: none;
  border-right: none;
  border-left: none;
  text-align: center;
  font-size: 1.6em;
  letter-spacing: 0.1em;
  width: 8%;
}
.time_sheet table th:first-child,
.time_sheet table td:first-child {
  width: 27.4%;
}
.time_sheet table th:last-child,
.time_sheet table td:last-child {
  width: 15%;
  padding-right: 2.7em;
}
.time_sheet table th {
  padding: 1.125em 0.2em 1.125em;
  font-weight: 500;
  background-color: var(--main-color);
  color: white;
  border: none;
}
.time_sheet table th:first-child {
  letter-spacing: 0.14em;
  border-radius: 10px 0 0 10px;
}
.time_sheet table th:last-child {
  border-radius: 0 10px 10px 0;
}
.time_sheet table td {
  padding: 0.8125em 0.2em 1.125em;
  color: var(--main-color);
  border-bottom: 1px solid rgba(158, 158, 158, 0.3);
}
.time_sheet table td:first-child {
  color: #333;
}
.time_sheet table tr:nth-child(3) td {
  padding-bottom: 1.6em;
}
.time_sheet.white table th {
  color: #495b5a;
  background-color: white;
}
.time_sheet.white table td {
  color: white;
}

@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: 15;
  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: 60px;
  height: 60px;
  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% - 14em);
  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%;
  flex-direction: column;
  font-size: 1em;
  font-weight: 500;
  letter-spacing: 0.1em;
  font-family: var(--f-jp);
}
.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(--cl-or-f4770d);
}
.fixed_banner .tel p .tt::before {
  margin-bottom: 0.5em;
  width: 2.6em;
  height: 2.6em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 260' %3E%3Cpath d='M259.404,193.217 L259.404,244.102 C259.407,251.661 253.569,257.939 246.037,258.457 C239.758,258.892 234.626,259.128 230.661,259.128 C103.647,259.128 0.697,156.052 0.697,28.912 C0.697,24.938 0.913,19.802 1.359,13.514 C1.886,5.983 8.153,0.140 15.702,0.140 L66.524,0.140 C70.218,0.140 73.312,2.935 73.681,6.618 C74.013,9.912 74.314,12.553 74.602,14.549 C77.456,34.511 83.311,53.919 91.963,72.121 C93.329,74.997 92.437,78.436 89.851,80.278 L58.833,102.463 C77.799,146.706 113.013,181.948 157.200,200.939 L179.334,169.962 C181.202,167.330 184.668,166.432 187.570,167.802 C205.751,176.440 225.133,182.302 245.061,185.133 C247.060,185.441 249.689,185.741 252.965,186.058 C256.635,186.439 259.423,189.524 259.417,193.217 L259.404,193.217 Z'/%3E%3C/svg%3E");
}
.fixed_banner .time > p {
  background-color: var(--main-color);
}
.fixed_banner .time > p .tt::before {
  width: 2.8em;
  height: 2.9em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 280' %3E%3Cpath d='M279.847,151.646 C279.181,154.577 278.729,157.643 278.291,160.601 C277.913,163.160 277.524,165.792 276.993,168.387 C265.790,223.364 221.051,267.171 165.664,277.415 L150.197,279.783 L149.984,279.765 C146.740,279.584 143.262,279.702 139.900,279.820 C137.798,279.883 135.657,279.947 133.532,279.947 C131.794,279.947 130.067,279.901 128.378,279.765 C72.255,275.355 26.027,239.061 7.737,185.055 C-10.642,130.767 4.238,73.467 46.572,35.503 C66.945,17.229 91.688,5.506 118.127,1.568 C142.890,-2.116 168.554,0.997 192.343,10.578 C216.091,20.151 236.713,35.649 251.980,55.402 C268.253,76.471 277.904,101.904 279.892,128.962 L279.899,129.107 L279.899,151.428 L279.847,151.646 ZM236.825,79.247 C213.699,42.717 174.035,22.701 130.725,25.749 C92.220,28.426 58.095,50.675 39.438,85.263 C20.519,120.342 20.724,161.727 39.988,195.988 C60.453,232.383 97.789,254.114 139.858,254.114 C181.928,254.114 219.263,232.383 239.727,195.988 C260.644,158.778 259.559,115.143 236.825,79.247 ZM182.723,185.536 C180.178,185.536 177.444,184.719 174.738,182.805 L174.580,182.678 C168.590,177.460 161.425,172.542 154.494,167.788 C146.792,162.498 138.827,157.026 132.306,151.056 C129.287,148.288 127.458,145.739 127.038,140.894 C126.095,129.978 126.523,118.246 126.935,106.886 C127.308,96.651 127.693,86.053 127.060,76.208 L127.051,76.063 L127.063,75.908 C127.539,70.074 131.809,65.165 137.218,64.240 C144.737,62.969 151.159,67.397 152.493,74.774 L152.525,75.119 L152.763,134.197 L191.954,163.995 L192.109,164.195 C197.199,170.492 195.548,177.578 191.857,181.498 C189.633,183.875 186.374,185.536 182.723,185.536 Z'/%3E%3C/svg%3E");
}

@media only screen and (min-width: 769px) {
  .fixed_banner {
    font-size: 10px;
    --size: 7em;
    width: 7em;
  }
  .fixed_banner > div {
    width: var(--size);
    height: var(--size);
    margin-bottom: 0.6em;
    border-radius: 10px 0 0 10px;
  }
  .fixed_banner > div > p {
    width: var(--size);
    height: var(--size);
    border-radius: 10px 0 0 10px;
  }
  .fixed_banner .tel {
    height: 24em;
  }
  .fixed_banner .tel p {
    height: 24em;
  }
  .fixed_banner .tel p .tt {
    display: flex;
    flex-direction: row;
    padding-top: 0.7em;
    width: 100%;
    writing-mode: vertical-lr;
    letter-spacing: 0.25em;
  }
  .fixed_banner .tel p .tt::before {
    margin-bottom: 1.5em;
  }
  .fixed_banner .tel p .tt .num {
    position: relative;
    left: 0.0833em;
    font-size: 2.4em;
  }
  .fixed_banner .time {
    width: calc(var(--size) + 54.4em);
    display: flex;
    transition: var(--value-transition);
  }
  .fixed_banner .time .time_sheet_catch {
    position: relative;
    z-index: 1;
    padding: 4em 4em 4em;
    width: 54.4em;
    height: 32.3em;
    font-size: 1em;
    background-color: white;
  }
  .fixed_banner .time:hover {
    transform: translateX(-54.4em);
  }
  .fixed_banner .time .time_sheet_catch {
    border-bottom-left-radius: 20px;
  }
  .fixed_banner .time .time_sheet_note p {
    text-align: left;
    font-size: 1.6em;
    color: var(--clr1);
  }
  .fixed_banner .time .time_sheet table {
    font-size: 1em;
  }
  .fixed_banner .time .time_sheet table th,
  .fixed_banner .time .time_sheet table td {
    width: 6%;
  }
  .fixed_banner .time .time_sheet table th:first-child,
  .fixed_banner .time .time_sheet table td:first-child {
    width: 25%;
  }
  .fixed_banner .time .time_sheet table th:last-child,
  .fixed_banner .time .time_sheet table td:last-child {
    width: 8.5%;
    padding-right: 1.25em;
  }
  .fixed_banner .time .time_sheet table th {
    border-right: 2px solid var(--main-color);
  }
  .fixed_banner .time .time_sheet table th:first-of-type {
    border-radius: 5px 0 0 5px;
  }
  .fixed_banner .time .time_sheet table th:last-of-type {
    border-radius: 0 5px 5px 0;
    border-right: none;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1560px) {
  .fixed_banner {
    top: calc(50% - 19em);
    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: 7px;
  }
  .totop {
    bottom: 15px;
  }
  .totop .icon {
    width: 50px;
    height: 50px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .fixed_banner {
    top: calc(var(--wrapper) + 14em);
  }
}
@media only screen and (min-width: 769px) and (max-height: 650px) {
  .fixed_banner {
    font-size: 6.5px;
    top: calc(var(--wrapper) + 13em);
  }
}
@media only screen and (min-width: 769px) and (max-height: 500px) {
  .fixed_banner {
    top: calc(var(--wrapper) + 8em);
    font-size: 1.2vmin;
  }
  .totop {
    right: 50px;
  }
}
footer {
  padding: 91px 0 40px;
  position: relative;
  background: url(../images/ft_bg.jpg) no-repeat center/cover;
  background-color: #67c5dc;
}
footer p {
  margin-bottom: 0;
}
footer p,
footer a {
  color: #fff;
  text-decoration: none;
}
footer .ft_logo {
  display: table;
  margin-bottom: 24px;
  max-width: 406px;
}
footer .infor_address {
  margin-bottom: 17px;
}
footer .infor_tel {
  margin-bottom: 44px;
}
footer .time_sheet {
  margin-bottom: 40px;
}
footer .ft_map {
  height: 460px;
}
footer .ft_map iframe {
  border: none;
}
footer .ft_info {
  width: calc(50% - 40px);
  max-width: 560px;
}
footer .ft_info .des {
  margin-bottom: 26px;
  font-size: 14px;
  letter-spacing: 0.1em;
}
footer .ft_link {
  width: 50%;
  font-size: min(0.8vw, 10px);
}
footer .ft_link a {
  color: white;
}
footer .ft_banner_gr {
  --size-mg: 11.5px;
  padding: 0 40px;
  margin-top: 47px;
  margin-bottom: 69px;
}
footer .ft_banner_gr .banner {
  max-width: 400px;
  border-radius: 10px;
  overflow: hidden;
}

.ft_link {
  --size-max-width-col-2: 318px;
}
.ft_link a {
  text-decoration: none;
}
@media only screen and (min-width: 769px) {
  .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 .menu01 {
    width: 100%;
  }
  .ft_link .menu01 > ul {
    max-height: 35em;
  }
  .ft_link .menu01 > ul > li:nth-child(n+7) {
    max-width: var(--size-max-width-col-2);
  }
  .ft_link .menu02 {
    margin-top: 4.6em;
    width: 100%;
  }
  .ft_link .menu02 > ul {
    max-height: 54em;
  }
  .ft_link .menu02 > ul > li:nth-child(n+9) {
    max-width: var(--size-max-width-col-2);
  }
}
.ft_link .title {
  margin-bottom: 40px;
  margin-left: 4px;
  padding-left: 0;
  font-size: 5em;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  pointer-events: none;
  text-transform: uppercase;
  font-family: var(--f-en);
}
.ft_link .title::before {
  display: none;
}
.ft_link ul:last-child {
  margin-bottom: 0;
}
.ft_link li {
  margin-bottom: 2.6em;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
.ft_link a {
  display: table;
  position: relative;
  padding-left: 1.1em;
  color: inherit;
  font-size: 1.6em;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: var(--clr1);
  line-height: 1.875;
  transition: var(--value-transition);
}
.ft_link a::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  width: auto;
  height: auto;
}
.ft_link a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .ft_link a:hover {
    color: var(--cl-or-f4770d);
  }
}

.copyright {
  margin: 0 auto 0;
  color: #fff;
  padding: 20px 0px 20px;
  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: #50bbd6;
}
.copyright .textwidget {
  display: block;
  line-height: 20px;
  padding-left: 20px;
  margin-left: 22px;
  border-left: 1px solid rgba(255, 255, 255, 0.5);
  font-weight: 400;
  letter-spacing: 0.1em;
}
.copyright .textwidget p {
  margin-bottom: 0;
  font-size: 14px;
  line-height: inherit;
  letter-spacing: 0.1em;
}
@media only screen and (min-width: 769px) {
  .copyright .textwidget p {
    position: relative;
    top: -2px;
  }
  .copyright .textwidget p .txt-en {
    margin-left: 0.3em;
  }
  .copyright .textwidget p .txt-c {
    margin-right: 0.3em;
  }
}
.copyright .grits {
  margin-bottom: 0;
  line-height: 2.501;
}
.copyright .grits a {
  display: block;
}
.copyright .grits img {
  max-width: 142px;
}

@media only screen and (min-width: 769px) {
  footer .ft_info {
    padding-top: 10px;
  }
}
@media only screen and (min-width: 1025px) {
  footer .ft_link {
    --size-grow-right: 2px;
    margin-right: calc(var(--size-grow-right) * -1);
    width: calc(50.2% + var(--size-grow-right));
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  footer .ft_map {
    height: 299px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 920px) {
  .ft_link .menu02 > ul {
    max-height: 54em;
  }
}
.under .key {
  margin-left: auto;
  margin-right: auto;
  max-width: calc(100% - var(--size-space-left-right) * 2);
}

.idx_map iframe,
.ft_map iframe {
  height: 100%;
  border-radius: 10px;
}

.idx_map {
  height: 263px;
  max-width: 640px;
}
.idx_map iframe {
  border: 1px solid #a8a8a8;
}

.infor_details dl {
  --size-w-dt: 71px;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.infor_details dl:last-child {
  margin-bottom: 0;
}
.infor_details dl dt,
.infor_details dl dd {
  line-height: 1.8;
}
.infor_details dl dt {
  width: var(--size-w-dt);
}
.infor_details dl dd {
  padding-left: 4%;
  width: calc(100% - var(--size-w-dt));
}

.infor_tel {
  display: table;
  font-size: min(1vw, 10px);
}
.infor_tel a {
  position: relative;
  z-index: 1;
  padding-left: 1.3611em;
  font-size: 3.6em;
  font-family: var(--f-jp);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  text-decoration: none;
  color: #495b5a;
}
.infor_tel a::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: 0.18em;
  width: 0.75em;
  height: 0.8em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 265 265' %3E%3Cpath d='M264.982,197.008 L264.982,248.882 C264.985,256.595 259.026,262.992 251.339,263.518 C244.927,263.972 239.690,264.235 235.640,264.235 C105.995,264.235 0.908,159.108 0.908,29.455 C0.908,25.417 1.129,20.182 1.582,13.758 C2.122,6.054 8.518,0.102 16.223,0.102 L68.101,0.102 C71.870,0.102 75.029,2.951 75.405,6.717 C75.744,10.092 76.052,12.796 76.345,14.819 C79.261,35.190 85.235,54.952 94.067,73.517 C95.460,76.447 94.551,79.986 91.910,81.846 L60.251,104.439 C79.608,149.544 115.553,185.503 160.659,204.875 L183.250,173.281 C185.156,170.613 188.696,169.688 191.657,171.076 C210.217,179.914 230.001,185.884 250.340,188.751 C252.379,189.042 255.065,189.359 258.409,189.686 C262.155,190.067 265.001,193.234 264.996,197.008 L264.982,197.008 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);
}
.infor_tel.white a {
  color: white;
}
.infor_tel.white a::before {
  background-color: white;
}

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

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