@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?&family=Zen+Kaku+Gothic+New:wght@300;400;500;700&family=Poppins:wght@400;600;700&display=swap");

html {
  margin: 0 !important;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

html:has(.header.open) {
  pointer-events: none;
  overflow: hidden;
}

body {
  margin: 0;
  background: #ECECEC;
  color: #000;
  font-size: 1rem;
  font-family: "Zen Kaku Gothic New", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.6;
  overflow-x: hidden;
  -ms-overflow-style: none;
  scrollbar-width: none;
  position: relative;
}

body::-webkit-scrollbar {
  display: none;
}

main {
  margin-top: 113px;
}

@media screen and (min-width: 768px) {
  main {
    margin-top: 80px;
  }
}

section {
  position: relative;
}

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
  text-decoration: none;
  cursor: pointer;
  transition: 0.3s;
}

a:hover {
  outline-width: 0;
  text-decoration: none;
  opacity: 0.8;
}

a.underline {
  text-decoration: underline;
}

a.underline:hover {
  text-decoration: none;
}

a.disabled {
  pointer-events: none;
}

@media screen and (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
  }
}

img {
  max-width: 100%;
  height: auto;
  border-style: none;
  -o-object-fit: contain;
  object-fit: contain;
  vertical-align: bottom;
}

strong {
  font-weight: 700;
}

.disp_none {
  display: none;
}

@media screen and (min-width: 576px) {
  .disp_xs {
    display: none !important;
  }
}

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

  .disp_tab,
  .disp_pc,
  .disp_notsp {
    display: none !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {

  .disp_sp,
  .disp_pc {
    display: none !important;
  }
}

@media screen and (min-width: 1024px) {

  .disp_sp,
  .disp_tab,
  .disp_notpc {
    display: none !important;
  }
}

@media screen and (max-width: 1199px) {
  .disp_xl {
    display: none !important;
  }
}

.en {
  font-family: "Poppins", "Zen Kaku Gothic New", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.serif {
  font-family: "Times New Roman", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.txt--main {
  color: #002456;
}

.block {
  width: 100%;
  display: block;
}

.fit {
  position: relative;
  overflow: hidden;
}

.fit__item {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
}

.js-collapse {
  cursor: pointer;
}

/* ============= common class ================ */
.inner {
  width: calc(100% - 40px);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

@media screen and (min-width: 768px) {
  .inner {
    max-width: 1400px;
  }
}

.secTtl {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.secTtl__jp {
  display: flex;
  align-items: center;
  font-size: 12px;
  grid-gap: 5px;
}

.secTtl__jp::before {
  content: "";
  width: 6px;
  height: 6px;
  background-color: #002456;
  border-radius: 50%;
  display: block;
}

.secTtl__jp span {
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  .secTtl__jp {
    font-size: 14px;
    grid-gap: 8px;
  }
}

@media screen and (min-width: 1024px) {
  .secTtl__jp {
    font-size: 16px;
    grid-gap: 10px;
  }
}

.secTtl__en {
  font-size: 46px;
  font-weight: 600;
  line-height: 1.4;
}

@media screen and (min-width: 768px) {
  .secTtl__en {
    font-size: 60px;
  }
}

@media screen and (min-width: 1024px) {
  .secTtl__en {
    font-size: 80px;
    line-height: 1.3;
  }
}

.btn {
  width: 100%;
  max-width: 335px;
  height: 60px;
  background-color: #002456;
  color: #fff;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  grid-gap: 8px;
  transition: 0.3s;
}

.btn::after {
  content: "";
  width: 20px;
  height: 20px;
  background: #fff url('data:image/svg+xml;charset=utf8,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.1716 6.46481L14.3536 9.64679C14.5488 9.84205 14.5488 10.1586 14.3536 10.3539L11.1716 13.5359C10.9763 13.7311 10.6597 13.7311 10.4645 13.5359C10.2692 13.3406 10.2692 13.024 10.4645 12.8288L12.7929 10.5003H6V9.50034H12.7929L10.4645 7.17191C10.2692 6.97665 10.2692 6.66007 10.4645 6.46481C10.6597 6.26954 10.9763 6.26954 11.1716 6.46481Z" fill="%23002456"/></svg>') center/contain no-repeat;
  border-radius: 50%;
  display: block;
  transition: background-color 0.3s ease;
}

.btn:hover {
  background-color: #fff;
  color: #002456;
  opacity: 1;
}

.btn:hover::after {
  background: #002456 url('data:image/svg+xml;charset=utf8,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.1716 6.46481L14.3536 9.64679C14.5488 9.84205 14.5488 10.1586 14.3536 10.3539L11.1716 13.5359C10.9763 13.7311 10.6597 13.7311 10.4645 13.5359C10.2692 13.3406 10.2692 13.024 10.4645 12.8288L12.7929 10.5003H6V9.50034H12.7929L10.4645 7.17191C10.2692 6.97665 10.2692 6.66007 10.4645 6.46481C10.6597 6.26954 10.9763 6.26954 11.1716 6.46481Z" fill="%23fff"/></svg>') center/contain no-repeat;
}

@media screen and (min-width: 768px) {
  .btn {
    max-width: 300px;
    grid-gap: 20px;
  }

  .btn::after {
    width: 26px;
    height: 26px;
    background: #fff url('data:image/svg+xml;charset=utf8,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.1716 6.46481L14.3536 9.64679C14.5488 9.84205 14.5488 10.1586 14.3536 10.3539L11.1716 13.5359C10.9763 13.7311 10.6597 13.7311 10.4645 13.5359C10.2692 13.3406 10.2692 13.024 10.4645 12.8288L12.7929 10.5003H6V9.50034H12.7929L10.4645 7.17191C10.2692 6.97665 10.2692 6.66007 10.4645 6.46481C10.6597 6.26954 10.9763 6.26954 11.1716 6.46481Z" fill="%23002456"/></svg>') center/contain no-repeat;
  }
}

@media screen and (min-width: 1024px) {
  .btn {
    max-width: 335px;
    height: 70px;
  }
}

.newIcon {
  width: 65px;
  height: 55px;
  padding-top: 14px;
  background-color: #E5BD1C;
  -webkit-clip-path: polygon(0% 4px, 4px 0%, calc(100% - 4px) 0%, 100% 4px, 100% calc(100% - 8px), calc(100% - 4px) calc(100% - 4px), calc(50% + 2px) calc(100% - 4px), 50% 100%, calc(50% - 2px) calc(100% - 4px), 4px calc(100% - 4px), 0 calc(100% - 8px));
  clip-path: polygon(0% 4px, 4px 0%, calc(100% - 4px) 0%, 100% 4px, 100% calc(100% - 8px), calc(100% - 4px) calc(100% - 4px), calc(50% + 2px) calc(100% - 4px), 50% 100%, calc(50% - 2px) calc(100% - 4px), 4px calc(100% - 4px), 0 calc(100% - 8px));
  color: #fff;
  font-weight: 700;
  font-family: "Poppins", "Zen Kaku Gothic New", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.5;
  text-align: center;
  position: absolute;
  top: -15px;
  right: 0;
  z-index: 1;
}

@media screen and (max-width: 1023px) {
  .newIcon {
    transform: scale(0.64);
    transform-origin: right top;
  }
}

/*------------------------------------------------------
    header
-------------------------------------------------------*/
.header {
  width: 100%;
  height: 72px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  background-color: #0024561e;
  background: linear-gradient(to left, #002456 66px, transparent 0), #ECECECcc;
}

@media screen and (min-width: 768px) {
  .header {
    height: 80px;
    background-color: #fff;
  }
}

.header__inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-right: 66px;
}

.header__sitelogo {
  position: relative;
}

#header.open .header__inner::before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  width: 100vw;
  background: linear-gradient(to bottom, #fff, #fff8);
  height: 70px;
}

@media screen and (min-width: 768px) {
  .header__inner {
    max-width: 1720px;
    padding: 0;
    justify-content: space-between;
    padding-right: 0;
    background: none;
  }
}

.header__sitelogo_link {
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 5px;
}

.header__sitelogo_link img {
  max-width: 170px;
}

@media screen and (min-width: 768px) {
  .header__sitelogo {
    flex-shrink: 0;
  }

  .header__sitelogo:not(:has(.fpTxt)) .header__sitelogo_link {
    width: 180px;
  }

  .header__sitelogo:not(:has(.fpTxt)) .header__sitelogo_link img {
    max-width: 100%;
  }

  .header__sitelogo:has(.fpTxt) .header__sitelogo_link {
    flex-direction: column-reverse;
    grid-gap: 15px;
  }

  .header__sitelogo:has(.fpTxt) .header__sitelogo_link img {
    max-width: 200px;
    margin: 0 auto 0 0;
  }
}

@media screen and (min-width: 1024px) {
  .header__sitelogo:has(.fpTxt) {
    margin-top: 50px;
  }
}

@media screen and (min-width: 1200px) {
  .header__sitelogo:not(:has(.fpTxt)) .header__sitelogo_link {
    width: 210px;
  }

  .header__sitelogo:has(.fpTxt) .header__sitelogo_link img {
    max-width: 270px;
  }
}

@media screen and (min-width: 1760px) {
  .header__sitelogo:not(:has(.fpTxt)) {
    margin-left: max(-40px, -1 * (100vw - 1760px));
  }
}

.header__navWrap {
  width: 100%;
}

@media screen and (max-width: 1023px) {
  .header__navWrap {
    height: 0;
    padding-top: 96px;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: fixed;
    top: 0;
    right: 0;
    opacity: 0;
    pointer-events: none;
  }

  .header__navWrap.visible {
    pointer-events: auto;
    animation: header_open 0.3s ease forwards;
    overflow-y: scroll;
    z-index: -1;
  }

  @keyframes header_open {
    from {
      height: 0;
      opacity: 0;
    }

    to {
      height: 100vh;
      opacity: 1;
    }
  }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .header__navWrap {
    width: 0;
    height: 100vh;
  }

  .header__navWrap.visible {
    width: 100%;
  }

  @keyframes header_open {
    from {
      width: 0;
      opacity: 0;
    }

    to {
      width: 400px;
      opacity: 1;
    }
  }
}

@media screen and (min-width: 1024px) {
  .header__navWrap {
    display: block;
  }
}

.header__gnavWrap {
  display: contents;
}

.header__gnav {
  display: flex;
}

.header__gnav a {
  font-weight: 700;
  padding: 0 10px;
}

.menu-item-has-children>a {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #fff;
  transition: border 0.4s;
  gap: 0 0.8em;
}

.menu-item-has-children>a::after {
  content: "";
  background:
    linear-gradient(to right, transparent calc(50% - 1px), #000 0, #000 calc(50% + 1px), transparent 0),
    linear-gradient(to bottom, transparent calc(50% - 1px), #000 0, #000 calc(50% + 1px), transparent 0);
  display: block;
  width: 16px;
  height: 16px;
  transition: transform 0.4s;
}


.menu-item-has-children:has(.visible)>a {
  border-bottom: 1px solid #000;
}

.menu-item-has-children:has(.visible)>a::after {
  transform: rotate(225deg);

}

@media screen and (max-width: 1023px) {
  .header__gnav {
    margin-bottom: 64px;
    text-align: center;
    display: grid;
    grid-gap: 46px;
  }

  .header__gnav a {
    font-size: 24px;
    white-space: nowrap;
  }

  .header__gnav .sub-menu {
    max-height: 0;
    display: grid;
    grid-gap: 22px;
    transition: 0.3s;
    opacity: 0;
    pointer-events: none;
  }

  .header__gnav .sub-menu.visible {
    max-height: 1000px;
    margin-top: 32px;
    opacity: 1;
    pointer-events: auto;
  }

  .header__gnav .sub-menu a {
    font-size: 18px;
    font-weight: 500;
  }

  .header__gnav .sub-menu a:hover {
    color: #002456;
  }

  .header__gnav .contact {
    display: none;
  }
}

@media screen and (min-width: 1024px) {
  .header__gnav {
    margin-right: -20px;
    line-height: 1;
    align-items: stretch;
    justify-content: flex-end;
    grid-gap: 1.5em;
  }

  .header__gnav>li {
    line-height: 80px;
    position: relative;
  }

  .header__gnav>li.contact {
    flex-shrink: 0;
  }

  .header__gnav>li.contact a {
    width: 160px;
    height: 80px;
    background-color: #002456;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .header__gnav>li.contact a:hover::before {
    display: none;
  }

  .header__gnav>li>a {
    position: relative;
  }

  .header__gnav>li>a::before {
    content: "";
    width: 0;
    height: 2px;
    background-color: #002456;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    transform: translateY(7px);
    opacity: 0;
    transition: 0.3s;
  }

  .header__gnav>li>a:hover::before {
    width: 100%;
    opacity: 1;
  }

  .header__gnav .sub-menu {
    width: 203px;
    padding: 38px 20px 30px;
    background-color: #fff;
    -webkit-clip-path: polygon(0 16px, calc(50% - 20px) 16px, 50% 0, calc(50% + 20px) 16px, 100% 16px, 100% 100%, 0 100%);
    clip-path: polygon(0 16px, calc(50% - 20px) 16px, 50% 0, calc(50% + 20px) 16px, 100% 16px, 100% 100%, 0 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    grid-gap: 22px;
    position: absolute;
    bottom: 14px;
    left: 50%;
    transform: translate(-50%, 100%);
    transition: opacity 0.3s ease;
    opacity: 0;
    pointer-events: none;
  }

  .header__gnav .sub-menu.visible {
    opacity: 1;
    pointer-events: auto;
  }

  .header__gnav .sub-menu li {
    line-height: 1.6;
  }

  .header__gnav .sub-menu a {
    font-size: 14px;
  }

  .header__gnav .sub-menu a:hover {
    color: #002456;
    opacity: 1;
  }
}

@media screen and (min-width: 1200px) {
  .header__gnav {
    grid-gap: 2em;
  }

  .header__gnav li a {
    width: 200px;
  }
}

@media screen and (min-width: 1440px) {
  .header__gnav li.contact {
    padding-left: 33px;
  }

  .header__gnav li.contact a {
    width: 238px;
  }
}

@media screen and (min-width: 1760px) {
  .header__gnav {
    margin-right: calc(-20px - min(160px, 50vw - 880px));
  }
}

.header__contacts {
  margin-bottom: 70px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.header__contacts li {
  width: 100%;
  font-weight: 500;
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  grid-gap: 15px;
}

.header__contacts li:not(:last-child) {
  margin-bottom: 11px;
}

.header__contacts li .icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: block;
  flex-shrink: 0;
}

.header__contacts li .icon--tel {
  background: #002456 url('data:image/svg+xml;charset=utf8,<svg width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M19.1938 13.0955C19.2257 13.1035 19.2577 13.1035 19.2897 13.1035V13.1088C19.5721 13.1088 19.8199 12.9036 19.8678 12.6159C20.2728 10.1435 19.7479 7.62584 18.3092 5.13214C16.8706 2.63578 14.955 0.92269 12.6132 0.0381716C12.3094 -0.0763894 11.9711 0.0754706 11.8565 0.379191C11.742 0.682911 11.8938 1.02127 12.1975 1.13583C14.2783 1.92177 15.9914 3.46168 17.2915 5.71561C18.5917 7.96686 19.0686 10.2235 18.7089 12.4214C18.6556 12.7411 18.8741 13.0422 19.1938 13.0955ZM5.80021 7.93738L3.16797 3.37092C3.54096 3.22972 3.91128 3.12582 4.26296 3.0752L6.74867 7.38855L5.80021 7.93738ZM7.26312 15.9306L8.87497 14.9981V15.0008L11.5525 19.6418C11.009 19.9909 10.4282 20.2759 9.90602 20.4624C8.78971 20.8594 7.25779 20.0681 6.08021 19.0504C4.82537 17.9661 3.62647 16.4661 2.39294 14.3267C1.15941 12.1874 0.458724 10.397 0.149676 8.76654C-0.140723 7.23728 -0.0581326 5.51354 0.842371 4.74358C1.26332 4.38391 1.80149 4.02424 2.37429 3.72852L5.04916 8.36957L3.43731 9.30204L5.35022 12.6163L7.26312 15.9306ZM12.2589 19.1299C12.568 18.8795 12.8424 18.6077 13.0609 18.328L10.5725 14.0146L9.62402 14.5635L12.2563 19.1299H12.2589ZM16.2394 12.9804C16.2021 12.9804 16.1648 12.9778 16.1275 12.9698C15.8078 12.9085 15.6 12.5994 15.6612 12.2824C15.949 10.7878 15.5573 8.9628 14.5849 7.27902C13.6125 5.59523 12.2324 4.34306 10.7964 3.84485C10.49 3.73828 10.3275 3.40525 10.4341 3.0962C10.5406 2.78982 10.8763 2.6273 11.1827 2.73387C12.8825 3.32266 14.4943 4.764 15.6053 6.69023C16.7163 8.61645 17.1559 10.7345 16.8175 12.5009C16.7642 12.7833 16.5165 12.9778 16.242 12.9778L16.2394 12.9804ZM13.0361 12.8375C13.0868 12.8508 13.1374 12.8561 13.1853 12.8561L13.1827 12.8588C13.4438 12.8588 13.6809 12.6829 13.7502 12.4192C14.0379 11.3189 13.6942 9.64574 12.8923 8.25769C12.0903 6.86697 10.8169 5.73202 9.72186 5.43096C9.41015 5.34304 9.08512 5.52954 8.99986 5.84125C8.91461 6.15296 9.09844 6.478 9.41015 6.56325C10.0735 6.74708 11.1605 7.60762 11.8745 8.84382C12.5886 10.08 12.7884 11.4547 12.6152 12.1208C12.5353 12.4352 12.7218 12.7549 13.0361 12.8375Z" fill="%23fff"/></svg>') center/20px no-repeat;
}

.header__contacts li .icon--pc {
  background: #002456 url('data:image/svg+xml;charset=utf8,<svg width="22" height="16" viewBox="0 0 22 16" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.06209 0H19.9371C20.1626 0 20.3468 0.199267 20.3468 0.442491V13.052C20.3468 13.2982 20.1626 13.4945 19.9371 13.4945H2.06209C1.83384 13.4945 1.65234 13.2952 1.65234 13.052V0.442491C1.65234 0.196337 1.83659 0 2.06209 0ZM3.42059 11.6337H18.5786V1.85788H3.42059V11.6337ZM12.1248 15.0598C12.5153 15.0598 12.8315 14.5353 12.8315 14.1191H12.8342H22.0028C22.0028 14.9514 21.2575 16.0034 20.339 16.0034H1.66375C0.74525 16.0034 0 14.9514 0 14.1191H9.1685C9.1685 14.5353 9.48475 15.0598 9.87525 15.0598H12.1248Z" fill="%23fff"/></svg>') center/22px no-repeat;
}

.header__copyright {
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}

.header__spToggler {
  width: 26px;
  height: 20px;
  padding: 0;
  border: 0;
  line-height: 1;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}

.header__spToggler:focus {
  outline: 0;
  box-shadow: none;
}

.header__spToggler span {
  width: 26px;
  height: 2px;
  margin: 0 auto;
  background: #fff;
  border-radius: 2px;
  display: block;
  transition: 0.5s;
}

.header__spToggler.open span {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transform: rotate(45deg);
  background: #856436;
}

.header__spToggler.open span+span {
  transform: rotate(-45deg);
}

.header__spToggler.open span+span+span {
  transform: scale(0);
}

@media screen and (min-width: 768px) {
  .header.transparent {
    background-color: transparent;
  }
}

.header.open {
  pointer-events: auto;
  z-index: 999;
}

/*------------------------------------------------------
  main
-------------------------------------------------------*/
.secService {
  padding: 100px 0;
  background-color: #E3E3E3;
}

@media screen and (min-width: 1024px) {
  .secService {
    padding: 168px 0 170px;
  }
}

.secService__txtBlk {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  grid-gap: 27px;
}

@media screen and (min-width: 768px) {
  .secService__txtBlk {
    width: 100%;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    grid-gap: 40px;
  }
}

@media screen and (min-width: 768px) {
  .secService__ttl {
    flex-shrink: 0;
  }
}

.secService__txt {
  width: calc(100% + 10px);
  margin-right: -10px;
  line-height: 1.8;
}

@media screen and (min-width: 768px) {
  .secService__txt {
    width: 100%;
    max-width: 697px;
    margin-bottom: 12px;
    line-height: 2;
  }
}

@media screen and (min-width: 1024px) {
  .secService__txt {
    font-size: 20px;
  }
}

.secService__slideBlk {
  width: calc(100% + 20px);
  margin: 40px -20px 0 0;
}

@media screen and (min-width: 768px) {
  .secService__slideBlk {
    width: 100%;
    margin: 120px 0 0;
    overflow: hidden;
  }
}

.secService__slideBlk_bar {
  height: 6px;
  margin-top: 33px;
  background: linear-gradient(180deg, transparent 50%, #000 50%, #000 calc(50% + 1px), transparent calc(50% + 1px));
}

.secService__slideBlk_bar .swiper-scrollbar-drag {
  background-color: #002456;
}

@media screen and (min-width: 1024px) {
  .secService__slideBlk_bar {
    margin-top: 88px;
  }
}

.secService__slideBlk_arrowWrap {
  width: 100%;
  padding-right: 20px;
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.secService__slideBlk_arrowWrap .arrow {
  display: flex;
  align-items: center;
  grid-gap: 10px;
}

.secService__slideBlk_arrowWrap .arrow--prev::before,
.secService__slideBlk_arrowWrap .arrow--next::after {
  content: "";
  width: 46px;
  height: 46px;
  background: #fff url('data:image/svg+xml;charset=utf8,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.1716 6.46481L14.3536 9.64679C14.5488 9.84205 14.5488 10.1586 14.3536 10.3539L11.1716 13.5359C10.9763 13.7311 10.6597 13.7311 10.4645 13.5359C10.2692 13.3406 10.2692 13.024 10.4645 12.8288L12.7929 10.5003H6V9.50034H12.7929L10.4645 7.17191C10.2692 6.97665 10.2692 6.66007 10.4645 6.46481C10.6597 6.26954 10.9763 6.26954 11.1716 6.46481Z" fill="%23002456"/></svg>') center/contain no-repeat;
  border-radius: 50%;
  flex-shrink: 0;
  transition: background-color 0.3s ease;
}

.secService__slideBlk_arrowWrap .arrow--prev::before {
  transform: scale(-1, 1);
}

.secService__slideBlk_arrowWrap .arrow:hover.arrow--prev::before,
.secService__slideBlk_arrowWrap .arrow:hover.arrow--next::after {
  background: #002456 url('data:image/svg+xml;charset=utf8,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.1716 6.46481L14.3536 9.64679C14.5488 9.84205 14.5488 10.1586 14.3536 10.3539L11.1716 13.5359C10.9763 13.7311 10.6597 13.7311 10.4645 13.5359C10.2692 13.3406 10.2692 13.024 10.4645 12.8288L12.7929 10.5003H6V9.50034H12.7929L10.4645 7.17191C10.2692 6.97665 10.2692 6.66007 10.4645 6.46481C10.6597 6.26954 10.9763 6.26954 11.1716 6.46481Z" fill="%23fff"/></svg>') center/contain no-repeat;
}

@media screen and (min-width: 768px) {
  .secService__slideBlk_arrowWrap {
    padding-right: 0;
  }
}

@media screen and (min-width: 1024px) {
  .secService__slideBlk_arrowWrap {
    margin-top: 38px;
  }

  .secService__slideBlk_arrowWrap .arrow {
    font-size: 24px;
    grid-gap: 19px;
  }
}

.secService__slideBlk .serviceItem {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  grid-gap: 16px;
}

.secService__slideBlk .serviceItem__img {
  width: 100%;
  padding-top: 136.666%;
}

.secService__slideBlk .serviceItem__txtWrap {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  grid-gap: 7px;
}

.secService__slideBlk .serviceItem__txtWrap_ttl {
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
}

.secService__slideBlk .serviceItem__txtWrap_ttl .en {
  font-size: 14px;
}

.secService__slideBlk .serviceItem__txtWrap_ttl .jp {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.8;
}

.secService__slideBlk .serviceItem__txtWrap_txt {
  font-size: 14px;
}

@media screen and (min-width: 1024px) {
  .secService__slideBlk .serviceItem__txtWrap {
    grid-gap: 17px;
  }

  .secService__slideBlk .serviceItem__txtWrap_ttl .en {
    font-size: 18px;
    line-height: 1.8;
  }

  .secService__slideBlk .serviceItem__txtWrap_ttl .jp {
    font-size: 30px;
  }

  .secService__slideBlk .serviceItem__txtWrap_txt {
    font-size: 16px;
    line-height: 1.8;
  }
}

@media screen and (min-width: 1440px) {
  .secService__slideBlk .serviceItem__txtWrap_ttl .en {
    font-size: 24px;
  }

  .secService__slideBlk .serviceItem__txtWrap_ttl .jp {
    font-size: 36px;
  }

  .secService__slideBlk .serviceItem__txtWrap_txt {
    font-size: 16px;
  }
}

.secService__btnWrap {
  display: flex;
  align-items: center;
  justify-content: center;
}

.secBanner {
  padding: 10px 0;
}

.secBanner__inner.inner {
  width: 100%;
}

.secBanner__wraper {
  display: grid;
  gap: 10px 24px;
}

@media screen and (min-width: 768px) {
  .secBanner__inner.inner {
    width: calc(100% - 40px);
  }

  .secBanner__wraper {
    display: flex;
  }
}

.pagination {
  padding-bottom: 100px;
}

@media screen and (min-width: 768px) {
  .pagination {
    padding-bottom: 120px;
  }
}

@media screen and (min-width: 1024px) {
  .pagination {
    padding-bottom: 170px;
  }
}

.pagination .wp-pagenavi {
  font-size: 20px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  grid-gap: 12px;
}

@media screen and (min-width: 768px) {
  .pagination .wp-pagenavi {
    font-size: 24px;
    grid-gap: 14px;
  }
}

@media screen and (min-width: 1024px) {
  .pagination .wp-pagenavi {
    font-size: 30px;
    grid-gap: 18px;
  }
}

.pagination .current {
  color: #002456;
}

.breadcrumbArea {
  width: 100%;
  padding: 19px 0;
  background-color: #fff;
  font-size: 12px;
  line-height: 1;
}

.breadcrumbArea__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  grid-gap: 0 10px;
}

.breadcrumbArea__inner>span {
  flex-shrink: 0;
}

.breadcrumbArea__inner>span:last-child {
  color: #002456;
  flex-shrink: inherit;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.breadcrumbArea__inner>span.sep {
  flex-shrink: 0;
}

.page--reform .breadcrumbArea__inner>span:nth-child(2),
.page--reform .breadcrumbArea__inner>span:nth-child(3),
.page--painting .breadcrumbArea__inner>span:nth-child(2),
.page--painting .breadcrumbArea__inner>span:nth-child(3),
.page--paving .breadcrumbArea__inner>span:nth-child(2),
.page--paving .breadcrumbArea__inner>span:nth-child(3),
.page--electric .breadcrumbArea__inner>span:nth-child(2),
.page--electric .breadcrumbArea__inner>span:nth-child(3),
.page--household .breadcrumbArea__inner>span:nth-child(2),
.page--household .breadcrumbArea__inner>span:nth-child(3) {
  display: none;
}

/*------------------------------------------------------
    footer
-------------------------------------------------------*/
.footer {
  padding: 45px 0 70px;
  background: url(../images/footer_bg-sp.jpg) center/cover no-repeat;
  color: #fff;
  position: relative;
}

@media screen and (min-width: 768px) {
  .footer {
    padding: 78px 0 54px;
    background-image: url(../images/footer_bg-pc.jpg);
  }
}

.footer::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #00245699;
  -webkit-backdrop-filter: blur(6.5px);
  backdrop-filter: blur(6.5px);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.footer__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  grid-gap: 47px;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .footer__inner {
    grid-gap: 72px;
  }
}

.footer__topContents {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .footer__topContents {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }
}

.footer__btmContents {
  width: 100%;
  padding: 20px 0 0;
  border-top: 1px solid #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 50px;
}

@media screen and (min-width: 768px) {
  .footer__btmContents {
    padding-top: 24px;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
}

.footer__infoBlk {
  width: 100%;
  display: contents;
}

@media screen and (min-width: 768px) {
  .footer__infoBlk {
    width: auto;
    display: block;
  }
}

.footer__infoBlk_logo {
  width: 221px;
  font-size: 14px;
  letter-spacing: 0.53em;
  white-space: nowrap;
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 13px;
  order: -1;
}

@media screen and (min-width: 1024px) {
  .footer__infoBlk_logo {
    width: 340px;
    margin-bottom: 45px;
    font-size: 22px;
    grid-gap: 23px;
  }
}

.footer__infoBlk_address {
  width: 100%;
  margin-bottom: 29px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 2;
}

.footer__infoBlk_address_ttl {
  font-size: 18px;
  font-weight: 700;
  line-height: 3.1;
}

@media screen and (min-width: 1024px) {
  .footer__infoBlk_address {
    margin-bottom: 25px;
  }

  .footer__infoBlk_address_ttl {
    margin-bottom: -8px;
    font-size: 24px;
  }
}

.footer__infoBlk_link {
  width: 100%;
  font-weight: 500;
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  grid-gap: 15px;
}

.footer__infoBlk_link:not(:last-child) {
  margin-bottom: 11px;
}

.footer__infoBlk_link .icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: block;
  flex-shrink: 0;
}

.footer__infoBlk_link .icon--tel {
  background: #fff url('data:image/svg+xml;charset=utf8,<svg width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M19.1938 13.0955C19.2257 13.1035 19.2577 13.1035 19.2897 13.1035V13.1088C19.5721 13.1088 19.8199 12.9036 19.8678 12.6159C20.2728 10.1435 19.7479 7.62584 18.3092 5.13214C16.8706 2.63578 14.955 0.92269 12.6132 0.0381716C12.3094 -0.0763894 11.9711 0.0754706 11.8565 0.379191C11.742 0.682911 11.8938 1.02127 12.1975 1.13583C14.2783 1.92177 15.9914 3.46168 17.2915 5.71561C18.5917 7.96686 19.0686 10.2235 18.7089 12.4214C18.6556 12.7411 18.8741 13.0422 19.1938 13.0955ZM5.80021 7.93738L3.16797 3.37092C3.54096 3.22972 3.91128 3.12582 4.26296 3.0752L6.74867 7.38855L5.80021 7.93738ZM7.26312 15.9306L8.87497 14.9981V15.0008L11.5525 19.6418C11.009 19.9909 10.4282 20.2759 9.90602 20.4624C8.78971 20.8594 7.25779 20.0681 6.08021 19.0504C4.82537 17.9661 3.62647 16.4661 2.39294 14.3267C1.15941 12.1874 0.458724 10.397 0.149676 8.76654C-0.140723 7.23728 -0.0581326 5.51354 0.842371 4.74358C1.26332 4.38391 1.80149 4.02424 2.37429 3.72852L5.04916 8.36957L3.43731 9.30204L5.35022 12.6163L7.26312 15.9306ZM12.2589 19.1299C12.568 18.8795 12.8424 18.6077 13.0609 18.328L10.5725 14.0146L9.62402 14.5635L12.2563 19.1299H12.2589ZM16.2394 12.9804C16.2021 12.9804 16.1648 12.9778 16.1275 12.9698C15.8078 12.9085 15.6 12.5994 15.6612 12.2824C15.949 10.7878 15.5573 8.9628 14.5849 7.27902C13.6125 5.59523 12.2324 4.34306 10.7964 3.84485C10.49 3.73828 10.3275 3.40525 10.4341 3.0962C10.5406 2.78982 10.8763 2.6273 11.1827 2.73387C12.8825 3.32266 14.4943 4.764 15.6053 6.69023C16.7163 8.61645 17.1559 10.7345 16.8175 12.5009C16.7642 12.7833 16.5165 12.9778 16.242 12.9778L16.2394 12.9804ZM13.0361 12.8375C13.0868 12.8508 13.1374 12.8561 13.1853 12.8561L13.1827 12.8588C13.4438 12.8588 13.6809 12.6829 13.7502 12.4192C14.0379 11.3189 13.6942 9.64574 12.8923 8.25769C12.0903 6.86697 10.8169 5.73202 9.72186 5.43096C9.41015 5.34304 9.08512 5.52954 8.99986 5.84125C8.91461 6.15296 9.09844 6.478 9.41015 6.56325C10.0735 6.74708 11.1605 7.60762 11.8745 8.84382C12.5886 10.08 12.7884 11.4547 12.6152 12.1208C12.5353 12.4352 12.7218 12.7549 13.0361 12.8375Z" fill="%23002456"/></svg>') center/20px no-repeat;
}

.footer__infoBlk_link .icon--pc {
  background: #fff url('data:image/svg+xml;charset=utf8,<svg width="22" height="16" viewBox="0 0 22 16" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.06209 0H19.9371C20.1626 0 20.3468 0.199267 20.3468 0.442491V13.052C20.3468 13.2982 20.1626 13.4945 19.9371 13.4945H2.06209C1.83384 13.4945 1.65234 13.2952 1.65234 13.052V0.442491C1.65234 0.196337 1.83659 0 2.06209 0ZM3.42059 11.6337H18.5786V1.85788H3.42059V11.6337ZM12.1248 15.0598C12.5153 15.0598 12.8315 14.5353 12.8315 14.1191H12.8342H22.0028C22.0028 14.9514 21.2575 16.0034 20.339 16.0034H1.66375C0.74525 16.0034 0 14.9514 0 14.1191H9.1685C9.1685 14.5353 9.48475 15.0598 9.87525 15.0598H12.1248Z" fill="%23002456"/></svg>') center/22px no-repeat;
}

.footer__navBlk {
  width: 100%;
  order: -1;
}

@media screen and (min-width: 768px) {
  .footer__navBlk {
    width: auto;
    padding: 0;
    order: 0;
  }
}

@media screen and (min-width: 1024px) {
  .footer__navBlk {
    padding-top: 20px;
  }
}

@media screen and (min-width: 1440px) {
  .footer__navBlk {
    padding-right: 125px;
  }
}

.footer__navBlk_list {
  width: 100%;
  margin: 54px 0 18px;
  font-size: 18px;
  font-weight: 700;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 27px 15px;
}

.footer__navBlk_list .sub-menu {
  padding-left: 25px;
  margin-top: 16px;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 2.5;
}

.footer__navBlk_list .sub-menu li {
  list-style: disc;
}

@media screen and (min-width: 768px) {
  .footer__navBlk_list {
    margin: 0;
    font-size: 16px;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 15px 10px;
  }

  .footer__navBlk_list li:nth-child(2) {
    grid-row: 3;
  }

  .footer__navBlk_list li:nth-child(3) {
    grid-row: 2;
  }

  .footer__navBlk_list li:nth-child(4) {
    grid-row: 4;
  }

  .footer__navBlk_list li:nth-child(5) {
    grid-row: span 5;
    grid-column: 2;
  }

  .footer__navBlk_list li:nth-child(6) {
    grid-row: span 5;
    grid-column: 3;
  }

  .footer__navBlk_list .sub-menu {
    padding-left: 22px;
    margin-top: 24px;
  }
}

@media screen and (min-width: 1024px) {
  .footer__navBlk_list {
    font-size: 20px;
    grid-gap: 30px 60px;
  }
}

@media screen and (min-width: 1200px) {
  .footer__navBlk_list {
    grid-gap: 38px 94px;
    font-size: 24px;
  }
}

.footer__topLink {
  font-weight: 700;
}

.footer__topLink a {
  display: flex;
  align-items: center;
  justify-content: center;
  grid-gap: 15px;
}

.footer__topLink a::after {
  content: "";
  width: 26px;
  height: 26px;
  background: #fff url('data:image/svg+xml;charset=utf8,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.1716 6.46481L14.3536 9.64679C14.5488 9.84205 14.5488 10.1586 14.3536 10.3539L11.1716 13.5359C10.9763 13.7311 10.6597 13.7311 10.4645 13.5359C10.2692 13.3406 10.2692 13.024 10.4645 12.8288L12.7929 10.5003H6V9.50034H12.7929L10.4645 7.17191C10.2692 6.97665 10.2692 6.66007 10.4645 6.46481C10.6597 6.26954 10.9763 6.26954 11.1716 6.46481Z" fill="%23002456"/></svg>') center/contain no-repeat;
  border-radius: 50%;
  display: block;
  transform: rotate(-90deg);
}

.footer__copyrightBlk {
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 13px;
}

.footer__copyrightBlk_link {
  font-size: 12px;
  line-height: 1;
}

.footer__copyrightBlk_txt {
  font-size: 12px;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .footer__copyrightBlk {
    flex-direction: row-reverse;
    grid-gap: 44px;
  }
}

.footer__floatNav {
  width: 100%;
  height: 56px;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 1039;
}

.footer__floatNav_list {
  height: 100%;
  border-bottom: 1px solid #ECECEC;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 5px;
}

.footer__floatNav_list a {
  width: 100%;
  height: 100%;
  color: #fff;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.footer__floatNav_list a.corp {
  background-color: #4A4A4A;
  border-top: 1px solid #ECECEC;
  border-right: 1px solid #ECECEC;
}

.footer__floatNav_list a.contact {
  background-color: #000;
  border-top: 1px solid #ECECEC;
  border-left: 1px solid #ECECEC;
}