@charset "UTF-8";
:root {
  --f-notosans: "Noto Sans JP", sans-serif;
  --f-jp: "Noto Sans JP", sans-serif;
  --f-en: "Zen Maru Gothic", serif;
  --main-color: #f3a35e;
  --clr1: #333;
  --clr2: #52a299;
  --clr3: #f8f5f1;
  --clr-org-dark: #e38049;
  --clr-yl: #ffc600;
  --clr-gr-dark: #5290a2;
  --ttl_size: 30px;
  --wrapper: 90px;
  --line-height-p: 2.25 ;
}

/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////  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: 1160px;
}

.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: #ccc;
}
.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;
  width: 90%;
  margin: 0px auto;
  max-width: 1118px;
}
.TabContainer .TabPager > div {
  background-color: #a4c7ce;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  margin: 0;
  padding: 20px 20px;
  width: calc(50% - 0px);
  transition: all 0.3s ease;
  cursor: pointer;
  color: #ffffff;
  border-radius: 10px 10px 0px 0px;
}
.TabContainer .TabPager > div p {
  margin: 0;
  font-size: 1.5em;
  line-height: 2;
  border-bottom: 1px solid transparent;
}
.TabContainer .TabPager > div.active {
  background-color: #fff;
  z-index: 1;
  color: #3d9e81;
}
.TabContainer .TabPager > div.active p {
  border-bottom: 1px solid;
}

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

.btn a {
  position: relative;
  display: flex;
  align-items: center;
  color: var(--clr1);
  text-decoration: none;
  font-family: var(--f-jp);
  background-color: #fff;
  transition: all 0.3s;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.btn a::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  top: 0;
  bottom: 0;
  border-radius: 50%;
  margin: auto 0;
  background-color: var(--main-color);
}
.btn a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  top: 0;
  bottom: 0;
  margin: auto 0;
  --mask: url("../images/idx_ic_arr.png");
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: #fff;
}

@media only screen and (min-width: 769px) {
  .btn-group {
    font-size: 0.625em;
  }
}
.btn-group .btn {
  font-size: 1em;
}
.btn-group .btn.style01 {
  width: 100%;
  min-width: 180px;
  max-width: 380px;
  overflow: hidden;
}
.btn-group .btn.style01 a {
  justify-content: center;
  text-align: center;
  min-height: 5em;
  padding: 0.5em 4em 0.6em 4.1em;
  font-size: 1.6em;
  line-height: 1.5;
  border-radius: 999em;
}
.btn-group .btn.style01 a::before {
  right: 1.25em;
  width: 2.5em;
  height: 2.5em;
}
.btn-group .btn.style01 a::after {
  width: 1.25em;
  height: 0.75em;
  right: 1.875em;
}
.btn-group .btn.style01 a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .btn-group .btn.style01 a:hover {
    color: #fff;
    background-color: var(--main-color);
  }
  .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.style02 {
  width: 100%;
  min-width: 180px;
  max-width: 408px;
  overflow: hidden;
}
.btn-group .btn.style02 a {
  justify-content: flex-start;
  text-align: left;
  min-height: 4.6667em;
  padding: 0.5em 4em 0.6em 1.62em;
  font-size: 3em;
  line-height: 1.5;
  border-radius: 0.6667em;
}
.btn-group .btn.style02 a::before {
  width: 2em;
  height: 2em;
  right: 1.6667em;
}
.btn-group .btn.style02 a::after {
  width: 0.6667em;
  height: 0.4em;
  right: 2.3333em;
  rotate: 90deg;
}
.btn-group .btn.style02 a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .btn-group .btn.style02 a:hover {
    color: #fff;
    background-color: var(--main-color);
  }
  .btn-group .btn.style02 a:hover::before {
    background-color: #fff;
  }
  .btn-group .btn.style02 a:hover::after {
    background-color: var(--main-color);
  }
}
.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.center .btn {
  margin-left: auto;
  margin-right: auto;
}

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

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

.br_1170 {
  display: none;
}

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

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

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

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

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

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

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

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

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

@media only screen and (max-width: 320px) {
  .br_320 {
    display: block;
  }
  .in_320 {
    display: inline;
  }
  .dis_320 {
    display: none;
  }
}
@media only screen and (max-width: 319px) {
  .br_320 {
    display: none;
  }
}
.flex_gr {
  --size-mg: 5px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: calc(var(--size-mg) * -1);
}
.flex_gr .btn.style01 {
  min-width: unset;
}
.flex_gr .item {
  width: 100%;
  margin: var(--size-mg);
}
@media only screen and (min-width: 769px) {
  .flex_gr.col-2 .item {
    width: calc(50% - 2 * var(--size-mg));
  }
  .flex_gr.col-3 .item {
    width: calc(33.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;
  inset: 0;
  z-index: 2;
}

/* 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;
}
@media only screen and (min-width: 769px) {
  header {
    font-size: min(0.65vw, 10px);
  }
}

header.active,
.ovh header {
  background-color: #fff;
}
header.active .logo,
.ovh header .logo {
  filter: brightness(1) invert(0);
}
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(--clr1);
}
header.active .pc_navi .tel a,
.ovh header .pc_navi .tel a {
  color: var(--main-color);
}
header.active .pc_navi .tel a::before,
.ovh header .pc_navi .tel a::before {
  background-color: var(--main-color);
}

.header_top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0.5em 5.4em 0.4em;
  height: 100%;
  transition: all 0.3s ease-in-out;
}
.header_top::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  top: 100%;
  left: 0px;
  right: 0px;
  background: rgba(255, 255, 255, 0.3);
}

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

.right_head {
  width: 70%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.pc_navi {
  width: 100%;
  display: flex;
  justify-content: flex-end;
}
.pc_navi > ul {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
  padding-bottom: 0.3em;
  margin-right: 6em;
}
.pc_navi > ul > li {
  position: relative;
}
.pc_navi > ul > li:not(:last-child) {
  margin-right: 5.1em;
}
.pc_navi > ul > li:not(.tel):hover > a,
.pc_navi > ul > li:not(.tel):hover > p {
  opacity: 1;
  color: var(--main-color);
}
.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: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 0;
  height: 2.5em;
  text-decoration: none;
  text-align: center;
  font-size: 1.6em;
  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: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: 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%);
}
.pc_navi .tel {
  flex-shrink: 0;
}
.pc_navi .tel a {
  color: #fff;
  font-size: 1em;
  height: 4em;
  text-align: left;
  display: block;
  position: relative;
  padding-left: 3.8em;
  line-height: 1;
  padding-top: 1px;
}
.pc_navi .tel a > span {
  display: block;
}
.pc_navi .tel a .time {
  font-size: 1.2em;
  font-weight: 400;
  letter-spacing: 0.05em;
  margin-bottom: 0.3333em;
  padding-left: 0.0833em;
}
.pc_navi .tel a .num {
  font-family: var(--f-en);
  font-size: 2.4em;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.pc_navi .tel a::before {
  content: "";
  position: absolute;
  width: 3em;
  height: 3em;
  left: 0;
  bottom: 0;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' %3E%3Cpath d='M30.009,22.359 L30.009,28.249 C30.010,29.123 29.332,29.851 28.458,29.910 C27.729,29.961 27.134,29.987 26.674,29.987 C11.936,29.987 -0.011,18.058 -0.011,3.337 C-0.011,2.879 0.014,2.283 0.066,1.556 C0.127,0.681 0.854,0.007 1.731,0.007 L7.628,0.007 C8.056,0.007 8.415,0.329 8.458,0.756 C8.497,1.138 8.532,1.441 8.565,1.675 C8.897,3.985 9.576,6.231 10.580,8.340 C10.738,8.673 10.635,9.070 10.335,9.282 L6.735,11.853 C8.936,16.972 13.022,21.053 18.150,23.251 L20.718,19.663 C20.935,19.359 21.337,19.257 21.674,19.417 C23.784,20.416 26.033,21.093 28.345,21.423 C28.577,21.457 28.882,21.493 29.262,21.529 C29.688,21.574 30.011,21.929 30.011,22.359 L30.009,22.359 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;
}

@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: 1100px;
    margin: auto;
    min-height: 100%;
    display: flex;
    align-items: center;
    font-size: 10px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1024px) {
  .menu_toggle .inside .ft_link {
    font-size: 8.75px;
  }
}
@media only screen and (min-width: 769px) {
  .menu_toggle .inside .ft_link .title {
    color: var(--main-color);
  }
  .menu_toggle .inside .ft_link .menu01 > ul,
  .menu_toggle .inside .ft_link .menu02 > ul {
    max-height: 30em;
  }
  .menu_toggle .inside .ft_link .menu02 > ul > li:nth-child(n+7) {
    max-width: max-content;
  }
  .menu_toggle .inside .ft_link a {
    font-size: 1.6em;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) {
  .menu_toggle .inside .ft_link a:hover {
    color: var(--main-color);
  }
}
@media only screen and (min-width: 769px) {
  .menu_toggle .inside .ft_link .link_list {
    width: 100%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  :root {
    --wrapper: 80px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .header_top {
    padding-left: 3em;
  }
  .pc_navi {
    font-size: 0.8vw;
  }
  .pc_navi > ul {
    margin-right: 1.5em;
  }
  .pc_navi > ul > li:not(:last-child) {
    margin-right: 1.5em;
  }
  .pc_navi > ul .subInner ul li a {
    font-size: 12px;
  }
  .pc_navi > ul .tel a {
    font-size: 0.875em;
  }
}
@media only screen and (min-width: 769px) {
  .idx_gallery {
    padding: 120px 0;
  }
}
.idx_gallery .list {
  display: flex;
}
.idx_gallery .list .img img {
  overflow: hidden;
  border-radius: 0.625em;
  margin: 0 4px;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx_gallery .list .img img {
    max-width: 250px;
  }
}

.time_sheet .note {
  margin-top: 7px;
  letter-spacing: 0.1em;
}
.time_sheet .note span {
  display: inline-block;
}
.time_sheet .note .dot {
  position: relative;
  bottom: -0.3125em;
}
.time_sheet table {
  font-feature-settings: "palt";
}
.time_sheet table thead tr {
  background: #fff;
}
.time_sheet table thead tr th:first-child {
  border-radius: 5px 0 0 5px;
}
.time_sheet table thead tr th:last-child {
  border-radius: 0 5px 5px 0;
}
.time_sheet table th {
  color: var(--main-color);
}
.time_sheet table th,
.time_sheet table td {
  border: none;
  text-align: center;
  font-weight: 400;
  letter-spacing: 0.2em;
  width: 8.5%;
}
.time_sheet table th:first-child,
.time_sheet table td:first-child {
  width: auto;
  padding-left: 2.4%;
  letter-spacing: 0.1em;
}
.time_sheet table th:last-child,
.time_sheet table td:last-child {
  width: 16.05%;
  padding-right: 2.8%;
}
.time_sheet table th {
  padding: 1.0625em 0.2em 1.1875em;
}
.time_sheet table td {
  padding: 1.25em 0.2em 1.375em;
  color: #fff;
  position: relative;
}
.time_sheet table td::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: -1px;
  left: 0px;
  right: 0px;
  background-color: rgba(255, 255, 255, 0.5);
}

@media only screen and (max-width: 992px) and (min-width: 769px) {
  :root {
    --ttl_size: 22px;
    --wrapper: 60px;
  }
}
.totop {
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  position: fixed;
  z-index: 19;
  bottom: 35px;
  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: 70px;
  height: 70px;
  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% - 126px);
  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: row;
}
.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;
}
.fixed_banner .tel p .tt::before {
  width: 1.916667em;
  height: 2em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' %3E%3Cpath d='M30.009,22.359 L30.009,28.249 C30.010,29.123 29.332,29.851 28.458,29.910 C27.729,29.961 27.134,29.987 26.674,29.987 C11.936,29.987 -0.011,18.058 -0.011,3.337 C-0.011,2.879 0.014,2.283 0.066,1.556 C0.127,0.681 0.854,0.007 1.731,0.007 L7.628,0.007 C8.056,0.007 8.415,0.329 8.458,0.756 C8.497,1.138 8.532,1.441 8.565,1.675 C8.897,3.985 9.576,6.231 10.580,8.340 C10.738,8.673 10.635,9.070 10.335,9.282 L6.735,11.853 C8.936,16.972 13.022,21.053 18.150,23.251 L20.718,19.663 C20.935,19.359 21.337,19.257 21.674,19.417 C23.784,20.416 26.033,21.093 28.345,21.423 C28.577,21.457 28.882,21.493 29.262,21.529 C29.688,21.574 30.011,21.929 30.011,22.359 L30.009,22.359 Z'/%3E%3C/svg%3E");
}
.fixed_banner .web p {
  background-color: #fff;
}
.fixed_banner .web p .tt::before {
  width: 21px;
  height: 22px;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21 22' %3E%3Cpath d='M19.827,22.000 L1.166,22.000 C0.522,22.000 0.000,21.482 0.000,20.842 L0.000,4.636 C0.000,3.997 0.522,3.479 1.166,3.479 L4.665,3.479 L4.665,1.163 C4.665,0.523 5.187,0.005 5.831,0.005 C6.475,0.005 6.998,0.523 6.998,1.163 L6.998,3.479 L13.995,3.479 L13.995,1.163 C13.995,0.523 14.517,0.005 15.162,0.005 C15.806,0.005 16.328,0.523 16.328,1.163 L16.328,3.479 L18.661,3.479 L19.827,3.479 C20.471,3.479 20.993,3.997 20.993,4.636 L20.993,20.842 C20.993,21.482 20.471,22.000 19.827,22.000 ZM9.622,13.418 L7.531,11.342 C7.075,10.890 6.337,10.890 5.881,11.342 C5.426,11.794 5.426,12.527 5.881,12.980 L8.797,15.874 C9.016,16.089 9.312,16.212 9.622,16.212 C9.931,16.212 10.228,16.089 10.446,15.874 L15.112,11.243 C15.567,10.790 15.567,10.056 15.112,9.605 C14.656,9.153 13.918,9.153 13.462,9.605 L9.622,13.418 Z'/%3E%3C/svg%3E");
}

@media only screen and (min-width: 769px) {
  .fixed_banner {
    font-size: 10px;
    --size-w: 60px;
    --size-h: 188px;
  }
  .fixed_banner > div {
    width: var(--size-w);
    height: var(--size-h);
    border-radius: 5px 0 0 5px;
    overflow: hidden;
  }
  .fixed_banner p .tt {
    font-size: 1.6em;
    font-weight: 500;
    letter-spacing: 0.16em;
  }
  .fixed_banner .tel {
    --w_tel: 15em;
    transform: translateX(calc(-var(--size) - var(--w_tel)));
    transition: all 0.3s ease;
  }
  .fixed_banner .tel .tt::before {
    margin-bottom: 0.45em;
  }
  .fixed_banner .tel:hover {
    transform: translateX(calc(0em - var(--w_tel)));
  }
  .fixed_banner .tel:hover a {
    width: calc(var(--size) + var(--w_tel));
  }
  .fixed_banner .tel p {
    border-top-left-radius: 0.833em;
  }
  .fixed_banner .tel .ov {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--main-color);
    position: absolute;
    left: 8em;
    height: 100%;
    top: 0;
    width: var(--w_tel);
  }
  .fixed_banner .tel .ov .text {
    font-size: 1.5em;
    font-family: var(--f-en);
  }
  .fixed_banner .web p {
    padding-top: 3px;
    padding-right: 2px;
  }
  .fixed_banner .web p .tt {
    width: 100%;
    flex-direction: row;
    color: var(--clr2);
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    -moz-text-orientation: upright;
    -ms-text-orientation: upright;
    text-orientation: upright;
  }
  .fixed_banner .web p .tt::before {
    margin-bottom: 9px;
    margin-left: 2px;
    background: var(--clr2);
  }
  .fixed_banner .mail p {
    border-bottom-left-radius: 0.833em;
  }
}
@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;
  }
}
footer {
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  background-image: url("../images/ft_bg.jpg");
  background-color: var(--clr-org-dark);
  color: #fff;
}
footer .ft_block {
  position: relative;
}
footer .ft_block::before {
  content: "";
  position: absolute;
  aspect-ratio: 260/180;
  height: auto;
  background: url("../images/ft_ic01.png") no-repeat center/cover;
}
@media only screen and (min-width: 769px) {
  footer .ft_block {
    padding: 80px 0 80px;
  }
  footer .ft_block::before {
    width: 130px;
    top: -75px;
    left: -41px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1200px) {
  footer .ft_block::before {
    left: 0;
  }
}
footer .ft_logo {
  padding: 0px 0 18px;
  max-width: 406px;
}
@media only screen and (min-width: 769px) {
  footer .ft_info {
    display: flex;
    justify-content: space-between;
  }
  footer .ft_info_left {
    max-width: 406px;
    width: 45%;
  }
  footer .ft_info_right {
    width: 50%;
    max-width: 545px;
  }
}
footer .ft_address {
  margin-bottom: 30px;
}
footer .ft_address dl {
  --w: 75px;
  display: flex;
}
footer .ft_address dl:not(:last-child) {
  margin-bottom: 8px;
}
@media only screen and (min-width: 1440px) {
  footer .ft_address dl:first-child dt {
    padding-top: 4px;
  }
}
footer .ft_address dl dt {
  width: var(--w);
  padding-top: 2px;
}
footer .ft_address dl dd {
  width: calc(100% - var(--w));
  line-height: 1.875;
}
footer .ft_tel a {
  text-align: left;
  display: block;
  position: relative;
  padding-left: 7.4em;
  line-height: 1;
}
@media only screen and (min-width: 769px) {
  footer .ft_tel a {
    font-size: min(1vw, 10px);
  }
}
footer .ft_tel a > span {
  display: block;
}
footer .ft_tel a .time {
  font-size: 1.4em;
  font-weight: 400;
  letter-spacing: 0.05em;
  margin-bottom: 0.2857em;
  margin-left: 0.0714em;
}
footer .ft_tel a .num {
  font-family: var(--f-en);
  font-size: 3.6em;
  font-weight: 500;
  letter-spacing: 0.05em;
}
footer .ft_tel a::before {
  content: "";
  position: absolute;
  width: 5.3em;
  height: 5.2em;
  left: -0.1em;
  bottom: 0.2em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 53 52' %3E%3Cpath d='M52.655,38.813 L52.655,48.977 C52.655,50.485 51.486,51.742 49.978,51.844 C48.720,51.932 47.693,51.977 46.898,51.977 C21.463,51.977 0.846,31.389 0.846,5.984 C0.846,5.193 0.889,4.165 0.979,2.909 C1.084,1.399 2.339,0.237 3.851,0.237 L14.028,0.237 C14.768,0.237 15.388,0.793 15.462,1.531 C15.528,2.190 15.589,2.713 15.646,3.115 C16.218,7.103 17.390,10.978 19.123,14.618 C19.396,15.194 19.218,15.877 18.700,16.244 L12.488,20.682 C16.286,29.516 23.338,36.559 32.187,40.352 L36.620,34.159 C36.994,33.636 37.688,33.459 38.269,33.734 C41.910,35.460 45.792,36.628 49.782,37.196 C50.182,37.257 50.709,37.318 51.365,37.380 C52.100,37.458 52.658,38.070 52.657,38.813 L52.655,38.813 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;
}
footer .ft_link {
  padding-top: 49px;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}
footer .ft_link p,
footer .ft_link a {
  color: #fff;
  text-decoration: none;
}
@media only screen and (min-width: 769px) {
  footer .ft_link p:hover,
  footer .ft_link a:hover {
    color: var(--clr1);
  }
}
@media only screen and (min-width: 769px) {
  footer .ft_link .menu01 > ul,
  footer .ft_link .menu02 > ul {
    max-height: 20em;
  }
  footer .ft_link .menu01 {
    width: 56.5%;
  }
  footer .ft_link .menu02 {
    width: 43.5%;
  }
  footer .ft_link .menu02 > ul {
    padding-left: 2px;
    margin-right: -2px;
  }
  footer .ft_link .menu02 > ul > li:nth-child(n+7) {
    max-width: 10.625em;
  }
}

.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: 55%;
  }
  .ft_link .menu02 {
    width: 45%;
  }
}
.ft_link .title {
  padding-left: 0;
  font-size: calc(var(--ttl_size) + 30px);
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1;
  pointer-events: none;
  font-family: var(--f-en);
  margin-left: -3px;
}
.ft_link .title::before {
  display: none;
}
@media only screen and (min-width: 769px) {
  .ft_link .title {
    margin-bottom: 0.75em;
  }
}
.ft_link ul:last-child {
  margin-bottom: 0;
}
.ft_link li {
  margin-bottom: 20.4px;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
.ft_link a {
  display: table;
  position: relative;
  padding-left: 0em;
  color: inherit;
  letter-spacing: 0.1em;
  color: var(--clr1);
  line-height: 1.6;
}
.ft_link a::before {
  content: "・";
  margin-left: -0.35em;
  border-radius: 100%;
  width: auto;
  height: auto;
}
.ft_link a:hover {
  opacity: 1;
}

.copyright {
  margin: 0 auto 0;
  color: #fff;
  padding: 20px 0;
  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: var(--clr-org-dark);
}
.copyright .textwidget {
  display: block;
  line-height: 19px;
  padding-left: 18px;
  padding-bottom: 4px;
  margin-left: 18px;
  border-left: 1px solid #cecece;
}
.copyright .textwidget p {
  margin-bottom: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: inherit;
  letter-spacing: 0.1em;
}
.copyright .grits {
  margin-bottom: 0;
}
.copyright .grits a {
  display: block;
}
.copyright .grits img {
  max-width: 154px;
}

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

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