@charset "UTF-8";
:root {
  --f-notosans: "Noto Sans JP", sans-serif;
  --f-jp: "Noto Sans JP", sans-serif;
  --f-en: "Noto Sans JP", sans-serif;
  --fs-base: 18px;
  --lh-base: 2.25;
  --ls-base: .1em;
  --main-color: #ffb74d;
  --clr1: #222;
  --clr2: #81d4fa;
  --ttl_size: 30px;
  --wrapper: 120px;
  --border-radius: 10px;
}

/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////  Copyright (C) 2009 株式会社フリーセル All Rights Reserved.  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
body {
  background-color: #ffffff;
  -webkit-text-size-adjust: none;
  letter-spacing: var(--ls-base);
  color: var(--clr1);
  font-family: var(--f-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 {
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  letter-spacing: var(--ls-base);
  word-wrap: break-word;
  word-break: break-word;
  margin-bottom: 15px;
}
p:empty {
  display: none !important;
}
p:last-child {
  margin-bottom: 0;
}

.red {
  color: #ca0a0a !important;
}

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

.fl {
  float: left;
}

.fr {
  float: right;
}

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

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

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

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

.inner_max {
  max-width: 1480px;
}

.inner_big {
  max-width: 1320px;
}

.inner {
  max-width: 1210px;
}

.inner_sm {
  max-width: 1020px;
}

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

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

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

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

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

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

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

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

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

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

.ovh {
  overflow: hidden !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.btn-group .btn {
  width: 100%;
  overflow: hidden;
}
.btn-group .btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-decoration: none;
  font-family: var(--f-jp);
  text-align: center;
  transition: all 0.3s;
  border-radius: 999em;
}
.btn-group .btn a:hover {
  opacity: 1;
}

.btn-group {
  font-size: 0.625em;
}
.btn-group .btn {
  font-size: 1em;
  --clr-btn: #ee9b23;
  width: 100%;
  min-width: 18em;
  max-width: 30em;
}
.btn-group .btn a {
  position: relative;
  min-height: 3.4444em;
  font-size: 1.8em;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
  padding: 0.5em 2em;
  color: var(--clr-btn);
  background-color: #fff;
  border: 1px solid currentColor;
  transition: all 0.3s ease;
}
.btn-group .btn a::before, .btn-group .btn a::after {
  content: "";
  position: absolute;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  transition: all 0.3s ease;
  top: 0;
  bottom: 0;
  right: 14px;
}
.btn-group .btn a::before {
  background-color: var(--clr-btn);
}
.btn-group .btn a::after {
  --mask: url("../images/ic_arrow01.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;
}
.btn-group .btn a::before, .btn-group .btn a::after {
  margin: auto 0;
}
.btn-group .btn.st2 {
  --clr-btn: #5cabcf;
}
.btn-group .btn.sm {
  max-width: 22em;
}
.btn-group .btn.sm a {
  min-height: 3.375em;
  font-size: 1.6em;
}
@media only screen and (min-width: 769px) {
  .btn-group .btn a:not([target]):hover {
    color: #fff;
    background-color: var(--clr-btn);
  }
  .btn-group .btn a:not([target]):hover::before {
    background-color: #fff;
  }
  .btn-group .btn a:not([target]):hover::after {
    background-color: var(--clr-btn);
  }
  .btn-group .btn.btn-pdf a:hover {
    color: #fff;
    background-color: var(--clr-btn);
  }
  .btn-group .btn.btn-pdf a:hover::before {
    background-color: #fff;
  }
  .btn-group .btn.btn-pdf a:hover::after {
    background-color: var(--clr-btn);
  }
}
@media only screen and (min-width: 769px) {
  .btn-group .btn.md {
    max-width: 23em;
  }
  .btn-group .btn.lg {
    max-width: 32em;
  }
  .btn-group .btn.big {
    max-width: 36em;
  }
}

.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_1024 {
  display: none;
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .br_1024 {
    display: block;
  }
  .dis_1024 {
    display: none;
  }
}
.br_992 {
  display: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

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: 0.5em 3.1em 0.6em;
  height: 100%;
  transition: all 0.3s ease-in-out;
}

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

.right_head {
  width: 70%;
  padding-right: calc(var(--wrapper) + 2.1em);
  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;
}
.pc_navi > ul > li:has(+ li) {
  margin-right: 7.3em;
}
.pc_navi > ul > li:hover > a,
.pc_navi > ul > li:hover > p {
  color: var(--main-color);
}
.pc_navi > ul > li.menu-item-has-children > a .ic,
.pc_navi > ul > li.menu-item-has-children > p .ic {
  position: relative;
  display: inline-block;
  width: max(10px, round(0.7778em, 2px));
  height: max(10px, round(0.7778em, 2px));
  margin-left: 1.1111em;
}
.pc_navi > ul > li.menu-item-has-children > a .ic::before, .pc_navi > ul > li.menu-item-has-children > a .ic::after,
.pc_navi > ul > li.menu-item-has-children > p .ic::before,
.pc_navi > ul > li.menu-item-has-children > p .ic::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  background-color: var(--main-color);
  transition: all 0.3s ease;
}
.pc_navi > ul > li.menu-item-has-children > a .ic::before,
.pc_navi > ul > li.menu-item-has-children > p .ic::before {
  width: 100%;
  height: 2px;
}
.pc_navi > ul > li.menu-item-has-children > a .ic::after,
.pc_navi > ul > li.menu-item-has-children > p .ic::after {
  width: 2px;
  height: 100%;
}
.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;
  text-decoration: none;
  text-align: center;
  font-weight: 500;
  font-size: 1.8em;
  line-height: 2;
  letter-spacing: 0.1em;
  transition: all 0.3s ease;
  color: var(--clr1);
}
.pc_navi > ul > li:hover a.title .ic::after,
.pc_navi > ul > li:hover p.title .ic::after {
  transform: rotate(90deg);
}
.pc_navi > ul .subInner {
  position: absolute;
  width: 28em;
  min-width: 210px;
  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;
  border-radius: 0.625em;
}
.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: max(1.4em, 10px);
  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) {
  header {
    font-size: min(0.6vw, 10px);
  }
  .pc_navi > ul .col2 .subInner {
    width: 58em;
    min-width: 400px;
  }
  .pc_navi > ul .col2 .subInner ul {
    display: flex;
    flex-wrap: wrap;
  }
  .pc_navi > ul .col2 .subInner ul li {
    width: 50%;
  }
  .menu_toggle .inside .ft_link {
    width: 100%;
    max-width: 1320px;
    margin: auto;
    min-height: 100%;
    display: flex;
    align-items: center;
  }
  .menu_toggle .inside .ft_link .link_list {
    width: 100%;
  }
  .menu_toggle .inside .ft_link .link_list .title {
    border-color: var(--main-color);
  }
  .menu_toggle .inside .ft_link .link_list ul li a:hover {
    color: var(--main-color);
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1366px) {
  .pc_navi > ul > li.menu-item-has-children > a .ic,
  .pc_navi > ul > li.menu-item-has-children > p .ic {
    margin-top: 0.2222em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  :root {
    --wrapper: 100px;
  }
  header {
    font-size: min(0.78vw, 10px);
  }
  .right_head {
    padding-right: calc(var(--wrapper) - 20px);
  }
  .pc_navi > ul > li:has(+ li) {
    margin-right: 2em;
  }
  .pc_navi > ul > li.menu-item-has-children > a .ic,
  .pc_navi > ul > li.menu-item-has-children > p .ic {
    margin-left: 0.3em;
  }
  .inside .ft_link {
    font-size: min(0.8vw, 8.7px);
  }
}
.idx_gallery {
  position: relative;
  z-index: 1;
}
.idx_gallery::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 70%;
  max-height: 320px;
  bottom: 0px;
  left: 0;
  right: 0;
  background-color: #f2faf3;
  z-index: -1;
}
.idx_gallery .list {
  display: flex;
}
.idx_gallery .list .item {
  margin: 0 1.5em;
}
.idx_gallery .list .item .img img {
  overflow: hidden;
  border-radius: 0.625em;
}
.idx_gallery .list .item1 img, .idx_gallery .list .item5 img {
  max-width: 40em;
}
.idx_gallery .list .item2 img, .idx_gallery .list .item4 img {
  max-width: 26em;
}
.idx_gallery .list .item3 img, .idx_gallery .list .item6 img {
  max-width: 20em;
}
.idx_gallery .list .item1, .idx_gallery .list .item3 {
  padding-top: 2em;
}
.idx_gallery .list .item5 {
  padding-top: 4.9em;
}
.idx_gallery .list .item2 .img:nth-child(1) {
  margin-bottom: 1.9em;
  margin-left: 4.6em;
}
.idx_gallery .list .item4 .img:nth-child(1) {
  margin-bottom: 2.9em;
}
.idx_gallery .list .item4 .img:nth-child(2) {
  margin-left: 4.1em;
}
@media only screen and (min-width: 769px) {
  .idx_gallery {
    padding: 60px 0 70px;
  }
  .idx_gallery .list {
    font-size: min(0.9vw, 10px);
  }
}

.time_sheet {
  width: 100%;
  max-width: 600px;
  font-size: 10px;
}
.time_sheet .note {
  margin-top: 0.5625em;
  margin-left: 1.625em;
  line-height: 2.25;
  font-size: var(--fs-base);
  letter-spacing: 0.1em;
  color: #fff;
}
.time_sheet table {
  font-feature-settings: "palt";
}
.time_sheet table thead tr {
  background-color: #fff;
}
.time_sheet table thead th {
  color: #68b5d8;
}
.time_sheet table tbody td::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #fff;
}
.time_sheet table tbody tr:nth-child(2) td {
  padding-top: 1.3889em;
  padding-bottom: 1.5em;
}
.time_sheet table th,
.time_sheet table td {
  position: relative;
  border: none;
  text-align: center;
  font-weight: 400;
  font-size: 1.8em;
  letter-spacing: 0.1em;
  width: 10%;
}
.time_sheet table th:first-child,
.time_sheet table td:first-child {
  width: auto;
  padding-left: 1.5em;
}
.time_sheet table th:last-child,
.time_sheet table td:last-child {
  width: 13.5%;
  padding-left: 1em;
  text-align: left;
}
.time_sheet table th {
  padding: 0.9444em 0.2em 1em;
}
.time_sheet table td {
  padding: 1.9444em 0.2em 1.5556em;
  color: #fff;
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .time_sheet table th:first-child,
  .time_sheet table td:first-child {
    padding-left: 1em;
  }
}
@media only screen and (max-width: 768px) {
  .time_sheet table th:first-child,
  .time_sheet table td:first-child {
    padding-left: 0.5em;
  }
}
@media only screen and (max-width: 430px) {
  .time_sheet .note {
    margin-left: 5px;
  }
  .time_sheet table th:first-child,
  .time_sheet table td:first-child {
    padding-left: 0.2em;
  }
}

@media only screen and (max-width: 1024px) and (min-width: 769px) {
  :root {
    --fs-base: 15px;
    --ttl_size: 22px;
    --wrapper: 80px;
  }
}
.totop {
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  position: fixed;
  z-index: 19;
  bottom: 25px;
  right: 25px;
}
.totop.active {
  opacity: 1;
  visibility: visible;
}
.totop .icon {
  background-image: url(../images/totop.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  border: 0px;
  width: 66px;
  height: 66px;
  margin: 0;
}

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

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

@keyframes bounces {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}
@keyframes fixed_banner {
  0% {
    left: 0;
    opacity: 1;
  }
  100% {
    left: -3px;
    opacity: 0.7;
  }
}
.fixed_banner {
  position: fixed;
  top: calc(50% - 10em);
  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 {
  font-size: 1em;
  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;
}
.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 .pdf p {
  background-color: var(--clr2);
}
.fixed_banner .pdf p .tt::before {
  margin-bottom: 0.357142em;
  width: 2em;
  height: 2.2857142857em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='56px' height='63px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M54.427,35.845 L53.009,37.490 C52.726,37.818 52.205,37.841 51.852,37.540 L48.246,34.460 C47.894,34.160 47.838,33.646 48.121,33.317 L49.539,31.671 C50.823,30.184 52.691,30.490 53.913,31.539 C55.130,32.581 55.706,34.363 54.427,35.845 ZM50.988,38.625 C51.318,38.905 51.369,39.392 51.101,39.703 L39.046,53.674 C39.722,52.042 38.594,51.707 37.235,51.579 C37.061,51.563 36.902,51.495 36.777,51.387 C36.651,51.279 36.557,51.134 36.515,50.965 C36.183,49.647 35.680,48.590 34.158,49.502 L46.213,35.529 C46.481,35.217 46.969,35.194 47.300,35.476 L49.144,37.051 L50.988,38.625 ZM9.078,51.401 C7.931,51.401 6.993,50.466 6.993,49.327 C6.993,48.184 7.931,47.250 9.078,47.250 C10.225,47.250 11.164,48.184 11.164,49.327 C11.164,50.466 10.225,51.401 9.078,51.401 ZM9.078,26.503 C7.931,26.503 6.993,25.569 6.993,24.428 C6.993,23.288 7.931,22.353 9.078,22.353 C10.225,22.353 11.164,23.288 11.164,24.428 C11.164,25.569 10.225,26.503 9.078,26.503 ZM9.078,38.951 C7.931,38.951 6.993,38.020 6.993,36.876 C6.993,35.737 7.931,34.803 9.078,34.803 C10.225,34.803 11.164,35.737 11.164,36.876 C11.164,38.020 10.225,38.951 9.078,38.951 ZM45.576,31.690 C45.000,31.690 44.534,31.225 44.534,30.652 L44.534,14.055 C44.534,12.339 43.130,10.943 41.405,10.943 L35.148,10.943 L35.148,12.923 C35.148,14.121 34.213,15.094 33.063,15.094 L14.292,15.094 C13.142,15.094 12.207,14.121 12.207,12.923 L12.207,10.943 L4.907,10.943 C3.757,10.943 2.821,11.874 2.821,13.019 L2.821,58.663 C2.821,59.805 3.757,60.737 4.907,60.737 L31.603,60.737 C32.179,60.737 32.646,61.201 32.646,61.775 C32.646,62.349 32.179,62.811 31.603,62.811 L4.907,62.811 C2.607,62.811 0.736,60.952 0.736,58.663 L0.736,13.019 C0.736,10.729 2.607,8.870 4.907,8.870 L12.270,8.870 C12.574,6.736 14.291,5.092 16.378,5.092 L17.756,5.092 C18.606,2.426 20.979,0.569 23.678,0.569 C26.376,0.569 28.749,2.426 29.599,5.092 L30.977,5.092 C33.064,5.092 34.781,6.736 35.085,8.870 L41.405,8.870 C44.280,8.870 46.619,11.196 46.619,14.055 L46.619,30.652 C46.619,31.225 46.152,31.690 45.576,31.690 ZM23.678,4.200 C22.238,4.200 21.071,5.362 21.071,6.792 C21.071,8.225 22.238,9.387 23.678,9.387 C25.117,9.387 26.285,8.225 26.285,6.792 C26.285,5.362 25.117,4.200 23.678,4.200 ZM15.335,23.392 L36.191,23.392 C36.767,23.392 37.234,23.855 37.234,24.428 C37.234,25.003 36.767,25.467 36.191,25.467 L15.335,25.467 C14.759,25.467 14.292,25.003 14.292,24.428 C14.292,23.855 14.759,23.392 15.335,23.392 ZM15.335,48.288 L25.763,48.288 C26.339,48.288 26.806,48.754 26.806,49.327 C26.806,49.899 26.339,50.362 25.763,50.362 L15.335,50.362 C14.759,50.362 14.292,49.899 14.292,49.327 C14.292,48.754 14.759,48.288 15.335,48.288 ZM15.335,35.839 L25.763,35.839 C26.339,35.839 26.806,36.303 26.806,36.876 C26.806,37.453 26.339,37.915 25.763,37.915 L15.335,37.915 C14.759,37.915 14.292,37.453 14.292,36.876 C14.292,36.303 14.759,35.839 15.335,35.839 ZM31.569,57.423 C31.320,57.212 31.222,56.898 31.313,56.601 L33.120,50.707 L34.532,50.354 C34.772,50.295 35.011,50.346 35.215,50.504 C35.420,50.662 35.492,50.883 35.536,51.126 L35.650,51.763 C35.692,51.992 35.753,52.201 35.938,52.359 C36.123,52.518 36.340,52.546 36.574,52.552 L37.223,52.567 C37.472,52.574 37.703,52.611 37.891,52.788 C38.078,52.966 38.166,53.192 38.144,53.436 L38.008,54.880 L32.424,57.550 C32.144,57.685 31.818,57.635 31.569,57.423 Z'/%3E%3C/svg%3E");
}
.fixed_banner .tel p {
  background-color: #df9b36;
}
.fixed_banner .tel p .tt::before {
  margin-bottom: 0.5em;
  width: 1.1em;
  height: 1.1em;
  --mask: url("../images/shared_fixed_bnr_icon01.png");
}

@media only screen and (min-width: 769px) {
  .fixed_banner {
    font-size: 10px;
    --size: 8em;
    width: var(--size);
  }
  .fixed_banner > div {
    width: var(--size);
    height: 14em;
    margin-bottom: 0.5em;
  }
  .fixed_banner p {
    width: 100%;
    height: 100%;
  }
  .fixed_banner p .tt {
    font-size: 2em;
    line-height: 1.3;
    letter-spacing: 0;
    padding-top: 0.2em;
  }
  .fixed_banner .tel {
    transition: all 0.3s ease;
  }
  .fixed_banner .tel p {
    border-radius: 6px 0 0 6px;
  }
  .fixed_banner .tel p .tt::before {
    margin-bottom: 0.35em;
  }
  .fixed_banner .pdf p {
    border-radius: 6px 0 0 6px;
  }
  .fixed_banner .pdf p .tt::before {
    margin-bottom: 0.35em;
  }
  .fixed_banner .pdf:hover p {
    background-color: var(--main-color);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 800px) {
  .fixed_banner {
    font-size: min(0.9vw, 8.75px);
  }
  .totop .icon {
    width: 60px;
    height: 60px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .fixed_banner {
    top: calc(50% - 30em);
  }
}
footer {
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("../images/ft_bg.jpg");
}
footer p {
  margin-bottom: 0;
}
footer p,
footer a {
  color: #fff;
  text-decoration: none;
}
footer .ft_logo {
  display: table;
}
footer .ft_logo picture {
  position: relative;
}
footer .ft_logo a:hover {
  opacity: 1;
}
footer .ft_address {
  font-size: 1em;
}
footer .ft_address > span {
  letter-spacing: 0.125em;
  font-size: var(--fs-base);
}
footer .ft_tel {
  font-size: 1em;
  line-height: 1.125;
}
footer .ft_tel a {
  font-size: var(--fs-base);
}
footer .ft_tel a > span {
  font-size: 1.8em;
  letter-spacing: 0.1em;
  margin-left: 3px;
}
footer .ft_map {
  height: 299px;
}
footer .time_sheet {
  margin: 0 auto;
}
footer .ft_bnr {
  display: table;
  margin: 0 auto;
}
footer .ft_bnr a:hover {
  opacity: 1;
}
footer .ft_link {
  font-size: min(0.85vw, 10px);
}
footer .ft_link a {
  color: #fff;
}
@media only screen and (min-width: 769px) {
  footer {
    padding: clamp(80px, 10vw, 101px) 0 clamp(80px, 10vw, 98px);
  }
  footer .ft_info {
    font-size: min(0.65vw, 10px);
    display: flex;
    justify-content: space-between;
    margin-bottom: 56px;
  }
  footer .ft_info_left {
    width: 47%;
    max-width: 600px;
  }
  footer .ft_info_right {
    width: 50%;
    max-width: 640px;
  }
  footer .ft_logo {
    padding-top: 12px;
    margin-bottom: 9px;
    max-width: 42.6em;
  }
  footer .ft_logo picture {
    padding-left: 17.4em;
  }
  footer .ft_logo picture::before {
    content: "";
    position: absolute;
    aspect-ratio: 134/126;
    width: 13.4em;
    top: -1.2em;
    left: 0.2em;
    background: url("../images/shared_ft_logo02.png") no-repeat center/cover;
  }
  footer .ft_address,
  footer .ft_tel {
    padding-left: 17.2em;
  }
  footer .ft_address {
    margin-bottom: 11px;
  }
  footer .ft_tel {
    margin-left: 2px;
    margin-bottom: 40px;
  }
  footer .time_sheet {
    font-size: min(0.78vw, 10px);
    margin-bottom: 49px;
  }
}

.ft_link {
  font-size: 10px;
}
.ft_link a {
  text-decoration: none;
}
.ft_link .title {
  font-weight: 400;
  letter-spacing: 0.1em;
  pointer-events: none;
  border-bottom: 1px solid currentColor;
}
.ft_link .title::before {
  display: none;
}
.ft_link li {
  margin-bottom: 1.65em;
}
.ft_link a {
  display: table;
  position: relative;
  padding-left: 1.125em;
  font-size: 1.8em;
  letter-spacing: 0.1em;
  color: var(--clr1);
  line-height: 1.6;
}
.ft_link a::before {
  content: "・";
  position: absolute;
  border-radius: 100%;
  left: 0;
  top: 0;
}
.ft_link a:hover {
  opacity: 1;
  color: #001a33;
}
@media only screen and (min-width: 769px) {
  .ft_link .link_list {
    display: flex;
    justify-content: space-between;
  }
  .ft_link .link_list .menu01 {
    max-width: 500px;
    width: 40%;
  }
  .ft_link .link_list .menu02,
  .ft_link .link_list .menu03 {
    width: 25%;
    max-width: 320px;
  }
  .ft_link .link_list .menu03 .title {
    letter-spacing: -0.05em;
  }
  .ft_link ul {
    padding-left: 0.9em;
  }
  .ft_link ul:last-child {
    margin-bottom: 0;
  }
  .ft_link .title {
    font-size: calc(var(--ttl_size) - 6px);
    padding-left: 0.4583em;
    padding-bottom: 0.625em;
    margin-bottom: 1.25em;
    line-height: 1;
  }
}

.copyright {
  color: #fff;
  position: relative;
  z-index: 1;
}
.copyright .txt {
  display: flex;
  align-items: center;
}
.copyright .textwidget {
  display: block;
  line-height: 2;
  padding-left: 22px;
  margin-left: 23px;
  border-left: 1px solid #cecece;
  font-weight: 400;
  letter-spacing: 0.1em;
}
.copyright .textwidget p {
  margin-bottom: 0;
  font-size: 12px;
  line-height: inherit;
  letter-spacing: 0.1em;
}
.copyright .grits {
  margin-bottom: 0;
  line-height: 2.501;
}
.copyright .grits a {
  display: block;
}
.copyright .grits img {
  max-width: 159px;
}
@media only screen and (min-width: 769px) {
  .copyright {
    margin-top: -61px;
    margin-left: 5px;
  }
}

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

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