@charset "UTF-8";
html, body, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {
  vertical-align: baseline;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 62.5%;
  color: #173e88;
}

@media screen and (min-width: 1024px) {
  [id]::before {
    content: "";
    display: block;
    height: 120px;
    margin-top: -80px;
    visibility: hidden;
  }
}
body {
  background-color: #f6f8fb;
}

main {
  display: block;
}

img {
  max-width: 100%;
  height: auto;
}

.mvWrap {
  position: relative;
  z-index: 0;
}
.mvWrap .txt {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50%;
  height: 100%;
  margin: auto 25%;
  z-index: 1;
}
.mvWrap .slider {
  position: relative;
  width: calc(100% - 60px);
  height: 600px;
  margin: auto 30px;
}
.mvWrap .slide {
  position: absolute;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1s ease;
  border-radius: 10px;
}
.mvWrap .slide.active {
  opacity: 1;
}
.mvWrap .slideImg01 {
  background: url(../image/slide_img01.jpg) center/cover;
}
.mvWrap .slideImg02 {
  background: url(../image/slide_img02.jpg) center/cover;
}
.mvWrap .slideImg03 {
  background: url(../image/slide_img03.jpg) center/cover;
}
.mvWrap .pagination {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
}
.mvWrap .dot {
  display: none;
  width: 12px;
  height: 12px;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: background 0.3s;
}
.mvWrap .dot.active {
  background: white;
}

header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width: 1024px) {
  header h1 a {
    transition: opacity 0.2s;
  }
  header h1 a:hover {
    opacity: 0.5;
  }
  header .head {
    transition: padding 0.2s;
  }
  header.scrolled {
    position: fixed;
    background-color: #fff;
    width: 100%;
    z-index: 999;
  }
  header.scrolled .head {
    padding: 15px 30px;
  }
}
header .head {
  padding: 32px 30px;
}
header a {
  display: inline-block;
  text-decoration: none;
  font-size: 1.5rem;
  transition: color 0.2s;
}
header a:hover {
  color: #18ba74;
}

.globalMenuSp {
  padding-right: 30px;
}
.globalMenuSp ul {
  display: flex;
  align-items: center;
}
.globalMenuSp li:not(:last-child) {
  margin-right: 35px;
}
.globalMenuSp .recruit a {
  display: flex;
  align-items: center;
  text-align: center;
  font-size: 1.6rem;
  color: #fff;
  background-color: #173e88;
  padding: 15px 30px;
  border-radius: 50px;
}
@media screen and (min-width: 1024px) {
  .globalMenuSp .recruit a {
    transition: background-color 0.2s;
  }
  .globalMenuSp .recruit a:hover {
    background-color: #18ba74;
  }
}
.globalMenuSp .recruit img {
  margin-right: 10px;
}

footer .recruit .inner {
  background: url(../image/footer_recruit_bg.jpg) center/cover;
  text-align: center;
  width: calc(100% - 60px);
  padding: 60px 30px 50px 30px;
  margin: 0 auto;
  border-radius: 10px 10px 0 0;
}
footer .recruit * {
  color: #fff;
}
footer .recruit h3 span {
  display: block;
  margin: 20px 0 0 0;
}
footer .recruit p {
  margin-bottom: 35px;
  line-height: 2;
}
footer .recruit .btnCont a {
  color: #18ba74;
  background-color: #fff;
}
@media screen and (min-width: 1024px) {
  footer .recruit .btnCont a {
    transition: opacity 0.2s;
  }
  footer .recruit .btnCont a:hover {
    opacity: 0.5;
  }
}
footer .contactWrap {
  background-color: #173e88;
  background: url(../image/footer_bg.png) center/cover;
}
footer .contactWrap *:not(a) {
  color: #fff;
}
footer .contact {
  display: flex;
  flex-wrap: wrap;
  width: 1000px;
  padding: 70px 0;
  margin: 0 auto;
}
footer .contact > div {
  width: 400px;
}
footer .contact dl {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% - 400px);
  border-top: 1px solid #fff;
}
footer .contact dt {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.2rem;
  width: 145px;
  padding: 30px 25px;
  border-bottom: 1px solid #fff;
}
footer .contact dd {
  width: calc(100% - 145px);
  padding: 25px 25px 30px 0;
  border-bottom: 1px solid #fff;
}
footer .contact dd p {
  font-size: 1.4rem;
  font-weight: 500;
}
footer .contact dd p br {
  display: none;
}
footer .contact dd p a {
  color: #fff;
}
footer .contact dd .tel {
  font-family: "Century Gothic", "Apple Gothic", "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 1.9rem;
  font-weight: bold;
  margin-bottom: 10px;
}
footer .contact dd .tel span {
  font-family: inherit;
  font-size: 2.9rem;
  font-weight: inherit;
  margin-left: 5px;
}
footer .contact h3 {
  font-size: 5rem;
}
footer .menu {
  text-align: center;
  background-color: rgba(255, 255, 255, 0.1);
  padding: 30px;
}
footer .menu ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 20px;
}
footer .menu li {
  list-style: none;
  border-left: 1px solid #fff;
  padding: 0 25px;
}
footer .menu li:last-of-type {
  border-right: 1px solid #fff;
}
footer .menu a {
  display: block;
  color: #fff;
  font-size: 1.3rem;
  text-decoration: none;
}
@media screen and (min-width: 1024px) {
  footer .menu a {
    transition: opacity 0.2s;
  }
  footer .menu a:hover {
    opacity: 0.5;
  }
}

section {
  padding: 100px 0;
}
section + section {
  padding-top: 0;
}
section.bgWrap {
  padding: 100px 0;
  background: url(../image/section_bg01.png) center top/cover;
}
section.bgWrap + section {
  padding-top: 100px;
}
section img {
  border-radius: 10px;
}
section.secAnker p {
  text-align: center;
}
section.secAnker a {
  display: inline-block;
  color: #fff;
  text-decoration: none;
  background-color: #173e88;
  padding: 10px 30px;
  border-radius: 50px;
  margin-bottom: 10px;
}
section.secAnker a:not(:last-child) {
  margin-right: 10px;
}
@media screen and (min-width: 1024px) {
  section.secAnker a {
    transition: background-color 0.2s;
  }
  section.secAnker a:hover {
    background-color: #18ba74;
    opacity: 1;
  }
}
section.secProdcts h3 span {
  font-size: 2rem;
}
section.secPrivacy h4 {
  font-weight: 700;
  border-bottom: 1px solid #173e88;
  padding: 0 10px 15px 10px;
  margin-bottom: 20px;
}
section.secPrivacy p {
  padding: 0 10px;
}
section.secPrivacy p + h4 {
  margin-top: 50px;
}
section.secPrivacy .inner > ul {
  margin: 0 20px;
}
section.secPrivacy .inner > ul + h4 {
  margin-top: 50px;
}
section.sec404 h4 {
  font-weight: 700;
  margin-bottom: 20px;
  text-align: center;
}
section.sec404 p {
  text-align: center;
}

h3 {
  font-size: 7rem;
  font-weight: 900;
}
h3:not(:last-child) {
  margin-bottom: 30px;
}
h3 span {
  font-size: 1.5rem;
  margin-left: 15px;
  letter-spacing: 0.1rem;
}
h3.num {
  font-family: "Century Gothic", "Apple Gothic", "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}

h4 {
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0.2rem;
}

p {
  font-size: 1.5rem;
  line-height: 1.7;
  letter-spacing: 0.2rem;
}
p a {
  font-size: inherit;
  color: #18ba74;
  text-decoration: underline;
  letter-spacing: inherit;
}
@media screen and (min-width: 1024px) {
  p a {
    transition: opacity 0.2s;
  }
  p a:hover {
    opacity: 0.5;
  }
}

ul li {
  font-size: 1.5rem;
  letter-spacing: 0.2rem;
}

dl dt, dl dd {
  font-size: 1.5rem;
  letter-spacing: 0.2rem;
  border-bottom: 1px solid #173e88;
  padding: 40px 25px;
}
dl a {
  color: #18ba74;
  text-decoration: underline;
  font-size: inherit;
}
@media screen and (min-width: 1024px) {
  dl a {
    transition: opacity 0.2s;
  }
  dl a:hover {
    opacity: 0.5;
  }
}

dl.default {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #173e88;
}
dl.default dt {
  font-weight: 700;
  width: 170px;
}
dl.default dd {
  width: calc(100% - 170px);
  line-height: 1.7;
}
dl.default dd p {
  line-height: 1.7;
}
dl.default dd p:not(:last-child) {
  margin-bottom: 20px;
}

dl.history {
  display: flex;
  flex-wrap: wrap;
  z-index: 0;
  border-top: 1px solid #c9d3e4;
}
dl.history dt {
  position: relative;
  width: 190px;
  font-size: 4rem;
  font-family: "Century Gothic", "Apple Gothic", "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: bold;
  padding: 21px 30px;
  border-bottom: 1px solid #c9d3e4;
}
dl.history dt:before {
  position: absolute;
  content: "";
  top: -1px;
  right: 15px;
  width: 1px;
  height: calc(100% + 2px);
  background-color: #173e88;
  z-index: 1;
}
dl.history dt:after {
  position: absolute;
  content: "";
  top: 34px;
  right: 7px;
  width: 16px;
  height: 16px;
  background-color: #18ba74;
  border-radius: 50%;
  z-index: 2;
}
dl.history dd {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: calc(100% - 190px);
  border-bottom: 1px solid #c9d3e4;
  padding: 30px;
}
dl.history dd span:not(:last-of-type), dl.history dd p:not(:last-of-type) {
  margin-bottom: 25px;
}
dl.history dd span {
  display: inline-block;
  font-size: 1.9rem;
  font-weight: 700;
  width: 180px;
  padding-right: 15px;
}
dl.history dd p {
  width: calc(100% - 180px);
}

.inner {
  width: 1000px;
  margin: 0 auto;
}
.inner .btnCont:not(:first-child) {
  margin-top: 30px;
}

.btnCont {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.btnCont a {
  display: inline-block;
  min-width: 200px;
  font-size: 1.5rem;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background-color: #173e88;
  border-radius: 50px;
  padding: 15px 20px;
  margin-bottom: 10px;
}
.btnCont a:not(:nth-child(4n)) {
  margin-right: 10px;
}
@media screen and (min-width: 1024px) {
  .btnCont a {
    transition: background-color 0.2s;
  }
  .btnCont a:hover {
    background-color: #18ba74;
  }
}

.accordionHead {
  position: relative;
  color: #173e88;
  font-size: 1.5rem;
  font-weight: 700;
  background-color: #d1dcec;
  cursor: pointer;
  border-radius: 10px;
  padding: 20px 25px;
  margin-bottom: 20px;
}
.accordionHead:after {
  content: "";
  position: absolute;
  right: 25px;
  top: 50%;
  width: 6px;
  height: 6px;
  transform: rotate(45deg) translateY(-50%);
  border-right: 2px solid #173e88;
  border-bottom: 2px solid #173e88;
  transition: transform 0.3s ease;
}
.accordionHead.active:after {
  transform: rotate(-135deg);
}
.accordionHead span {
  font-size: 1.3rem;
  margin-left: 5px;
}

.accordionCont {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.7s ease;
  padding: 0 20px;
}
.accordionCont.open {
  max-height: fit-content;
}
.accordionCont ul {
  width: 49%;
  list-style: none;
}
.accordionCont li {
  position: relative;
  padding-left: 20px;
}
.accordionCont li:before {
  position: absolute;
  content: "・";
  top: 0;
  left: 0;
}
.accordionCont li:not(:last-child) {
  margin-bottom: 15px;
}
.accordionCont li a {
  color: #173e88;
  text-decoration: none;
}

.topAbout .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.topAbout .txt {
  width: 780px;
}
.topAbout .btnCont {
  width: calc(100% - 800px);
  margin-top: 0;
}

.topProducts ul {
  border-top: 1px solid #173e88;
  counter-reset: item;
  list-style: none;
  padding-left: 0;
  margin-bottom: 30px;
}
.topProducts li {
  position: relative;
  counter-increment: item;
  border-bottom: 1px solid #173e88;
  list-style: none;
}
.topProducts li:hover {
  cursor: pointer;
}
@media screen and (min-width: 1024px) {
  .topProducts li:hover:before {
    color: #18ba74;
  }
}
.topProducts li:before {
  content: counter(item, decimal-leading-zero);
  position: absolute;
  top: 50%;
  left: 30px;
  font-family: "Century Gothic", "Apple Gothic", "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 3.3rem;
  font-weight: bold;
  transform: translateY(-50%);
  transition: color 0.2s;
}
.topProducts li a {
  position: relative;
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  text-decoration: none;
  padding: 40px 30px 40px 100px;
}
@media screen and (min-width: 1024px) {
  .topProducts li a {
    transition: color 0.2s;
  }
  .topProducts li a:hover {
    color: #18ba74;
  }
  .topProducts li a:hover:before {
    background-color: #18ba74;
  }
}
.topProducts li a:before {
  position: absolute;
  content: "";
  top: 50%;
  right: 30px;
  width: 26px;
  height: 26px;
  background-color: #173e88;
  transform: translateY(-50%);
  border-radius: 50%;
  transition: background-color 0.2s;
}
.topProducts li a:after {
  position: absolute;
  content: "";
  top: 50%;
  right: 40px;
  width: 6px;
  height: 6px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

.topicsList ul {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
.topicsList li {
  list-style: none;
  width: calc((100% - 70px) / 3);
  filter: drop-shadow(0 0 7px rgba(23, 62, 136, 0.1));
  margin-bottom: 35px;
}
.topicsList li:not(:nth-child(3n)) {
  margin-right: 35px;
}
@media screen and (min-width: 1024px) {
  .topicsList li {
    transition: opacity 0.2s;
  }
  .topicsList li:hover {
    opacity: 0.5;
  }
}
.topicsList li a {
  display: block;
  height: 100%;
  background-color: #fff;
  border-radius: 10px;
  text-decoration: none;
}
.topicsList li p {
  word-break: break-all;
  overflow-wrap: break-word;
  text-decoration: underline;
}
.topicsList .ttl {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: calc(100% - 200px);
  padding: 20px 25px 30px 25px;
}
.topicsList .thumb {
  display: block;
  width: 100%;
  height: 200px;
  background: url(../image/topics_bg.png) center/cover;
  border-radius: 10px 10px 0 0;
}
.topicsList .date {
  position: relative;
  display: block;
  font-family: "Century Gothic", "Apple Gothic", "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: right;
  padding: 15px 35px 0 15px;
}
.topicsList .date:before {
  position: absolute;
  content: "";
  top: 12px;
  right: 0;
  width: 26px;
  height: 26px;
  background-color: #173e88;
  border-radius: 50%;
  transition: background-color 0.2s;
}
.topicsList .date:after {
  position: absolute;
  content: "";
  top: 21px;
  right: 10px;
  width: 6px;
  height: 6px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}

.navigation h2 {
  display: none;
}
.navigation .nav-links {
  display: flex;
  justify-content: center;
}
.navigation .page-numbers {
  text-decoration: none;
}
.navigation .page-numbers li {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 46px;
  height: 46px;
  aspect-ratio: 1/1;
  margin: 0 5px;
}
.navigation .page-numbers li:hover {
  opacity: 1;
}
.navigation .page-numbers li a, .navigation .page-numbers li span.current {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  font-size: 1.5rem;
  color: #fff;
  text-align: center;
  border-radius: 50%;
}
.navigation .page-numbers li a {
  background-color: #173e88;
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .navigation .page-numbers li a {
    transition: background-color 0.2s;
  }
  .navigation .page-numbers li a:hover {
    background-color: #9faeca;
  }
}
.navigation .page-numbers li span.current {
  background-color: #9faeca;
  aspect-ratio: 1/1;
}
.navigation .prev {
  font-size: 2rem;
  font-weight: 300;
}
.navigation .next {
  font-size: 2rem;
  font-weight: 300;
}
.navigation .dots {
  color: #173e88;
  background-color: unset;
  margin: 0;
}

.pageTtl {
  width: calc(100% - 60px);
  background: url(../image/pagettl_bg.jpg) center/cover;
  height: 300px;
  margin: 0 30px;
  border-radius: 10px;
}
.pageTtl .inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.pageTtl h2 {
  color: #fff;
  font-size: 4.5rem;
  font-weight: 900;
  margin-bottom: 15px;
}
.pageTtl span {
  color: #fff;
  font-size: 1.8rem;
  letter-spacing: 0.4rem;
}

.pankuzuWrap {
  padding: 20px 0 0 0;
}
.pankuzuWrap span {
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.2rem;
}
.pankuzuWrap a {
  text-decoration: none;
}
@media screen and (min-width: 1024px) {
  .pankuzuWrap a span {
    transition: color 0.2s;
  }
  .pankuzuWrap a span:hover {
    color: #18ba74;
  }
}

.breadcrumbs > span:not(:last-child):after {
  content: "／";
  margin: 0 15px;
}

.secArt ul > li, .secPrivacy ul > li {
  position: relative;
  line-height: 1.4;
  padding-left: 18px;
}
.secArt ul > li:not(:last-child), .secPrivacy ul > li:not(:last-child) {
  margin-bottom: 10px;
}
.secArt ul > li:before, .secPrivacy ul > li:before {
  position: absolute;
  content: "";
  width: 5px;
  height: 5px;
  top: 8px;
  left: 5px;
  background-color: #18ba74;
  border-radius: 50%;
}
.secArt ul > li ul, .secPrivacy ul > li ul {
  margin-top: 7px;
}
.secArt ul > li ul li:not(:last-child), .secPrivacy ul > li ul li:not(:last-child) {
  margin-bottom: 3px;
}
.secArt ul > li ol, .secPrivacy ul > li ol {
  margin-top: 15px;
}
.secArt ul > li ol > li:not(:last-child), .secPrivacy ul > li ol > li:not(:last-child) {
  margin-bottom: 15px;
}
.secArt ul > li ol > li:before, .secPrivacy ul > li ol > li:before {
  top: -3px;
}
.secArt ol > li, .secPrivacy ol > li {
  position: relative;
  counter-increment: number;
  line-height: 1.4;
  padding-left: 35px;
}
.secArt ol > li:not(:last-child), .secPrivacy ol > li:not(:last-child) {
  margin-bottom: 20px;
}
.secArt ol > li:before, .secPrivacy ol > li:before {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  content: counter(number);
  font-size: 1.3rem;
  line-height: 1;
  top: -5px;
  left: 3px;
  width: 25px;
  height: 25px;
  background-color: #d1dcec;
}
.secArt ol > li ul, .secPrivacy ol > li ul {
  margin-top: 7px;
}
.secArt ol > li ul li:not(:last-child), .secPrivacy ol > li ul li:not(:last-child) {
  margin-bottom: 3px;
}
.secArt li, .secPrivacy li {
  list-style: none;
  font-size: 1.5rem;
}
.secArt p:not(:last-child), .secArt ul:not(:last-child), .secArt ol:not(:last-child), .secArt figure:not(:last-child), .secArt h5:not(:last-child), .secArt h6:not(:last-child), .secPrivacy p:not(:last-child), .secPrivacy ul:not(:last-child), .secPrivacy ol:not(:last-child), .secPrivacy figure:not(:last-child), .secPrivacy h5:not(:last-child), .secPrivacy h6:not(:last-child) {
  margin-bottom: 20px;
}
.secArt p strong, .secArt p em, .secArt p s, .secArt ul strong, .secArt ul em, .secArt ul s, .secArt ol strong, .secArt ol em, .secArt ol s, .secArt figure strong, .secArt figure em, .secArt figure s, .secArt h5 strong, .secArt h5 em, .secArt h5 s, .secArt h6 strong, .secArt h6 em, .secArt h6 s, .secPrivacy p strong, .secPrivacy p em, .secPrivacy p s, .secPrivacy ul strong, .secPrivacy ul em, .secPrivacy ul s, .secPrivacy ol strong, .secPrivacy ol em, .secPrivacy ol s, .secPrivacy figure strong, .secPrivacy figure em, .secPrivacy figure s, .secPrivacy h5 strong, .secPrivacy h5 em, .secPrivacy h5 s, .secPrivacy h6 strong, .secPrivacy h6 em, .secPrivacy h6 s {
  font-size: inherit;
}
.secArt p a, .secArt ul a, .secArt ol a, .secArt figure a, .secArt h5 a, .secArt h6 a, .secPrivacy p a, .secPrivacy ul a, .secPrivacy ol a, .secPrivacy figure a, .secPrivacy h5 a, .secPrivacy h6 a {
  font-size: inherit;
  text-decoration: underline;
  color: #18ba74;
}
@media screen and (min-width: 1024px) {
  .secArt p a, .secArt ul a, .secArt ol a, .secArt figure a, .secArt h5 a, .secArt h6 a, .secPrivacy p a, .secPrivacy ul a, .secPrivacy ol a, .secPrivacy figure a, .secPrivacy h5 a, .secPrivacy h6 a {
    transition: opacity 0.2s;
  }
  .secArt p a:hover, .secArt ul a:hover, .secArt ol a:hover, .secArt figure a:hover, .secArt h5 a:hover, .secArt h6 a:hover, .secPrivacy p a:hover, .secPrivacy ul a:hover, .secPrivacy ol a:hover, .secPrivacy figure a:hover, .secPrivacy h5 a:hover, .secPrivacy h6 a:hover {
    opacity: 0.5;
  }
}
.secArt p + h5, .secArt p + h6, .secArt ul + h5, .secArt ul + h6, .secArt ol + h5, .secArt ol + h6, .secArt figure + h5, .secArt figure + h6, .secArt h5 + h5, .secArt h5 + h6, .secArt h6 + h5, .secArt h6 + h6, .secPrivacy p + h5, .secPrivacy p + h6, .secPrivacy ul + h5, .secPrivacy ul + h6, .secPrivacy ol + h5, .secPrivacy ol + h6, .secPrivacy figure + h5, .secPrivacy figure + h6, .secPrivacy h5 + h5, .secPrivacy h5 + h6, .secPrivacy h6 + h5, .secPrivacy h6 + h6 {
  margin-top: 30px;
}
.secArt ul:not(:last-child), .secArt ol:not(:last-child), .secPrivacy ul:not(:last-child), .secPrivacy ol:not(:last-child) {
  margin-bottom: 30px;
}

.secArt .inner {
  background-color: #fff;
  border-radius: 10px;
  padding: 0 50px 50px 50px;
  margin-bottom: 30px;
}
.secArt .ttl {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  margin-bottom: 45px;
}
.secArt .ttl .date {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 110px;
  color: #fff;
  font-family: "Century Gothic", "Apple Gothic", "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
  padding: 25px 16px 16px 16px;
  background-color: #173e88;
}
.secArt .ttl .date span {
  display: block;
  color: inherit;
  font-size: 3rem;
  font-family: inherit;
  font-weight: inherit;
}
.secArt .ttl h4 {
  display: flex;
  align-items: flex-end;
  font-weight: 700;
  width: calc(100% - 130px);
  border-bottom: 1px solid #173e88;
  padding: 20px 10px;
}
.secArt h5 {
  font-size: 1.75rem;
  background-color: #d1dcec;
  padding: 15px 20px;
}
.secArt h6 {
  font-size: 1.75rem;
}
.secArt figcaption {
  font-size: 1.3rem;
  margin-top: 10px;
}
.secArt table {
  width: 100%;
  border-top: 1px solid #173e88;
}
.secArt table tr {
  border-bottom: 1px solid #173e88;
}
.secArt table th, .secArt table td {
  font-size: 1.5rem;
  line-height: 1.5;
  padding: 40px 25px;
}
.secArt table td a {
  font-size: inherit;
  color: #18ba74;
}
@media screen and (min-width: 1024px) {
  .secArt table td a {
    transition: opacity 0.2s;
  }
  .secArt table td a:hover {
    opacity: 0.5;
  }
}

.articleLink {
  display: flex;
  justify-content: center;
  width: 1000px;
  margin: 0 auto;
}
.articleLink > div {
  width: calc((100% - 30px) / 4);
}
.articleLink > div:not(:last-child) {
  margin-right: 10px;
}
.articleLink a {
  display: block;
  color: #fff;
  font-size: 1.5rem;
  text-align: center;
  text-decoration: none;
  background-color: #173e88;
  padding: 15px 20px;
  border-radius: 50px;
  transition: background-color 0.2s;
}
@media screen and (min-width: 1024px) {
  .articleLink a {
    transition: color 0.2s;
  }
  .articleLink a:hover {
    background-color: #18ba74;
  }
}
.articleLink .previous a:after {
  content: "＞";
  margin-left: 5px;
}
.articleLink .next a:before {
  content: "＜";
  margin-right: 5px;
}

.productsWrap {
  display: flex;
  flex-wrap: wrap;
}
.productsWrap .item {
  width: calc((100% - 108px) / 4);
  background-color: #fff;
  border-radius: 10px;
  margin-bottom: 36px;
}
.productsWrap .item:not(:nth-child(4n)) {
  margin-right: 36px;
}
.productsWrap .item figure {
  font-size: 0;
  margin-bottom: 10px;
}
.productsWrap .item figure img {
  border-radius: 10px 10px 0 0;
}
.productsWrap .item h4 {
  font-size: 1.6rem;
  font-weight: 700;
  padding-bottom: 10px;
  margin: 0 20px;
  border-bottom: 1px solid #173e88;
}
.productsWrap .item ul {
  margin: 15px 20px 25px 20px;
}
.productsWrap .item li {
  position: relative;
  font-size: 1.3rem;
  line-height: 1.5;
  list-style: none;
  padding-left: 15px;
}
.productsWrap .item li:not(:last-child) {
  margin-bottom: 5px;
}
.productsWrap .item li:before {
  position: absolute;
  content: "";
  top: 7px;
  left: 0;
  width: 5px;
  height: 5px;
  background-color: #18ba74;
  border-radius: 50%;
}
.productsWrap .item li a {
  font-size: inherit;
  text-decoration: none;
}
@media screen and (min-width: 1024px) {
  .productsWrap .item li a {
    transition: color 0.2s;
  }
  .productsWrap .item li a:hover {
    color: #18ba74;
  }
}

.charaWrap .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.charaWrap.bgWrap .inner {
  flex-direction: row-reverse;
}
.charaWrap .btnCont {
  width: 100%;
}
.charaWrap .txt {
  width: 50%;
}
.charaWrap figure {
  width: 450px;
}
.charaWrap h4 {
  font-weight: 700;
  margin-bottom: 20px;
}

.qualityWrap {
  position: relative;
  padding-bottom: 45px;
}
.qualityWrap:before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 50%;
  height: 70%;
  border-radius: 0 10px 0 0;
  background: url(../image/about/phbg01.jpg) center/cover;
  z-index: -1;
}
.qualityWrap .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.qualityWrap .ph {
  width: 460px;
}
.qualityWrap .txt {
  width: 425px;
}
.qualityWrap .txt .name {
  text-align: right;
  margin-top: 30px;
}

.listWrap {
  padding: 100px 0;
  background: url(../image/section_bg01.png) center top/cover;
  counter-reset: item-counter;
}
.listWrap .listInner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 1000px;
  margin: 0 auto;
}
.listWrap .listCont {
  position: relative;
  width: calc((100% - 40px) / 2);
  min-height: 210px;
  max-height: max-content;
  background-color: #fff;
  border-radius: 10px;
  padding: 30px 30px 35px 130px;
  counter-increment: item-counter;
}
.listWrap .listCont:nth-child(odd) {
  margin-bottom: 40px;
}
.listWrap .listCont:nth-child(even) {
  margin-top: 40px;
}
.listWrap .listCont:last-child {
  margin-bottom: 40px;
}
.listWrap .listCont h4 {
  font-weight: 700;
  margin-bottom: 15px;
}
.listWrap .listCont:before {
  position: absolute;
  content: counter(item-counter, decimal-leading-zero);
  top: 39px;
  left: 30px;
  width: 70px;
  font-family: "Century Gothic", "Apple Gothic", "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  color: #fff;
  font-size: 4rem;
  font-weight: bold;
  text-align: center;
  z-index: 2;
}
.listWrap .listCont:after {
  position: absolute;
  content: "";
  top: 25px;
  left: 30px;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background-color: #18ba74;
  z-index: 1;
}

#overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #173e88;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

/* 丸3つのコンテナ */
.balls {
  display: flex;
  gap: 20px;
}

/* 丸 */
.ball {
  width: 10px;
  height: 10px;
  background-color: #fff;
  border-radius: 50%;
  animation: bounce 0.6s ease-in-out infinite;
  /* それぞれの玉に遅延をつける */
}
.ball:nth-child(1) {
  animation-delay: 0s;
}
.ball:nth-child(2) {
  animation-delay: 0.2s;
}
.ball:nth-child(3) {
  animation-delay: 0.4s;
}

/* ぽよぽよバウンスアニメーション */
@keyframes bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
}
/* フェードアウト用 */
.fadeOut {
  animation: fadeOutAnim 1s forwards;
}

@keyframes fadeOutAnim {
  to {
    opacity: 0;
    visibility: hidden;
  }
}