@charset "UTF-8";
:root {
  --f-notosans: "Noto Sans JP", sans-serif;
  --f-jp: "Noto Serif JP", serif;
  --f-en: "Cantarell", sans-serif;
  --f-zen-gothic: "Zen Kaku Gothic Antique", sans-serif;
  --f-barlow: "Barlow", sans-serif;
  --main-color: #f08200;
  --clr1: #333333;
  --clr2: #ccc;
  --ttl_size: 28px;
  --wrapper: 100px;
  --border-radius: 0px;
}

/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////  Copyright (C) 2009 株式会社フリーセル All Rights Reserved.  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
#loading {
  background-color: #fff;
  position: fixed;
  z-index: 9999;
  width: 100vw;
  left: 0;
  top: 0;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s, visibility 0.3s;
}
#loading picture {
  transition: all 0.3s;
  max-width: 50vw;
}
#loading .lines {
  opacity: 0;
}
#loading.loaded {
  opacity: 0;
  visibility: hidden;
  transition-delay: 0.5s;
}
#loading.loaded picture {
  opacity: 0;
  transition-delay: 0.2s;
}

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

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:not(.tel_click):hover, a:not(.tel_click):active {
    color: #64b5f7;
  }
}
a.logo:hover,
.logo a:hover,
a.ft_logo:hover,
.ft_logo a:hover,
a.tel_click:hover {
  opacity: 1 !important;
}

table {
  width: 100%;
}

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

.captcha_box iframe {
  height: auto;
}

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

p {
  line-height: 2.25;
  letter-spacing: 0.1em;
  word-wrap: break-word;
  word-break: break-word;
  margin-bottom: 15px;
  font-size: 16px;
}
@media only screen and (min-width: 1025px) {
  p {
    font-size: 18px;
  }
}
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 {
  padding-top: 10px;
  overflow: hidden;
}

.key {
  width: calc(100% - 20px);
  margin-left: auto;
  margin-right: auto;
}

.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: 1064px;
}

.inner_sm {
  max-width: 1020px;
}

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

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

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

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

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

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

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

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

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

/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*                              General                                     */
/*==========================================================================*/
@media only screen and (max-width: 768px) {
  .pc_only {
    display: none !important;
  }
}
@media only screen and (min-width: 769px) {
  .sp_only {
    display: none !important;
  }
}
.TabContainer .TabContent {
  position: relative;
  z-index: 2;
  overflow: hidden;
}
.TabContainer .TabContent .content {
  transition: all 0.3s ease-in-out;
  background-color: #fff;
  padding-bottom: 100px;
}
.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: 98%;
  margin: 0px auto;
  max-width: 1118px;
}
.TabContainer .TabPager > div {
  background-color: #f39216;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  margin: 0;
  width: calc(50% - 0px);
  transition: all 0.3s ease;
  padding-top: 29px;
  padding-bottom: 26px;
  cursor: pointer;
  color: #ffffff;
  max-width: 312px;
}
.TabContainer .TabPager > div:nth-child(2) {
  margin-left: 4px;
  margin-right: 4px;
}
.TabContainer .TabPager > div:last-child {
  max-width: 486px;
}
@media only screen and (min-width: 769px) {
  .TabContainer .TabPager > div:hover {
    background-color: #faab25;
  }
}
.TabContainer .TabPager > div p {
  margin: 0;
  line-height: 2;
  border-bottom: 1px solid transparent;
  font-size: min(10px, 0.85vw);
}
.TabContainer .TabPager > div p span {
  display: block;
  line-height: 1;
  letter-spacing: 0.05em;
}
.TabContainer .TabPager > div p .jp {
  font-size: 2.2em;
  padding-bottom: 0.4545em;
}
.TabContainer .TabPager > div p .sm {
  font-size: 1.2em;
  text-transform: uppercase;
}
.TabContainer .TabPager > div.active {
  background-color: #fff;
  z-index: 1;
  color: #3d9e81;
}
.TabContainer .TabPager > div.active p {
  color: var(--main-color);
}
.TabContainer .TabPager > div.active:hover {
  background-color: #fff;
}
@media only screen and (max-width: 991px) and (min-width: 769px) {
  .TabContainer .TabPager > div {
    padding-top: 20px;
    padding-bottom: 18px;
  }
}
@media only screen and (max-width: 768px) {
  .TabContainer .TabPager > div {
    padding: 10px 0;
  }
  .TabContainer .TabPager > div p {
    font-size: min(8px, 1.5vw);
  }
  .TabContainer .TabPager > div p .jp {
    line-height: 1.4;
    padding-bottom: 0.2em;
    letter-spacing: 0;
    font-size: 2em;
  }
  .TabContainer .TabContent .content {
    padding-bottom: 30px;
  }
}
@media only screen and (max-width: 430px) {
  .TabContainer .TabPager > div p .sm {
    font-size: 10px;
  }
}

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

.idx-tel {
  max-width: 464px;
  background-color: #fff;
  margin-left: auto;
  margin-right: auto;
}

.tel_click {
  text-decoration: none;
  padding-top: 16px;
  padding-bottom: 22px;
  padding-right: 1.375em;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tel_click .icon {
  display: flex;
  align-items: center;
  font-family: var(--f-zen-gothic);
  font-weight: 500;
  color: var(--clr1);
  letter-spacing: 0.05em;
  font-size: 28px;
}
.tel_click .icon::before {
  content: "";
  display: block;
  margin-right: 1.5em;
  margin-top: 0.1786em;
  width: 0.8214285714em;
  height: 0.8214285714em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='46px' height='46px'%3E%3Cpath fill-rule='evenodd' fill='rgb(240, 130, 0)' d='M45.972,34.277 L45.972,43.308 C45.972,44.650 44.935,45.764 43.597,45.858 C42.480,45.934 41.569,45.975 40.864,45.975 C18.294,45.975 -0.001,27.680 -0.001,5.107 C-0.001,4.403 0.038,3.491 0.117,2.375 C0.211,1.037 1.324,-0.001 2.666,0.001 L11.697,0.001 C12.353,-0.001 12.903,0.496 12.969,1.149 C13.027,1.737 13.081,2.204 13.132,2.559 C13.640,6.102 14.680,9.548 16.217,12.778 C16.460,13.289 16.302,13.900 15.842,14.226 L10.330,18.165 C13.700,26.018 19.958,32.276 27.810,35.646 L31.743,30.144 C32.075,29.681 32.691,29.519 33.207,29.763 C36.438,31.298 39.882,32.336 43.423,32.841 C43.778,32.892 44.245,32.948 44.828,33.005 C45.480,33.073 45.975,33.621 45.974,34.277 L45.972,34.277 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);
}

@media only screen and (max-width: 768px) {
  .idx-tel {
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }
  .tel_click {
    padding-top: 10px;
    padding-bottom: 15px;
  }
  .tel_click .icon::before {
    margin-right: 1em;
  }
}
.en {
  font-family: var(--f-en);
}

@keyframes arrow-slide {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  49% {
    transform: translateX(100%);
    opacity: 0;
  }
  50% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
.btn a {
  position: relative;
  color: var(--main-color);
  text-decoration: none;
}
.btn a::before, .btn a::after {
  position: absolute;
  content: "";
  transition: all 0.3s;
}
.btn a::before {
  width: 2.7222222222em;
  height: 2.7222222222em;
  border-radius: 50%;
  background-color: var(--main-color);
  top: -0.11111111em;
  right: 0;
}
.btn a::after {
  width: 0.3888888889em;
  height: 0.6111111111em;
  right: 1.1111111111em;
  top: calc(50% - 0.3888888889em);
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='7px' height='11px'%3E%3Cpath fill-rule='evenodd' fill='rgb(240, 130, 0)' d='M7.013,5.639 L6.134,6.445 L5.984,6.307 L0.866,11.014 L-0.013,10.206 L5.106,5.500 L-0.013,0.794 L0.866,-0.014 L5.984,4.693 L6.134,4.554 L7.013,5.361 L6.862,5.500 L7.013,5.639 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);
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.btn-group {
  font-size: 0.625em;
}
.btn-group .btn {
  font-size: 1em;
}
.btn-group .btn.style01 {
  width: 100%;
}
.btn-group .btn.style01 a {
  display: inline-block;
  padding-right: 3.3888888889em;
  height: 2.7222222222em;
  font-size: 1.8em;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: var(--main-color);
  transition: all 0.3s;
  position: relative;
  z-index: 1;
}
.btn-group .btn.style01 a::after {
  background-color: #fff;
}
.btn-group .btn.style01 a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .btn-group .btn.style01 a:hover {
    color: #faab25;
  }
  .btn-group .btn.style01 a:hover::before {
    background-color: #faab25;
  }
  .btn-group .btn.style01 a:hover::after {
    animation: arrow-slide 0.4s forwards;
  }
}
.btn-group .btn.bg01 a {
  background-color: #fff;
  color: var(--main-color);
}
.btn-group .btn.bg01 a::after {
  background-color: var(--main-color);
}
.yt {
  max-width: 960px;
  margin: 0px auto;
}

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

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

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

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

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

/* Tablet
-------------------------------------------*/
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  body {
    font-size: 87.5%;
  }
}
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                           Header - Footer                                */
/*==========================================================================*/
h1 {
  position: absolute;
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
}

header {
  position: fixed;
  top: 10px;
  left: 0;
  width: 100%;
  height: var(--wrapper);
  z-index: 20;
  transition: all 0.3s;
}

.ovh #nav-icon span {
  background-color: #f18b12 !important;
}
.ovh #nav-icon {
  width: 46px;
}

header.active,
.ovh header {
  background-color: #fff;
  top: 0;
}
header.active .logo,
.ovh header .logo {
  top: 2px;
}
header.active .logo .df,
.ovh header .logo .df {
  display: none;
}
header.active .logo .active,
.ovh header .logo .active {
  display: block;
}
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: #333333;
}
header.active .pc_navi > ul > li > a:hover,
header.active .pc_navi > ul > li > p:hover,
.ovh header .pc_navi > ul > li > a:hover,
.ovh header .pc_navi > ul > li > p:hover {
  color: var(--main-color);
}
header.active .pc_navi > ul > li.menu-item-has-children > a::after,
header.active .pc_navi > ul > li.menu-item-has-children > p::after,
.ovh header .pc_navi > ul > li.menu-item-has-children > a::after,
.ovh header .pc_navi > ul > li.menu-item-has-children > p::after {
  mask: url(../images/shared_pc_navi_arrow_active.png) center no-repeat;
  background-color: var(--main-color);
  width: 7px;
  height: 4px;
  mask-size: 100% auto;
}
header.active .hamburger-btn,
.ovh header .hamburger-btn {
  top: 0;
}
header.active .pc_navi > ul > li:hover > a,
header.active .pc_navi > ul > li:hover > p,
.ovh header .pc_navi > ul > li:hover > a,
.ovh header .pc_navi > ul > li:hover > p {
  color: var(--main-color);
}
@media only screen and (min-width: 769px) {
  header.active .button-toggle:hover #nav-icon span,
  .ovh header .button-toggle:hover #nav-icon span {
    background-color: #fff !important;
  }
}
header.active #nav-icon span,
.ovh header #nav-icon span {
  background-color: #333333;
}

.header_top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  justify-content: space-between;
  margin: 0 auto;
  padding: 5px 20px;
  height: 100%;
  transition: all 0.3s ease-in-out;
}
@media only screen and (min-width: 1281px) {
  .header_top {
    padding-left: 50px;
  }
}

.logo {
  width: 25%;
  max-width: 264px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  top: 24px;
}
.logo a {
  display: block;
  width: 100%;
  text-align: center;
}
.logo img {
  width: auto;
}
.logo .active {
  display: none;
}

.right_head {
  width: 70%;
  max-width: 870px;
  padding-right: 166px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.pc_navi {
  width: 100%;
}
.pc_navi > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  text-align: center;
  width: 100%;
}
.pc_navi > ul > li {
  position: relative;
}
.pc_navi > ul > li:hover > a,
.pc_navi > ul > li:hover > p {
  opacity: 1;
  color: #ff9a09;
}
.pc_navi > ul > li:hover > a::before,
.pc_navi > ul > li:hover > p::before {
  width: 100%;
}
.pc_navi > ul > li.menu-item-has-children > a,
.pc_navi > ul > li.menu-item-has-children > p {
  padding-right: 13px;
}
.pc_navi > ul > li.menu-item-has-children > a::after,
.pc_navi > ul > li.menu-item-has-children > p::after {
  top: calc(50% - 2px);
  right: 0;
  content: "";
  mask: url(../images/shared_pc_navi_arrow.png) center no-repeat;
  mask-size: 100% auto;
  width: 9px;
  height: 5px;
  position: absolute;
  transition: all 0.5s ease;
  background-color: var(--clr1);
  /*border-color: #fff transparent transparent transparent;
  border-style: solid;
  border-width: 6px 6px 0px 6px;
  width: 0;
  height: 0;*/
}
.pc_navi > ul > li.menu-item-has-children > a::before,
.pc_navi > ul > li.menu-item-has-children > p::before {
  display: none;
}
.pc_navi > ul > li.menu-item-has-children > a:hover::after,
.pc_navi > ul > li.menu-item-has-children > p:hover::after {
  transform: translateY(5px);
}
.pc_navi > ul > li > a,
.pc_navi > ul > li > p {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 0;
  height: 40px;
  text-decoration: none;
  text-align: center;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  transition: all 0.2s ease;
  color: var(--clr1);
  position: relative;
}
.pc_navi > ul > li > a::before,
.pc_navi > ul > li > p::before {
  display: none;
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  height: 1px;
  width: 0;
  background-color: #fff;
  transition: all 0.3s;
}
.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);
}
@media only screen and (min-width: 769px) and (max-width: 991px) {
  .pc_navi > ul > li:nth-child(4) .subInner {
    transform: translate(46%, 100%);
  }
}
.pc_navi > ul .subInner {
  position: absolute;
  width: 19em;
  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;
}
@media only screen and (min-width: 769px) and (max-width: 991px) {
  .pc_navi > ul .subInner {
    width: 23em;
  }
}
.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%);
}

.idx_banner {
  --space: 10px;
  background-color: #fee8c2;
  padding-top: 80px;
  padding-bottom: 80px;
}
.idx_banner .flex {
  justify-content: center;
  gap: var(--space);
}
.idx_banner .item {
  max-width: 272px;
  width: calc((100% - var(--space) * 3) / 4);
}
@media only screen and (min-width: 769px) {
  .idx_banner .item:nth-child(1), .idx_banner .item:nth-child(2) {
    max-width: 554px;
    width: calc((100% - var(--space) * 1) / 2);
  }
}
@media only screen and (min-width: 769px) {
  .idx_banner .item a:hover {
    opacity: 1;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .idx_banner {
    padding: 60px 0;
  }
}

@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: 1180px;
    padding: 0 20px;
    margin: auto;
    min-height: 100%;
    display: flex;
    align-items: center;
    font-size: min(16px, 1.3vw);
  }
  .menu_toggle .inside .ft_link .link_list {
    width: 100%;
    display: flex;
  }
  .menu_toggle .inside .ft_link .menu01,
  .menu_toggle .inside .ft_link .menu02 {
    width: 49%;
  }
  .menu_toggle .inside .ft_link .menu01 {
    max-width: 464px;
  }
  .menu_toggle .inside .ft_link .menu02 {
    margin-top: 0;
    max-width: 573px;
  }
  .menu_toggle .inside .ft_link a::after {
    background-color: var(--clr1);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  :root {
    --wrapper: 80px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .logo {
    top: 0;
  }
  .right_head {
    padding-right: 120px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .pc_navi > ul {
    font-size: 1.4vw;
  }
  .pc_navi > ul .subInner ul li a {
    font-size: 12px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 991px) {
  .right_head {
    padding-right: 100px;
  }
}
.idx_gallery .list {
  display: flex;
}
.idx_gallery .list .img img {
  overflow: hidden;
}
@media only screen and (max-width: 1280px) and (min-width: 769px) {
  .idx_gallery .item {
    width: 300px;
  }
}

.time_sheet {
  margin: 0px auto;
  font-size: min(18px, 1.5vw);
}
.time_sheet .note {
  margin-top: 4px;
  margin-left: -2px;
  line-height: 2;
  font-size: 14px;
  letter-spacing: 0.1em;
}
.time_sheet .note span {
  display: inline-block;
}
.time_sheet .dot {
  position: relative;
  padding: 0px 0.4375em 0 0.6875em;
}
.time_sheet .dot::before {
  position: absolute;
  content: "-";
  top: 0;
  left: 0.375em;
}
.time_sheet table {
  font-feature-settings: "palt";
}
.time_sheet table th,
.time_sheet table td {
  border-top: none;
  border-right: none;
  border-left: none;
  text-align: center;
  font-weight: 400;
  letter-spacing: 0.1em;
  width: 8.2%;
  border-bottom: 1px solid #aca9a6;
  padding: 0;
}
.time_sheet table th:first-child,
.time_sheet table td:first-child {
  width: 35.5%;
  padding-right: 0.6875em;
}
.time_sheet table th:last-child,
.time_sheet table td:last-child {
  width: 15.1%;
  padding-right: 2.4em;
}
@media only screen and (max-width: 430px) {
  .time_sheet table th:last-child,
  .time_sheet table td:last-child {
    padding-right: 1em;
  }
}
.time_sheet table tr:first-child th {
  padding-bottom: 1em;
}
.time_sheet table td {
  color: var(--main-color);
}
.time_sheet table td:first-child {
  color: #333;
}
.time_sheet tbody tr:first-child th,
.time_sheet tbody tr:first-child td {
  padding-top: 1.125em;
  padding-bottom: 1.375em;
}
.time_sheet tbody tr:nth-child(2) th,
.time_sheet tbody tr:nth-child(2) td {
  padding-top: 1.125em;
  padding-bottom: 1.3125em;
}

@media only screen and (max-width: 992px) and (min-width: 769px) {
  :root {
    --ttl_size: 22px;
    --wrapper: 80px;
  }
}
.totop {
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  position: fixed;
  z-index: 19;
  bottom: 40px;
  right: 30px;
}
.totop.active {
  opacity: 1;
  visibility: visible;
}
.totop .icon {
  background-image: url(../images/totop.png);
  background-repeat: no-repeat;
  background-size: 15px auto;
  background-position: center;
  background-color: #fff;
  border-radius: 50%;
  border: 0px;
  width: 59px;
  height: 59px;
  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: 25.2em;
  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%;
  padding: 0;
}
.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;
  font-size: 1em;
}
.fixed_banner p:hover {
  color: #fff;
}
.fixed_banner p .tt {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.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(--main-color);
}
.fixed_banner .tel p .tt::before {
  width: 1.8461538462em;
  height: 1.8461538462em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='49px' height='49px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M48.020,35.803 L48.020,45.238 C48.020,46.640 46.936,47.802 45.538,47.900 C44.373,47.981 43.420,48.023 42.684,48.023 C19.109,48.023 -0.001,28.913 -0.001,5.336 C-0.001,4.599 0.039,3.647 0.122,2.481 C0.220,1.083 1.383,-0.001 2.785,-0.001 L12.218,-0.001 C12.903,-0.001 13.478,0.518 13.546,1.201 C13.608,1.814 13.664,2.302 13.717,2.673 C14.247,6.373 15.334,9.973 16.940,13.347 C17.193,13.881 17.028,14.519 16.548,14.860 L10.790,18.974 C14.310,27.176 20.847,33.713 29.049,37.234 L33.157,31.486 C33.504,31.003 34.147,30.835 34.686,31.090 C38.061,32.692 41.658,33.777 45.357,34.304 C45.728,34.358 46.216,34.416 46.824,34.475 C47.505,34.545 48.023,35.119 48.022,35.803 L48.020,35.803 Z'/%3E%3C/svg%3E");
}
.fixed_banner .web p {
  background-color: #ff9a09;
}
.fixed_banner .web p .tt::before {
  width: 2.4166666667em;
  height: 2.25em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='58px' height='54px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M57.984,50.762 C57.984,52.547 56.542,53.995 54.762,53.995 L3.221,53.995 C1.442,53.995 -0.000,52.547 -0.000,50.762 L-0.000,12.001 C-0.000,10.214 2.221,8.001 3.1000,8.001 L13.620,8.001 L13.620,2.640 C13.620,1.186 14.795,0.007 16.245,0.007 C17.694,0.007 18.869,1.186 18.869,2.640 L18.869,8.001 L39.230,8.001 L39.230,2.640 C39.230,1.186 40.405,0.007 41.854,0.007 C43.304,0.007 44.479,1.186 44.479,2.640 L44.479,8.001 L55.1000,8.001 C57.779,8.001 58.000,10.214 58.000,12.001 L57.984,50.762 ZM17.289,31.467 C16.660,30.836 15.641,30.836 15.012,31.467 C14.383,32.098 14.383,33.121 15.012,33.754 L22.208,40.975 C22.522,41.291 22.935,41.448 23.347,41.448 C23.759,41.448 24.171,41.291 24.486,40.975 L42.972,22.424 C43.601,21.793 43.601,20.770 42.972,20.139 C42.343,19.508 41.323,19.508 40.694,20.139 L23.347,37.547 L17.289,31.467 Z'/%3E%3C/svg%3E");
}
.fixed_banner .mail p {
  background-color: #faab25;
}
.fixed_banner .mail p .tt::before {
  width: 2.25em;
  height: 1.9166666667em;
  margin-bottom: 0.9166666667em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='54px' height='46px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M46.895,0.000 L7.105,0.000 C3.188,0.000 0.000,3.328 0.000,7.419 L0.000,38.581 C0.000,42.671 3.188,46.000 7.105,46.000 L46.895,46.000 C50.812,46.000 53.1000,42.671 53.1000,38.581 L53.1000,7.419 C53.1000,3.328 50.812,0.000 46.895,0.000 ZM16.636,32.211 L6.689,42.598 C6.411,42.887 6.048,43.032 5.684,43.032 C5.321,43.032 4.957,42.887 4.679,42.598 C4.124,42.018 4.124,41.079 4.679,40.499 L14.627,30.112 C15.182,29.533 16.081,29.533 16.636,30.112 C17.192,30.692 17.192,31.631 16.636,32.211 ZM49.321,42.598 C49.043,42.887 48.679,43.032 48.316,43.032 C47.952,43.032 47.589,42.887 47.311,42.598 L37.364,32.211 C36.809,31.631 36.809,30.692 37.364,30.112 C37.919,29.533 38.818,29.533 39.373,30.112 L49.321,40.499 C49.876,41.079 49.876,42.018 49.321,42.598 ZM50.706,13.474 L27.788,29.428 C27.549,29.595 27.275,29.678 27.000,29.678 C26.725,29.678 26.450,29.595 26.212,29.428 L3.256,13.801 C2.594,13.350 2.412,12.422 2.850,11.735 L2.851,11.734 C3.282,11.056 4.156,10.869 4.808,11.314 L27.000,26.410 L49.130,11.005 C49.783,10.550 50.665,10.734 51.100,11.417 C51.536,12.098 51.359,13.019 50.706,13.474 Z'/%3E%3C/svg%3E");
}

@media only screen and (min-width: 769px) {
  .fixed_banner {
    font-size: 10px;
    --size: 8em;
    width: 8em;
  }
  .fixed_banner > div {
    width: var(--size);
    height: var(--size);
    margin-bottom: 3px;
  }
  .fixed_banner p {
    width: var(--size);
    height: var(--size);
    padding-top: 1.7em;
    transition: all 0.3s;
  }
  .fixed_banner p .tt {
    font-size: 1.3em;
    letter-spacing: 0;
  }
  .fixed_banner .tel {
    --w_tel: 28em;
    transform: translateX(calc(-var(--size) - var(--w_tel)));
    transition: all 0.3s ease;
  }
  .fixed_banner .tel .tt::before {
    margin-bottom: 0.7em;
  }
  .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 .ov {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--main-color);
    position: absolute;
    left: var(--size);
    height: 100%;
    top: 0;
    width: var(--w_tel);
  }
  .fixed_banner .tel .ov::before {
    position: absolute;
    content: "";
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 1px;
    height: 6em;
    background-color: #f8c180;
  }
  .fixed_banner .tel .ov .text {
    font-size: 2.8em;
    font-family: var(--f-zen-gothic);
    letter-spacing: 0.05em;
    position: relative;
    top: -2px;
    left: -6px;
  }
  .fixed_banner .web p {
    padding-top: 1.4em;
  }
  .fixed_banner .web p .tt {
    font-size: 1.2em;
  }
  .fixed_banner .web p .tt::before {
    margin-bottom: 0.8333em;
  }
  .fixed_banner .web:hover p {
    background-color: #333333;
  }
  .fixed_banner .mail p .tt {
    font-size: 1.2em;
  }
  .fixed_banner .mail:hover p {
    background-color: #e68f27;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  .fixed_banner {
    font-size: 8.75px;
  }
  .totop .icon {
    width: 60px;
    height: 60px;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .fixed_banner {
    font-size: 7px;
    top: 20em;
  }
}
footer {
  padding: 126px 0 106px;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/ft_bg.jpg);
}
footer .inner_big {
  max-width: 1158px;
}
footer .ft_logo {
  max-width: 324px;
}
footer .idx-tel {
  max-width: 408px;
}
footer .time_sheet {
  margin-top: 64px;
}
footer .time_sheet th,
footer .time_sheet td {
  color: #fff !important;
  border-color: #fff;
  width: 8.6%;
}
footer .time_sheet th:first-child,
footer .time_sheet td:first-child {
  padding-right: 1.25em;
}
footer .time_sheet th:last-child,
footer .time_sheet td:last-child {
  padding-right: 1em;
}
footer p {
  margin-bottom: 0;
}
footer p,
footer a {
  color: #fff;
  text-decoration: none;
}
footer .ft_logo {
  padding: 0px 0 40px;
  max-width: 324px;
  margin-left: auto;
  margin-right: auto;
}
footer .ft_info {
  width: 49%;
  max-width: 464px;
}
footer .ft_info .des {
  margin-bottom: 24px;
  font-size: 18px;
  text-align: center;
  line-height: 1.625;
}
footer .ttl {
  font-size: 1.25em;
  letter-spacing: 0.05em;
}
footer .ft_link {
  width: 52%;
  max-width: 573px;
}
footer .ft_link a {
  color: #fff;
}
footer .ft_link a:hover {
  color: #fff;
}
footer .ft_link a:hover::after {
  background-color: #fff;
}

.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: flex-start;
  }
}
@media only screen and (min-width: 769px) and (max-width: 991px) {
  .ft_link .link_list > div ul {
    align-content: space-between;
  }
}
@media only screen and (min-width: 769px) {
  .ft_link .menu01 {
    width: 100%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 991px) {
  .ft_link .menu01 {
    width: 45% !important;
  }
}
@media only screen and (min-width: 769px) {
  .ft_link .menu01 ul {
    max-height: 16em;
  }
  .ft_link .menu01 ul li:nth-child(-n+6) {
    width: 20.4375em;
  }
  .ft_link .menu02 {
    margin-top: 3.625em;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .ft_link .menu02 .title {
    margin-bottom: 1.15625em;
    width: 100%;
  }
  .ft_link .menu02 .ft_list:first-of-type ul {
    max-height: 16em;
  }
  .ft_link .menu02 .ft_list:first-of-type ul li:nth-child(-n+6) {
    width: 9.1875em;
  }
  .ft_link .ttl {
    margin-bottom: 1.0625em;
  }
}
.ft_link .title {
  margin-bottom: 1.34375em;
  padding-left: 0;
  font-size: 2em;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  pointer-events: none;
  font-family: var(--f-en);
  text-transform: uppercase;
  position: relative;
}
.ft_link .title::before {
  position: absolute;
  content: "";
  top: 0.5em;
  right: 5px;
  background-color: #f8cc97;
  width: calc(100% - 4.375em);
  height: 1px;
}
.ft_link ul:last-child {
  margin-bottom: 0;
}
.ft_link li {
  margin-bottom: 0.9375em;
  letter-spacing: 0.1em;
}
.ft_link a {
  display: table;
  position: relative;
  padding-left: 0em;
  color: inherit;
  font-size: 1.125em;
  letter-spacing: 0.05em;
}
.ft_link a::before {
  content: "・";
  margin-left: -0.35em;
  border-radius: 100%;
  width: auto;
  height: auto;
}
.ft_link a::after {
  position: absolute;
  content: "";
  bottom: -0.1428em;
  left: 0.71428em;
  width: calc(100% - 0.71428em);
  height: 1px;
  opacity: 0;
  visibility: visible;
  transition: all 0.3s;
}
.ft_link a:hover {
  opacity: 1;
  color: initial;
}
.ft_link a:hover::after {
  opacity: 1;
  visibility: visible;
}

.copyright {
  margin: 0 auto 0;
  color: #fefefe;
  padding: 15px 0px 15px;
  position: relative;
  z-index: 1;
  background-color: var(--main-color);
}
.copyright .flex {
  align-items: center;
  justify-content: flex-start;
  min-height: 40px;
}
.copyright .inner_big {
  max-width: 1158px;
}
.copyright .textwidget {
  display: block;
  line-height: 20px;
  padding-left: 20px;
  margin-left: 22px;
  border-left: 1px solid #f8c180;
  font-weight: 400;
  letter-spacing: 0.1em;
}
.copyright .textwidget p {
  margin-bottom: 0;
  font-size: 16px;
  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: 142px;
}

@media only screen and (min-width: 1281px) {
  footer .ft_info {
    padding-top: 5px;
  }
  footer .ttl {
    margin-left: -5px;
  }
  footer .ft_link {
    position: relative;
    left: 5px;
  }
  footer .ft_link .title {
    margin-left: -8px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  footer {
    padding: 90px 0 70px;
  }
  footer .ft_link {
    width: 49%;
  }
}
@media only screen and (max-width: 1024px) {
  footer .ft_info .des {
    font-size: 16px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 991px) {
  footer .ft_info {
    width: 46%;
  }
  footer .ft_link {
    width: 51%;
    font-size: min(14px, 1.3vw);
  }
  footer .ft_logo {
    padding-bottom: 20px;
  }
  footer .time_sheet {
    margin-top: 35px;
    font-size: min(14px, 1.8vw);
  }
}
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                INDEX                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                Under                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/

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