@charset "UTF-8";
/**
* Foundation
* ========================== */
@import url("https://cdn.jsdelivr.net/npm/destyle.css@4.0.0/destyle.min.css");
:root {
  --design-width: 1440;
}

/* @media screen and (max-width: 1023px) {
  :root {
    --design-width: 768; // TAB基準
  }
} */
@media screen and (max-width: 767px) {
  :root {
    --design-width: 380;
  }
}
.example {
  font-size: min(24 / var(--design-width) * 100vw, 24px);
  width: min(300 / var(--design-width) * 100vw, 300px);
  height: min(200 / var(--design-width) * 100vw, 200px);
  padding: min(20 / var(--design-width) * 100vw, 20px);
  margin: min(16 / var(--design-width) * 100vw, 16px);
}
@media screen and (max-width: 1023px) {
  .example {
    font-size: min(20 / var(--design-width) * 100vw, 20px);
    width: min(250 / var(--design-width) * 100vw, 250px);
    height: min(150 / var(--design-width) * 100vw, 150px);
    padding: min(16 / var(--design-width) * 100vw, 16px);
    margin: min(12 / var(--design-width) * 100vw, 12px);
  }
}
@media screen and (max-width: 767px) {
  .example {
    font-size: min(16 / var(--design-width) * 100vw, 16px);
    width: min(200 / var(--design-width) * 100vw, 200px);
    height: min(120 / var(--design-width) * 100vw, 120px);
    padding: min(12 / var(--design-width) * 100vw, 12px);
    margin: min(8 / var(--design-width) * 100vw, 8px);
  }
}

* {
  background-repeat: no-repeat;
}

@media (prefers-color-scheme: dark) {
  body::-webkit-scrollbar {
    background-color: #fff;
  }
  body::-webkit-scrollbar-thumb {
    background: #d6d6d6;
    border-radius: 6px;
    border-right: 3px solid transparent;
    border-left: 3px solid transparent;
    background-clip: padding-box;
  }
  ::-webkit-scrollbar-track {
    margin-top: 3px;
    margin-bottom: 3px;
  }
}
@media screen and (min-width: 600px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
html {
  height: 100%;
  font-size: 62.5%;
}

body, input, select, textarea {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "MS PGothic", sans-serif;
  line-height: 1.5;
  font-size: min(16 / var(--design-width) * 100vw, 16px);
  width: 100%;
  color: #231815;
  background-color: #ffffff;
}
@media screen and (max-width: 599px) {
  body, input, select, textarea {
    font-size: min(14 / var(--design-width) * 100vw, 14px);
  }
}

.body-wrap {
  padding-left: min(40 / var(--design-width) * 100vw, 40px);
  padding-right: min(40 / var(--design-width) * 100vw, 40px);
}

.body-wrap-in {
  overflow-x: hidden;
  max-width: min(1380 / var(--design-width) * 100vw, 1380px);
  margin: 0 auto;
}

@media screen and (max-width: 599px) {
  .body-wrap {
    padding-left: 0;
    padding-right: 0;
  }
  .body-wrap-in {
    max-width: 100%;
  }
}
body.fixed {
  position: fixed;
  width: 100%;
}

a {
  color: #000000;
}
a:hover {
  color: #000000;
  opacity: 0.7;
}

img {
  max-width: 100%;
}

.only-sp {
  display: none;
}

@media screen and (max-width: 599px) {
  .only-pc {
    display: none;
  }
  .only-sp {
    display: block;
  }
}
/**
* Layout
* ========================== */
.l-wrap {
  max-width: pxPc(1000);
  margin-left: auto;
  margin-right: auto;
}
.l-wrap.--huge {
  max-width: pxPc(1400);
}
.l-wrap.--large {
  max-width: pxPc(1200);
}
.l-wrap.--middle {
  max-width: pxPc(800);
}
.l-wrap.--small {
  max-width: pxPc(600);
}
.l-wrap.--mini {
  max-width: pxPc(400);
}

.l-section {
  padding: 100px 0 0 0;
}
.l-section > *:first-child {
  margin-top: 0;
}
.l-section > *:last-child {
  margin-bottom: 0;
}
.l-section.--huge {
  padding: 140px 0 0 0;
}
.l-section.--large {
  padding: 120px 0 0 0;
}
.l-section.--middle {
  padding: 80px 0 0 0;
}
.l-section.--small {
  padding: 60px 0 0 0;
}
.l-section.--pt-0 {
  padding-top: 0;
}
.l-section.--pb-0 {
  padding-bottom: 0;
}
@media screen and (max-width: 599px) {
  .l-section.--sp-pt-0 {
    padding-top: 0;
  }
  .l-section.--sp-pb-0 {
    padding-bottom: 0;
  }
}

/* Object
* ========================== */
/* Component ------------ */
/* Project ------------ */
.p-footer {
  border-top: min(24 / var(--design-width) * 100vw, 24px) solid #004098;
  text-align: center;
  padding: min(60 / var(--design-width) * 100vw, 60px) 0;
}
.p-footer .e-logo-01 {
  width: min(388 / var(--design-width) * 100vw, 388px);
  margin: 0 auto;
}
.p-footer .e-text-01 {
  font-size: min(18 / var(--design-width) * 100vw, 18px);
  font-weight: 700;
  margin-top: min(40 / var(--design-width) * 100vw, 40px);
}
.p-footer .e-copy-01 {
  font-size: min(18 / var(--design-width) * 100vw, 18px);
  font-weight: 700;
  margin-top: min(40 / var(--design-width) * 100vw, 40px);
}

@media screen and (max-width: 599px) {
  .p-footer {
    border-top: none;
    text-align: center;
    padding: min(30 / var(--design-width) * 100vw, 30px) 0 0;
  }
  .p-footer .e-logo-01 {
    width: min(200 / var(--design-width) * 100vw, 200px);
  }
  .p-footer .e-text-01 {
    font-size: min(12 / var(--design-width) * 100vw, 12px);
    margin-top: min(24 / var(--design-width) * 100vw, 24px);
  }
  .p-footer .e-copy-01 {
    font-size: min(12 / var(--design-width) * 100vw, 12px);
    margin-top: min(24 / var(--design-width) * 100vw, 24px);
    background-color: #c9caca;
    line-height: 1;
    padding: min(12 / var(--design-width) * 100vw, 12px) 0;
  }
}
.p-header {
  padding: min(32 / var(--design-width) * 100vw, 32px) min(20 / var(--design-width) * 100vw, 20px);
}
.p-header .l-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.p-header .l-container .e-logo-01 {
  width: min(300 / var(--design-width) * 100vw, 300px);
}
.p-header .l-container .e-nav-01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0 min(40 / var(--design-width) * 100vw, 40px);
}
.p-header .l-container .e-nav-01 .m-close-01 {
  display: none;
}
.p-header .l-container .e-nav-01 .m-navi-01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-header .l-container .e-nav-01 .m-navi-01 li {
  border-left: 1px solid #231815;
}
.p-header .l-container .e-nav-01 .m-navi-01 li a {
  display: block;
  padding: min(10 / var(--design-width) * 100vw, 10px) min(20 / var(--design-width) * 100vw, 20px) 5px;
  font-size: min(22 / var(--design-width) * 100vw, 22px);
  font-weight: 500;
}
.p-header .l-container .e-nav-01 .m-navi-01 li:first-child {
  border-left: none;
}
.p-header .l-container .e-nav-01 .m-contact-01 dt {
  text-align: center;
  font-size: min(18 / var(--design-width) * 100vw, 18px);
  font-weight: 500;
  color: #ea5514;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0 min(8 / var(--design-width) * 100vw, 8px);
}
.p-header .l-container .e-nav-01 .m-contact-01 dt::before {
  content: "＼";
  font-size: min(22 / var(--design-width) * 100vw, 22px);
}
.p-header .l-container .e-nav-01 .m-contact-01 dt::after {
  content: "／";
  font-size: min(22 / var(--design-width) * 100vw, 22px);
}
.p-header .l-container .e-nav-01 .m-contact-01 dd {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: min(8 / var(--design-width) * 100vw, 8px);
}
.p-header .l-container .e-nav-01 .m-contact-01 dd a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(240 / var(--design-width) * 100vw, 240px);
  height: min(40 / var(--design-width) * 100vw, 40px);
  font-size: min(18 / var(--design-width) * 100vw, 18px);
  font-weight: 500;
  color: #ffffff;
}
.p-header .l-container .e-nav-01 .m-contact-01 dd a.s-link-01 {
  background-color: #004098;
}
.p-header .l-container .e-nav-01 .m-contact-01 dd a.s-link-02 {
  background-color: #ea5514;
}
.p-header .l-container .e-nav-02 {
  display: none;
}

@media screen and (max-width: 599px) {
  .p-header {
    padding: min(20 / var(--design-width) * 100vw, 20px);
  }
  .p-header .l-container .e-logo-01 {
    width: min(200 / var(--design-width) * 100vw, 200px);
  }
  .p-header .l-container .e-nav-01 {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    display: none;
    background-color: #ffffff;
    height: 100vh;
    padding: min(20 / var(--design-width) * 100vw, 20px);
  }
  .p-header .l-container .e-nav-01 .m-close-01 {
    display: block;
  }
  .p-header .l-container .e-nav-01 .m-close-01 img {
    display: block;
    width: auto;
    height: min(36 / var(--design-width) * 100vw, 36px);
    margin-left: auto;
  }
  .p-header .l-container .e-nav-01 .m-navi-01 {
    display: block;
    margin-top: min(30 / var(--design-width) * 100vw, 30px);
  }
  .p-header .l-container .e-nav-01 .m-navi-01 li {
    border-left: none;
    border-top: 1px solid #231815;
  }
  .p-header .l-container .e-nav-01 .m-navi-01 li:first-child {
    border-top: none;
  }
  .p-header .l-container .e-nav-01 .m-contact-01 {
    margin-top: min(30 / var(--design-width) * 100vw, 30px);
  }
  .p-header .l-container .e-nav-01.is-open {
    display: block;
    z-index: 10;
  }
  .p-header .l-container .e-nav-02 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 min(12 / var(--design-width) * 100vw, 12px);
  }
  .p-header .l-container .e-nav-02 > div img {
    width: auto;
    height: min(36 / var(--design-width) * 100vw, 36px);
  }
}
.p-home-container-01 {
  background-color: #efefef;
  padding: min(60 / var(--design-width) * 100vw, 60px);
  margin-top: min(30 / var(--design-width) * 100vw, 30px);
}

@media screen and (max-width: 599px) {
  .p-home-container-01 {
    padding: 0;
    margin-top: 0;
  }
}
.p-home-con1__in01 {
  background-image: url(../img/home-con1-bg-01.png);
  background-position: center bottom;
  background-size: 100% auto;
  background-repeat: no-repeat;
  padding: min(56 / var(--design-width) * 100vw, 56px) 0 min(80 / var(--design-width) * 100vw, 80px) min(40 / var(--design-width) * 100vw, 40px);
}
.p-home-con1__in01 .l-wrap-01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: min(20 / var(--design-width) * 100vw, 20px);
}
.p-home-con1__in01 .l-wrap-01 .e-content-01 .m-heading-01 {
  width: min(560 / var(--design-width) * 100vw, 560px);
}
.p-home-con1__in01 .l-wrap-01 .e-content-01 .m-text-01 {
  font-size: min(20 / var(--design-width) * 100vw, 20px);
  color: #004098;
  font-weight: bold;
  margin-top: min(16 / var(--design-width) * 100vw, 16px);
}
.p-home-con1__in01 .l-wrap-01 .e-chara-01 {
  text-align: center;
}
.p-home-con1__in01 .l-wrap-01 .e-chara-01 dl dt {
  width: min(208 / var(--design-width) * 100vw, 208px);
  margin: 0 auto;
}
.p-home-con1__in01 .l-wrap-01 .e-chara-01 dl dd {
  font-size: min(13 / var(--design-width) * 100vw, 13px);
  color: #076fb8;
  line-height: 1.2;
  margin-top: min(24 / var(--design-width) * 100vw, 24px);
  font-weight: 700;
}
.p-home-con1__in01 .l-wrap-01 .e-chara-01 p {
  white-space: nowrap;
  font-size: min(11 / var(--design-width) * 100vw, 11px);
  margin-top: min(16 / var(--design-width) * 100vw, 16px);
}

@media screen and (max-width: 599px) {
  .p-home-con1__in01 {
    background: none;
    padding: 0;
  }
  .p-home-con1__in01 .l-wrap-01 {
    display: block;
  }
  .p-home-con1__in01 .l-wrap-01 .e-content-01 {
    background-image: url(../img/home-con1-bg-03.png);
    background-position: right min(8 / var(--design-width) * 100vw, 8px) bottom min(-72 / var(--design-width) * 100vw, -72px);
    background-size: min(100 / var(--design-width) * 100vw, 100px) auto;
    background-repeat: no-repeat;
    padding: min(16 / var(--design-width) * 100vw, 16px) 0 min(16 / var(--design-width) * 100vw, 16px) min(20 / var(--design-width) * 100vw, 20px);
  }
  .p-home-con1__in01 .l-wrap-01 .e-content-01 .m-heading-01 {
    width: min(200 / var(--design-width) * 100vw, 200px);
  }
  .p-home-con1__in01 .l-wrap-01 .e-content-01 .m-text-01 {
    font-size: min(10 / var(--design-width) * 100vw, 10px);
    margin-top: min(8 / var(--design-width) * 100vw, 8px);
  }
  .p-home-con1__in01 .l-wrap-01 .e-chara-01 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: min(20 / var(--design-width) * 100vw, 20px);
    padding: min(16 / var(--design-width) * 100vw, 16px) min(20 / var(--design-width) * 100vw, 20px);
    background-color: #efefef;
  }
  .p-home-con1__in01 .l-wrap-01 .e-chara-01 dl dt {
    width: min(120 / var(--design-width) * 100vw, 120px);
  }
  .p-home-con1__in01 .l-wrap-01 .e-chara-01 dl dd {
    font-size: min(10 / var(--design-width) * 100vw, 10px);
    margin-top: min(12 / var(--design-width) * 100vw, 12px);
  }
  .p-home-con1__in01 .l-wrap-01 .e-chara-01 p {
    white-space: normal;
    font-size: min(10 / var(--design-width) * 100vw, 10px);
    margin-top: 0;
    text-align: left;
  }
}
.p-home-con1__in02 {
  background-image: url(../img/home-con1-bg-02.jpg);
  background-position: center bottom;
  background-size: cover;
  background-repeat: no-repeat;
  padding: min(60 / var(--design-width) * 100vw, 60px) 0 min(500 / var(--design-width) * 100vw, 500px);
}
.p-home-con1__in02 .e-heading-01 {
  width: min(890 / var(--design-width) * 100vw, 890px);
  margin: 0 auto min(24 / var(--design-width) * 100vw, 24px);
}
.p-home-con1__in02 .e-point-01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(32 / var(--design-width) * 100vw, 32px);
}
.p-home-con1__in02 .e-point-01 > li img {
  height: min(333 / var(--design-width) * 100vw, 333px);
}
.p-home-con1__in02 .e-point-02 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 min(32 / var(--design-width) * 100vw, 32px);
  margin-top: min(16 / var(--design-width) * 100vw, 16px);
}
.p-home-con1__in02 .e-point-02 > li {
  width: min(307 / var(--design-width) * 100vw, 307px);
}
.p-home-con1__in02 .e-button-01 {
  text-align: center;
  margin-top: min(114 / var(--design-width) * 100vw, 114px);
}
.p-home-con1__in02 .e-button-01 a {
  background-color: #1d50a2;
  color: #fff;
  padding: min(12 / var(--design-width) * 100vw, 12px) min(40 / var(--design-width) * 100vw, 40px);
  border-radius: min(8 / var(--design-width) * 100vw, 8px);
  text-decoration: none;
  display: inline-block;
  font-weight: bold;
  font-size: min(26 / var(--design-width) * 100vw, 26px);
  font-weight: 500;
}

@media screen and (max-width: 599px) {
  .p-home-con1__in02 {
    background-image: url(../img/home-con1-bg-02-sp.jpg);
    padding: min(20 / var(--design-width) * 100vw, 20px) 0 min(100 / var(--design-width) * 100vw, 100px);
  }
  .p-home-con1__in02 .e-heading-01 {
    width: min(250 / var(--design-width) * 100vw, 250px);
    margin: 0 auto min(20 / var(--design-width) * 100vw, 20px);
  }
  .p-home-con1__in02 .e-point-01 {
    gap: min(12 / var(--design-width) * 100vw, 12px);
  }
  .p-home-con1__in02 .e-point-01 > li img {
    height: min(70 / var(--design-width) * 100vw, 70px);
  }
  .p-home-con1__in02 .e-point-02 {
    gap: 0 min(12 / var(--design-width) * 100vw, 12px);
    margin-top: min(8 / var(--design-width) * 100vw, 8px);
  }
  .p-home-con1__in02 .e-point-02 > li {
    width: min(80 / var(--design-width) * 100vw, 80px);
  }
  .p-home-con1__in02 .e-button-01 {
    margin-top: min(32 / var(--design-width) * 100vw, 32px);
  }
  .p-home-con1__in02 .e-button-01 a {
    padding: min(8 / var(--design-width) * 100vw, 8px) min(16 / var(--design-width) * 100vw, 16px);
    border-radius: min(4 / var(--design-width) * 100vw, 4px);
    font-size: min(10 / var(--design-width) * 100vw, 10px);
  }
}
.p-home-con2 {
  border: min(12 / var(--design-width) * 100vw, 12px) solid #004098;
  margin-top: min(30 / var(--design-width) * 100vw, 30px);
}
.p-home-con2 .l-container {
  background-color: #fff100;
  padding: min(24 / var(--design-width) * 100vw, 24px) min(60 / var(--design-width) * 100vw, 60px) 0;
}
.p-home-con2 .l-container > ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: min(24 / var(--design-width) * 100vw, 24px);
}
.p-home-con2 .l-container > ul > li {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media screen and (max-width: 599px) {
  .p-home-con2 {
    border: none;
    border-top: min(12 / var(--design-width) * 100vw, 12px) solid #ea5514;
    margin-top: 0;
  }
  .p-home-con2 .l-container {
    background-color: none;
    padding: 0;
  }
  .p-home-con2 .l-container > ul {
    display: block;
  }
  .p-home-con2 .l-container > ul > li {
    -webkit-box-flex: 0;
    -webkit-flex: none;
        -ms-flex: none;
            flex: none;
  }
}
.p-home-con3 {
  margin-top: min(48 / var(--design-width) * 100vw, 48px);
  padding: 0 min(60 / var(--design-width) * 100vw, 60px);
}
.p-home-con3 .e-heading-01 {
  width: min(1045 / var(--design-width) * 100vw, 1045px);
}
.p-home-con3 .l-container {
  margin-top: min(0 / var(--design-width) * 100vw, 0px);
}
.p-home-con3 .l-container > ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: min(24 / var(--design-width) * 100vw, 24px);
}
.p-home-con3 .l-container > ul > li {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media screen and (max-width: 599px) {
  .p-home-con3 {
    margin-top: 0;
    padding: min(20 / var(--design-width) * 100vw, 20px);
  }
  .p-home-con3 .e-heading-01 {
    width: min(290 / var(--design-width) * 100vw, 290px);
  }
  .p-home-con3 .l-container {
    margin-top: min(20 / var(--design-width) * 100vw, 20px);
  }
  .p-home-con3 .l-container > ul {
    display: block;
  }
  .p-home-con3 .l-container > ul > li {
    -webkit-box-flex: 0;
    -webkit-flex: none;
        -ms-flex: none;
            flex: none;
  }
}
.p-home-con4 {
  border: min(12 / var(--design-width) * 100vw, 12px) solid #004098;
  margin-top: min(80 / var(--design-width) * 100vw, 80px);
  padding: min(40 / var(--design-width) * 100vw, 40px) min(44 / var(--design-width) * 100vw, 44px);
  background-color: #ffffff;
}
.p-home-con4 .e-heading-01 {
  width: min(737 / var(--design-width) * 100vw, 737px);
}
.p-home-con4 .l-container {
  margin-top: min(28 / var(--design-width) * 100vw, 28px);
}


/**.p-home-con4 .l-container > ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: min(36 / var(--design-width) * 100vw, 36px);
}**/


.p-home-con4 .l-container > ul {
  --banner-gap: min(36 / var(--design-width) * 100vw, 36px);

  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* バナーが3つ以下のとき中央寄せ */
  gap: var(--banner-gap);
  padding: 0;
  margin: 0;
  list-style: none;
}

/* 各バナーの幅（PCは4列相当） */
.p-home-con4 .l-container > ul > li {
  flex: 0 0 calc((100% - var(--banner-gap) * 3) / 4);
}




.p-home-con4 .e-button-01 {
  margin-top: min(48 / var(--design-width) * 100vw, 48px);
}
.p-home-con4 .e-button-01 a {
  font-size: min(14 / var(--design-width) * 100vw, 14px);
  font-weight: 500;
  background-color: #006979;
  color: #ffffff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(116 / var(--design-width) * 100vw, 116px);
  height: min(32 / var(--design-width) * 100vw, 32px);
  margin: 0 auto;
  border-radius: min(6 / var(--design-width) * 100vw, 6px);
}

@media screen and (max-width: 599px) {
  .p-home-con4 {
    border: 0;
    margin-top: 0;
    padding: min(20 / var(--design-width) * 100vw, 20px);
  }
  .p-home-con4 .e-heading-01 {
    width: min(228 / var(--design-width) * 100vw, 228px);
  }
  .p-home-con4 .l-container {
    margin-top: min(20 / var(--design-width) * 100vw, 20px);
  }
  /**.p-home-con4 .l-container > ul {
    grid-template-columns: repeat(2, 1fr);
    gap: min(10 / var(--design-width) * 100vw, 10px);
  }**/
  .p-home-con4 .l-container > ul {
    justify-content: flex-start; /* 左寄せ */
  }
  .p-home-con4 .l-container > ul > li {
    flex: 0 0 calc((100% - var(--banner-gap)) / 2);
  }
  .p-home-con4 .e-button-01 {
    display: none;
  }
}
.p-home-con5 {
  margin-top: min(48 / var(--design-width) * 100vw, 48px);
  padding: 0 min(60 / var(--design-width) * 100vw, 60px);
}
.p-home-con5 .e-heading-01 {
  width: min(980 / var(--design-width) * 100vw, 980px);
}
.p-home-con5 .l-container {
  margin-top: min(40 / var(--design-width) * 100vw, 40px);
}
.p-home-con5 .l-container > ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: min(24 / var(--design-width) * 100vw, 24px);
}
.p-home-con5 .l-container > ul > li {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media screen and (max-width: 599px) {
  .p-home-con5 {
    margin-top: 0;
    padding: min(20 / var(--design-width) * 100vw, 20px);
    background-color: #ffffff;
  }
  .p-home-con5 .e-heading-01 {
    width: min(267 / var(--design-width) * 100vw, 267px);
  }
  .p-home-con5 .l-container {
    margin-top: min(20 / var(--design-width) * 100vw, 20px);
  }
  .p-home-con5 .l-container > ul {
    gap: min(10 / var(--design-width) * 100vw, 10px);
  }
}
.p-home-con6 {
  margin-top: min(48 / var(--design-width) * 100vw, 48px);
  padding: 0 min(120 / var(--design-width) * 100vw, 120px);
}
.p-home-con6 .e-heading-01 {
  width: min(654 / var(--design-width) * 100vw, 654px);
}
.p-home-con6 .l-container {
  margin-top: min(40 / var(--design-width) * 100vw, 40px);
}
.p-home-con6 .l-container > ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: min(24 / var(--design-width) * 100vw, 24px) min(36 / var(--design-width) * 100vw, 36px);
}
.p-home-con6 .l-container > ul > li .e-text-01 dt {
  font-size: min(28 / var(--design-width) * 100vw, 28px);
  font-weight: 700;
}
.p-home-con6 .l-container > ul > li .e-text-01 dd {
  font-size: min(18 / var(--design-width) * 100vw, 18px);
  height: 2.88em;
}
.p-home-con6 .l-container > ul > li iframe {
  width: 100%;
  height: min(200 / var(--design-width) * 100vw, 200px);
  margin-top: min(12 / var(--design-width) * 100vw, 12px);
}
.p-home-con6 .e-button-01 a {
  font-size: min(14 / var(--design-width) * 100vw, 14px);
  font-weight: 500;
  background-color: #006979;
  color: #ffffff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(200 / var(--design-width) * 100vw, 200px);
  height: min(40 / var(--design-width) * 100vw, 40px);
  margin: 30px auto 0;
  border-radius: min(6 / var(--design-width) * 100vw, 6px);
}

@media screen and (max-width: 599px) {
  .p-home-con6 {
    margin-top: 0;
    padding: min(20 / var(--design-width) * 100vw, 20px);
  }
  .p-home-con6 .e-heading-01 {
    width: min(178 / var(--design-width) * 100vw, 178px);
  }
  .p-home-con6 .l-container {
    margin-top: min(20 / var(--design-width) * 100vw, 20px);
  }
  .p-home-con6 .l-container > ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: min(12 / var(--design-width) * 100vw, 12px) min(18 / var(--design-width) * 100vw, 18px);
  }
  .p-home-con6 .l-container > ul > li .e-text-01 dt {
    font-size: min(12 / var(--design-width) * 100vw, 12px);
  }
  .p-home-con6 .l-container > ul > li .e-text-01 dd {
    font-size: min(10 / var(--design-width) * 100vw, 10px);
    height: 2.88em;
  }
  .p-home-con6 .l-container > ul > li iframe {
    height: min(150 / var(--design-width) * 100vw, 150px);
  }
}
.p-home-con7 {
  background-color: #efefef;
  padding: min(60 / var(--design-width) * 100vw, 60px) min(120 / var(--design-width) * 100vw, 120px);
  margin-top: min(100 / var(--design-width) * 100vw, 100px);
}
.p-home-con7 .e-heading-01 {
  width: min(436 / var(--design-width) * 100vw, 436px);
}
.p-home-con7 .e-news-01 {
  margin-top: min(28 / var(--design-width) * 100vw, 28px);
}
.p-home-con7 .e-news-01 > dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0 min(60 / var(--design-width) * 100vw, 60px);
  font-size: min(18 / var(--design-width) * 100vw, 18px);
}
.p-home-con7 .e-news-01 > dl + dl {
  margin-top: min(16 / var(--design-width) * 100vw, 16px);
}
.p-home-con7 .e-link-01 {
  margin-top: min(60 / var(--design-width) * 100vw, 60px);
}
.p-home-con7 .e-news-01 dd .new{
  padding: 1px 8px;
  color: #fff;
  background-color: #e16117;
  margin-right: 5px;
  font-size: 0.8em;
}
.p-home-con7 .e-link-01 .m-link-01 a,
.p-home-con7 .e-link-01 .m-link-02 a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(500 / var(--design-width) * 100vw, 500px);
  height: min(80 / var(--design-width) * 100vw, 80px);
  color: #ffffff;
  font-size: min(32 / var(--design-width) * 100vw, 32px);
  font-weight: 500;
  margin: 0 auto;
}
.p-home-con7 .e-link-01 .m-link-01 a {
  background-color: #ea5514;
}
.p-home-con7 .e-link-01 .m-link-02 a {
  background-color: #00a29a;
  margin-top: min(24 / var(--design-width) * 100vw, 24px);
}
.p-home-con7 .e-navi-01 {
  margin-top: min(60 / var(--design-width) * 100vw, 60px);
}
.p-home-con7 .e-navi-01 li a {
  font-size: min(18 / var(--design-width) * 100vw, 18px);
  font-weight: 700;
}
.p-home-con7 .e-navi-01 li + li {
  margin-top: min(8 / var(--design-width) * 100vw, 8px);
}
.p-home-con7 .e-navi-02 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: min(32 / var(--design-width) * 100vw, 32px);
}
.p-home-con7 .e-navi-02 dl dt {
  font-size: min(18 / var(--design-width) * 100vw, 18px);
  font-weight: 700;
}
.p-home-con7 .e-navi-02 dl dd {
  font-size: min(15 / var(--design-width) * 100vw, 15px);
  margin-top: min(8 / var(--design-width) * 100vw, 8px);
}

@media screen and (max-width: 599px) {
  .p-home-con7 {
    padding: min(20 / var(--design-width) * 100vw, 20px);
    margin-top: 0;
  }
  .p-home-con7 .e-heading-01 {
    width: min(120 / var(--design-width) * 100vw, 120px);
  }
  .p-home-con7 .e-news-01 {
    margin-top: min(28 / var(--design-width) * 100vw, 28px);
  }
  .p-home-con7 .e-news-01 > dl {
    gap: 0 min(15 / var(--design-width) * 100vw, 15px);
    font-size: min(12 / var(--design-width) * 100vw, 12px);
  }
  .p-home-con7 .e-news-01 > dl + dl {
    margin-top: min(12 / var(--design-width) * 100vw, 12px);
  }
  .p-home-con7 .e-link-01 {
    margin-top: min(30 / var(--design-width) * 100vw, 30px);
  }
  .p-home-con7 .e-link-01 .m-link-01 a,
  .p-home-con7 .e-link-01 .m-link-02 a {
    width: min(250 / var(--design-width) * 100vw, 250px);
    height: min(40 / var(--design-width) * 100vw, 40px);
    font-size: min(16 / var(--design-width) * 100vw, 16px);
  }
  .p-home-con7 .e-link-01 .m-link-02 a {
    margin-top: min(16 / var(--design-width) * 100vw, 16px);
  }
  .p-home-con7 .e-navi-01 {
    display: none;
  }
  .p-home-con7 .e-navi-02 {
    display: none;
  }
}

/** スライダー **/
.kvSwiper .swiper-button-prev,
.kvSwiper .swiper-button-next {
  color: #fff;
  width: 32px;
  height: 32px;
}
.kvSwiper .swiper-button-prev:after,
.kvSwiper .swiper-button-next:after {
  font-size: 24px;
}

.p-kv-home .e-kv-01 {
  border: min(20 / var(--design-width) * 100vw, 20px) solid #004098;
  border-bottom: none;
  background-color: #004098;
}
.p-kv-home .e-navi-01 .m-link-01,
.p-kv-home .e-navi-01 .m-link-02 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 min(16 / var(--design-width) * 100vw, 16px);
  color: #ffffff;
  font-size: min(24 / var(--design-width) * 100vw, 24px);
  font-weight: 700;
  padding: min(16 / var(--design-width) * 100vw, 16px) 0;
}
.p-kv-home .e-navi-01 .m-link-01 img,
.p-kv-home .e-navi-01 .m-link-02 img {
  width: min(68 / var(--design-width) * 100vw, 68px);
}
.p-kv-home .e-navi-01 .m-link-01 {
  background-color: #004098;
}
.p-kv-home .e-navi-01 .m-link-02 {
  background-color: #ea5514;
}


@media screen and (max-width: 599px) {
  .p-kv-home .e-kv-01 {
    border: min(12 / var(--design-width) * 100vw, 12px) solid #004098;
    border-bottom: none;
  }
  .p-kv-home .e-navi-01 .m-link-01,
  .p-kv-home .e-navi-01 .m-link-02 {
    gap: 0 min(11 / var(--design-width) * 100vw, 11px);
    font-size: min(16 / var(--design-width) * 100vw, 16px);
    padding: min(16 / var(--design-width) * 100vw, 16px) 0;
  }
  .p-kv-home .e-navi-01 .m-link-01 img,
  .p-kv-home .e-navi-01 .m-link-02 img {
    width: min(36 / var(--design-width) * 100vw, 36px);
  }
}
/* Utility ------------ */
.u-lite {
  font-weight: 300;
}

.u-regular {
  font-weight: 400;
}

.u-medium {
  font-weight: 500;
}

.u-semi-bold {
  font-weight: 600;
}

.u-bold {
  font-weight: 700;
}

.u-txt-center-left {
  text-align: center !important;
}
@media screen and (max-width: 767px) {
  .u-txt-center-left {
    text-align: left !important;
  }
}

.u-txt-left-center {
  text-align: left !important;
}
@media screen and (max-width: 767px) {
  .u-txt-left-center {
    text-align: center !important;
  }
}

@media screen and (max-width: 1024px) {
  .u-sp-fs-20 {
    font-size: fsPxTab(20);
  }
  .u-sp-fs-18 {
    font-size: fsPxTab(18);
  }
  .u-sp-fs-16 {
    font-size: fsPxTab(16);
  }
  .u-sp-fs-14 {
    font-size: fsPxTab(14);
  }
}
@media screen and (max-width: 599px) {
  .u-sp-fs-20 {
    font-size: fsPxSp(20);
  }
  .u-sp-fs-18 {
    font-size: fsPxSp(18);
  }
  .u-sp-fs-16 {
    font-size: fsPxSp(16);
  }
  .u-sp-fs-14 {
    font-size: fsPxSp(14);
  }
}
/* @import "_00_reset";
@import "_01_base";
@import "_02_component";
@import "_03_header";
@import "_04_footer";
@import "_05_side";
@import "_06_post";
@import "_07_page";
@import "_08_home"; *//*# sourceMappingURL=style.css.map */