@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;
  --main-color: #3484c8;
  --main-color-rgb: 52, 132, 200;
  --clr1: #434343;
  --clr2: #25659b;
  --clr2-rgb: 37, 101, 155;
  --clr3: #49b4e5;
  --clr3-rgb: 73, 180, 229;
  --clr4: #98d0ec;
  --clr4-rgb: 152, 208, 236;
  --clr5: #ecf7fe;
  --clr5-rgb: 236, 247, 254;
  --clr6: #4688ce;
  --clr6-rgb: 70, 136, 206;
  --clr7: #3a7fca;
  --clr-yellow: #fedc5e;
  --ttl_size: 30px;
  --txt_size: 16px;
  --line-height-p: 2;
  --wrapper: 90px;
  --pd-size: round(min(1.1vw, 11px), 1px);
}

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

.address {
  letter-spacing: 0.09em;
}
.address .ic {
  position: relative;
  padding-left: 1.625em;
}
.address .ic::before {
  content: "";
  position: absolute;
  width: 1.125em;
  height: 1.5em;
  top: 1px;
  left: 0px;
  --mask: url("../images/idx_address.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: var(--clr2);
}
.address.white {
  color: #fff;
}
.address.white .ic::before {
  background-color: #fff;
}

.vehicle li {
  position: relative;
  letter-spacing: 0;
  padding-left: 3.625em;
}
.vehicle li:not(:last-child) {
  margin-bottom: 2.125em;
}
.vehicle li::after {
  content: "";
  position: absolute;
  width: 3em;
  height: 3em;
  border-radius: 50%;
  top: 0px;
  bottom: 0.125em;
  left: 0px;
  margin: auto 0;
  background-color: var(--clr2);
}
.vehicle li::before {
  content: "";
  position: absolute;
  width: 3em;
  height: 3em;
  top: 0px;
  bottom: 0px;
  left: 0px;
  margin: auto 0;
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: #fff;
  z-index: 1;
}
.vehicle li.bus::before {
  mask-size: 1.5625em 1.5625em;
  -webkit-mask-size: 1.5625em 1.5625em;
  --mask: url("../images/idx_vehicle01.png");
}
.vehicle li.car::before {
  bottom: 0.25em;
  mask-size: 1.75em 1.1875em;
  -webkit-mask-size: 1.75em 1.1875em;
  --mask: url("../images/idx_vehicle02.png");
}
.vehicle.white li {
  color: #fff;
}
.vehicle.white li::before {
  background-color: var(--main-color);
}
.vehicle.white li::after {
  background-color: #fff;
}

.idx_tel a {
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.idx_tel a > span {
  margin-left: 0.0556em;
  letter-spacing: 0.05em;
  font-weight: 300;
  font-size: 2.25em;
}
.idx_tel .white {
  color: #fff;
}

.idx_logo {
  display: table;
}
.idx_logo.white {
  filter: brightness(0) invert(1);
}

/*==========================================================================*/
/*                            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;
  }
}
.TabContainer {
  font-size: 1em;
}
.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;
}
@media only screen and (min-width: 769px) {
  .TabContainer .TabContent .content > div {
    padding-top: 6.8em;
  }
}
@media only screen and (max-width: 768px) {
  .TabContainer .TabContent .content > div {
    padding-top: 4em;
  }
}
.TabContainer .TabContent .content > div.active {
  opacity: 1;
  z-index: 1;
  visibility: visible;
}
.TabContainer .TabPager {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 0px auto;
  max-width: 1000px;
}
.TabContainer .TabPager > div {
  background-color: var(--clr4);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  margin: 0;
  padding: 1.7em 2em 1.9em;
  width: 48%;
  transition: all 0.3s ease;
  cursor: pointer;
  color: #ffffff;
}
.TabContainer .TabPager > div p {
  margin: 0;
  line-height: 2;
}
@media only screen and (min-width: 769px) {
  .TabContainer .TabPager > div p {
    font-size: min(2vw, 22px);
  }
}
@media only screen and (max-width: 768px) {
  .TabContainer .TabPager > div p {
    font-size: 18px;
    line-height: 1.5;
  }
}
@media only screen and (max-width: 430px) {
  .TabContainer .TabPager > div p {
    font-size: 16px;
  }
}
.TabContainer .TabPager > div::before {
  content: "";
  position: absolute;
  width: 2.5em;
  height: 1.5em;
  top: calc(100% - 1px);
  left: 0px;
  right: 0px;
  margin: 0 auto;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  background-color: transparent;
}
.TabContainer .TabPager > div.active {
  background-color: var(--clr7);
  pointer-events: none;
  z-index: 1;
}
.TabContainer .TabPager > div.active::before {
  background-color: var(--clr7);
}
@media only screen and (min-width: 769px) {
  .TabContainer .TabPager > div:hover {
    background-color: var(--clr2);
  }
}

.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,
.btn02 a {
  position: relative;
  text-decoration: none;
  font-family: var(--f-jp);
}

.btn-group {
  font-size: 0.625em;
}
.btn-group .btn {
  font-size: 1em;
  width: 100%;
  min-width: 180px;
  max-width: 320px;
}
.btn-group .btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.6667em;
  height: 100%;
  padding: 0.4444em 3.2778em 0.6111em 1em;
  font-size: 1.8em;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: var(--main-color);
  text-align: center;
  background-color: #fff;
  border: 1px solid var(--main-color);
  transition: all 0.3s;
  box-shadow: 0.2222em 0.2222em 0em 0em var(--clr2);
  z-index: 1;
}
.btn-group .btn a::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  right: 0;
  top: 0;
  width: 2.1667em;
  height: 100%;
  background-color: var(--main-color);
}
.btn-group .btn a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  top: 0;
  bottom: 0;
  margin: auto 0;
  right: 0.8333em;
  width: 0.3889em;
  height: 0.6667em;
  --mask: url("../images/ic_btn.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: var(--main-color);
  background-color: #fff;
}
.btn-group .btn a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .btn-group .btn a:hover {
    transform: translateY(4px);
    box-shadow: none;
    color: #fff;
  }
  .btn-group .btn a:hover::before {
    width: 100%;
    z-index: -1;
  }
}
.btn-group .btn.lg {
  max-width: 400px;
}
.btn-group .btn02 {
  font-size: 1em;
  width: 100%;
  max-width: 620px;
}
.btn-group .btn02 a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 4em;
  padding: 0.5em 2.5em;
  font-size: 2em;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  border: 2px solid var(--clr2);
  transition: all 0.3s;
  z-index: 1;
}
.btn-group .btn02 a::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 100%;
  height: 100%;
  inset: 0;
  background-color: var(--main-color);
  z-index: -1;
}
.btn-group .btn02 a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  top: 0;
  bottom: 0;
  margin: auto 0;
  right: 3.1%;
  width: 1.2em;
  height: 1.2em;
  border-radius: 50%;
  background: url("../images/ic_btn02.png") no-repeat center/cover;
  box-shadow: 0.5px 0.5px 0px 0px rgba(0, 0, 0, 0.2);
}
.btn-group .btn02 a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .btn-group .btn02 a:hover {
    color: var(--main-color);
    background-color: #fff;
  }
  .btn-group .btn02 a:hover::before {
    width: 0;
  }
  .btn-group .btn02 a:hover::after {
    box-shadow: none;
  }
}
@media only screen and (max-width: 768px) {
  .btn-group .btn02 {
    max-width: 340px;
  }
  .btn-group .btn02 a {
    padding: 0.5em 2em;
  }
}

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

@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .br_1366 {
    display: block;
  }
  .dis_1366 {
    display: none;
  }
}
.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;
  background-color: #fff;
  font-size: 10px;
}

header.active .logo,
.ovh header .logo {
  position: relative;
}
header.active .logo a,
.ovh header .logo a {
  padding: 0;
  box-shadow: none;
}
header.active .logo a img,
.ovh header .logo a img {
  width: auto;
  max-height: calc(var(--wrapper) - 10px);
}

.header_top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  justify-content: space-between;
  margin: 0 auto;
  padding: 5px 1.25%;
  height: 100%;
}

.logo {
  position: absolute;
  top: 0;
  left: 0;
}
.logo a {
  display: block;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  box-shadow: 0px 2px 30px 0px rgba(0, 0, 0, 0.12);
}
@media only screen and (min-width: 769px) {
  .logo a {
    padding: 3.8em 2em;
  }
}
.logo img {
  font-size: clamp(7px, 0.65vw, 10px);
  width: 26em;
  height: 16.4em;
}

.right_head {
  width: 70%;
  padding-right: 21.5em;
  padding-bottom: 0.2em;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin-left: auto;
}

.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:not(:last-child) {
  margin-right: 12.4em;
}
.pc_navi > ul > li:hover > a,
.pc_navi > ul > li:hover > p {
  opacity: 0.8;
  color: var(--main-color);
}
.pc_navi > ul > li.menu-item-has-children > a,
.pc_navi > ul > li.menu-item-has-children > p {
  padding-bottom: 1em;
  margin-bottom: -1em;
}
.pc_navi > ul > li.menu-item-has-children > a::after,
.pc_navi > ul > li.menu-item-has-children > p::after {
  content: "";
  width: 11px;
  height: 7px;
  position: absolute;
  bottom: 0px;
  left: calc(50% - 5.5px);
  transition: all 0.5s ease;
  --mask: url("../images/shared_pc_navi_arrow.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: var(--clr6);
}
.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;
  text-decoration: none;
  text-align: center;
  font-weight: 500;
  font-size: 1.6em;
  line-height: 1.5;
  letter-spacing: 0.1em;
  transition: all 0.2s ease;
  color: var(--clr1);
}
.pc_navi > ul > li:hover a.title::after,
.pc_navi > ul > li:hover p.title::after {
  transform: translateY(5px);
}
.pc_navi > ul > li > .subInner {
  position: absolute;
  width: 22em;
  right: 50%;
  bottom: 0;
  padding-top: 25px;
  transform: translate(50%, 100%);
  transition: all 0.2s ease-in-out;
  opacity: 0;
  visibility: hidden;
  z-index: 1;
}
.pc_navi > ul > li > .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: 1.4em;
  font-weight: 500;
  color: #fff;
  text-decoration: none;
  text-align: left;
  letter-spacing: 0.05em;
}
.pc_navi > ul .subInner ul li a::before {
  content: "›";
  display: block;
  position: absolute;
  top: 50%;
  left: 0.6em;
  transform: translateY(-54%);
}

@media only screen and (min-width: 769px) {
  .pc_navi > ul .col2 > .subInner {
    width: 75em;
    transform: translate(40%, 100%);
  }
  .pc_navi > ul .col2 > .subInner ul {
    display: flex;
    flex-wrap: wrap;
  }
  .pc_navi > ul .col2 > .subInner ul li {
    width: 50%;
  }
  .pc_navi > ul .col2 > .subInner .sub_menu.ttl-hide > a {
    display: none;
  }
  .pc_navi > ul .col2 > .subInner .sub_menu > .subInner > ul > li {
    width: 100%;
  }
  .pc_navi > ul .col2 > .subInner .sub_menu > a {
    font-size: 1.5em;
    font-weight: 600;
    padding-left: 0.8em;
    pointer-events: none;
  }
  .pc_navi > ul .col2 > .subInner .sub_menu > a::before {
    display: none;
  }
  .pc_navi > ul .col2 > .subInner .sub_menu-01 {
    width: 100%;
  }
  .pc_navi > ul .col2 > .subInner .sub_menu-01 > .subInner > ul > li {
    width: 50%;
  }
  .menu_toggle .inside .ft_link {
    width: 100%;
    max-width: 1280px;
    margin: auto;
    min-height: 100%;
    display: flex;
    align-items: center;
    font-size: min(0.9vw, 10px);
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1366px) {
  .menu_toggle .inside .ft_link {
    max-width: 1080px;
  }
}
@media only screen and (min-width: 769px) {
  .menu_toggle .inside .ft_link .link_list {
    width: 100%;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) {
  .menu_toggle .inside .ft_link .link_list a:hover {
    color: var(--main-color);
  }
}
@media only screen and (min-width: 769px) {
  .menu_toggle .inside .ft_link .link_list .title {
    color: var(--main-color);
  }
  .menu_toggle .inside .ft_link .link_list .menu01 {
    width: 48%;
  }
  .menu_toggle .inside .ft_link .link_list .menu01 > ul > li {
    width: 60%;
  }
  .menu_toggle .inside .ft_link .link_list .menu01 > ul > li:nth-child(n+8) {
    width: max-content;
  }
  .menu_toggle .inside .ft_link .link_list .menu02 {
    margin-top: 0;
    width: 45%;
  }
  .menu_toggle .inside .ft_link .link_list .menu02 > ul > li:nth-child(1) {
    width: 60%;
  }
  .menu_toggle .inside .ft_link .link_list .menu02 > ul > li:nth-child(2) {
    width: max-content;
  }
  .menu_toggle .inside .ft_link .link_list .menu02 > ul > li:nth-child(3) > ul > li {
    width: 30.5%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  :root {
    --wrapper: 70px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  header {
    font-size: min(0.9vw, 10px);
  }
  .right_head {
    padding-right: 15em;
  }
  .pc_navi > ul > li:not(:last-child) {
    margin-right: 6em;
  }
  .pc_navi > ul .col2 > .subInner {
    transform: translate(25%, 100%);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .pc_navi > ul .col2 > .subInner {
    width: 65em;
  }
}
.idx_gallery {
  position: relative;
}
.idx_gallery .ic-group {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 2;
}
@media only screen and (min-width: 769px) {
  .idx_gallery .ic-group {
    font-size: min(0.8vw, 10px);
  }
}
.idx_gallery .ic-group .ic {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.idx_gallery .ic-group .ic01 {
  width: 9em;
  height: 12em;
  bottom: -3em;
  left: 20.9em;
  background-image: url("../images/idx_gallery_ic01.png");
}
.idx_gallery .ic-group .ic02 {
  width: 6.8em;
  height: 7.2em;
  top: 0.3em;
  left: calc(50% - 23.7em);
  background-image: url("../images/idx_gallery_ic02.png");
}
.idx_gallery .ic-group .ic03 {
  width: 8.2em;
  height: 8.2em;
  bottom: -1.3em;
  right: calc(50% - 39.6em);
  background-image: url("../images/idx_gallery_ic03.png");
}
.idx_gallery .list {
  display: flex;
}
@media only screen and (min-width: 769px) {
  .idx_gallery .list {
    padding: 29px 0 30px;
  }
}
.idx_gallery .list .img img {
  overflow: hidden;
}
@media only screen and (min-width: 769px) {
  .idx_gallery .list .img img {
    margin: 0 15px;
    max-width: min(35vw, 400px);
  }
}

.time_sheet {
  margin: 0px auto;
}
.time_sheet .note {
  color: var(--clr1);
  line-height: 2;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-top: 0.7857em;
  margin-left: 1.2857em;
}
@media only screen and (max-width: 1024px) {
  .time_sheet .note {
    font-size: 12px;
  }
}
.time_sheet .note span {
  display: inline-block;
}
.time_sheet table {
  font-size: 1em;
  font-feature-settings: "palt";
}
.time_sheet table th,
.time_sheet table td {
  border: none;
  text-align: center;
  font-size: 1.6em;
  font-weight: 500;
  letter-spacing: 0.05em;
  width: 9.25%;
  position: relative;
}
.time_sheet table th::before,
.time_sheet table td::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  background-color: #d2d2d2;
}
.time_sheet table th:first-child,
.time_sheet table td:first-child {
  width: auto;
  padding-left: 0.5em;
}
.time_sheet table th:last-child,
.time_sheet table td:last-child {
  width: 16.6%;
  padding-left: 0.8em;
  text-align: left;
}
.time_sheet table th {
  padding: 0.875em 0.2em 1.25em;
}
.time_sheet table td {
  padding: 0.9375em 0.2em 1.375em;
  color: var(--main-color);
}
.time_sheet table td:first-child {
  color: var(--clr1);
  letter-spacing: 0.03em;
}
.time_sheet table td:last-child {
  padding-left: 1.6em;
}
.time_sheet table tbody tr:nth-child(2) td {
  padding-top: 0.875em;
  padding-bottom: 1.3125em;
}
.time_sheet.style01 table thead th {
  background-color: var(--main-color);
  color: #fff;
  padding-bottom: 0.875em;
}
.time_sheet.style01 table thead th::before {
  display: none;
}
.time_sheet.style01 table tbody tr:first-child td {
  padding-top: 1.3125em;
}
.time_sheet.white .note {
  color: #fff;
}
.time_sheet.white table th,
.time_sheet.white table td {
  color: #fff;
}
.time_sheet.white table th::before,
.time_sheet.white table td::before {
  background-color: rgba(255, 255, 255, 0.5);
}
.time_sheet.white table td:first-child {
  color: #fff;
}

@media only screen and (max-width: 992px) and (min-width: 769px) {
  :root {
    --ttl_size: 22px;
    --txt_size: 14px;
    --wrapper: 70px;
  }
}
.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: 72px;
  height: 72px;
  border-radius: 50%;
  margin: 0;
  box-shadow: 0px 2px 20px 0px rgba(0, 0, 0, 0.3);
}

@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(11px + var(--wrapper));
  right: var(--pd-size);
  z-index: 15;
  transition: right 0.3s ease-in-out;
}
.fixed_banner > div {
  position: relative;
  transition: all 0.3s ease;
}
.fixed_banner a {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: 2;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.fixed_banner p {
  display: block;
  width: 100%;
  height: 100%;
  margin-bottom: 0;
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 1.2222222222;
  text-align: center;
  text-decoration: none;
}
.fixed_banner p:hover {
  color: #fff;
}
.fixed_banner p .tt {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  height: 100%;
  flex-direction: column;
}
.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 {
  margin-bottom: 0.7143em;
  width: 1.9286em;
  height: 1.9286em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 27' %3E%3Cpath d='M26.313,21.880 C26.410,24.241 25.852,25.030 23.552,25.656 C20.097,26.596 16.854,26.061 13.908,24.043 C9.475,21.006 5.726,17.258 2.715,12.800 C0.563,9.616 0.159,6.143 1.365,2.494 C1.885,0.919 2.753,0.345 4.419,0.387 C6.842,0.446 6.841,0.446 7.609,2.789 C7.952,3.835 8.275,4.889 8.659,5.920 C9.133,7.194 8.887,8.261 7.964,9.253 C6.492,10.839 6.511,10.865 7.640,12.713 C9.523,15.793 12.081,18.142 15.261,19.838 C15.796,20.120 16.169,20.157 16.588,19.673 C16.923,19.289 17.335,18.972 17.717,18.628 C18.517,17.912 19.423,17.660 20.463,18.008 C22.162,18.583 23.873,19.121 25.550,19.754 C25.856,19.870 26.108,20.325 26.229,20.677 C26.356,21.043 26.294,21.477 26.313,21.880 Z'/%3E%3C/svg%3E");
}
.fixed_banner .web p {
  background-color: var(--clr3);
}
.fixed_banner .web p .tt::before {
  margin-bottom: 0.4286em;
  width: 2.3571em;
  height: 2.2857em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 33 32 ' %3E%3Cpath d='M22.624,20.462 C17.196,20.454 12.764,15.941 12.776,10.433 C12.788,4.936 17.211,0.467 22.639,0.467 C28.087,0.468 32.511,4.951 32.503,10.466 C32.496,15.979 28.058,20.469 22.624,20.462 ZM22.640,2.787 C18.464,2.788 15.065,6.226 15.064,10.450 C15.063,14.676 18.458,18.129 22.624,18.143 C26.797,18.155 30.222,14.684 30.216,10.448 C30.209,6.216 26.818,2.786 22.640,2.787 ZM24.094,11.390 C23.856,11.508 23.748,11.630 23.778,11.901 C23.799,12.090 23.794,12.290 23.757,12.477 C23.644,13.059 23.118,13.436 22.521,13.387 C21.981,13.342 21.533,12.879 21.501,12.309 C21.484,12.008 21.498,11.706 21.498,11.404 C21.497,11.404 21.496,11.404 21.495,11.404 C21.495,11.175 21.494,10.946 21.496,10.716 C21.501,9.958 21.876,9.535 22.621,9.444 C23.331,9.357 23.742,8.835 23.587,8.214 C23.474,7.756 23.075,7.438 22.627,7.447 C22.175,7.457 21.790,7.782 21.690,8.244 C21.670,8.339 21.660,8.435 21.650,8.531 C21.576,9.184 21.054,9.646 20.439,9.602 C19.822,9.557 19.356,9.021 19.372,8.374 C19.412,6.713 20.614,5.384 22.288,5.150 C23.774,4.942 25.303,5.956 25.762,7.454 C26.236,9.003 25.538,10.674 24.094,11.390 ZM22.621,14.578 C23.260,14.576 23.783,15.103 23.777,15.742 C23.772,16.371 23.263,16.883 22.639,16.886 C21.999,16.890 21.484,16.369 21.488,15.720 C21.492,15.082 21.990,14.581 22.621,14.578 ZM13.334,16.707 C13.335,17.372 12.812,17.866 12.092,17.867 C10.153,17.871 8.213,17.872 6.274,17.867 C5.557,17.866 5.042,17.363 5.050,16.691 C5.059,16.033 5.564,15.554 6.270,15.551 C7.246,15.545 8.221,15.550 9.197,15.550 C10.161,15.550 11.125,15.546 12.089,15.551 C12.813,15.554 13.333,16.041 13.334,16.707 ZM8.374,11.045 C9.100,11.045 9.827,11.039 10.553,11.046 C11.237,11.053 11.736,11.525 11.756,12.170 C11.776,12.813 11.260,13.353 10.572,13.359 C9.131,13.373 7.689,13.372 6.248,13.359 C5.547,13.354 5.046,12.844 5.050,12.188 C5.054,11.528 5.558,11.050 6.265,11.046 C6.968,11.042 7.671,11.045 8.374,11.045 ZM13.336,22.381 C12.169,22.386 11.001,22.383 9.834,22.383 C9.834,22.383 9.834,22.382 9.834,22.382 C8.606,22.382 7.379,22.390 6.152,22.378 C5.623,22.373 5.189,21.997 5.071,21.489 C4.960,21.010 5.172,20.498 5.598,20.244 C5.698,20.184 5.815,20.114 5.925,20.113 C8.532,20.105 11.139,20.089 13.746,20.120 C14.246,20.126 14.609,20.644 14.635,21.149 C14.664,21.690 14.362,22.166 13.864,22.321 C13.698,22.373 13.513,22.380 13.336,22.381 ZM10.718,8.828 C8.752,8.832 6.786,8.829 4.820,8.830 C3.501,8.830 2.762,9.579 2.762,10.915 C2.762,14.781 2.761,18.646 2.762,22.511 C2.762,23.820 3.483,24.603 4.765,24.558 C6.012,24.513 6.531,24.982 6.452,26.305 C6.417,26.890 6.446,27.477 6.446,28.157 C6.955,27.750 7.397,27.411 7.825,27.054 C9.418,25.724 11.230,24.902 13.282,24.650 C13.730,24.594 14.185,24.575 14.637,24.574 C17.163,24.567 19.689,24.573 22.215,24.569 C23.245,24.568 23.980,24.054 24.181,23.179 C24.245,22.900 24.227,22.603 24.260,22.315 C24.323,21.771 24.728,21.363 25.262,21.293 C25.746,21.230 26.244,21.519 26.434,22.002 C26.498,22.166 26.524,22.353 26.529,22.531 C26.598,24.958 24.779,26.871 22.381,26.880 C19.939,26.890 17.496,26.864 15.053,26.892 C14.260,26.902 13.456,26.967 12.679,27.120 C11.506,27.349 10.459,27.903 9.520,28.655 C8.679,29.329 7.846,30.014 6.997,30.676 C5.993,31.459 4.605,31.034 4.247,29.837 C4.176,29.599 4.166,29.338 4.162,29.087 C4.151,28.363 4.158,27.639 4.158,26.878 C2.894,26.689 1.901,26.107 1.191,25.065 C0.732,24.392 0.481,23.641 0.480,22.825 C0.472,18.754 0.457,14.683 0.483,10.612 C0.497,8.321 2.309,6.546 4.633,6.516 C6.658,6.489 8.684,6.506 10.709,6.512 C11.437,6.514 11.956,7.006 11.961,7.670 C11.966,8.335 11.448,8.826 10.718,8.828 Z'/%3E%3C/svg%3E");
}

@media only screen and (min-width: 769px) {
  .fixed_banner {
    font-size: 10px;
    --size: var(--wrapper);
    --w_tel: 15em;
    width: calc(var(--w_tel) + var(--size));
    overflow: hidden;
  }
  .fixed_banner > div {
    width: var(--size);
    height: var(--size);
  }
  .fixed_banner p {
    width: var(--size);
    height: var(--size);
  }
  .fixed_banner p .tt {
    font-size: 1.4em;
    letter-spacing: 0;
  }
  .fixed_banner .tel {
    transform: translateX(calc(var(--w_tel)));
    transition: all 0.3s ease;
    margin-right: 11px;
  }
  .fixed_banner .tel .tt::before {
    margin-bottom: 0.45em;
  }
  .fixed_banner .tel:hover {
    transform: translateX(0);
  }
  .fixed_banner .tel p {
    padding-top: 0.7em;
    padding-right: 0.1em;
  }
  .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 {
    content: "";
    position: absolute;
    width: 1px;
    height: 100%;
    top: 0px;
    bottom: 0px;
    left: 0px;
    margin: auto 0;
    background-color: #d2d2d2;
  }
  .fixed_banner .tel .ov .text {
    font-size: 1.8em;
    font-family: var(--f-en);
  }
  .fixed_banner .web {
    margin-left: auto;
  }
  .fixed_banner .web:hover p {
    background-color: var(--clr6);
  }
}
@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-color: var(--main-color);
}
@media only screen and (min-width: 769px) {
  footer {
    padding: 90px 0 60px;
  }
}
footer p {
  margin-bottom: 0;
}
footer p,
footer a {
  color: #fff;
  text-decoration: none;
}
footer .idx_logo {
  max-width: 462px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 769px) {
  footer .idx_logo {
    padding: 0 0 25px;
  }
  footer .idx_logo a:hover {
    opacity: 1;
  }
}
@media only screen and (min-width: 769px) {
  footer .ft_menu {
    font-size: clamp(8px, 0.7vw, 10px);
    margin-bottom: 22px;
  }
}
footer .ft_info {
  max-width: 500px;
}
@media only screen and (min-width: 769px) {
  footer .ft_info {
    width: 40%;
    margin-left: 1px;
  }
}
footer .address {
  display: table;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 769px) {
  footer .address {
    font-size: 1.6em;
    margin-bottom: 9px;
  }
}
footer .idx_tel a {
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 769px) {
  footer .idx_tel {
    font-size: 1.6em;
    margin-bottom: 16px;
  }
}
footer .idx_map {
  height: 260px;
}
@media only screen and (min-width: 769px) {
  footer .idx_map {
    margin-bottom: 28px;
  }
}
@media only screen and (min-width: 769px) {
  footer .vehicle {
    font-size: 1.6em;
    margin-bottom: 38px;
  }
}
@media only screen and (min-width: 769px) {
  footer .time_sheet {
    font-size: min(0.9vw, 1em);
  }
}
footer .ft_link {
  font-size: 1em;
  width: 57%;
  max-width: 721px;
}
footer .ft_link a {
  position: relative;
  color: #fff;
}
@media only screen and (min-width: 769px) {
  footer .ft_link a:hover {
    color: var(--clr-yellow);
  }
}
footer .ft_bnr .bnr-group {
  display: flex;
  justify-content: center;
}
footer .ft_bnr .bnr-group .bnr {
  position: relative;
  max-width: 360px;
}
@media only screen and (min-width: 769px) {
  footer .ft_bnr .bnr-group {
    gap: min(1.3vw, 20px);
  }
  footer .ft_bnr .bnr-group .bnr {
    width: 30%;
  }
  footer .ft_bnr .bnr-group .bnr:not(:has([target])):hover {
    box-shadow: 0px 2px 20px 0px rgba(0, 0, 0, 0.3);
  }
}

.ft_link {
  font-size: 10px;
}
.ft_link a {
  text-decoration: none;
}
@media only screen and (min-width: 769px) {
  .ft_link .link_list > div > ul {
    display: flex;
  }
  .ft_link .menu01 {
    width: 100%;
  }
  .ft_link .menu01 > ul {
    flex-flow: column wrap;
    align-content: space-between;
    max-height: 30em;
  }
  .ft_link .menu01 > ul > li {
    width: 49.4%;
  }
  .ft_link .menu02 {
    margin-top: 2.1em;
    width: 100%;
  }
  .ft_link .menu02 .title {
    margin-bottom: 0.6875em;
  }
  .ft_link .menu02 > ul {
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .ft_link .menu02 > ul > li {
    width: 50%;
  }
  .ft_link .menu02 > ul > li:nth-child(2) {
    width: 50%;
  }
  .ft_link .menu02 > ul > li:nth-child(2) > ul > li {
    padding-left: 3px;
  }
  .ft_link .menu02 > ul > li:nth-child(3) {
    margin-top: -3.4em;
    width: 100%;
  }
  .ft_link .menu02 > ul > li:nth-child(3) > ul {
    display: flex;
    flex-flow: column wrap;
    align-content: space-between;
    max-height: 15em;
  }
  .ft_link .menu02 > ul > li:nth-child(3) > ul > li {
    width: 49.5%;
  }
}
.ft_link .title {
  margin-bottom: 0.875em;
  padding-left: 0;
  font-size: calc(var(--ttl_size) + 2px);
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1;
  pointer-events: none;
  text-transform: uppercase;
  font-family: var(--f-jp);
}
.ft_link .title::before {
  display: none;
}
.ft_link .menu_child {
  padding-left: 2px;
}
.ft_link .menu_child > a {
  display: block;
  font-size: 2em;
  font-weight: 400;
  letter-spacing: 0.1em;
  margin-bottom: 0.8em;
  margin-left: -0.05em;
  pointer-events: none;
}
.ft_link .menu_child > a::before {
  display: none;
}
.ft_link ul:last-child {
  margin-bottom: 0;
}
.ft_link li {
  margin-bottom: 1.64em;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
.ft_link a {
  position: relative;
  padding-left: 0em;
  color: inherit;
  font-size: 1.6em;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1.6;
  display: inline-flex;
}
.ft_link a::before {
  content: "・";
  margin-left: -0.35em;
  border-radius: 100%;
  width: auto;
  height: auto;
  display: block;
}
.ft_link a:hover {
  opacity: 1;
}

.copyright {
  margin: 0 auto 0;
  color: #fff;
  padding: 24px 0px 23px;
  position: relative;
  z-index: 1;
}
.copyright .flex {
  align-items: center;
  justify-content: center;
}
.copyright::before {
  position: absolute;
  content: "";
  display: block;
  z-index: -1;
  left: calc(50% - 50vw);
  top: 0;
  height: 100%;
  width: 100vw;
  background-color: var(--clr2);
}
.copyright .textwidget {
  display: block;
  margin-left: 26px;
  margin-top: 4px;
  padding: 4px 0 4px 27px;
  border-left: 1px solid #cecece;
  font-weight: 300;
  letter-spacing: 0.1em;
}
.copyright .textwidget p {
  margin-bottom: 0;
  font-size: 14px;
  line-height: inherit;
  letter-spacing: 0.1em;
}
.copyright .grits {
  margin-bottom: 0;
  margin-left: 2px;
}
.copyright .grits a {
  display: block;
}
.copyright .grits img {
  max-width: 200px;
}

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

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