/****************

master.cssは編集不可！！
LESSファイルを編集すること！

****************/
/*bootstrapの設定を読み込み*/
/*Font*/
@import url(//use.fontawesome.com/releases/v6.5.1/css/all.css);
@font-face {
  font-family: "rockville-solid-web";
  src: url(../fonts/rockville-solid-web.woff2) format("woff2"), url(../fonts/rockville-solid-web.woff) format("woff");
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v56/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFBEi75s.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v56/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFJEj75s.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v56/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFE8j75s.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v56/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFBEj75s.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v56/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFCMj75s.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v56/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFM8k75s.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v56/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFPYk75s.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v56/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFJEk75s.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v56/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFLgk75s.ttf) format('truetype');
}
body {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 80%;
  color: #1C1C1C;
  line-height: 1.7;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}
@media (min-width: 1200px) {
  body {
    font-size: 100%;
  }
}
html {
  height: 100%;
}
h1,
h2,
h3,
h4 {
  padding: 0;
  margin: 0;
}
::-webkit-scrollbar {
  width: 10px;
}
::-webkit-scrollbar-track {
  background-color: #eeeeee;
}
::-webkit-scrollbar-thumb {
  background-color: #cccccc;
}
.text-xxxl {
  font-size: 2rem;
  line-height: 1;
}
@media (min-width: 992px) {
  .text-xxxl {
    font-size: 2.75rem;
  }
}
@media (min-width: 1500px) {
  .text-xxxl {
    font-size: 3.75rem;
  }
}
.text-xxl {
  font-size: 1.4rem;
}
@media (min-width: 992px) {
  .text-xxl {
    font-size: 2.25rem;
  }
}
@media (min-width: 1500px) {
  .text-xxl {
    font-size: 2.5rem;
  }
}
.text-xl {
  font-size: 1.25rem;
}
@media (min-width: 992px) {
  .text-xl {
    font-size: 1.875rem;
  }
}
@media (min-width: 1200px) {
  .text-xl {
    font-size: 2.25rem;
  }
}
.text-l {
  font-size: 1.125rem;
}
@media (min-width: 992px) {
  .text-l {
    font-size: 1.5rem;
  }
}
@media (min-width: 1200px) {
  .text-l {
    font-size: 1.875rem;
  }
}
.text-ml {
  font-size: 1rem;
}
@media (min-width: 992px) {
  .text-ml {
    font-size: 1.25rem;
  }
}
@media (min-width: 1200px) {
  .text-ml {
    font-size: 1.5625rem;
  }
}
.text-m {
  font-size: 0.875rem;
}
@media (min-width: 992px) {
  .text-m {
    font-size: 1.125rem;
  }
}
@media (min-width: 1200px) {
  .text-m {
    font-size: 1.25rem;
  }
}
.text-sm {
  font-size: 0.75rem;
}
@media (min-width: 992px) {
  .text-sm {
    font-size: 1rem;
  }
}
@media (min-width: 1200px) {
  .text-sm {
    font-size: 1.125rem;
  }
}
.text-s {
  font-size: 0.625rem;
}
@media (min-width: 768px) {
  .text-s {
    font-size: 0.75rem;
  }
}
@media (min-width: 992px) {
  .text-s {
    font-size: 0.875rem;
  }
}
.text-nn {
  font-size: 0.75rem;
}
@media (min-width: 768px) {
  .text-nn {
    font-size: 0.875rem;
  }
}
@media (min-width: 992px) {
  .text-nn {
    font-size: 1rem;
  }
}
.text-50 {
  font-size: 50%;
}
.text-60 {
  font-size: 60%;
}
.text-70 {
  font-size: 70%;
}
.text-80 {
  font-size: 80%;
}
.text-90 {
  font-size: 90%;
}
.text-110 {
  font-size: 110%;
}
.text-120 {
  font-size: 120%;
}
.text-130 {
  font-size: 130%;
}
.text-140 {
  font-size: 140%;
}
.text-150 {
  font-size: 150%;
}
.text-160 {
  font-size: 160%;
}
.text-170 {
  font-size: 170%;
}
.text-180 {
  font-size: 180%;
}
.text-190 {
  font-size: 190%;
}
.text-200 {
  font-size: 200%;
}
.text-medium {
  font-weight: 500;
}
.text-bold {
  font-weight: 600;
}
.text-orange {
  color: #F87502;
}
.text-navy {
  color: #8f1d2f;
}
.text-yellow {
  color: #F7B62D;
}
.text-white {
  color: #ffffff;
}
.text-gray {
  color: #D9D9D9;
}
.under-border {
  line-height: 3;
  border-bottom: 3px solid #C3C3C3;
}
a {
  color: #1C1C1C;
  text-decoration: none;
}
a:hover {
  color: #666666;
  text-decoration: none;
}
strong {
  font-weight: 700;
}
.no-gutter > [class*='col-'] {
  padding-right: 0;
  padding-left: 0;
}
.last {
  margin-right: 0px !important;
}
.t_first {
  margin-top: 0px !important;
}
p {
  margin-top: 0;
  line-height: 170%;
}
.clearfix {
  zoom: 1;
}
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}
.clear {
  clear: both;
}
@media screen and (min-width: 992px), print {
  .sp-only {
    display: none !important;
  }
  .u-content-inner {
    width: 1126px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 576px), print {
  .phone-only {
    display: none !important;
  }
}
@media (max-width: 1200px) {
  .pc-only {
    display: none !important;
  }
}
@media (max-width: 576px) {
  .tablet-upper {
    display: none !important;
  }
}
.img-center {
  margin-left: auto;
  margin-right: auto;
  display: block;
}
.m_over:hover {
  opacity: 0.6;
  -webkit-transition: all 1s ease-out;
  /* Saf3.2+, Chrome */
  -moz-transition: all 1s ease-out;
  /* FF4+ */
  -ms-transition: all 1s ease-out;
  /* IE10? */
  -o-transition: all 1s ease-out;
  /* Opera 10.5+ */
  transition: all 1s ease-out;
  /*filter: alpha(opacity=80);*/
}
.m_over_inverse:hover {
  opacity: 1;
  -webkit-transition: all 1s ease-out;
  /* Saf3.2+, Chrome */
  -moz-transition: all 1s ease-out;
  /* FF4+ */
  -ms-transition: all 1s ease-out;
  /* IE10? */
  -o-transition: all 1s ease-out;
  /* Opera 10.5+ */
  transition: all 1s ease-out;
  /*filter: alpha(opacity=80);*/
  /*filter: alpha(opacity=80);*/
}
.pt-6 {
  padding-top: 3rem!important;
}
@media (min-width: 1200px) {
  .pt-6 {
    padding-top: 5rem!important;
  }
}
.mt-6 {
  margin-top: 4rem!important;
}
@media (min-width: 1200px) {
  .mt-6 {
    margin-top: 6rem!important;
  }
}
.mb-6 {
  margin-bottom: 3rem!important;
}
@media (min-width: 1200px) {
  .mb-6 {
    margin-bottom: 5rem!important;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 1120px;
  }
}
@media (min-width: 1500px) {
  .container {
    max-width: 1200px;
  }
}
/*ヘッダー*/
.g-nav {
  position: fixed;
  z-index: -1;
  opacity: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  background-color: #fff;
}
.g-nav-logo {
  width: 220px;
  height: auto;
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 21;
  -webkit-transition: 1s ease;
  transition: 1s ease;
}
@media (min-width: 768px) {
  .g-nav-logo {
    width: 280px;
    top: 30px;
    left: 30px;
  }
}
@media (min-width: 992px) {
  .g-nav-logo {
    width: 320px;
  }
}
.g-nav__logo a {
  display: block;
}
.g-nav-btn {
  font-size: 16px;
  letter-spacing: 0.1em;
  height: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.g-nav-btn::after {
  content: "";
  width: 24px;
  height: 6px;
  -webkit-transform: skew(45deg) translate(0, -0.6vw);
  transform: skew(45deg) translate(0, -0.6vw);
  margin-left: 4px;
}
.u-btn {
  width: 100%;
  height: 50px;
  display: grid;
  place-items: center;
  font-size: 1rem;
  font-weight: 600;
  color: #fff;
  background-color: #8f1d2f;
  text-align: center;
  letter-spacing: 0.08em;
}
.g-nav-inner {
  padding-top: 80px;
}
@media (min-width: 768px) {
  .g-nav-inner {
    padding-top: 100px;
  }
}
@media (min-width: 992px) {
  .g-nav-inner {
    padding-top: 120px;
  }
}
.g-nav.panelactive {
  opacity: 1;
  z-index: 200;
}
.gnav-logo {
  width: 163px;
  position: absolute;
  top: 20px;
  left: 20px;
}
@media screen and (min-width: 768px), print {
  .gnav-logo {
    width: 234px;
    left: 39px;
    top: 35px;
  }
}
.g-nav-list__wrap {
  padding: 0 30px 10px 30px;
  position: relative;
}
.g-nav-list ul {
  font-size: 1rem;
  letter-spacing: 0.12em;
  margin-top: 20px;
  margin-bottom: 0;
  font-weight: bold;
  padding-left: 0;
  list-style-type: none;
  position: relative;
}
.g-nav-list ul li {
  position: relative;
}
.g-nav-list ul a,
.g-nav-list ul .parent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 15px 0;
}
.g-nav-list ul li::before,
.g-nav-list ul li::after {
  content: "";
  position: absolute;
  display: inline-block;
}
.g-nav-list ul li::before {
  border-top: 1px dotted #8f1d2f;
  width: 100%;
  bottom: 0;
  left: 0;
}
.g-nav-list ul li::after {
  font-family: "Font Awesome 6 Free";
  content: "\f138";
  font-weight: bold;
  color: #8f1d2f;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.g-nav-list ul .g-nav-sub {
  letter-spacing: 0.12em;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0;
  padding: 20px 10px;
}
.g-nav-list ul .g-nav-sub__item {
  width: 100%;
  position: relative;
  padding-left: 16px;
  line-height: 20px;
  margin-top: 20px;
}
.g-nav-list ul .g-nav-sub__item a {
  padding: 0;
}
.g-nav-list ul .g-nav-sub__item:first-child {
  margin-top: 0px;
}
.g-nav-list ul .g-nav-sub__item::before {
  content: "";
  border-top: none;
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: #8f1d2f;
  background-size: 10px 10px;
  background-repeat: no-repeat;
  bottom: initial;
  top: 8px;
  left: -5px;
}
.g-nav-list ul .parent::after,
.g-nav-list ul .g-nav-sub__item::after {
  display: none;
}
.g-nav-list ul .sp-has-sub01,
.g-nav-list ul .sp-has-sub02,
.g-nav-list ul .sp-has-sub03 {
  position: relative;
  cursor: pointer;
  padding: 15px 0;
}
.g-nav-list ul .sp-has-sub01 .sub-btn-line01,
.g-nav-list ul .sp-has-sub02 .sub-btn-line01,
.g-nav-list ul .sp-has-sub03 .sub-btn-line01,
.g-nav-list ul .sp-has-sub01 .sub-btn-line02,
.g-nav-list ul .sp-has-sub02 .sub-btn-line02,
.g-nav-list ul .sp-has-sub03 .sub-btn-line02,
.g-nav-list ul .sp-has-sub01 .sub-btn-line03,
.g-nav-list ul .sp-has-sub02 .sub-btn-line03,
.g-nav-list ul .sp-has-sub03 .sub-btn-line03 {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: -10px;
  margin: auto 10px auto auto;
  height: 2px;
  background-color: #8f1d2f;
  width: 20px;
}
.g-nav-list ul .sp-has-sub01 .sub-btn-line01::before,
.g-nav-list ul .sp-has-sub02 .sub-btn-line01::before,
.g-nav-list ul .sp-has-sub03 .sub-btn-line01::before,
.g-nav-list ul .sp-has-sub01 .sub-btn-line01::after,
.g-nav-list ul .sp-has-sub02 .sub-btn-line01::after,
.g-nav-list ul .sp-has-sub03 .sub-btn-line01::after,
.g-nav-list ul .sp-has-sub01 .sub-btn-line02::before,
.g-nav-list ul .sp-has-sub02 .sub-btn-line02::before,
.g-nav-list ul .sp-has-sub03 .sub-btn-line02::before,
.g-nav-list ul .sp-has-sub01 .sub-btn-line02::after,
.g-nav-list ul .sp-has-sub02 .sub-btn-line02::after,
.g-nav-list ul .sp-has-sub03 .sub-btn-line02::after,
.g-nav-list ul .sp-has-sub01 .sub-btn-line03::before,
.g-nav-list ul .sp-has-sub02 .sub-btn-line03::before,
.g-nav-list ul .sp-has-sub03 .sub-btn-line03::before,
.g-nav-list ul .sp-has-sub01 .sub-btn-line03::after,
.g-nav-list ul .sp-has-sub02 .sub-btn-line03::after,
.g-nav-list ul .sp-has-sub03 .sub-btn-line03::after {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}
.g-nav-list ul .sp-has-sub01 .sub-btn-line01::before,
.g-nav-list ul .sp-has-sub02 .sub-btn-line01::before,
.g-nav-list ul .sp-has-sub03 .sub-btn-line01::before,
.g-nav-list ul .sp-has-sub01 .sub-btn-line01::after,
.g-nav-list ul .sp-has-sub02 .sub-btn-line01::after,
.g-nav-list ul .sp-has-sub03 .sub-btn-line01::after,
.g-nav-list ul .sp-has-sub01 .sub-btn-line02::before,
.g-nav-list ul .sp-has-sub02 .sub-btn-line02::before,
.g-nav-list ul .sp-has-sub03 .sub-btn-line02::before,
.g-nav-list ul .sp-has-sub01 .sub-btn-line02::after,
.g-nav-list ul .sp-has-sub02 .sub-btn-line02::after,
.g-nav-list ul .sp-has-sub03 .sub-btn-line02::after,
.g-nav-list ul .sp-has-sub01 .sub-btn-line03::before,
.g-nav-list ul .sp-has-sub02 .sub-btn-line03::before,
.g-nav-list ul .sp-has-sub03 .sub-btn-line03::before,
.g-nav-list ul .sp-has-sub01 .sub-btn-line03::after,
.g-nav-list ul .sp-has-sub02 .sub-btn-line03::after,
.g-nav-list ul .sp-has-sub03 .sub-btn-line03::after {
  top: 0;
  content: "";
  background-color: inherit;
}
.g-nav-list ul .sp-has-sub01 .sub-btn-line01::after,
.g-nav-list ul .sp-has-sub02 .sub-btn-line01::after,
.g-nav-list ul .sp-has-sub03 .sub-btn-line01::after,
.g-nav-list ul .sp-has-sub01 .sub-btn-line02::after,
.g-nav-list ul .sp-has-sub02 .sub-btn-line02::after,
.g-nav-list ul .sp-has-sub03 .sub-btn-line02::after,
.g-nav-list ul .sp-has-sub01 .sub-btn-line03::after,
.g-nav-list ul .sp-has-sub02 .sub-btn-line03::after,
.g-nav-list ul .sp-has-sub03 .sub-btn-line03::after {
  transform: rotate(90deg);
}
.g-nav-list ul .sp-has-sub01 .sp-sub01,
.g-nav-list ul .sp-has-sub02 .sp-sub01,
.g-nav-list ul .sp-has-sub03 .sp-sub01,
.g-nav-list ul .sp-has-sub01 .sp-sub02,
.g-nav-list ul .sp-has-sub02 .sp-sub02,
.g-nav-list ul .sp-has-sub03 .sp-sub02,
.g-nav-list ul .sp-has-sub01 .sp-sub03,
.g-nav-list ul .sp-has-sub02 .sp-sub03,
.g-nav-list ul .sp-has-sub03 .sp-sub03 {
  overflow: hidden;
  min-height: 0;
  height: 0;
  z-index: 99;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 0;
  position: absolute;
  padding-left: 0;
  top: 57px;
  left: 0;
  list-style: none;
  background: #fff;
}
.g-nav-list ul .sp-has-sub01 .sp-sub01 li::after,
.g-nav-list ul .sp-has-sub02 .sp-sub01 li::after,
.g-nav-list ul .sp-has-sub03 .sp-sub01 li::after,
.g-nav-list ul .sp-has-sub01 .sp-sub02 li::after,
.g-nav-list ul .sp-has-sub02 .sp-sub02 li::after,
.g-nav-list ul .sp-has-sub03 .sp-sub02 li::after,
.g-nav-list ul .sp-has-sub01 .sp-sub03 li::after,
.g-nav-list ul .sp-has-sub02 .sp-sub03 li::after,
.g-nav-list ul .sp-has-sub03 .sp-sub03 li::after {
  content: "\f068";
  left: 20px;
  right: initial;
}
.g-nav-list ul .sp-has-sub01 .sp-sub-item,
.g-nav-list ul .sp-has-sub02 .sp-sub-item,
.g-nav-list ul .sp-has-sub03 .sp-sub-item {
  position: relative;
  padding: 0 0 0 40px;
}
.g-nav-list ul .sp-has-sub01 .sp-sub-item a,
.g-nav-list ul .sp-has-sub02 .sp-sub-item a,
.g-nav-list ul .sp-has-sub03 .sp-sub-item a {
  color: #1C1C1C !important;
}
.g-nav-list ul .sp-has-sub01 .sp-sub01.active,
.g-nav-list ul .sp-has-sub02 .sp-sub01.active,
.g-nav-list ul .sp-has-sub03 .sp-sub01.active {
  min-height: 200%;
}
.g-nav-list ul .sp-has-sub01 .sp-sub02.active,
.g-nav-list ul .sp-has-sub02 .sp-sub02.active,
.g-nav-list ul .sp-has-sub03 .sp-sub02.active,
.g-nav-list ul .sp-has-sub01 .sp-sub03.active,
.g-nav-list ul .sp-has-sub02 .sp-sub03.active,
.g-nav-list ul .sp-has-sub03 .sp-sub03.active {
  min-height: 300%;
}
.g-nav-list ul .sp-has-sub01::after,
.g-nav-list ul .sp-has-sub02::after,
.g-nav-list ul .sp-has-sub03::after {
  content: "";
}
.g-nav-list ul .sp-has-sub01.active .sub-btn-line01,
.g-nav-list ul .sp-has-sub02.active .sub-btn-line02,
.g-nav-list ul .sp-has-sub03.active .sub-btn-line03 {
  background-color: transparent;
}
.g-nav-list ul .sp-has-sub01.active .sub-btn-line01::before,
.g-nav-list ul .sp-has-sub01.active .sub-btn-line01::after,
.g-nav-list ul .sp-has-sub02.active .sub-btn-line02::before,
.g-nav-list ul .sp-has-sub02.active .sub-btn-line02::after,
.g-nav-list ul .sp-has-sub03.active .sub-btn-line03::before,
.g-nav-list ul .sp-has-sub03.active .sub-btn-line03::after {
  top: 0;
  background-color: #8f1d2f;
}
.g-nav-list ul .sp-has-sub01.active .sub-btn-line01::after,
.g-nav-list ul .sp-has-sub02.active .sub-btn-line02::after,
.g-nav-list ul .sp-has-sub03.active .sub-btn-line03::after {
  content: "";
}
.g-nav-list ul .sp-has-sub01.active .sub-btn-line01::before,
.g-nav-list ul .sp-has-sub02.active .sub-btn-line02::before,
.g-nav-list ul .sp-has-sub03.active .sub-btn-line03::before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.g-nav-list ul .sp-has-sub01.active .sub-btn-line01::after,
.g-nav-list ul .sp-has-sub02.active .sub-btn-line02::after,
.g-nav-list ul .sp-has-sub03.active .sub-btn-line03::after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.g-nav-btn-close {
  cursor: pointer;
  margin: 45px 25px 20px 25px;
  font-size: 15px;
  letter-spacing: 0.08em;
  font-weight: bold;
  border-bottom: solid 2px #000;
  background: #fff;
}
.g-nav-btn-close span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  line-height: 50px;
}
.g-nav-btn-close span::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  background-size: 14px 14px;
  background-repeat: no-repeat;
  -webkit-transform: translate(-14px, 18px);
  transform: translate(-14px, 18px);
}
.g-nav.panelactive .g-nav-inner {
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.gnav__btn {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 500;
  padding: 0;
  border: 0;
  background: transparent;
}
@media screen and (min-width: 768px), print {
  .gnav__btn {
    top: 20px;
    right: 20px;
  }
}
.btn-trigger {
  position: relative;
  cursor: pointer;
  width: 64px;
  height: 64px;
}
@media screen and (min-width: 768px), print {
  .btn-trigger {
    width: 64px;
    height: 64px;
  }
}
.btn-line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  height: 2px;
  background-color: #fff;
  width: 36px;
  box-shadow: 0px 0px 2px 2px rgba(151, 151, 151, 0.27);
}
.btn-line {
  background-color: #fff;
}
.btn-line::before,
.btn-line::after {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}
.btn-line::before {
  top: -12px;
  content: "";
  background-color: inherit;
  box-shadow: 0px 0px 2px 2px rgba(151, 151, 151, 0.27);
}
.btn-line::after {
  top: 5px;
  content: "MENU";
  font-size: 0.75rem;
  text-align: center;
  text-shadow: 0 0 1em rgba(151, 151, 151, 0.6), 0 0 0.2em rgba(151, 151, 151, 0.6);
}
.btn-line::after {
  color: #fff;
}
.btn-trigger.active .btn-line {
  background-color: transparent;
  box-shadow: none;
}
.btn-trigger.active .btn-line::before,
.btn-trigger.active .btn-line::after {
  top: 0;
  background-color: #fff;
}
.btn-trigger.active .btn-line::before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.btn-trigger.active .btn-line::after {
  content: "";
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.hidden-text {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
}
.l-wrapper.gnav-open {
  overflow: hidden !important;
}
.g-nav-list__item.parent::after {
  display: none;
}
.g-nav-list-second {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 74%;
  margin: 40px auto 0;
}
.g-nav-list-second .ico-ig {
  width: 28px;
}
.g-nav-list-second__item {
  font-size: 13px;
  letter-spacing: 0.12em;
  font-weight: bold;
}
.g-nav-list__item:last-of-type::before {
  display: none;
}
.g-nav-btn-close {
  position: relative;
}
.g-nav-btn-close .close-btn-ico {
  position: absolute;
}
.g-nav-btn-close .btn-line-wrapper {
  background: none;
  height: 50px;
  width: 50px;
  display: inline-block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.g-nav-btn-close .btn-line-wrapper span {
  position: absolute;
  right: 0;
  left: auto;
  top: 50%;
  left: 54%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  height: 3px;
  border-radius: 4px;
  background-color: #000;
  width: 22px;
}
.g-nav-btn-close .btn-line-wrapper span:first-of-type {
  top: 16px;
  -webkit-transform: translate(-10px, 8px) rotate(-45deg);
  transform: translate(-10px, 8px) rotate(-45deg);
}
.g-nav-btn-close .btn-line-wrapper span:nth-of-type(2) {
  -webkit-transform: translate(-10px, -6px) rotate(45deg);
  transform: translate(-10px, -6px) rotate(45deg);
  top: 30px;
}
_::-webkit-full-page-media,
_:future,
:root .g-nav-inner {
  padding-bottom: 100px;
}
.page-header {
  position: relative;
  -webkit-transition: 1s ease;
  transition: 1s ease;
}
@media (min-width: 1200px) {
  .page-header {
    width: -webkit-calc(100% - 40px);
    width: calc(100% - 40px);
    height: 80px;
    position: fixed;
    top: 40px;
    left: 20px;
    z-index: 999;
  }
}
.page-header .header-logo {
  width: 220px;
  height: auto;
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 21;
  -webkit-transition: 1s ease;
  transition: 1s ease;
}
@media (min-width: 768px) {
  .page-header .header-logo {
    width: 280px;
    top: 30px;
    left: 30px;
  }
}
@media (min-width: 992px) {
  .page-header .header-logo {
    width: 320px;
  }
}
@media (min-width: 1200px) {
  .page-header .header-logo {
    width: 220px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 10px;
  }
}
@media (min-width: 1500px) {
  .page-header .header-logo {
    width: 330px;
  }
}
.page-header .header-logo:hover a {
  opacity: 0.6;
}
.g-nav-pc-menu {
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 600;
  z-index: 999;
  position: absolute;
  margin-bottom: 0;
  padding: 0 20px;
  height: 62px;
  border-radius: 31px;
  top: 50%;
  right: 220px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-color: #fff;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
@media (min-width: 1500px) {
  .g-nav-pc-menu {
    font-size: 1.125rem;
    right: 270px;
  }
}
.g-nav-pc-menu .g-nav-pc-menu-item {
  position: relative;
  list-style: none;
  display: grid;
  place-items: center;
  padding: 0 7px;
}
@media (min-width: 1500px) {
  .g-nav-pc-menu .g-nav-pc-menu-item {
    padding: 0 10px;
  }
}
.g-nav-pc-menu .g-nav-pc-menu-item a {
  color: #1C1C1C;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
.g-nav-pc-menu .g-nav-pc-menu-item a:hover {
  opacity: 0.6;
}
.g-nav-pc-menu .g-nav-pc-menu-item:nth-of-type(n + 2) {
  margin-left: 5px;
}
.g-nav-pc-menu .has-sub {
  color: #1C1C1C;
  position: relative;
  cursor: pointer;
}
.g-nav-pc-menu .sub {
  overflow: hidden;
  min-height: 0;
  height: 0;
  z-index: 99;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
  width: 200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  position: absolute;
  top: 62px;
  left: calc(50% - 100px);
  list-style: none;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 0 0 10px 10px;
}
.g-nav-pc-menu .width-l {
  width: 340px;
}
.g-nav-pc-menu .sub-item {
  position: relative;
  padding: 10px;
}
.g-nav-pc-menu .sub-item a {
  color: #1C1C1C !important;
}
.g-nav-pc-menu .sub-item::before {
  content: "";
  background: #F87504;
  display: inline-block;
  width: 10px;
  height: 10px;
  opacity: 0;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: -10px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.g-nav-pc-menu .sub-item:hover::before {
  opacity: 1;
  left: -16px;
}
.g-nav-pc-menu .sub.active {
  min-height: 153px;
  padding-bottom: 10px;
}
.g-nav-pc-menu .sub.width-l.active {
  min-height: 100px;
  padding-bottom: 10px;
}
.contact-btn {
  width: 200px;
  height: 62px;
  font-size: 1.125rem;
  font-weight: 600;
  color: #fff;
  letter-spacing: 1px;
  line-height: 1;
  display: grid;
  overflow: hidden;
  place-items: center;
  background-color: #F87504;
  border: 1px solid #F87504;
  border-radius: 31px;
  z-index: 1;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media (min-width: 1500px) {
  .contact-btn {
    width: 240px;
    font-size: 1.25rem;
  }
}
.contact-btn span {
  color: #FFEB00;
  display: contents;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
.contact-btn:hover {
  color: #F87504;
  text-decoration: none;
  background: #fff;
}
.contact-btn:hover span {
  color: #F87504;
}
.header-phone {
  width: 200px;
  height: auto;
  position: absolute;
  top: 80px;
  right: 20px;
  z-index: 21;
  -webkit-transition: 1s ease;
  transition: 1s ease;
}
@media (min-width: 992px) {
  .header-phone {
    width: 300px;
    top: 100px;
    right: 30px;
  }
}
@media (min-width: 1200px) {
  .header-phone {
    width: 260px;
    top: 140px;
  }
}
@media (min-width: 1500px) {
  .header-phone {
    width: 340px;
  }
}
.header-phone:hover a {
  opacity: 0.6;
}
.scroll {
  -webkit-transition: 1s ease;
  transition: 1s ease;
  background: rgba(158, 27, 50, 0.9);
}
@media (min-width: 1200px) {
  .scroll {
    height: 70px;
    top: 20px;
    border-radius: 10px;
  }
}
@media (min-width: 1200px) {
  .scroll .header-logo {
    width: 200px;
    left: 20px;
  }
}
@media (min-width: 1500px) {
  .scroll .header-logo {
    width: 240px;
  }
}
.scroll .g-nav-pc-menu {
  height: 42px;
  border-radius: 10px;
  right: 230px;
}
@media (min-width: 1500px) {
  .scroll .g-nav-pc-menu {
    right: 280px;
  }
}
.scroll .g-nav-pc-menu .sub {
  top: 42px;
}
.scroll .contact-btn {
  height: 42px;
  border-radius: 10px;
  right: 20px;
}
.btn-trigger.active #page-line {
  background-color: transparent;
}
.btn-trigger.active #page-line:before,
.btn-trigger.active #page-line:before {
  background-color: #69BEE3;
}
.btn-trigger #page-line {
  background-color: #69BEE3;
}
.wrapper {
  position: relative;
  width: 100%;
  margin: auto;
  padding-left: 0;
  padding-right: 0;
  overflow: hidden;
}
/*トップページ*/
#mainv {
  position: relative;
  overflow: hidden;
  background-image: url(../images/mainv/mainv.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  height: 100vh;
  min-height: 420px;
}
#mainv .catchcopy-area {
  width: 280px;
  position: absolute;
  bottom: 350px;
  left: 5%;
  z-index: 1;
}
@media (min-width: 992px) {
  #mainv .catchcopy-area {
    width: fit-content;
    bottom: initial;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}
#mainv .catchcopy-area .catch-large {
  font-size: 1.5rem;
  font-weight: 600;
  color: #fff;
  letter-spacing: 4px;
  line-height: 1.4;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  #mainv .catchcopy-area .catch-large {
    font-size: 5vw;
    margin-bottom: 30px;
  }
}
@media (min-width: 1200px) {
  #mainv .catchcopy-area .catch-large {
    font-size: 3.125vw;
    margin-bottom: 40px;
  }
}
#mainv .catchcopy-area ul {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 0;
}
#mainv .catchcopy-area ul li {
  width: 32%;
  font-size: 0.875rem;
  font-weight: 600;
  color: #fff;
  text-align: center;
  background-color: #F87502;
  padding: 5px 0;
  border-radius: 20px;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  #mainv .catchcopy-area ul li {
    font-size: 2vw;
    padding: 10px 0;
    border-radius: 50px;
  }
}
@media (min-width: 1200px) {
  #mainv .catchcopy-area ul li {
    font-size: 1.5625vw;
  }
}
#mainv .img-achievement {
  width: 280px;
  position: absolute;
  left: 5%;
  bottom: 60px;
}
@media (min-width: 992px) {
  #mainv .img-achievement {
    width: 38%;
    left: initial;
    right: 3%;
    bottom: 8%;
  }
}
#mainv:after {
  content: '';
  width: 100%;
  height: 20px;
  background-color: #fff;
  border-radius: 40px 40px 0 0;
  position: absolute;
  bottom: -1px;
}
@media (min-width: 992px) {
  #mainv:after {
    border-radius: 60px 60px 0 0;
    height: 40px;
  }
}
@media (min-width: 1200px) {
  #mainv:after {
    border-radius: 80px 80px 0 0;
  }
}
.scroll-bar {
  width: 125px;
  transform: rotate(90deg);
  color: #fff;
  position: absolute;
  right: -20px;
  bottom: 40px;
  font-size: 9px;
}
@media (min-width: 992px) {
  .scroll-bar {
    width: 180px;
    right: initial;
    left: 5px;
    bottom: 48px;
  }
}
.scroll-line {
  position: relative;
  height: 2px;
  background-color: #fff;
}
.scroll-line-inner {
  position: absolute;
  background-color: #F7B62D;
  width: 10px;
  height: 2px;
  left: 0;
  top: 0;
  animation: indicator 3s cubic-bezier(0.19, 1, 0.22, 1) infinite;
}
@keyframes indicator {
  from {
    left: 0;
    transform-origin: left top;
    width: 15px;
  }
  20% {
    width: 15px;
  }
  80% {
    width: 15px;
  }
  to {
    transform-origin: left top;
    left: 100%;
    width: 0px;
  }
}
.contents-wrap,
.contents-wrap-reason,
.contents-wrap-navy,
.contents-wrap-point {
  position: relative;
  width: 100%;
  padding: 3.5rem 0;
}
@media (min-width: 992px) {
  .contents-wrap,
  .contents-wrap-reason,
  .contents-wrap-navy,
  .contents-wrap-point {
    padding: 6.25rem 0;
  }
}
.contents-wrap {
  background-color: #fff;
}
.contents-wrap-navy {
  background-color: #8f1d2f;
}
.contents-wrap-reason {
  background-image: url(../images/top/reason-bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.contents-wrap-point {
  background-image: url(../images/top/point-bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.top-h2 {
  font-size: 1.55rem;
  text-align: center;
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .top-h2 {
    font-size: calc(1.325rem + .9vw);
    margin-bottom: 40px;
  }
}
@media (min-width: 1200px) {
  .top-h2 {
    margin-bottom: 60px;
  }
}
.more-btn {
  position: relative;
  width: fit-content;
  height: 40px;
  letter-spacing: 1px;
  color: #fff;
  line-height: 1;
  display: grid;
  overflow: hidden;
  place-items: center;
  background-color: #8f1d2f;
  border: 1px solid #8f1d2f;
  padding: 0 1rem;
  border-radius: 20px;
  z-index: 1;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
@media (min-width: 768px) {
  .more-btn {
    height: 60px;
    font-size: 1rem;
    padding: 0 3rem;
    border-radius: 30px;
  }
}
@media (min-width: 992px) {
  .more-btn {
    height: 70px;
    font-size: 1.125rem;
    border-radius: 35px;
  }
}
.more-btn:hover {
  text-decoration: none;
  color: #8f1d2f;
  background: #fff;
}
.orange-btn .more-btn {
  background-color: #F7B62D;
  border: 1px solid #F7B62D;
}
.orange-btn .more-btn:hover {
  text-decoration: none;
  color: #F7B62D;
  background: #fff;
}
.mr-30 {
  margin-right: 35px;
}
@media (min-width: 992px) {
  .mr-30 {
    margin-right: 40px;
  }
}
img.w-100 {
  width: 100% !important;
}
span.blue-txt {
  color: #1E9CD3;
}
.img_left {
  width: 50%;
  display: inline;
  float: left;
  margin: 0 0.625rem 0 0;
}
.img_right {
  width: 50%;
  display: inline;
  float: right;
  margin: 0 0 0 0.625rem;
}
.rockville-solid-web {
  font-family: "cherry-blossoms-regular", sans-serif;
  font-weight: 400;
  font-style: normal;
}
/*ご挨拶*/
.flex-first {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .flex-first {
    margin-bottom: 60px;
  }
}
@media (min-width: 1200px) {
  .flex-first {
    margin-bottom: 80px;
  }
}
.flex-first > div:first-child {
  width: 100%;
}
@media (min-width: 768px) {
  .flex-first > div:first-child {
    width: 60%;
  }
}
.flex-first > div:last-child {
  width: 100%;
}
@media (min-width: 768px) {
  .flex-first > div:last-child {
    width: 40%;
  }
}
.flex-first > div:last-child img {
  width: 60%;
}
@media (min-width: 768px) {
  .flex-first > div:last-child img {
    width: 80%;
  }
}
@media (min-width: 1500px) {
  .flex-first > div:last-child img {
    width: auto;
  }
}
.flex-first > div:last-child .ceo-name {
  font-size: 0.875rem;
  color: #fff;
  background-color: #8f1d2f;
  width: fit-content;
  padding: 5px 10px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 992px) {
  .flex-first > div:last-child .ceo-name {
    font-size: 1rem;
  }
}
@media (min-width: 1200px) {
  .flex-first > div:last-child .ceo-name {
    font-size: 1.125rem;
  }
}
ul.img-slider {
  padding-left: 0;
  list-style: none;
}
ul.img-slider li {
  padding: 10px;
}
ul.img-slider li .inner {
  position: relative;
}
ul.img-slider li .inner img {
  position: absolute;
  width: 100%;
  height: 100%;
  max-width: 300px;
  max-height: 300px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  object-fit: cover;
}
@media (min-width: 2000px) {
  ul.img-slider li .inner img {
    max-width: 500px;
    max-height: 500px;
  }
}
@media (min-width: 2500px) {
  ul.img-slider li .inner img {
    max-width: auto;
    max-height: auto;
  }
}
ul.img-slider li .inner:before {
  content: '';
  display: block;
  padding-top: 100%;
}
/*選ばれる理由*/
.reason-wrap {
  padding-bottom: 9rem;
}
@media (min-width: 992px) {
  .reason-wrap {
    padding-bottom: 12rem;
  }
}
.flex-top-reason {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media (min-width: 992px) {
  .flex-top-reason {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
  }
}
.flex-top-reason div {
  width: 50%;
  padding: 20px 0;
}
@media (min-width: 992px) {
  .flex-top-reason div {
    width: 32%;
    padding: 30px 20px;
  }
}
.flex-top-reason div img {
  width: 64%;
  display: block;
  margin: 0 auto 15px auto;
}
.chara01 {
  float: left;
  width: 120px;
}
@media (min-width: 992px) {
  .chara01 {
    width: 160px;
    position: absolute;
    bottom: -50px;
    left: 0;
  }
}
.chara02 {
  float: right;
  width: 160px;
  margin-top: 40px;
}
@media (min-width: 992px) {
  .chara02 {
    width: 190px;
    position: absolute;
    bottom: -30px;
    right: 0;
  }
}
/*口コミ*/
.reviews-wrap {
  padding-top: 9rem;
}
@media (min-width: 992px) {
  .reviews-wrap {
    padding-top: 12rem;
  }
}
.thanks {
  width: 280px;
  position: absolute;
  top: -98px;
  left: -webkit-calc(50% - 140px);
  left: calc(50% - 140px);
  filter: drop-shadow(5px 5px 5px rgba(151, 151, 151, 0.27));
}
@media (min-width: 992px) {
  .thanks {
    width: 420px;
    top: -140px;
    left: -webkit-calc(50% - 210px);
    left: calc(50% - 210px);
  }
}
.flex-reviews-contact {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 60px;
}
@media (min-width: 992px) {
  .flex-reviews-contact {
    margin-bottom: 90px;
  }
}
.flex-reviews-contact > div {
  width: 100%;
  margin-bottom: 40px;
}
@media (min-width: 992px) {
  .flex-reviews-contact > div {
    width: -webkit-calc(50% - 20px);
    width: calc(50% - 20px);
    margin-bottom: 0;
  }
}
.flex-reviews-contact > div .inner {
  padding-left: 10px;
  background-color: #fff;
  max-height: 250px;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
.flex-reviews-contact > div table {
  width: 100%;
  font-size: 1rem;
  font-weight: 600;
  color: #8f1d2f;
  line-height: 1;
  background-color: #fff;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .flex-reviews-contact > div table {
    font-size: 1.25rem;
    margin-bottom: 35px;
  }
}
@media (min-width: 1200px) {
  .flex-reviews-contact > div table {
    font-size: 1.5rem;
    margin-bottom: 29px;
  }
}
.flex-reviews-contact > div table th {
  width: 60%;
  padding-left: 30px;
}
.flex-reviews-contact > div table td {
  text-align: center;
  padding: 10px;
}
.flex-reviews-contact > div table td span {
  display: block;
  background-color: #E1EEF8;
  padding: 10px;
}
/*受賞歴*/
.awards {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.awards:before {
  content: '';
  width: 50px;
  height: 30px;
  background-image: url(../images/top/star-left.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom;
  position: absolute;
  top: 15px;
  left: -60px;
}
@media (min-width: 992px) {
  .awards:before {
    width: 66px;
    height: 40px;
    top: 20px;
    left: -80px;
  }
}
@media (min-width: 1200px) {
  .awards:before {
    width: 98px;
    height: 59px;
    top: 30px;
    left: -120px;
  }
}
.awards:after {
  content: '';
  width: 50px;
  height: 30px;
  background-image: url(../images/top/star-right.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom;
  position: absolute;
  top: 15px;
  right: -60px;
}
@media (min-width: 992px) {
  .awards:after {
    width: 66px;
    height: 40px;
    top: 20px;
    right: -80px;
  }
}
@media (min-width: 1200px) {
  .awards:after {
    width: 98px;
    height: 59px;
    top: 30px;
    right: -120px;
  }
}
.flex-top-awards {
  position: relative;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  width: -webkit-calc(100% - 20px);
  width: calc(100% - 20px);
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  padding: 20px;
  margin-bottom: 60px;
}
@media (min-width: 768px) {
  .flex-top-awards {
    width: 100%;
    padding: 40px;
  }
}
.flex-top-awards > div {
  width: 100%;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .flex-top-awards > div {
    width: -webkit-calc(33.333% - 5px);
    width: calc(33.333% - 5px);
    margin-bottom: 0;
  }
}
@media (min-width: 992px) {
  .flex-top-awards > div {
    width: -webkit-calc(33.333% - 20px);
    width: calc(33.333% - 20px);
  }
}
.flex-top-awards > div img {
  border: 3px solid #F7B62D;
  margin-bottom: 10px;
}
.flex-top-awards > div p {
  margin-bottom: 0;
}
.flex-top-awards:before {
  content: '';
  width: 70px;
  height: 69px;
  background-image: url(../images/top/awards-left.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom;
  position: absolute;
  top: -34px;
  left: -20px;
}
@media (min-width: 768px) {
  .flex-top-awards:before {
    width: 130px;
    height: 128px;
    top: -50px;
    left: -50px;
  }
}
@media (min-width: 1200px) {
  .flex-top-awards:before {
    width: 173px;
    height: 170px;
    top: -60px;
    left: -70px;
  }
}
.flex-top-awards:after {
  content: '';
  width: 80px;
  height: 85px;
  background-image: url(../images/top/awards-right.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom;
  position: absolute;
  top: -34px;
  right: -20px;
}
@media (min-width: 768px) {
  .flex-top-awards:after {
    width: 140px;
    height: 148px;
    top: -50px;
    right: -40px;
  }
}
@media (min-width: 1200px) {
  .flex-top-awards:after {
    width: 186px;
    height: 187px;
    top: -60px;
    right: -70px;
  }
}
/*施工実績*/
.flex-top-sekoujisseki {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: start;
  justify-content: space-between;
  align-items: stretch;
}
.flex-top-sekoujisseki > div {
  position: relative;
  width: -webkit-calc(50% - 10px);
  width: calc(50% - 10px);
  margin-bottom: 20px;
  align-items: stretch;
  background-color: #fff;
}
@media (min-width: 992px) {
  .flex-top-sekoujisseki > div {
    width: -webkit-calc(25% - 20px);
    width: calc(25% - 20px);
    margin-bottom: 0;
  }
}
.flex-top-sekoujisseki > div .shoukai {
  position: absolute;
  top: 0;
  left: 0;
  width: fit-content;
  font-size: 0.75rem;
  font-weight: 600;
  color: #fff;
  line-height: 1;
  padding: 5px 15px;
  background-color: #F87502;
  margin: 0;
}
@media (min-width: 992px) {
  .flex-top-sekoujisseki > div .shoukai {
    font-size: 1rem;
    padding: 5px 25px;
  }
}
@media (min-width: 1200px) {
  .flex-top-sekoujisseki > div .shoukai {
    font-size: 1.125rem;
  }
}
.flex-top-sekoujisseki > div img {
  width: 100%;
  height: 120px;
  object-fit: cover;
}
@media (min-width: 768px) {
  .flex-top-sekoujisseki > div img {
    height: 200px;
  }
}
@media (min-width: 992px) {
  .flex-top-sekoujisseki > div img {
    height: 150px;
  }
}
@media (min-width: 1200px) {
  .flex-top-sekoujisseki > div img {
    height: 200px;
  }
}
.flex-top-sekoujisseki > div h3 {
  font-size: 0.75rem;
  line-height: 1.2;
  padding: 10px;
}
@media (min-width: 992px) {
  .flex-top-sekoujisseki > div h3 {
    font-size: 1rem;
  }
}
/*はじめての外壁塗装*/
.point-tit-wrap {
  position: relative;
  margin-bottom: 40px;
}
@media (min-width: 992px) {
  .point-tit-wrap {
    margin-bottom: 60px;
  }
}
.point-tit-wrap:before {
  content: '';
  width: 92px;
  height: 80px;
  background-image: url(../images/top/point-helmet.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom;
  position: absolute;
  top: -25px;
  left: 0px;
}
@media (min-width: 768px) {
  .point-tit-wrap:before {
    width: 130px;
    height: 149px;
    top: -30px;
    right: -30px;
  }
}
@media (min-width: 992px) {
  .point-tit-wrap:before {
    width: 195px;
    height: 170px;
    top: -10px;
  }
}
@media (min-width: 1200px) {
  .point-tit-wrap:before {
    width: 309px;
    height: 270px;
    top: -20px;
  }
}
.point-tit-wrap:after {
  content: '';
  width: 122px;
  height: 97px;
  background-image: url(../images/top/point-brush.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom;
  position: absolute;
  top: -40px;
  right: 0px;
}
@media (min-width: 768px) {
  .point-tit-wrap:after {
    width: 198px;
    height: 157px;
    top: -30px;
    right: -30px;
  }
}
@media (min-width: 992px) {
  .point-tit-wrap:after {
    width: 222px;
    height: 176px;
    top: -30px;
    right: -30px;
  }
}
@media (min-width: 1200px) {
  .point-tit-wrap:after {
    width: 362px;
    height: 287px;
    top: -50px;
    right: -60px;
  }
}
.mt-point {
  margin-top: 30px;
}
@media (min-width: 768px) {
  .mt-point {
    margin-top: 40px;
  }
}
@media (min-width: 1200px) {
  .mt-point {
    margin-top: 60px;
  }
}
.flex-top-point {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: start;
  justify-content: space-between;
}
.flex-top-point > div {
  position: relative;
  width: 100%;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .flex-top-point > div {
    width: -webkit-calc(50% - 30px);
    width: calc(50% - 30px);
    margin-bottom: 0;
  }
}
.flex-top-point > div img {
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
.flex-top-point > div:after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  background-color: #F7B62D;
  width: 30px;
  height: 30px;
  clip-path: polygon(0 100%, 100% 100%, 100% 0);
  pointer-events: none;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
@media (min-width: 768px) {
  .flex-top-point > div:after {
    width: 40px;
    height: 40px;
  }
}
@media (min-width: 992px) {
  .flex-top-point > div:after {
    width: 60px;
    height: 60px;
  }
}
.flex-top-point > div:hover img {
  filter: contrast(150%);
}
.flex-top-point > div:hover:after {
  background-color: #F87504;
}
/*工事メニュー*/
.flex-top-construction {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: start;
  justify-content: space-between;
  align-items: stretch;
}
.flex-top-construction > div {
  position: relative;
  width: 100%;
  padding: 0 20px 40px 20px;
  background: -moz-linear-gradient(top, transparent 0%, transparent 25px, #E1EEF8 25px, #E1EEF8 100%);
  background: -webkit-linear-gradient(top, transparent 0%, transparent 25px, #E1EEF8 25px, #E1EEF8 100%);
  background: linear-gradient(to bottom, transparent 0%, transparent 25px, #E1EEF8 25px, #E1EEF8 100%);
  align-items: stretch;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .flex-top-construction > div {
    width: -webkit-calc(33.333% - 15px);
    width: calc(33.333% - 15px);
    padding: 0 20px 80px 20px;
    margin-bottom: 0;
  }
  .flex-top-construction > div .more-btn {
    width: 190px;
    position: absolute;
    bottom: 20px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
@media (min-width: 992px) {
  .flex-top-construction > div {
    width: -webkit-calc(33.333% - 20px);
    width: calc(33.333% - 20px);
    padding: 0 30px 120px 30px;
  }
  .flex-top-construction > div .more-btn {
    width: 200px;
    bottom: 40px;
  }
}
.flex-top-construction > div img {
  margin-bottom: 20px;
}
/*料金プラン*/
.flex-top-plan {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: start;
  justify-content: space-between;
  padding: 5%;
}
@media (min-width: 768px) {
  .flex-top-plan {
    padding: 0;
  }
}
.flex-top-plan > div {
  position: relative;
  width: 100%;
  border: 10px solid #fff;
  margin-bottom: 60px;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
@media (min-width: 768px) {
  .flex-top-plan > div {
    width: -webkit-calc(50% - 20px);
    width: calc(50% - 20px);
  }
}
@media (min-width: 992px) {
  .flex-top-plan > div {
    width: -webkit-calc(50% - 30px);
    width: calc(50% - 30px);
    margin-bottom: 80px;
  }
}
.flex-top-plan > div .rank-img {
  position: absolute;
  width: 30%;
  top: -25%;
  left: -15%;
  z-index: 1;
}
.flex-top-plan > div h3 {
  position: relative;
  font-size: 1.25rem;
  color: #8f1d2f;
  line-height: 1.4;
  text-align: center;
  margin-top: 20px;
  margin-bottom: 15px;
  background-color: #fff;
}
@media (min-width: 992px) {
  .flex-top-plan > div h3 {
    font-size: 1.875rem;
    margin-top: 30px;
    margin-bottom: 25px;
  }
}
@media (min-width: 1200px) {
  .flex-top-plan > div h3 {
    font-size: 2.25rem;
  }
}
.flex-top-plan > div .plan-price {
  position: relative;
  padding: 0 20px 10px 20px;
}
@media (min-width: 992px) {
  .flex-top-plan > div .plan-price {
    padding: 0 30px 40px 20px;
  }
}
.flex-top-plan > div:hover {
  filter: contrast(150%);
}
.plan-wall01-bg,
.plan-wall02-bg,
.plan-wall03-bg,
.plan-wall04-bg,
.plan-wall05-bg,
.plan-roof01-bg,
.plan-roof02-bg,
.plan-roof03-bg,
.plan-cover-bg {
  background-repeat: no-repeat;
  background-size: cover;
}
.plan-wall01-bg {
  background-image: url(../images/top/plan-wall01.jpg);
}
.plan-wall02-bg {
  background-image: url(../images/top/plan-wall02.jpg);
}
.plan-wall03-bg {
  background-image: url(../images/top/plan-wall03.jpg);
}
.plan-wall04-bg {
  background-image: url(../images/top/plan-wall04.jpg);
}
.plan-wall05-bg {
  background-image: url(../images/top/plan-wall05.jpg);
}
.plan-roof01-bg {
  background-image: url(../images/top/plan-roof01.jpg);
}
.plan-roof02-bg {
  background-image: url(../images/top/plan-roof02.jpg);
}
.plan-roof03-bg {
  background-image: url(../images/top/plan-roof03.jpg);
}
.plan-cover-bg {
  background-image: url(../images/top/plan-cover.jpg);
}
.flex-top-plan > div:after {
  content: '';
  position: absolute;
  bottom: -10px;
  right: -10px;
  background-color: #F7B62D;
  width: 30px;
  height: 30px;
  clip-path: polygon(0 100%, 100% 100%, 100% 0);
  pointer-events: none;
}
@media (min-width: 768px) {
  .flex-top-plan > div:after {
    width: 40px;
    height: 40px;
  }
}
@media (min-width: 992px) {
  .flex-top-plan > div:after {
    width: 60px;
    height: 60px;
  }
}
/*会社情報*/
.company-wrap {
  background-image: url(../images/top/company-bg-upper.jpg), url(../images/top/company-bg.jpg);
  background-repeat: no-repeat, no-repeat;
  background-size: auto,cover;
  padding: 3.75rem 1rem;
  /*.company-box:before{
		content: '';
	    width: 73px;
	    height:  135px;
	    background-image: url(../images/top/company-left.png);
	    background-size: contain;
	    background-repeat: no-repeat;
	    background-position: bottom;
	    position: absolute;
		top: 200px;
		left: -28px;
	  	@media (min-width:@screen-md){
			width: 103px;
			height: 190px;
			top: 200px;
			left: -20px;
		}					
	  	@media (min-width:@screen-lg){
			width: 143px;
			height: 264px;
			top: 200px;
			left: -30px;
		}					
	  	@media (min-width:@screen-xl){
			width: 243px;
			height: 449px;
			top: 210px;
			left: -90px;
		}					
	}
	.company-box:after{
		content: '';
	    width: 80px;
	    height:  110px;
	    background-image: url(../images/top/company-right.png);
	    background-size: contain;
	    background-repeat: no-repeat;
	    background-position: bottom;
	    position: absolute;
		bottom: 15px;
		right: -30px;
	  	@media (min-width:@screen-md){
			width: 130px;
			height: 180px;
			bottom: 30px;
		}					
	  	@media (min-width:@screen-lg){
			width: 159px;
			height: 220px;
			bottom: 30px;
		}					
	  	@media (min-width:@screen-xl){
			width: 289px;
			height: 399px;
			bottom: 40px;
			right: -80px;
		}					
	}*/
}
@media (min-width: 992px) {
  .company-wrap {
    padding: 6.25rem 0;
  }
}
.company-wrap .company-box {
  position: relative;
}
.company-wrap .white-box {
  position: relative;
  width: 100%;
  padding: 3rem 2.75rem;
  background-color: #fff;
}
@media (min-width: 992px) {
  .company-wrap .white-box {
    padding: 4rem 5rem;
  }
}
.company-wrap .white-box h3 {
  font-size: 1.25rem;
  color: #8f1d2f;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .company-wrap .white-box h3 {
    font-size: 1.875rem;
    margin-bottom: 40px;
  }
}
@media (min-width: 1200px) {
  .company-wrap .white-box h3 {
    font-size: 2.25rem;
  }
}
.company-wrap .white-box .top-youtube-wrap {
  position: relative;
  width: 100%;
  border: 5px solid #8f1d2f;
  margin-top: 60px;
}
@media (min-width: 768px) {
  .company-wrap .white-box .top-youtube-wrap {
    width: 80%;
    border: 10px solid #8f1d2f;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
  }
}
.company-wrap .white-box .top-youtube-wrap:before {
  font-family: "Font Awesome 6 Free";
  content: "\f078";
  font-weight: bold;
  font-size: 5rem;
  color: #8f1d2f;
  position: absolute;
  top: -95px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 2;
  pointer-events: none;
}
@media (min-width: 768px) {
  .company-wrap .white-box .top-youtube-wrap:before {
    top: -100px;
  }
}
.company-wrap .white-box .top-youtube-wrap:after {
  content: "CM放送中！";
  width: fit-content;
  background-color: #8f1d2f;
  padding: 5px 10px;
  font-weight: bold;
  font-size: 0.75rem;
  color: #fff;
  position: absolute;
  bottom: 15px;
  left: 15px;
  z-index: 2;
  pointer-events: none;
}
@media (min-width: 768px) {
  .company-wrap .white-box .top-youtube-wrap:after {
    font-size: 1rem;
    bottom: 20px;
    left: 20px;
  }
}
.company-wrap .white-box .top-youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.company-wrap .white-box .top-youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
  z-index: 1;
}
.company-wrap .white-box .top-youtube iframe:hover {
  z-index: 3;
}
.company-wrap .staff-box {
  padding: 3rem 0;
}
@media (min-width: 992px) {
  .company-wrap .staff-box {
    padding: 4rem 5rem;
  }
}
ul.staff-slider {
  padding-left: 0;
  list-style: none;
}
ul.staff-slider li {
  padding: 5px;
}
@media (min-width: 768px) {
  ul.staff-slider li {
    padding: 10px;
  }
}
ul.staff-slider li .inner {
  position: relative;
  overflow: hidden;
}
ul.staff-slider li .inner img {
  position: absolute;
  width: 100%;
  height: 100%;
  max-width: 300px;
  max-height: 300px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  object-fit: cover;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
ul.staff-slider li .inner .staff-position {
  position: absolute;
  bottom: 30px;
  left: 0;
  width: fit-content;
  font-size: 0.625rem;
  font-weight: 600;
  color: #fff;
  line-height: 1;
  padding: 5px 15px;
  background-color: #8f1d2f;
  margin: 0;
  z-index: 1;
}
@media (min-width: 992px) {
  ul.staff-slider li .inner .staff-position {
    font-size: 0.75rem;
    padding: 5px 25px;
  }
}
@media (min-width: 1200px) {
  ul.staff-slider li .inner .staff-position {
    font-size: 0.875rem;
  }
}
ul.staff-slider li .inner .staff-name {
  position: absolute;
  bottom: 0;
  left: 0;
  width: fit-content;
  font-size: 0.75rem;
  font-weight: 600;
  color: #fff;
  line-height: 1;
  padding: 5px 15px;
  background-color: #8f1d2f;
  margin: 0;
  z-index: 1;
}
@media (min-width: 992px) {
  ul.staff-slider li .inner .staff-name {
    font-size: 0.875rem;
    padding: 5px 25px;
  }
}
@media (min-width: 1200px) {
  ul.staff-slider li .inner .staff-name {
    font-size: 1rem;
  }
}
ul.staff-slider li .inner:hover img {
  filter: brightness(0.6);
}
ul.staff-slider li .inner:before {
  content: '';
  display: block;
  padding-top: 100%;
}
.arrow-box {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 10px;
  position: relative;
  padding: 0 5px;
}
@media (min-width: 768px) {
  .arrow-box {
    padding: 0 10px;
  }
}
@media (min-width: 992px) {
  .arrow-box {
    margin: 20px 0;
  }
}
.prev-arrow,
.next-arrow {
  display: block;
  width: 24px;
  height: 24px;
  background: #F87502;
  border-radius: 50%;
  transition: all 0.3s ease;
  cursor: pointer;
  position: relative;
}
@media (min-width: 992px) {
  .prev-arrow,
  .next-arrow {
    width: 36px;
    height: 36px;
  }
}
.prev-arrow:hover,
.next-arrow:hover {
  background: #C7C7C7;
}
.prev-arrow {
  transform: rotate(180deg);
  margin-right: 10px;
}
@media (min-width: 992px) {
  .prev-arrow {
    margin-right: 20px;
  }
}
.prev-arrow::before,
.next-arrow::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid #FFF;
  border-top: 2px solid #FFF;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transform: rotate(45deg);
}
.flex-top-blog {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flex-top-blog > div {
  width: 100%;
  position: relative;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .flex-top-blog > div {
    width: -webkit-calc(50% - 10px);
    width: calc(50% - 10px);
    margin-bottom: 30px;
  }
}
@media (min-width: 992px) {
  .flex-top-blog > div {
    width: -webkit-calc(32% - 10px);
    width: calc(32% - 10px);
    margin-bottom: 40px;
  }
}
.flex-top-blog > div img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  filter: brightness(0.8);
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
@media (min-width: 992px) {
  .flex-top-blog > div img {
    height: 190px;
  }
}
@media (min-width: 1200px) {
  .flex-top-blog > div img {
    height: 240px;
  }
}
.flex-top-blog > div img:hover {
  filter: brightness(1);
}
.flex-top-blog > div .blog-date {
  position: absolute;
  bottom: 10px;
  left: 10px;
  pointer-events: none;
}
@media (min-width: 768px) {
  .flex-top-blog > div .blog-date {
    bottom: 20px;
    left: 20px;
  }
}
.flex-top-blog > div ul.post-categories {
  display: inline-block;
  padding-left: 0;
  list-style: none;
  margin-bottom: 0;
}
.flex-top-blog > div ul.post-categories li {
  font-size: 0.75rem;
  line-height: 1;
  display: inline-grid;
  place-items: center;
  width: fit-content;
  height: 20px;
  padding: 0 20px;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  background: #fff;
  margin-right: 5px;
}
@media (min-width: 992px) {
  .flex-top-blog > div ul.post-categories li {
    font-size: 0.875rem;
    height: 22px;
  }
}
@media (min-width: 768px) {
  .flex-top-blog:after {
    content: '';
    display: block;
    position: relative;
    width: -webkit-calc(100% / 3);
    width: calc(100% / 3);
  }
}
/*フッター*/
ul.footer-btn {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: flex-start;
  width: 100%;
  position: fixed;
  bottom: 0px;
  left: 0px;
  padding: 10px;
  z-index: 100;
  margin-bottom: 0;
}
@media (min-width: 768px) {
  ul.footer-btn {
    display: none;
  }
}
.footer-btn > li {
  width: 25%;
  height: 40px;
  background: #9E1B32;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
  margin-bottom: 0;
}
.footer-btn > li p.icon {
  margin-bottom: 3px;
}
.footer-btn > li p.icon span {
  font-size: 1rem;
}
.footer-btn > li p {
  font-size: 0.625rem;
  line-height: 1.25;
  margin-bottom: 0;
}
.footer-btn > li a {
  color: #ffffff;
}
.footer-scroll-bar {
  position: fixed;
  right: 0px;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  z-index: 1;
}
@media (min-width: 768px) {
  .footer-scroll-bar {
    right: 10px;
  }
}
.footer-scroll-text {
  font-size: 9px;
  text-align: center;
  line-height: 1;
  text-transform: uppercase;
  transform: rotate(90deg);
}
.footer-scroll-text a {
  color: #1c1c1c;
}
.footer-scroll-line-inner {
  position: absolute;
  background-color: #8f1d2f;
  width: 4px;
  left: -webkit-calc(50% - 2px);
  left: calc(50% - 2px);
  animation: footer-indicator 3s cubic-bezier(0.23, 1, 0.32, 1) infinite;
}
@keyframes footer-indicator {
  0% {
    height: 0;
    bottom: 20px;
    opacity: 0;
  }
  30% {
    height: 20px;
    opacity: 1;
  }
  100% {
    height: 0;
    bottom: 60px;
    opacity: 0;
  }
}
footer {
  position: relative;
}
footer .footer-contact-wrap {
  padding: 2.5rem 0;
  position: relative;
  background-color: #8f1d2f;
}
@media (min-width: 992px) {
  footer .footer-contact-wrap {
    padding: 4.5rem 0;
  }
}
footer .footer-contact-wrap .flex-footer-contact {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  footer .footer-contact-wrap .flex-footer-contact {
    justify-content: space-between;
  }
}
footer .footer-contact-wrap .flex-footer-contact > div {
  position: relative;
  width: 100%;
  padding: 20px 30px;
  background-color: #fff;
  margin-bottom: 20px;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
@media (min-width: 768px) {
  footer .footer-contact-wrap .flex-footer-contact > div {
    width: 30%;
    padding: 10px 30px;
    margin-bottom: 0;
  }
}
@media (min-width: 992px) {
  footer .footer-contact-wrap .flex-footer-contact > div {
    padding: 25px;
  }
}
footer .footer-contact-wrap .flex-footer-contact > div .sub {
  font-size: 1.25rem;
}
@media (min-width: 1200px) {
  footer .footer-contact-wrap .flex-footer-contact > div .sub {
    font-size: 1.5625rem;
  }
}
footer .footer-contact-wrap .flex-footer-contact > div .line {
  position: relative;
  width: 170px;
  height: 60px;
  display: grid;
  place-items: center;
  border: 2px solid #fff;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.25rem;
  font-weight: 600;
  color: #fff;
  line-height: 1;
  margin-bottom: 0;
}
@media (min-width: 768px) {
  footer .footer-contact-wrap .flex-footer-contact > div .line {
    width: 130px;
    height: 50px;
  }
}
@media (min-width: 992px) {
  footer .footer-contact-wrap .flex-footer-contact > div .line {
    font-size: 1.875rem;
    width: 170px;
    height: 60px;
  }
}
@media (min-width: 1200px) {
  footer .footer-contact-wrap .flex-footer-contact > div .line {
    font-size: 2.25rem;
  }
}
footer .footer-contact-wrap .flex-footer-contact > div .line:after {
  content: '';
  width: 71px;
  height: 74px;
  background-image: url(../images/common/footer/contact-q.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom;
  position: absolute;
  top: -20px;
  right: -40px;
  pointer-events: none;
}
@media (min-width: 768px) {
  footer .footer-contact-wrap .flex-footer-contact > div .line:after {
    width: 40px;
    height: 42px;
    top: -10px;
    right: -20px;
  }
}
@media (min-width: 992px) {
  footer .footer-contact-wrap .flex-footer-contact > div .line:after {
    width: 71px;
    height: 74px;
    top: -20px;
    right: -40px;
  }
}
footer .footer-contact-wrap .flex-footer-contact > div:first-child {
  background-color: #F89704;
}
footer .footer-contact-wrap .flex-footer-contact > div:last-child {
  background-color: #05C755;
  margin-bottom: 0;
}
footer .footer-nav-wrap {
  padding: 3.75rem 0;
}
@media (min-width: 992px) {
  footer .footer-nav-wrap {
    padding: 6.25rem 0;
  }
}
footer .footer-nav-wrap .flex-footer {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: start;
  justify-content: space-around;
}
footer .footer-nav-wrap .flex-footer > div:first-child {
  width: 100%;
}
@media (min-width: 992px) {
  footer .footer-nav-wrap .flex-footer > div:first-child {
    width: 50%;
    padding-right: 60px;
  }
}
footer .footer-nav-wrap .flex-footer > div:first-child a {
  text-decoration: none;
}
footer .footer-nav-wrap .flex-footer > div:first-child .footer-logo {
  width: 240px;
  height: auto;
  -webkit-transition: 1s ease;
  transition: 1s ease;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  footer .footer-nav-wrap .flex-footer > div:first-child .footer-logo {
    width: 90%;
    margin-left: 0;
    margin-bottom: 40px;
  }
}
footer .footer-nav-wrap .flex-footer > div:first-child address {
  font-size: 0.75rem;
  text-align: center;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  footer .footer-nav-wrap .flex-footer > div:first-child address {
    font-size: 1rem;
    text-align: left;
  }
}
footer .footer-nav-wrap .flex-footer > div:first-child .footer-phone {
  width: 200px;
  height: auto;
  -webkit-transition: 1s ease;
  transition: 1s ease;
}
@media (min-width: 992px) {
  footer .footer-nav-wrap .flex-footer > div:first-child .footer-phone {
    width: 300px;
  }
}
@media (min-width: 1200px) {
  footer .footer-nav-wrap .flex-footer > div:first-child .footer-phone {
    width: 260px;
  }
}
@media (min-width: 1500px) {
  footer .footer-nav-wrap .flex-footer > div:first-child .footer-phone {
    width: 340px;
  }
}
footer .footer-nav-wrap .flex-footer > div:first-child .icon-insta {
  width: 30px;
  height: auto;
  -webkit-transition: 1s ease;
  transition: 1s ease;
  margin-left: 30px;
}
@media (min-width: 992px) {
  footer .footer-nav-wrap .flex-footer > div:first-child .icon-insta {
    width: 45px;
  }
}
footer .footer-nav-wrap .flex-footer > div:first-child .footer-logo:hover,
footer .footer-nav-wrap .flex-footer > div:first-child .footer-phone:hover,
footer .footer-nav-wrap .flex-footer > div:first-child .icon-insta:hover {
  opacity: 0.6;
}
footer .footer-nav-wrap .flex-footer > div:last-child {
  width: 100%;
}
@media (min-width: 992px) {
  footer .footer-nav-wrap .flex-footer > div:last-child {
    width: 50%;
  }
}
footer .footer-nav-wrap .flex-footer > div:last-child .inner-nav {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
footer .footer-nav-wrap .flex-footer > div:last-child .inner-nav > div {
  width: 35%;
}
footer .footer-nav-wrap .flex-footer > div:last-child .inner-nav > div ul {
  display: none;
  margin-bottom: 0;
  list-style-type: none;
  padding-left: 1rem;
}
@media (min-width: 992px) {
  footer .footer-nav-wrap .flex-footer > div:last-child .inner-nav > div ul {
    display: block;
  }
}
footer .footer-nav-wrap .flex-footer > div:last-child .inner-nav > div ul li {
  line-height: 1.6;
  display: block;
  margin-bottom: 0;
  padding: 0 5px;
}
footer .footer-nav-wrap .flex-footer > div:last-child .inner-nav > div ul li a {
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
footer .footer-nav-wrap .flex-footer > div:last-child .inner-nav > div ul li a:hover {
  opacity: 0.6;
  text-decoration: none;
}
footer .footer-nav-wrap .flex-footer > div:last-child .inner-nav > div ul .footer-sub li:before {
  content: '-';
  margin-right: 5px;
}
footer .footer-nav-wrap .flex-footer > div:last-child .inner-nav > div:first-child {
  width: 65%;
  padding-right: 40px;
}
footer .footer-link {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
}
@media (min-width: 992px) {
  footer .footer-link {
    max-width: 1100px;
    justify-content: start;
  }
}
footer .footer-link > div {
  width: 50%;
  padding: 5px;
}
@media (min-width: 768px) {
  footer .footer-link > div {
    width: 25%;
    padding: 10px;
  }
}
div.f-copyright {
  width: 100%;
  background-color: #8f1d2f;
  font-style: normal;
  font-size: 8px;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
  margin-bottom: 0;
  padding: 12px 12px 80px 12px;
}
@media (min-width: 768px) {
  div.f-copyright {
    font-size: 12px;
    padding: 12px;
  }
}
div.f-copyright a {
  color: #fff;
  text-decoration: none;
}
div.f-copyright span {
  display: inline-block;
}
div.f-copyright img.spot-logo {
  display: inline-block;
  height: 10px;
  margin: 5px auto;
}
@media (min-width: 768px) {
  div.f-copyright img.spot-logo {
    height: 16px;
  }
}
/*ブログアーカイブ*/
.archive-box {
  width: 100%;
  margin-bottom: 40px;
}
@media (min-width: 992px) {
  .archive-box {
    margin-bottom: 60px;
  }
}
@media (min-width: 1200px) {
  .archive-box {
    margin-bottom: 90px;
  }
}
.archive-box img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .archive-box img {
    height: 200px;
    margin-bottom: 0;
  }
}
@media (min-width: 1200px) {
  .archive-box img {
    height: 250px;
  }
}
.archive-box .category,
.archive-box .date {
  font-size: 0.875rem;
  display: inline-block;
  line-height: 1;
  margin-bottom: 15px;
}
@media (min-width: 992px) {
  .archive-box .category,
  .archive-box .date {
    font-size: 1rem;
  }
}
.archive-box .category {
  padding: 5px 20px;
  margin-right: 10px;
  background: #C4E6F5;
  border-radius: 20px;
}
.archive-box h2 {
  font-weight: 400;
  margin-bottom: 20px;
}
.archive-box a {
  text-decoration: none;
}
.archive-box .flex-archive-news {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}
.archive-box .flex-archive-news > div:first-child {
  width: 100%;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .archive-box .flex-archive-news > div:first-child {
    width: 40%;
    margin-bottom: 0;
  }
}
.archive-box .flex-archive-news > div:first-child img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  filter: brightness(0.8);
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
@media (min-width: 768px) {
  .archive-box .flex-archive-news > div:first-child img {
    height: 160px;
  }
}
@media (min-width: 992px) {
  .archive-box .flex-archive-news > div:first-child img {
    height: 190px;
  }
}
@media (min-width: 1200px) {
  .archive-box .flex-archive-news > div:first-child img {
    height: 220px;
  }
}
.archive-box .flex-archive-news > div:first-child img:hover {
  filter: brightness(1);
}
.archive-box .flex-archive-news > div:last-child {
  width: 100%;
  padding: 0 10px;
  position: relative;
}
@media (min-width: 768px) {
  .archive-box .flex-archive-news > div:last-child {
    width: 60%;
    padding: 0 0 0 20px;
  }
}
@media (min-width: 1200px) {
  .archive-box .flex-archive-news > div:last-child {
    padding: 0 0 0 30px;
  }
}
.archive-box .flex-archive-news > div:last-child .more-btn {
  width: 240px;
}
@media (min-width: 768px) {
  .archive-box .flex-archive-news > div:last-child .more-btn {
    height: 40px;
    border-radius: 20px;
  }
}
@media (min-width: 992px) {
  .archive-box .flex-archive-news > div:last-child .more-btn {
    position: absolute;
    bottom: 0;
    right: 0;
    height: 50px;
    border-radius: 25px;
  }
}
/*ブログ記事*/
.news-contents {
  width: 100%;
}
.news-contents h1 {
  font-size: 1.75rem;
  margin-top: 30px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .news-contents h1 {
    font-size: 2.125rem;
  }
}
.news-contents h2 {
  font-size: 1.5rem;
  margin-top: 30px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .news-contents h2 {
    font-size: 1.875rem;
  }
}
.news-contents h3 {
  font-size: 1.25rem;
  margin-top: 30px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .news-contents h3 {
    font-size: 1.75rem;
  }
}
.news-contents h4 {
  font-size: 1.125rem;
  margin-top: 30px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .news-contents h4 {
    font-size: 1.5rem;
  }
}
.news-contents h5 {
  font-size: 1rem;
  margin-top: 30px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .news-contents h5 {
    font-size: 1.25rem;
  }
}
.news-contents h6 {
  font-size: 0.875rem;
  margin-top: 30px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .news-contents h6 {
    font-size: 1rem;
  }
}
.news-contents .alignleft {
  display: inline;
  float: left;
  margin: 12px 24px 12px 0;
  margin: 0.85714286rem 1.71428571rem 0.85714286rem 0;
}
.news-contents .alignright {
  display: inline;
  float: right;
  margin: 12px 0 12px 24px;
  margin: 0.85714286rem 0 0.85714286rem 1.71428571rem;
}
.news-contents .aligncenter {
  clear: both;
  display: block;
  margin: 12px auto;
}
@media (max-width: 768px) {
  .news-contents .alignleft,
  .news-contents .alignright {
    float: none;
    display: block;
    margin: auto;
  }
}
.news-contents table {
  font-size: 100%;
  width: 100% !important;
  border-collapse: collapse;
  margin-bottom: 20px;
}
.news-contents table th {
  width: 25%;
  text-align: right;
  vertical-align: top;
  padding-right: 20px !important;
}
.news-contents table td,
.news-contents table th {
  border-bottom: 1px solid #DEDEDE;
  padding: 15px 5px;
}
.flex-news-nav {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
.flex-news-nav > div {
  width: 32%;
  height: 40px;
  line-height: 40px;
}
@media (min-width: 768px) {
  .flex-news-nav > div {
    height: 60px;
    line-height: 60px;
  }
}
@media (min-width: 992px) {
  .flex-news-nav > div {
    height: 70px;
    line-height: 70px;
  }
}
.addtoany_content {
  font-size: 1rem;
  font-weight: 600;
  padding: 1.25rem 0.625rem;
  background: #ffffff;
  text-align: center;
  margin-top: 2rem !important;
}
@media (min-width: 992px) {
  .addtoany_content {
    font-size: 1.25rem;
    padding: 2.5rem 1.25rem;
    margin-top: 4rem !important;
  }
}
.widget {
  list-style: none;
  padding: 10px;
  background-color: #E1EEF8;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .widget {
    padding: 10px 20px;
  }
}
@media (min-width: 992px) {
  .widget {
    padding: 15px 20px;
  }
}
@media (min-width: 1200px) {
  .widget {
    padding: 20px 30px;
  }
}
.widget .widgettitle {
  font-size: 0.875rem;
  color: #8f1d2f;
  margin-bottom: 5px;
}
@media (min-width: 992px) {
  .widget .widgettitle {
    font-size: 1.125rem;
  }
}
@media (min-width: 1200px) {
  .widget .widgettitle {
    font-size: 1.25rem;
  }
}
.widget ul {
  padding-left: 0;
}
.widget li {
  list-style: none;
  display: block;
  padding: 5px 0;
  margin: 0;
  border-bottom: 2px solid #fff;
}
@media (min-width: 992px) {
  .widget li {
    padding: 5px 0;
  }
}
.widget li a {
  text-decoration: none;
  padding: 5px;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
.widget li a[aria-current="page"] {
  color: #8f1d2f;
}
.widget li a:hover {
  color: #fff;
  background: #8f1d2f;
}
.widget .current-cat {
  border-bottom: 2px solid #8f1d2f;
}
/*見出し*/
h2.standard {
  width: fit-content;
  font-size: 1.25rem;
  letter-spacing: 2px;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  h2.standard {
    font-size: 1.875rem;
    margin-bottom: 40px;
  }
}
h2.standard span {
  padding: 0 5px;
  background: -moz-linear-gradient(top, transparent 0%, transparent 60%, #E6F5FB 60%, #E6F5FB 100%);
  background: -webkit-linear-gradient(top, transparent 0%, transparent 60%, #E6F5FB 60%, #E6F5FB 100%);
  background: linear-gradient(to bottom, transparent 0%, transparent 60%, #E6F5FB 60%, #E6F5FB 100%);
}
@media (min-width: 992px) {
  h2.standard span {
    padding: 0 10px;
  }
}
h2.standard:first-letter {
  color: #1E9CD3;
}
.place {
  font-weight: 600;
  color: #1E9CD3;
  margin-bottom: 0;
}
h3.standard {
  font-size: 1.125rem;
  color: #007DB5;
  letter-spacing: 2px;
  line-height: 1.4;
  margin-top: 40px;
  margin-bottom: 15px;
}
@media (min-width: 992px) {
  h3.standard {
    font-size: 1.875rem;
    margin-top: 60px;
    margin-bottom: 20px;
  }
}
h4.standard {
  position: relative;
  font-size: clamp(1rem, 3.5vw, 1.25rem);
  color: #008239;
  line-height: 1.4;
  margin-top: 60px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  h4.standard {
    font-size: clamp(1.25rem, 3.5vw, 1.875rem);
    margin-top: 90px;
    margin-bottom: 40px;
  }
}
h4.standard span {
  width: fit-content;
  max-width: calc(100% - 40px);
  display: block;
  position: relative;
  background-color: #fff;
  padding-right: 1rem;
  z-index: 2;
}
@media (min-width: 992px) {
  h4.standard span {
    max-width: fit-content;
  }
}
h5.standard {
  font-style: normal;
  font-size: clamp(0.875rem, 3.5vw, 1rem);
  margin-top: 30px;
  margin-bottom: 20px;
  padding-left: 10px;
  border-left: 5px solid #CDDE00;
}
@media (min-width: 992px) {
  h5.standard {
    font-size: clamp(1rem, 3.5vw, 1.25rem);
    margin-top: 40px;
    margin-bottom: 30px;
    padding-left: 15px;
    border-left: 7px solid #CDDE00;
  }
}
h6.standard {
  font-style: normal;
  font-size: 0.875rem;
  margin-top: 40px;
  margin-bottom: 15px;
}
@media (min-width: 992px) {
  h6.standard {
    font-size: 1rem;
  }
}
/*ページ*/
.page-eyecatch-wrapper {
  width: 100%;
  height: 240px;
  position: relative;
  background-color: #E6F5FB;
}
@media (min-width: 768px) {
  .page-eyecatch-wrapper {
    height: 320px;
  }
}
@media (min-width: 1200px) {
  .page-eyecatch-wrapper {
    height: 360px;
  }
}
@media (min-width: 1500px) {
  .page-eyecatch-wrapper {
    height: 400px;
  }
}
.page-eyecatch-wrapper .container {
  position: relative;
  height: 100%;
}
.page-eyecatch-wrapper h1 {
  font-size: 1.25rem;
  color: #fff;
  letter-spacing: 2px;
  text-align: center;
}
@media (min-width: 768px) {
  .page-eyecatch-wrapper h1 {
    font-size: 1.75rem;
  }
}
@media (min-width: 992px) {
  .page-eyecatch-wrapper h1 {
    font-size: 2vw;
  }
}
@media (min-width: 1200px) {
  .page-eyecatch-wrapper h1 {
    position: absolute;
    top: 30px;
  }
}
.page-eyecatch-wrapper h1 span {
  font-size: 80%;
}
@media (min-width: 768px) {
  .page-eyecatch-wrapper h1 span {
    font-size: 100%;
  }
}
.page-eyecatch-wrapper:after {
  content: '';
  width: 100%;
  height: 20px;
  background-color: #fff;
  border-radius: 40px 40px 0 0;
  position: absolute;
  bottom: -1px;
}
@media (min-width: 992px) {
  .page-eyecatch-wrapper:after {
    border-radius: 60px 60px 0 0;
    height: 40px;
  }
}
@media (min-width: 1200px) {
  .page-eyecatch-wrapper:after {
    border-radius: 80px 80px 0 0;
  }
}
div.bread_crumb_wrapper {
  font-weight: 700;
  margin-top: 1.5rem;
}
div.bread_crumb_wrapper .breadcrumb_last {
  font-weight: 400;
}
.breadcrumbs {
  font-size: 0.625rem;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .breadcrumbs {
    font-size: 1rem;
  }
}
.breadcrumbs a {
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  text-decoration: none;
  margin-right: 0.3125rem;
  color: #666666;
}
.breadcrumbs a:hover {
  opacity: 0.6;
}
.breadcrumbs .breadcrumb_last {
  margin-left: 0.3125rem;
}
nav.navigation .screen-reader-text {
  display: none;
}
nav.navigation .nav-links {
  width: 100%;
  text-align: center;
}
nav.navigation .nav-links ul.page-numbers {
  list-style: none;
  padding-left: 0;
}
nav.navigation .nav-links ul.page-numbers li {
  text-align: center;
  display: inline-block;
  margin: 0 4px;
}
@media (min-width: 768px) {
  nav.navigation .nav-links ul.page-numbers li {
    margin: 0 6px;
  }
}
nav.navigation .nav-links ul.page-numbers li a {
  transition: 1s;
}
nav.navigation .nav-links ul.page-numbers li a:hover {
  opacity: 0.6;
  text-decoration: none;
}
nav.navigation .nav-links ul.page-numbers li a.page-numbers {
  display: inline-block;
  font-size: 0.625rem;
  color: #fff;
  width: 26px;
  height: 26px;
  line-height: 24px;
  background: #D3D3D3;
  border-radius: 13px;
}
@media (min-width: 768px) {
  nav.navigation .nav-links ul.page-numbers li a.page-numbers {
    font-size: 1rem;
    width: 36px;
    height: 36px;
    line-height: 34px;
    border-radius: 18px;
  }
}
nav.navigation .nav-links ul.page-numbers li span.current {
  display: inline-block;
  font-size: 0.75rem;
  color: #fff;
  width: 26px;
  height: 26px;
  line-height: 24px;
  background: #8f1d2f;
  border-radius: 13px;
}
@media (min-width: 768px) {
  nav.navigation .nav-links ul.page-numbers li span.current {
    font-size: 1rem;
    width: 36px;
    height: 36px;
    line-height: 34px;
    border-radius: 18px;
  }
}
nav.navigation .nav-links ul.page-numbers li a.prev,
nav.navigation .nav-links ul.page-numbers li a.next {
  color: #1A1A1A;
  display: inline-block;
  width: auto!important;
  padding: 0 15px;
  text-align: center;
  background: #fff !important;
}
nav.navigation .nav-links ul.page-numbers li:first-child {
  margin-left: 0;
}
nav.navigation .nav-links ul.page-numbers li:last-child {
  margin-right: 0;
}
/* ================================================================================
	wp-pagenavi
================================================================================ */
.wp-pagenavi {
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
}
.wp-pagenavi span,
.wp-pagenavi a {
  font-size: 0.875rem;
  font-style: normal;
  color: #000;
  border: none !important;
  padding: 5px !important;
}
.wp-pagenavi span.current {
  border: none;
  background: none;
  color: #000;
}
.wp-pagenavi span.pages {
  border: 1px solid #000 !important;
}
.contents {
  padding: 2.5rem 0 0 0;
}
@media (min-width: 992px) {
  .contents {
    padding: 3.5rem 0 0 0;
    margin-left: auto;
    margin-right: auto;
  }
}
.contents .alignleft {
  display: inline;
  float: left;
  margin: 12px 24px 12px 0;
  margin: 0.85714286rem 1.71428571rem 0.85714286rem 0;
}
.contents .alignright {
  display: inline;
  float: right;
  margin: 12px 0 12px 24px;
  margin: 0.85714286rem 0 0.85714286rem 1.71428571rem;
}
.contents .aligncenter {
  clear: both;
  display: block;
  margin: 12px auto;
}
@media (max-width: 768px) {
  .contents .alignleft,
  .contents .alignright {
    float: none;
    display: block;
    margin: auto;
  }
}
.contents p.not_found {
  font-size: 2.5rem;
  color: #666666;
  font-weight: 100;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .contents p.not_found {
    font-size: 5rem;
  }
}
.whitebox {
  width: 100%;
  padding: 20px 10px 10px 10px;
  background-color: #fff;
}
@media (min-width: 768px) {
  .whitebox {
    padding: 30px 20px 20px 20px;
  }
}
@media (min-width: 992px) {
  .whitebox {
    padding: 40px;
  }
}
@media (min-width: 1200px) {
  .whitebox {
    padding: 60px;
  }
}
.contents-margin {
  margin-bottom: 60px;
}
@media (min-width: 992px) {
  .contents-margin {
    margin-bottom: 80px;
  }
}
@media (min-width: 1200px) {
  .contents-margin {
    margin-bottom: 100px;
  }
}
span.yellow-st {
  font-weight: 600;
  background: -moz-linear-gradient(top, transparent 0%, transparent 60%, rgba(255, 231, 51, 0.44) 60%, rgba(255, 231, 51, 0.44) 100%);
  background: -webkit-linear-gradient(top, transparent 0%, transparent 60%, rgba(255, 231, 51, 0.44) 60%, rgba(255, 231, 51, 0.44) 100%);
  background: linear-gradient(to bottom, transparent 0%, transparent 60%, rgba(255, 231, 51, 0.44) 60%, rgba(255, 231, 51, 0.44) 100%);
}
.youtube-wrap {
  width: 100%;
}
@media (min-width: 992px) {
  .youtube-wrap {
    max-width: 80%;
  }
}
@media (min-width: 1200px) {
  .youtube-wrap {
    max-width: 70%;
  }
}
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin-bottom: 40px;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.text-wrap {
  padding: 0 20px;
}
.gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 60%;
  position: relative;
}
@media (min-width: 992px) {
  .gmap {
    padding-bottom: 40%;
    margin-top: 0;
  }
}
.g-map iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.middlebox {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 10;
}
/*はじめての外壁塗装*/
.gray-box-paint {
  width: 100%;
  background-color: #F8F8F8;
  padding: 20px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .gray-box-paint {
    padding: 30px 40px;
    margin-bottom: 40px;
  }
}
.gray-box-paint .sub {
  position: relative;
  width: fit-content;
  font-size: 0.875rem;
  font-weight: 500;
  color: #8f1d2f;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 992px) {
  .gray-box-paint .sub {
    font-size: 1.125rem;
  }
}
@media (min-width: 1200px) {
  .gray-box-paint .sub {
    font-size: 1.25rem;
  }
}
.gray-box-paint .sub:before,
.gray-box-paint .sub:after {
  position: absolute;
  content: '';
  width: 3px;
  height: 100%;
  background: #8f1d2f;
  border-radius: 2px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.gray-box-paint .sub:before {
  left: -10px;
  rotate: -12deg;
}
@media (min-width: 768px) {
  .gray-box-paint .sub:before {
    left: -20px;
  }
}
.gray-box-paint .sub:after {
  right: -10px;
  rotate: 12deg;
}
@media (min-width: 768px) {
  .gray-box-paint .sub:after {
    right: -20px;
  }
}
.flex-page-timing {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flex-page-timing > div {
  width: 100%;
  background-color: #E1EEF8;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .flex-page-timing > div {
    width: 48%;
  }
}
@media (min-width: 992px) {
  .flex-page-timing > div {
    margin-bottom: 30px;
  }
}
.flex-page-timing > div .inner {
  padding: 10px;
}
@media (min-width: 992px) {
  .flex-page-timing > div .inner {
    padding: 20px 30px;
  }
}
.flex-page-timing > div .inner p:last-of-type {
  margin-bottom: 0;
}
.lightblue-box-bids {
  width: 100%;
  background-color: #E1EEF8;
  padding: 20px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .lightblue-box-bids {
    padding: 30px 40px;
    margin-bottom: 40px;
  }
}
.lightblue-box-bids ul {
  list-style-image: url(../images/page/contact/check.svg);
}
.lightblue-box-bids ul li {
  font-size: 0.875rem;
  font-weight: 500;
  padding-left: 0.5rem;
}
@media (min-width: 992px) {
  .lightblue-box-bids ul li {
    font-size: 1.125rem;
  }
}
@media (min-width: 1200px) {
  .lightblue-box-bids ul li {
    font-size: 1.25rem;
  }
}
.lightblue-box-bids ul li::marker {
  font-size: 200%;
}
ul.bg-navy-ul {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-left: 0;
  list-style: none;
}
.bg-navy-ul > li {
  width: 100%;
  font-weight: 600;
  color: #fff;
  background-color: #8f1d2f;
  padding: 5px 10px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .bg-navy-ul > li {
    width: fit-content;
    font-size: 0.75rem;
    padding: 10px 20px;
    margin-bottom: 0;
  }
}
@media (min-width: 1200px) {
  .bg-navy-ul > li {
    font-size: 0.875rem;
  }
}
@media (min-width: 1500px) {
  .bg-navy-ul > li {
    font-size: 1rem;
  }
}
.bg-navy-ul > li:last-child {
  margin-bottom: 0;
}
/*選ばれる理由*/
.flex-reason-contents {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
@media (min-width: 992px) {
  .flex-reason-contents {
    margin-bottom: 60px;
  }
}
.flex-reason-contents > div:first-child {
  width: 100%;
  border-bottom: 3px solid #E1EEF8;
}
@media (min-width: 768px) {
  .flex-reason-contents > div:first-child {
    width: 180px;
    border-bottom: none;
    border-right: 3px solid #E1EEF8;
  }
}
@media (min-width: 1200px) {
  .flex-reason-contents > div:first-child {
    width: 200px;
  }
}
.flex-reason-contents > div:last-child {
  width: 100%;
  padding: 10px 0;
}
@media (min-width: 768px) {
  .flex-reason-contents > div:last-child {
    width: calc(100% - 180px);
    padding: 0 0 0 20px;
  }
}
@media (min-width: 1200px) {
  .flex-reason-contents > div:last-child {
    width: calc(100% - 200px);
    padding: 0 0 0 30px;
  }
}
.flex-page-diagnosis {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flex-page-diagnosis > div {
  width: 100%;
  background-color: #E1EEF8;
  padding: 10px 15px 15px 15px;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .flex-page-diagnosis > div {
    width: 49%;
  }
}
@media (min-width: 992px) {
  .flex-page-diagnosis > div {
    padding: 20px 30px 30px 30px;
  }
}
.flex-page-diagnosis > div p:last-of-type {
  margin-bottom: 0;
}
.lightblue-box-svg {
  width: 100%;
  background-color: #E1EEF8;
  padding: 20px;
}
@media (min-width: 992px) {
  .lightblue-box-svg {
    padding: 30px 40px;
  }
}
.lightblue-box-svg img {
  display: block;
}
@media (min-width: 768px) {
  .lightblue-box-svg img {
    max-width: 460px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 992px) {
  .lightblue-box-svg img {
    max-width: 540px;
  }
}
.flex-page-area {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media (min-width: 768px) {
  .flex-page-area {
    align-items: center;
  }
}
.flex-page-area > div {
  width: 100%;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .flex-page-area > div {
    width: 50%;
    margin-bottom: 0;
  }
}
.flex-page-area > div p:last-of-type {
  margin-bottom: 0;
}
.flex-page-area > div .area-sub {
  width: fit-content;
  display: inline-block;
  font-size: 0.75rem;
  color: #fff;
  line-height: 1;
  background-color: #8f1d2f;
  padding: 5px 10px;
  margin: 0;
}
@media (min-width: 768px) {
  .flex-page-area > div .area-sub {
    font-size: 0.875rem;
    padding: 10px 20px;
  }
}
@media (min-width: 992px) {
  .flex-page-area > div .area-sub {
    font-size: 1rem;
  }
}
.flex-page-area > div .sub {
  width: fit-content;
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1;
  padding: 5px 10px;
  margin: 0;
}
@media (min-width: 768px) {
  .flex-page-area > div .sub {
    font-size: 0.875rem;
    padding: 10px 20px;
  }
}
@media (min-width: 992px) {
  .flex-page-area > div .sub {
    font-size: 1rem;
  }
}
.flex-page-area > div ul.area-list {
  background-color: #E1EEF8;
  padding-left: 0;
  padding: 5px;
  list-style: none;
}
@media (min-width: 768px) {
  .flex-page-area > div ul.area-list {
    padding: 10px;
  }
}
.flex-page-area > div ul.area-list li {
  display: inline-block;
}
.flex-page-area > div ul.area-list li:after {
  content: "、";
}
.flex-page-area > div ul.area-list li:last-child:after {
  content: "";
}
.flex-page-area > div img {
  max-width: 60%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .flex-page-area > div img {
    max-width: 320px;
  }
}
@media (min-width: 992px) {
  .flex-page-area > div img {
    max-width: 460px;
  }
}
/*工事メニュー*/
.trouble-box {
  width: 100%;
  background-color: #E1EEF8;
  padding: 20px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .trouble-box {
    padding: 40px;
    margin-bottom: 40px;
  }
}
@media (min-width: 1200px) {
  .trouble-box {
    padding: 40px 100px 60px 100px;
  }
}
.trouble-box ul.trouble {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style-image: url(../images/page/contact/check.svg);
  margin-bottom: 30px;
}
@media (min-width: 992px) {
  .trouble-box ul.trouble {
    max-width: 840px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
  }
}
.trouble-box .trouble > li {
  width: 100%;
  font-size: 0.875rem;
  padding-left: 0.5rem;
}
@media (min-width: 768px) {
  .trouble-box .trouble > li {
    width: 50%;
  }
}
@media (min-width: 992px) {
  .trouble-box .trouble > li {
    font-size: 1.25rem;
  }
}
@media (min-width: 1200px) {
  .trouble-box .trouble > li {
    font-size: 1.375rem;
  }
}
.trouble-box .trouble > li::marker {
  font-size: 240%;
}
.trouble-box .inner {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.trouble-box .inner > div {
  width: 100%;
}
@media (min-width: 768px) {
  .trouble-box .inner > div {
    width: 50%;
  }
}
.lightblue-box-paint {
  width: 100%;
  background-color: #E1EEF8;
  padding: 20px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .lightblue-box-paint {
    padding: 30px 40px;
    margin-bottom: 40px;
  }
}
.lightblue-box-paint .sub {
  position: relative;
  width: fit-content;
  font-size: 0.875rem;
  font-weight: 500;
  color: #8f1d2f;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 992px) {
  .lightblue-box-paint .sub {
    font-size: 1.125rem;
  }
}
@media (min-width: 1200px) {
  .lightblue-box-paint .sub {
    font-size: 1.25rem;
  }
}
.lightblue-box-paint .sub:before,
.lightblue-box-paint .sub:after {
  position: absolute;
  content: '';
  width: 3px;
  height: 100%;
  background: #8f1d2f;
  border-radius: 2px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.lightblue-box-paint .sub:before {
  left: -10px;
  rotate: -12deg;
}
@media (min-width: 768px) {
  .lightblue-box-paint .sub:before {
    left: -20px;
  }
}
.lightblue-box-paint .sub:after {
  right: -10px;
  rotate: 12deg;
}
@media (min-width: 768px) {
  .lightblue-box-paint .sub:after {
    right: -20px;
  }
}
.lightblue-box-paint .bg-white {
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .lightblue-box-paint .bg-white {
    margin-bottom: 40px;
  }
}
.lightblue-box-paint .bg-white ul {
  width: fit-content;
  list-style-image: url(../images/page/contact/check.svg);
  margin-left: auto;
  margin-right: auto;
}
.lightblue-box-paint .bg-white ul li {
  font-size: 0.875rem;
  font-weight: 500;
  padding-left: 0.5rem;
}
@media (min-width: 992px) {
  .lightblue-box-paint .bg-white ul li {
    font-size: 1.125rem;
  }
}
@media (min-width: 1200px) {
  .lightblue-box-paint .bg-white ul li {
    font-size: 1.25rem;
  }
}
.lightblue-box-paint .bg-white ul li::marker {
  font-size: 200%;
}
.flex-painttype-one,
.flex-painttype-two {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-painttype-one > div,
.flex-painttype-two > div {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .flex-painttype-one > div,
  .flex-painttype-two > div {
    margin-bottom: 0;
  }
}
.flex-painttype-one > div .inner,
.flex-painttype-two > div .inner {
  padding: 10px;
}
@media (min-width: 992px) {
  .flex-painttype-one > div .inner,
  .flex-painttype-two > div .inner {
    padding: 20px;
  }
}
.flex-painttype-one > div .inner p:last-of-type,
.flex-painttype-two > div .inner p:last-of-type {
  margin-bottom: 0;
}
.flex-painttype-one > div {
  width: 100%;
}
@media (min-width: 768px) {
  .flex-painttype-one > div {
    width: 50%;
  }
}
.flex-painttype-two > div {
  width: 50%;
}
@media (min-width: 768px) {
  .flex-painttype-two > div {
    width: 25%;
  }
}
.flex-page-function {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flex-page-function > div {
  width: 100%;
  background-color: #E1EEF8;
  padding: 10px 15px 15px 15px;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .flex-page-function > div {
    width: 32%;
    margin-bottom: 0;
  }
}
@media (min-width: 992px) {
  .flex-page-function > div {
    padding: 20px 30px 30px 30px;
  }
}
.flex-page-function > div p:last-of-type {
  margin-bottom: 0;
}
.flex-page-flow {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
@media (min-width: 992px) {
  .flex-page-flow {
    margin-bottom: 60px;
  }
}
.flex-page-flow > div:first-child {
  position: relative;
  width: 100%;
  background-color: #E1EEF8;
  padding: 30px 15px;
}
@media (min-width: 768px) {
  .flex-page-flow > div:first-child {
    width: 50%;
  }
}
@media (min-width: 992px) {
  .flex-page-flow > div:first-child {
    padding: 50px 30px;
  }
}
.flex-page-flow > div:first-child .num {
  font-family: rockville-solid-web, sans-serif;
  font-size: 5rem;
  color: #F7B62D;
  line-height: 1;
  position: absolute;
  top: -40px;
  left: 5px;
}
@media (min-width: 992px) {
  .flex-page-flow > div:first-child .num {
    font-size: 7.5rem;
    top: -60px;
  }
}
.flex-page-flow > div:first-child h4 {
  font-size: 1rem;
  color: #8f1d2f;
  line-height: 1.8;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .flex-page-flow > div:first-child h4 {
    font-size: 1.25rem;
  }
}
@media (min-width: 1200px) {
  .flex-page-flow > div:first-child h4 {
    font-size: 1.5rem;
  }
}
.flex-page-flow > div:first-child p:last-of-type {
  margin-bottom: 0;
}
.flex-page-flow > div:last-child {
  width: 100%;
}
@media (min-width: 768px) {
  .flex-page-flow > div:last-child {
    width: 50%;
  }
  .flex-page-flow > div:last-child img {
    height: 100%;
    object-fit: cover;
  }
}
table.insurance-tbl {
  width: 100%;
  font-size: 0.75rem;
  font-weight: 600;
  border-collapse: separate;
}
@media (min-width: 992px) {
  table.insurance-tbl {
    table-layout: fixed;
    font-size: 1.125rem;
    border-spacing: 5px;
  }
}
table.insurance-tbl th {
  color: #fff;
  background-color: #8f1d2f;
}
table.insurance-tbl th,
table.insurance-tbl td {
  padding: 5px 0;
  text-align: center;
}
@media (min-width: 992px) {
  table.insurance-tbl th,
  table.insurance-tbl td {
    padding: 10px 0;
  }
}
table.insurance-tbl td {
  font-weight: 600;
  color: #1C1C1C;
  background-color: #fff;
}
.factor-point-box {
  position: relative;
  width: 100%;
  background-color: #E1EEF8;
  padding: 30px 15px;
  margin-top: 40px;
}
@media (min-width: 992px) {
  .factor-point-box {
    margin-top: 60px;
    padding: 50px 30px;
  }
}
.factor-point-box .num {
  font-family: "cherry-blossoms-regular", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.5rem;
  color: #F7B62D;
  line-height: 1;
  position: absolute;
  top: -40px;
  left: 5px;
}
@media (min-width: 992px) {
  .factor-point-box .num {
    font-size: 2rem;
    top: -60px;
  }
}
.factor-point-box .num span {
  font-family: rockville-solid-web, sans-serif;
  font-size: 5rem;
}
@media (min-width: 992px) {
  .factor-point-box .num span {
    font-size: 7.5rem;
  }
}
.factor-point-box h3 {
  font-size: 1rem;
  color: #8f1d2f;
  line-height: 1.8;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .factor-point-box h3 {
    font-size: 1.25rem;
  }
}
@media (min-width: 1200px) {
  .factor-point-box h3 {
    font-size: 1.5rem;
  }
}
.factor-point-box .correspondence {
  padding-top: 10px;
  background-color: #fff;
}
@media (min-width: 992px) {
  .factor-point-box .correspondence {
    padding-top: 20px;
  }
}
.factor-point-box .correspondence .sub {
  position: relative;
  padding-left: 10px;
  font-size: 0.875rem;
  font-weight: 500;
  color: #8f1d2f;
}
@media (min-width: 992px) {
  .factor-point-box .correspondence .sub {
    font-size: 1.125rem;
    padding-left: 20px;
  }
}
@media (min-width: 1200px) {
  .factor-point-box .correspondence .sub {
    font-size: 1.25rem;
  }
}
.factor-point-box .correspondence .sub:after {
  content: "";
  width: calc(100% - 100px);
  height: 3px;
  background-color: #E1EEF8;
  position: absolute;
  top: calc(50% - 1.5px);
  right: 0;
}
@media (min-width: 992px) {
  .factor-point-box .correspondence .sub:after {
    width: calc(100% - 140px);
  }
}
.factor-point-box .correspondence .inner {
  padding: 10px;
}
@media (min-width: 992px) {
  .factor-point-box .correspondence .inner {
    padding: 20px;
  }
}
.factor-point-box .correspondence .inner p:last-of-type {
  margin-bottom: 0;
}
/*料金プラン*/
.plan-wall01-wrap,
.plan-wall02-wrap,
.plan-wall03-wrap,
.plan-wall04-wrap,
.plan-wall05-wrap,
.plan-roof01-wrap,
.plan-roof02-wrap,
.plan-roof03-wrap,
.plan-cover-wrap {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding-top: 40px;
}
@media (min-width: 992px) {
  .plan-wall01-wrap,
  .plan-wall02-wrap,
  .plan-wall03-wrap,
  .plan-wall04-wrap,
  .plan-wall05-wrap,
  .plan-roof01-wrap,
  .plan-roof02-wrap,
  .plan-roof03-wrap,
  .plan-cover-wrap {
    padding-top: 90px;
  }
}
@media (min-width: 1200px) {
  .plan-wall01-wrap,
  .plan-wall02-wrap,
  .plan-wall03-wrap,
  .plan-wall04-wrap,
  .plan-wall05-wrap,
  .plan-roof01-wrap,
  .plan-roof02-wrap,
  .plan-roof03-wrap,
  .plan-cover-wrap {
    padding-top: 120px;
  }
}
.plan-wall01-wrap h3,
.plan-wall02-wrap h3,
.plan-wall03-wrap h3,
.plan-wall04-wrap h3,
.plan-wall05-wrap h3,
.plan-roof01-wrap h3,
.plan-roof02-wrap h3,
.plan-roof03-wrap h3,
.plan-cover-wrap h3 {
  position: relative;
  font-size: 1.25rem;
  color: #8f1d2f;
  line-height: 2;
  text-align: center;
  margin-bottom: 40px;
  background-color: rgba(255, 255, 255, 0.8);
}
@media (min-width: 992px) {
  .plan-wall01-wrap h3,
  .plan-wall02-wrap h3,
  .plan-wall03-wrap h3,
  .plan-wall04-wrap h3,
  .plan-wall05-wrap h3,
  .plan-roof01-wrap h3,
  .plan-roof02-wrap h3,
  .plan-roof03-wrap h3,
  .plan-cover-wrap h3 {
    font-size: 1.5rem;
    margin-bottom: 60px;
  }
}
@media (min-width: 1200px) {
  .plan-wall01-wrap h3,
  .plan-wall02-wrap h3,
  .plan-wall03-wrap h3,
  .plan-wall04-wrap h3,
  .plan-wall05-wrap h3,
  .plan-roof01-wrap h3,
  .plan-roof02-wrap h3,
  .plan-roof03-wrap h3,
  .plan-cover-wrap h3 {
    font-size: 1.625rem;
    margin-bottom: 90px;
  }
}
.plan-wall01-wrap .flex-plan-inner,
.plan-wall02-wrap .flex-plan-inner,
.plan-wall03-wrap .flex-plan-inner,
.plan-wall04-wrap .flex-plan-inner,
.plan-wall05-wrap .flex-plan-inner,
.plan-roof01-wrap .flex-plan-inner,
.plan-roof02-wrap .flex-plan-inner,
.plan-roof03-wrap .flex-plan-inner,
.plan-cover-wrap .flex-plan-inner {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: end;
  padding: 10px;
}
@media (min-width: 992px) {
  .plan-wall01-wrap .flex-plan-inner,
  .plan-wall02-wrap .flex-plan-inner,
  .plan-wall03-wrap .flex-plan-inner,
  .plan-wall04-wrap .flex-plan-inner,
  .plan-wall05-wrap .flex-plan-inner,
  .plan-roof01-wrap .flex-plan-inner,
  .plan-roof02-wrap .flex-plan-inner,
  .plan-roof03-wrap .flex-plan-inner,
  .plan-cover-wrap .flex-plan-inner {
    padding: 20px;
  }
}
@media (min-width: 1200px) {
  .plan-wall01-wrap .flex-plan-inner,
  .plan-wall02-wrap .flex-plan-inner,
  .plan-wall03-wrap .flex-plan-inner,
  .plan-wall04-wrap .flex-plan-inner,
  .plan-wall05-wrap .flex-plan-inner,
  .plan-roof01-wrap .flex-plan-inner,
  .plan-roof02-wrap .flex-plan-inner,
  .plan-roof03-wrap .flex-plan-inner,
  .plan-cover-wrap .flex-plan-inner {
    padding: 30px;
  }
}
.plan-wall01-wrap .flex-plan-inner > div:first-child,
.plan-wall02-wrap .flex-plan-inner > div:first-child,
.plan-wall03-wrap .flex-plan-inner > div:first-child,
.plan-wall04-wrap .flex-plan-inner > div:first-child,
.plan-wall05-wrap .flex-plan-inner > div:first-child,
.plan-roof01-wrap .flex-plan-inner > div:first-child,
.plan-roof02-wrap .flex-plan-inner > div:first-child,
.plan-roof03-wrap .flex-plan-inner > div:first-child,
.plan-cover-wrap .flex-plan-inner > div:first-child {
  width: 30%;
}
.plan-wall01-wrap .flex-plan-inner > div:last-child,
.plan-wall02-wrap .flex-plan-inner > div:last-child,
.plan-wall03-wrap .flex-plan-inner > div:last-child,
.plan-wall04-wrap .flex-plan-inner > div:last-child,
.plan-wall05-wrap .flex-plan-inner > div:last-child,
.plan-roof01-wrap .flex-plan-inner > div:last-child,
.plan-roof02-wrap .flex-plan-inner > div:last-child,
.plan-roof03-wrap .flex-plan-inner > div:last-child,
.plan-cover-wrap .flex-plan-inner > div:last-child {
  width: 40%;
}
.plan-wall01-wrap .flex-plan-inner > div:last-child img,
.plan-wall02-wrap .flex-plan-inner > div:last-child img,
.plan-wall03-wrap .flex-plan-inner > div:last-child img,
.plan-wall04-wrap .flex-plan-inner > div:last-child img,
.plan-wall05-wrap .flex-plan-inner > div:last-child img,
.plan-roof01-wrap .flex-plan-inner > div:last-child img,
.plan-roof02-wrap .flex-plan-inner > div:last-child img,
.plan-roof03-wrap .flex-plan-inner > div:last-child img,
.plan-cover-wrap .flex-plan-inner > div:last-child img {
  display: block;
  margin-left: auto;
  margin-right: 0;
}
.plan-wall01-wrap {
  background-image: url(../images/page/plan/plan-wall01.jpg);
}
.plan-wall02-wrap {
  background-image: url(../images/page/plan/plan-wall02.jpg);
}
.plan-wall03-wrap {
  background-image: url(../images/page/plan/plan-wall03.jpg);
}
.plan-wall04-wrap {
  background-image: url(../images/page/plan/plan-wall04.jpg);
}
.plan-wall05-wrap {
  background-image: url(../images/page/plan/plan-wall05.jpg);
}
.plan-roof01-wrap {
  background-image: url(../images/page/plan/plan-roof01.jpg);
}
.plan-roof02-wrap {
  background-image: url(../images/page/plan/plan-roof02.jpg);
}
.plan-roof03-wrap {
  background-image: url(../images/page/plan/plan-roof03.jpg);
}
.plan-cover-wrap {
  background-image: url(../images/page/plan/plan-cover.jpg);
}
.plan-detail {
  background-color: #E1EEF8;
  padding: 20px;
}
@media (min-width: 992px) {
  .plan-detail {
    padding: 30px;
  }
}
.plan-detail .flex-evaluation {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .plan-detail .flex-evaluation {
    margin-bottom: 30px;
  }
}
.plan-detail .flex-evaluation > div {
  position: relative;
  width: 100%;
  text-align: center;
  background-color: #fff;
  padding: 10px 0;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .plan-detail .flex-evaluation > div {
    width: 32%;
    margin-bottom: 0;
  }
}
@media (min-width: 992px) {
  .plan-detail .flex-evaluation > div {
    padding: 20px 0;
  }
}
.plan-detail .flex-evaluation > div p {
  margin-bottom: 0;
}
.plan-detail .flex-detail-info {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}
.plan-detail .flex-detail-info > div:first-child {
  width: 100%;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .plan-detail .flex-detail-info > div:first-child {
    width: 65%;
    padding-right: 5%;
    margin-bottom: 0;
  }
}
.plan-detail .flex-detail-info > div:last-child {
  width: 100%;
}
@media (min-width: 768px) {
  .plan-detail .flex-detail-info > div:last-child {
    width: 35%;
    margin-bottom: 0;
  }
}
.plan-detail .flex-detail-info > div:last-child table {
  width: 100%;
  font-size: 0.875rem;
  font-weight: 600;
}
@media (min-width: 992px) {
  .plan-detail .flex-detail-info > div:last-child table {
    font-size: 1.125rem;
  }
}
@media (min-width: 1200px) {
  .plan-detail .flex-detail-info > div:last-child table {
    font-size: 1.25rem;
  }
}
.plan-detail .flex-detail-info > div:last-child table th {
  width: 50%;
  color: #fff;
  background-color: #8f1d2f;
}
.plan-detail .flex-detail-info > div:last-child table th,
.plan-detail .flex-detail-info > div:last-child table td {
  padding: 5px 0;
  text-align: center;
}
@media (min-width: 992px) {
  .plan-detail .flex-detail-info > div:last-child table th,
  .plan-detail .flex-detail-info > div:last-child table td {
    padding: 10px 0;
  }
}
.plan-detail .flex-detail-info > div:last-child table td {
  color: #8f1d2f;
  background-color: #fff;
}
.plan-detail .flex-detail-info > div:last-child table td.half {
  font-size: 50%;
  padding: 2px 0 0 0;
}
.plan-works {
  background-color: #F8F8F8;
  padding: 20px 10px;
  margin-bottom: 40px;
}
@media (min-width: 992px) {
  .plan-works {
    padding: 40px 30px;
    margin-bottom: 60px;
  }
}
.plan-works .flex-before-after {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: start;
  justify-content: space-between;
}
.plan-works .flex-before-after > div {
  width: 100%;
  background-color: #fff;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .plan-works .flex-before-after > div {
    width: -webkit-calc(50% - 20px);
    width: calc(50% - 20px);
    margin-bottom: 0;
  }
}
@media (min-width: 992px) {
  .plan-works .flex-before-after > div {
    width: -webkit-calc(50% - 30px);
    width: calc(50% - 30px);
  }
}
.plan-works .flex-before-after > div p {
  line-height: 2.5;
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .plan-works .one-works {
    justify-content: center;
  }
}
.flex-top-plan {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: start;
  justify-content: space-between;
}
.flex-top-plan > div {
  position: relative;
  width: 100%;
  border: 10px solid #fff;
  margin-bottom: 60px;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
@media (min-width: 768px) {
  .flex-top-plan > div {
    width: -webkit-calc(50% - 20px);
    width: calc(50% - 20px);
  }
}
@media (min-width: 992px) {
  .flex-top-plan > div {
    width: -webkit-calc(50% - 30px);
    width: calc(50% - 30px);
    margin-bottom: 80px;
  }
}
.flex-top-plan > div .rank-img {
  position: absolute;
  width: 30%;
  top: -25%;
  left: -15%;
  z-index: 1;
}
.flex-top-plan > div h3 {
  position: relative;
  font-size: 1.25rem;
  color: #8f1d2f;
  line-height: 1.4;
  text-align: center;
  margin-top: 20px;
  margin-bottom: 15px;
  background-color: #fff;
}
@media (min-width: 992px) {
  .flex-top-plan > div h3 {
    font-size: 1.875rem;
    margin-top: 30px;
    margin-bottom: 25px;
  }
}
@media (min-width: 1200px) {
  .flex-top-plan > div h3 {
    font-size: 2.25rem;
  }
}
.flex-top-plan > div .plan-price {
  position: relative;
  padding: 0 20px 10px 20px;
}
@media (min-width: 992px) {
  .flex-top-plan > div .plan-price {
    padding: 0 30px 40px 20px;
  }
}
.pay-box {
  padding: 20px;
  border: 2px solid #E1EEF8;
  margin-top: 20px;
}
@media (min-width: 768px) {
  .pay-box {
    padding: 30px;
    border: 3px solid #E1EEF8;
    margin-top: 40px;
  }
}
@media (min-width: 992px) {
  .pay-box {
    padding: 40px;
  }
}
@media (min-width: 1200px) {
  .pay-box {
    padding: 60px;
  }
}
/*塗装事例*/
.sekoujisseki-wrapper {
  position: relative;
  width: 100%;
  margin: auto;
  padding-left: 0;
  padding-right: 0;
}
@media (min-width: 768px) {
  .flex-sekoujisseki-wrap {
    display: flex;
  }
}
.flex-sekoujisseki-wrap .main {
  width: 100%;
}
@media (min-width: 768px) {
  .flex-sekoujisseki-wrap .main {
    width: 70%;
  }
}
.flex-sekoujisseki-wrap .main-single {
  width: 100%;
}
@media (min-width: 768px) {
  .flex-sekoujisseki-wrap .main-single {
    padding: 15px;
    width: 70%;
    border: 3px solid #E1EEF8;
  }
}
@media (min-width: 992px) {
  .flex-sekoujisseki-wrap .main-single {
    padding: 20px;
  }
}
@media (min-width: 1200px) {
  .flex-sekoujisseki-wrap .main-single {
    padding: 25px;
  }
}
.flex-sekoujisseki-wrap .main-single .category,
.flex-sekoujisseki-wrap .main-single .date {
  font-size: 0.875rem;
  display: inline-block;
  line-height: 1;
  margin-bottom: 15px;
}
@media (min-width: 992px) {
  .flex-sekoujisseki-wrap .main-single .category,
  .flex-sekoujisseki-wrap .main-single .date {
    font-size: 1rem;
  }
}
.flex-sekoujisseki-wrap .main-single .category {
  padding: 5px 20px;
  margin-right: 10px;
  background: #C4E6F5;
  border-radius: 20px;
}
.flex-sekoujisseki-wrap .main-single h2.sekoujisseki {
  position: relative;
  font-size: 1.125rem;
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .flex-sekoujisseki-wrap .main-single h2.sekoujisseki {
    font-size: 1.25rem;
  }
}
@media (min-width: 992px) {
  .flex-sekoujisseki-wrap .main-single h2.sekoujisseki {
    font-size: 1.5rem;
    margin-bottom: 40px;
  }
}
@media (min-width: 1200px) {
  .flex-sekoujisseki-wrap .main-single h2.sekoujisseki {
    font-size: 1.75rem;
    margin-bottom: 60px;
  }
}
.flex-sekoujisseki-wrap .main-single h2.sekoujisseki:before {
  content: "";
  width: 100%;
  height: 3px;
  background-color: #E5E5E5;
  position: absolute;
  bottom: -15px;
  left: 0;
  z-index: 0;
}
@media (min-width: 992px) {
  .flex-sekoujisseki-wrap .main-single h2.sekoujisseki:before {
    bottom: -20px;
  }
}
.flex-sekoujisseki-wrap .main-single h2.sekoujisseki:after {
  content: "";
  width: 15%;
  height: 3px;
  background-color: #8f1d2f;
  position: absolute;
  bottom: -15px;
  left: 0;
  z-index: 1;
}
@media (min-width: 992px) {
  .flex-sekoujisseki-wrap .main-single h2.sekoujisseki:after {
    bottom: -20px;
  }
}
.flex-sekoujisseki-wrap .side {
  width: 100%;
}
@media (min-width: 768px) {
  .flex-sekoujisseki-wrap .side {
    width: 30%;
    padding-left: 2rem;
  }
}
@media (min-width: 768px) {
  .flex-sekoujisseki-wrap .side .side__contents {
    top: 30px ;
    position: sticky;
  }
}
@media (min-width: 1200px) {
  .flex-sekoujisseki-wrap .side .side__contents {
    top: 120px ;
  }
}
.taxonomybox {
  padding: 10px;
  background-color: #E1EEF8;
}
@media (min-width: 768px) {
  .taxonomybox {
    padding: 10px 20px;
  }
}
@media (min-width: 992px) {
  .taxonomybox {
    padding: 15px 20px;
  }
}
@media (min-width: 1200px) {
  .taxonomybox {
    padding: 20px 30px;
  }
}
.taxonomybox p {
  margin-bottom: 5px;
}
ul.case_taxonomy_ul {
  padding-left: 0;
  margin-bottom: 0px;
}
ul.case_taxonomy_ul li {
  list-style: none;
  display: inline-block;
  padding: 5px 0;
  margin: 0;
  border-bottom: 2px solid #fff;
}
@media (min-width: 992px) {
  ul.case_taxonomy_ul li {
    padding: 5px 0;
  }
}
ul.case_taxonomy_ul li a {
  text-decoration: none;
  padding: 5px;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
ul.case_taxonomy_ul li a[aria-current="page"] {
  color: #8f1d2f;
}
ul.case_taxonomy_ul li a:hover {
  color: #fff;
  background: #8f1d2f;
}
ul.case_taxonomy_ul .current-cat {
  border-bottom: 2px solid #8f1d2f;
}
ul.case_taxonomy_ul_area {
  width: 100%;
  padding-left: 0;
  margin-bottom: 0px;
}
ul.case_taxonomy_ul_area li {
  font-weight: 600;
  list-style: none;
  display: block;
  padding: 5px 0;
  margin: 0;
}
@media (min-width: 992px) {
  ul.case_taxonomy_ul_area li {
    padding: 5px 0;
  }
}
ul.case_taxonomy_ul_area li a {
  text-decoration: none;
  padding: 5px;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
ul.case_taxonomy_ul_area li a[aria-current="page"] {
  color: #8f1d2f;
  padding: 5px 5px 7px 5px;
  border-bottom: 2px solid #8f1d2f;
}
ul.case_taxonomy_ul_area li a:hover {
  color: #fff;
  background: #8f1d2f;
}
ul.case_taxonomy_ul_area ul.children {
  padding-left: 0;
}
ul.case_taxonomy_ul_area ul.children li {
  font-weight: 400;
  display: inline-block !important;
  border-bottom: 2px solid #fff;
}
ul.case_taxonomy_ul_area ul.children a {
  color: #1C1C1C;
}
ul.case_taxonomy_ul_area ul.children a:hover {
  color: #fff;
  background: #8f1d2f;
}
.flex-archive-sekoujisseki {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: start;
  justify-content: space-between;
}
.flex-archive-sekoujisseki > div {
  position: relative;
  width: -webkit-calc(50% - 10px);
  width: calc(50% - 10px);
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .flex-archive-sekoujisseki > div {
    margin-bottom: 30px;
  }
}
@media (min-width: 1200px) {
  .flex-archive-sekoujisseki > div {
    margin-bottom: 40px;
  }
}
.flex-archive-sekoujisseki > div .shoukai {
  position: absolute;
  top: 0;
  left: 0;
  width: fit-content;
  font-size: 0.75rem;
  font-weight: 600;
  color: #fff;
  line-height: 1;
  padding: 5px 15px;
  background-color: #F87502;
  margin: 0;
}
@media (min-width: 992px) {
  .flex-archive-sekoujisseki > div .shoukai {
    font-size: 1rem;
    padding: 5px 25px;
  }
}
@media (min-width: 1200px) {
  .flex-archive-sekoujisseki > div .shoukai {
    font-size: 1.125rem;
  }
}
.flex-archive-sekoujisseki > div img {
  width: 100%;
  height: 100px;
  object-fit: cover;
}
@media (min-width: 768px) {
  .flex-archive-sekoujisseki > div img {
    height: 160px;
  }
}
@media (min-width: 992px) {
  .flex-archive-sekoujisseki > div img {
    height: 200px;
  }
}
@media (min-width: 1200px) {
  .flex-archive-sekoujisseki > div img {
    height: 240px;
  }
}
.flex-archive-sekoujisseki > div h3 {
  font-size: 0.75rem;
  line-height: 1.2;
  padding: 10px 0;
}
@media (min-width: 992px) {
  .flex-archive-sekoujisseki > div h3 {
    font-size: 1rem;
  }
}
.databox {
  padding: 10px;
  background-color: #E1EEF8;
}
@media (min-width: 768px) {
  .databox {
    padding: 10px 20px;
  }
}
@media (min-width: 992px) {
  .databox {
    padding: 15px 20px;
  }
}
@media (min-width: 1200px) {
  .databox {
    padding: 20px 40px;
  }
}
.databox .sub {
  position: relative;
  font-size: 0.875rem;
  font-weight: 600;
  color: #8f1d2f;
  z-index: 2;
}
@media (min-width: 992px) {
  .databox .sub {
    font-size: 1.125rem;
  }
}
@media (min-width: 1200px) {
  .databox .sub {
    font-size: 1.25rem;
  }
}
.databox .sub span {
  background-color: #E1EEF8;
  padding-right: 20px;
}
.databox .sub:after {
  content: "";
  width: 100%;
  height: 3px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: -1;
}
dl.category-tbl {
  line-height: 200%;
  margin-bottom: 15px;
}
dl.category-tbl dt {
  float: left;
}
dl.category-tbl dd {
  margin-left: 70px;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  dl.category-tbl dd {
    margin-left: 150px;
  }
}
dl.category-tbl dd ul {
  padding-left: 0;
  margin-bottom: 0;
}
dl.category-tbl dd li {
  display: inline-block;
  line-height: 1;
  margin-right: 10px;
  margin-bottom: 5px;
}
.flex-single-detail {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: start;
  justify-content: space-between;
}
.flex-single-detail > div {
  position: relative;
  width: 100%;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .flex-single-detail > div {
    width: -webkit-calc(50% - 10px);
    width: calc(50% - 10px);
  }
}
.flex-single-detail > div img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .flex-single-detail > div img {
    height: 160px;
  }
}
@media (min-width: 992px) {
  .flex-single-detail > div img {
    height: 200px;
  }
}
@media (min-width: 1200px) {
  .flex-single-detail > div img {
    height: 260px;
  }
}
.flex-single-detail > div p {
  margin-bottom: 10px;
}
.voice-sub {
  font-weight: 600;
  color: #8f1d2f;
  line-height: 2;
  border-left: 3px solid #D1D1D1;
  padding-left: 0.5rem;
  margin-bottom: 20px;
}
.voice-ans {
  margin-bottom: 40px;
}
/*会社案内*/
.greeting-wrap {
  position: relative;
  width: 100%;
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
  background-image: url(../images/page/company/greeting-ceo.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center right 40%;
}
@media (min-width: 992px) {
  .greeting-wrap {
    padding-top: 6.25rem;
    padding-bottom: 6.25rem;
    padding-left: 40px;
    background-image: url(../images/page/company/greeting-ceo.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }
}
.greeting-box {
  position: relative;
  width: 70%;
  padding: 80px 20px 20px 20px;
  background-color: rgba(255, 255, 255, 0.7);
}
@media (min-width: 768px) {
  .greeting-box {
    width: 50%;
  }
}
@media (min-width: 992px) {
  .greeting-box {
    padding: 120px 40px 40px 40px;
  }
}
.greeting-box .greeting-tit {
  position: absolute;
  top: -20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
@media (min-width: 992px) {
  .greeting-box .greeting-tit {
    left: 40px;
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}
.greeting-box .ceoname {
  display: block;
  width: 80px;
  margin-left: auto;
  margin-right: 0;
  margin-top: 30px;
}
.philosophy-box {
  position: relative;
  padding: 30px 20px;
  background-color: #E1EEF8;
}
@media (min-width: 992px) {
  .philosophy-box {
    padding: 60px 40px;
  }
}
.philosophy-box ul {
  width: fit-content;
  padding-left: 0;
  counter-reset: listnum;
  list-style-type: none;
  margin-left: auto;
  margin-right: auto;
}
.philosophy-box ul li {
  position: relative;
  font-size: 1rem;
  font-weight: 500;
  color: #8f1d2f;
  padding-left: 40px;
  margin-bottom: 10px;
}
@media (min-width: 992px) {
  .philosophy-box ul li {
    font-size: 1.325rem;
    margin-bottom: 20px;
    padding-left: 50px;
  }
}
@media (min-width: 1200px) {
  .philosophy-box ul li {
    font-size: 1.4375rem;
  }
}
.philosophy-box ul li::before {
  content: "";
  counter-increment: listnum;
  content: counter(listnum);
  background-color: #fff;
  position: absolute;
  left: 0;
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 15px;
  text-align: center;
  line-height: 30px;
}
@media (min-width: 992px) {
  .philosophy-box ul li::before {
    width: 40px;
    height: 40px;
    border-radius: 20px;
    line-height: 40px;
  }
}
.philosophy-box ul li:last-child {
  margin-bottom: 0;
}
.profile-box {
  position: relative;
  padding: 80px 20px 20px 20px;
  border: 4px solid #E1EEF8;
}
@media (min-width: 992px) {
  .profile-box {
    padding: 120px 40px 40px 40px;
    border: 6px solid #E1EEF8;
  }
}
.profile-box .profile-tit {
  position: absolute;
  top: -30px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #fff;
  padding: 0 10px;
}
dl.overview-tbl {
  font-size: 0.75rem;
  line-height: 160%;
  padding: 8px;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  dl.overview-tbl {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    font-size: 1rem;
    line-height: 200%;
    padding: 20px;
  }
}
dl.overview-tbl dt {
  font-weight: 600;
  float: left;
  margin-bottom: 15px;
}
@media (min-width: 992px) {
  dl.overview-tbl dt {
    margin-bottom: 20px;
  }
}
dl.overview-tbl dd {
  margin-left: 60px;
  margin-bottom: 15px;
}
@media (min-width: 992px) {
  dl.overview-tbl dd {
    margin-left: 200px;
    margin-bottom: 20px;
  }
}
dl.overview-tbl dd ul {
  list-style: none;
  padding-left: 0;
}
dl.overview-tbl dd ul li {
  display: inline-block;
}
dl.overview-tbl dd ul li:after {
  content: "、";
}
dl.overview-tbl dd ul li:last-child:after {
  content: "";
}
.contents-wrap-lightblue {
  position: relative;
  width: 100%;
  padding: 3.5rem 0;
  background-color: #E1EEF8;
}
@media (min-width: 992px) {
  .contents-wrap-lightblue {
    padding: 6.25rem 0;
  }
}
ul.certificates-award {
  list-style: none;
  padding-left: 0;
}
ul.certificates-award li {
  font-size: 0.875rem;
  font-weight: 500;
  color: #8f1d2f;
  text-align: center;
  line-height: 2;
  background-color: #fff;
  display: block;
  margin-bottom: 15px;
}
@media (min-width: 992px) {
  ul.certificates-award li {
    font-size: 1.25rem;
  }
}
@media (min-width: 1200px) {
  ul.certificates-award li {
    font-size: 1.375rem;
  }
}
ul.certificates-award li:last-child {
  margin-bottom: 0;
}
.bnr-box {
  position: relative;
  margin-top: 30px;
}
@media (min-width: 992px) {
  .bnr-box {
    margin-top: 40px;
  }
}
.bnr-box p {
  margin: 0;
  width: 100%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 0.75rem;
}
@media (min-width: 768px) {
  .bnr-box p {
    font-size: 1rem;
  }
}
@media (min-width: 992px) {
  .bnr-box p {
    font-size: 1.5625rem;
  }
}
.bnr-box a {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.bnr-box:after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  background-color: #F7B62D;
  width: 30px;
  height: 30px;
  clip-path: polygon(0 100%, 100% 100%, 100% 0);
  pointer-events: none;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
@media (min-width: 768px) {
  .bnr-box:after {
    width: 40px;
    height: 40px;
  }
}
@media (min-width: 992px) {
  .bnr-box:after {
    width: 60px;
    height: 60px;
  }
}
.flex-page-award {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: start;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .flex-page-award {
    max-width: 640px;
  }
}
@media (min-width: 992px) {
  .flex-page-award {
    max-width: 770px;
  }
}
.flex-page-award > div {
  width: 100%;
  padding: 10px;
}
@media (min-width: 768px) {
  .flex-page-award > div {
    width: 50%;
    padding: 20px;
  }
}
.flex-page-award > div img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
/*スタッフ紹介*/
.flex-archive-staff {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: start;
}
.flex-archive-staff > div {
  width: 100%;
  padding: 5px;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .flex-archive-staff > div {
    width: 50%;
    padding: 10px;
  }
}
.flex-archive-staff > div .inner {
  position: relative;
}
.flex-archive-staff > div .inner img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  object-fit: cover;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
.flex-archive-staff > div .inner .detail {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.flex-archive-staff > div .inner .detail .catchcopy {
  width: fit-content;
  font-size: 0.875rem;
  font-weight: 600;
  color: #8f1d2f;
  line-height: 1;
  padding: 10px 15px;
  background-color: #E1EEF8;
}
@media (min-width: 992px) {
  .flex-archive-staff > div .inner .detail .catchcopy {
    font-size: 1.125rem;
  }
}
@media (min-width: 1200px) {
  .flex-archive-staff > div .inner .detail .catchcopy {
    font-size: 1.25rem;
  }
}
.flex-archive-staff > div .inner .detail .staff-position {
  width: fit-content;
  font-size: 0.625rem;
  font-weight: 600;
  color: #fff;
  line-height: 1;
  padding: 5px 15px;
  background-color: #8f1d2f;
}
@media (min-width: 992px) {
  .flex-archive-staff > div .inner .detail .staff-position {
    font-size: 0.75rem;
    padding: 5px 25px;
  }
}
@media (min-width: 1200px) {
  .flex-archive-staff > div .inner .detail .staff-position {
    font-size: 0.875rem;
  }
}
.flex-archive-staff > div .inner .detail .staff-name {
  width: fit-content;
  font-size: 0.75rem;
  font-weight: 600;
  color: #fff;
  line-height: 1;
  padding: 5px 15px;
  background-color: #8f1d2f;
  margin: 0;
}
@media (min-width: 992px) {
  .flex-archive-staff > div .inner .detail .staff-name {
    font-size: 0.875rem;
    padding: 5px 25px;
  }
}
@media (min-width: 1200px) {
  .flex-archive-staff > div .inner .detail .staff-name {
    font-size: 1rem;
  }
}
.flex-archive-staff > div .inner .more-staff {
  position: absolute;
  bottom: 20px;
  right: 20px;
  width: 50px;
  height: 50px;
  font-weight: 600;
  color: #8f1d2f;
  line-height: 1;
  display: grid;
  overflow: hidden;
  place-items: center;
  background-color: #fff;
  border-radius: 25px;
  z-index: 1;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
@media (min-width: 768px) {
  .flex-archive-staff > div .inner .more-staff {
    width: 60px;
    height: 60px;
    border-radius: 30px;
  }
}
@media (min-width: 992px) {
  .flex-archive-staff > div .inner .more-staff {
    width: 66px;
    height: 66px;
    font-size: 1rem;
    border-radius: 33px;
  }
}
.flex-archive-staff > div .inner .more-staff:hover {
  text-decoration: none;
  color: #fff;
  background: #8f1d2f;
}
.flex-archive-staff > div .inner:before {
  content: '';
  display: block;
  padding-top: 100%;
}
.staff-img {
  position: relative;
}
.staff-img img {
  width: 100%;
  height: 600px;
  object-fit: cover;
}
@media (min-width: 992px) {
  .staff-img img {
    height: auto;
    object-fit: initial;
  }
}
.staff-img .detail {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.staff-img .detail .catchcopy {
  width: fit-content;
  font-size: 0.875rem;
  font-weight: 600;
  color: #8f1d2f;
  line-height: 1;
  padding: 10px 15px;
  background-color: #E1EEF8;
  margin-left: 20px;
}
@media (min-width: 992px) {
  .staff-img .detail .catchcopy {
    font-size: 1.125rem;
    margin-left: 40px;
  }
}
@media (min-width: 1200px) {
  .staff-img .detail .catchcopy {
    font-size: 1.25rem;
  }
}
.staff-img .detail .staff-position {
  width: fit-content;
  font-size: 0.625rem;
  font-weight: 600;
  color: #fff;
  line-height: 1;
  padding: 5px 15px;
  background-color: #8f1d2f;
  margin-left: 20px;
}
@media (min-width: 992px) {
  .staff-img .detail .staff-position {
    font-size: 0.75rem;
    padding: 5px 25px;
    margin-left: 40px;
  }
}
@media (min-width: 1200px) {
  .staff-img .detail .staff-position {
    font-size: 0.875rem;
  }
}
.staff-img .detail .staff-name {
  width: fit-content;
  font-size: 0.75rem;
  font-weight: 600;
  color: #fff;
  line-height: 1;
  padding: 5px 15px;
  background-color: #8f1d2f;
  margin-left: 20px;
}
@media (min-width: 992px) {
  .staff-img .detail .staff-name {
    font-size: 0.875rem;
    padding: 5px 25px;
    margin-left: 40px;
  }
}
@media (min-width: 1200px) {
  .staff-img .detail .staff-name {
    font-size: 1rem;
  }
}
.staff-img .detail .profilebox {
  width: fit-content;
  padding: 10px 60px 10px 20px;
  background-color: #fff;
  margin-top: 30px;
}
@media (min-width: 992px) {
  .staff-img .detail .profilebox {
    padding: 20px 200px 20px 40px;
    margin-top: 50px;
  }
}
.messagebox {
  position: relative;
  padding: 80px 20px 20px 20px;
  background-color: #E1EEF8;
}
@media (min-width: 992px) {
  .messagebox {
    padding: 120px 40px 40px 40px;
  }
}
.messagebox .message-tit {
  width: 100%;
  position: absolute;
  top: -20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.messagebox ul.contact {
  width: fit-content;
  list-style-image: url(../images/page/contact/check.svg);
  margin-left: auto;
  margin-right: auto;
}
.messagebox ul.contact li {
  font-size: 0.875rem;
  padding-left: 0.5rem;
}
@media (min-width: 992px) {
  .messagebox ul.contact li {
    font-size: 1.25rem;
  }
}
@media (min-width: 1200px) {
  .messagebox ul.contact li {
    font-size: 1.375rem;
  }
}
.messagebox ul.contact li::marker {
  font-size: 200%;
}
/*ご相談*/
.flex-page-link {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 40px;
}
@media (min-width: 992px) {
  .flex-page-link {
    margin-bottom: 60px;
  }
}
.flex-page-link > div:first-child {
  width: 100%;
  padding-left: 10px;
  border-left: 3px solid #E5E5E5;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .flex-page-link > div:first-child {
    width: 12%;
    margin-bottom: 0;
  }
}
.flex-page-link > div:first-child .sub {
  font-size: 1.5rem;
}
@media (min-width: 992px) {
  .flex-page-link > div:first-child .sub {
    font-size: 2.5rem;
  }
}
@media (min-width: 1500px) {
  .flex-page-link > div:first-child .sub {
    font-size: 3.125rem;
  }
}
.flex-page-link > div:nth-child(2),
.flex-page-link > div:nth-child(3),
.flex-page-link > div:nth-child(4) {
  position: relative;
  width: 100%;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .flex-page-link > div:nth-child(2),
  .flex-page-link > div:nth-child(3),
  .flex-page-link > div:nth-child(4) {
    width: 26%;
  }
}
.flex-page-link > div:nth-child(2) a,
.flex-page-link > div:nth-child(3) a,
.flex-page-link > div:nth-child(4) a {
  width: 100%;
  height: 40px;
  color: #fff;
  text-align: center;
  line-height: 1.3;
  display: grid;
  place-items: center;
  background-color: #8f1d2f;
  border: 1px solid #8f1d2f;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .flex-page-link > div:nth-child(2) a,
  .flex-page-link > div:nth-child(3) a,
  .flex-page-link > div:nth-child(4) a {
    height: 80px;
    line-height: 1;
  }
}
@media (min-width: 992px) {
  .flex-page-link > div:nth-child(2) a,
  .flex-page-link > div:nth-child(3) a,
  .flex-page-link > div:nth-child(4) a {
    height: 100px;
  }
}
.flex-page-link > div:nth-child(2) a:hover,
.flex-page-link > div:nth-child(3) a:hover,
.flex-page-link > div:nth-child(4) a:hover {
  color: #8f1d2f;
  background: #fff;
}
.flex-page-link > div::after {
  content: '>';
  color: #fff;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 10px;
  pointer-events: none;
}
@media (min-width: 768px) {
  .flex-page-link > div::after {
    right: 20px;
  }
}
.page-phone {
  width: 200px;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
  -webkit-transition: 1s ease;
  transition: 1s ease;
}
@media (min-width: 992px) {
  .page-phone {
    width: 300px;
  }
}
@media (min-width: 1200px) {
  .page-phone {
    width: 260px;
  }
}
@media (min-width: 1500px) {
  .page-phone {
    width: 340px;
  }
}
.line-wrap {
  padding: 0;
  background-image: url(../images/page/contact/line-bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  overflow: hidden;
  font-size: 80%;
}
.line-wrap .line-contents {
  padding: 10px;
  overflow: hidden;
  line-height: 135%;
}
@media (min-width: 768px) {
  .line-wrap .line-contents {
    max-width: 600px;
    margin: 0 auto;
    padding: 30px;
  }
}
@media (min-width: 992px) {
  .line-wrap .line-contents {
    padding: 140px 30px;
  }
}
.line-wrap .line-left {
  width: 100%;
  position: relative;
  display: block;
  margin-bottom: 5px;
  max-width: 80%;
  clear: both;
}
.line-wrap .line-left .line-left-text {
  margin-left: 50px;
}
@media (min-width: 992px) {
  .line-wrap .line-left .line-left-text {
    margin-left: 70px;
  }
}
.line-wrap .line-left .line-left-text .name {
  font-size: 80%;
}
.line-wrap .line-left .line-left-text .text {
  margin: 0;
  position: relative;
  padding: 10px;
  border-radius: 20px;
  background-color: #ffffff;
}
.line-wrap .line-left .line-left-text .text::after {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: -10px;
  top: 10px;
  border-right: 20px solid #ffffff;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}
.line-wrap .line-left figure {
  width: 50px;
  position: absolute;
  top: 15px;
  left: 0;
  padding: 0;
  margin: 0;
}
.line-wrap .line-left figure img {
  border-radius: 50%;
  width: 30px;
  height: 30px;
}
@media (min-width: 992px) {
  .line-wrap .line-left figure img {
    width: 50px;
    height: 50px;
  }
}
.line-wrap .line-right {
  position: relative;
  display: block;
  margin: 5px 0;
  max-width: 75%;
  float: right;
  margin-right: 15px;
  clear: both;
}
.line-wrap .line-right .text {
  padding: 10px;
  border-radius: 20px;
  background-color: #8de055;
  margin: 0;
  margin-left: 80px;
}
.line-wrap .line-right .text::after {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  right: -10px;
  top: 10px;
  border-left: 20px solid #8de055;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}
.line-wrap .line-right .date {
  content: '';
  position: absolute;
  display: block;
  width: 100px;
  text-align: right;
  left: -30px;
  bottom: 0px;
  font-size: 70%;
}
.flex-contact-line {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  background-color: #F7F7F7;
  padding: 30px;
}
.flex-contact-line > div:first-child {
  display: none;
}
@media (min-width: 768px) {
  .flex-contact-line > div:first-child {
    display: block;
    width: 200px;
  }
}
.flex-contact-line > div:first-child img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 15px;
}
.flex-contact-line > div:last-child {
  width: 100%;
}
@media (min-width: 768px) {
  .flex-contact-line > div:last-child {
    width: -webkit-calc(100% - 200px);
    width: calc(100% - 200px);
    padding-left: 30px;
  }
}
.flex-contact-line > div:last-child .line-logo {
  display: block;
  width: 150px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .flex-contact-line > div:last-child .line-logo {
    margin-left: 0;
  }
}
.flex-contact-line > div:last-child .line-qr {
  display: block;
  width: 100px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .flex-contact-line > div:last-child .line-qr {
    display: none;
  }
}
.flex-contact-line > div:last-child p:last-of-type {
  margin-bottom: 0;
}
.lightblue-box {
  width: 100%;
  background-color: #E1EEF8;
  padding: 20px;
}
@media (min-width: 992px) {
  .lightblue-box {
    padding: 40px;
  }
}
@media (min-width: 1200px) {
  .lightblue-box {
    padding: 60px;
  }
}
.flex-contact-form {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  align-items: center;
  padding: 15px 0;
}
@media (min-width: 768px) {
  .flex-contact-form {
    align-items: start;
    padding: 25px 0;
  }
}
.flex-contact-form p {
  line-height: 20px;
}
@media (min-width: 768px) {
  .flex-contact-form p {
    line-height: 40px;
    margin: 0;
  }
}
@media (min-width: 1200px) {
  .flex-contact-form p {
    line-height: 55px;
  }
}
.flex-contact-form > div:first-child {
  width: 200px;
  order: 2;
}
@media (min-width: 768px) {
  .flex-contact-form > div:first-child {
    width: 130px;
    order: 1;
  }
}
@media (min-width: 992px) {
  .flex-contact-form > div:first-child {
    width: 160px;
  }
}
@media (min-width: 768px) {
  .flex-contact-form > div:first-child p {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}
.flex-contact-form > div:nth-child(2) {
  width: 60px;
  order: 1;
}
@media (min-width: 768px) {
  .flex-contact-form > div:nth-child(2) {
    width: 100px;
    order: 2;
  }
}
.flex-contact-form > div:nth-child(2) p.req,
.flex-contact-form > div:nth-child(2) p.any {
  display: grid;
  place-items: center;
  width: 40px;
  height: 20px;
  font-weight: 400;
  line-height: 1;
  color: #fff;
  margin-top: 0;
}
@media (min-width: 768px) {
  .flex-contact-form > div:nth-child(2) p.req,
  .flex-contact-form > div:nth-child(2) p.any {
    width: 50px;
    height: 30px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
  }
}
.flex-contact-form > div:nth-child(2) p.req {
  background-color: #1E9CD3;
}
.flex-contact-form > div:nth-child(2) p.any {
  background-color: #979797;
}
@media (min-width: 768px) {
  .flex-contact-form > div:nth-child(2) p {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}
.flex-contact-form > div:last-child {
  width: 100%;
  order: 3;
}
@media (min-width: 768px) {
  .flex-contact-form > div:last-child {
    width: -webkit-calc(100% - 230px);
    width: calc(100% - 230px);
  }
}
@media (min-width: 992px) {
  .flex-contact-form > div:last-child {
    width: -webkit-calc(100% - 260px);
    width: calc(100% - 260px);
  }
}
@media (min-width: 768px) {
  .contact-middle {
    position: relative;
    height: 40px;
  }
}
@media (min-width: 1200px) {
  .contact-middle {
    height: 55px;
  }
}
p.accept,
p.privacy-sub {
  font-size: 0.75rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 10px;
}
@media (min-width: 992px) {
  p.accept,
  p.privacy-sub {
    font-size: 1rem;
  }
}
.privacypolicy-btn {
  cursor: pointer;
}
.privacypolicy-box {
  margin-top: 10px;
  padding: 10px;
  background: #fff;
  border: 2px solid #8f1d2f;
}
@media (min-width: 992px) {
  .privacypolicy-box {
    padding: 20px;
  }
}
.privacypolicy-box p {
  margin-bottom: 0;
}
/*以下Q&amp;amp;Aの処理*/
.cp_qa *,
.cp_qa *:after,
.cp_qa *:before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.cp_qa .cp_actab {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.cp_qa .cp_actab input {
  position: absolute;
  opacity: 0;
}
/* 質問 */
.cp_qa .cp_actab label {
  font-weight: bold;
  line-height: 100%;
  position: relative;
  display: block;
  margin: 0 0 0 0;
  text-align: center;
  cursor: pointer;
}
/* --質問の＋アイコン */
.cp_qa .cp_actab label::after {
  font-weight: bold;
  line-height: 100%;
  font-family: "Font Awesome 6 Free";
  content: "\2b";
  color: #1C1C1C;
  display: inline-block;
  -webkit-transition: transform 0.4s;
  transition: transform 0.4s;
}
/* 答え */
.cp_qa .cp_actab .cp_actab-content {
  position: relative;
  overflow: hidden;
  max-height: 0;
  padding: 0 10px;
  -webkit-transition: max-height 0.2s;
  transition: max-height 0.2s;
}
@media (min-width: 992px) {
  .cp_qa .cp_actab .cp_actab-content {
    padding: 0 20px;
  }
}
.cp_qa .cp_actab .cp_actab-content p {
  font-size: 0.875rem;
  margin: 10px 0;
}
@media (min-width: 992px) {
  .cp_qa .cp_actab .cp_actab-content p {
    font-size: 1rem;
  }
}
/* 質問を開いた時の仕様 */
/* --答えの高さ */
.cp_qa .cp_actab input:checked ~ .cp_actab-content {
  max-height: 80em;
}
/* 質問をクリックした時の+の動き */
.cp_qa .cp_actab input[type=checkbox]:checked + label::after {
  -webkit-transform: rotateZ(45deg);
  transform: rotateZ(45deg);
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  color: #17503F;
}
/*以下Q&amp;amp;Aの処理*/
.cp_qa *,
.cp_qa *:after,
.cp_qa *:before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.cp_qa .cp_actab {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.cp_qa .cp_actab input {
  position: absolute;
  opacity: 0;
}
/* reCAPTCHA v3　表示位置 */
.grecaptcha-badge {
  visibility: hidden;
}
.privacypolicy {
  font-weight: 600;
  color: #E60013;
  text-align: center;
}

/* GS HOME 採用マンガ誘導セクション */

.gs-recruit-banner {
    width: 100%;
    max-width: 900px;
    margin: 60px auto;
    padding: 40px 20px;
    box-sizing: border-box;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.gs-recruit-banner img {
    display: block;
    width: 100%;
    max-width: 600px;
    height: auto;
    margin: 0 auto;
}

.gs-recruit-banner-content {
    width: 100%;
    max-width: 700px;
    text-align: center;
}

.gs-recruit-banner-kicker {
    display: block;
    color: #9E1B32;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 12px;
}

.gs-recruit-banner-title {
    display: block;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 15px;
}

.gs-recruit-banner-desc {
    display: block;
    font-size: 17px;
    line-height: 1.8;
    margin-bottom: 25px;
}

.gs-recruit-banner-link {
    display: inline-block;
    background: #9E1B32;
    color: #fff !important;
    font-size: 20px;
    font-weight: bold;
    padding: 18px 55px;
    border-radius: 50px;
    text-decoration: none;
    transition: 0.3s;
}

.gs-recruit-banner-link:hover {
    background: #771326;
    transform: translateY(-3px);
}

/* スマホ表示 */
@media screen and (max-width: 767px) {

    .gs-recruit-banner {
        margin: 35px auto;
        padding: 30px 15px;
    }

    .gs-recruit-banner img {
        max-width: 100%;
    }

    .gs-recruit-banner-title {
        font-size: 23px;
    }

    .gs-recruit-banner-desc {
        font-size: 15px;
    }

    .gs-recruit-banner-link {
        font-size: 17px;
        padding: 16px 30px;
    }
}

/* スマホ版 メインビジュアル表彰バッジ位置調整 */
@media screen and (max-width: 767px) {

  .img-achievement {
    transform: translateY(-70px);
  }

}

/* 採用マンガ アイキャッチ高さ強制調整 */
.gs-manga-page .gs-manga-eyecatch {
    position: relative;
    display: block;
    width: 100%;
    height: 420px !important;
    min-height: 420px !important;
    padding: 0 !important;
    margin: 0 !important;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.gs-manga-page .gs-manga-eyecatch-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1140px;
    height: 100%;
    min-height: 420px;
    margin: 0 auto;
    padding: 0 24px;

    display: flex;
    align-items: center;
}

.gs-manga-page .gs-manga-eyecatch h1 {
    margin: 0 !important;
    padding: 0 !important;
    color: #fff;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.4;
}

@media screen and (max-width: 767px) {

    .gs-manga-page .gs-manga-eyecatch {
        height: 280px !important;
        min-height: 280px !important;
    }

    .gs-manga-page .gs-manga-eyecatch-inner {
        min-height: 280px;
        padding: 0 20px;
    }

    .gs-manga-page .gs-manga-eyecatch h1 {
        font-size: 28px;
    }
}

/* ヌリカエ受賞バナー */
.nuri-awards {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.nuri-award-item {
	margin-bottom: 15px;
}

@media (min-width: 576px) {
	.nuri-award-item {
		flex: 0 0 20%;
		max-width: 20%;
	}
}

/* スマホメニュー「採用」の縦幅調整 */
@media (max-width: 991px) {
  .g-nav-list ul li.gs-recruit-nav {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .g-nav-list ul li.gs-recruit-nav > a {
    height: auto !important;
    min-height: 0 !important;
    padding: 15px 0 !important;
    margin: 0 !important;
  }
}

/* スマホメニュー「採用」の調整 */
@media (max-width: 991px) {

  .g-nav-list ul li.gs-recruit-nav {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px dotted #8f1d2f;
  }

  .g-nav-list ul li.gs-recruit-nav > a {
    height: 50px !important;
    min-height: 50px !important;
    padding: 15px 0 !important;
    margin: 0 !important;
    box-sizing: border-box;
    align-items: center;
  }

}