.m-breadcrumb {
  min-width: 1140px;
  background: #f8f8f8;
  color: #333;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 400;
  text-align: left;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.m-breadcrumb__in {
  display: flex;
  align-items: center;
  max-width: 1600px;
  height: 40px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 0 clamp(20px, calc(20px + 40 * (100vw - 1155px) / 225), 60px);
}

.m-breadcrumb ol {
  display: flex;
}

.m-breadcrumb ol > li {
  position: relative;
  font-size: 12px;
  line-height: 1.1;
}

.m-breadcrumb ol > li:first-child::before {
  content: '';
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  width: 1px;
  height: 23px;
  background: #d9d9d9;
}

.m-breadcrumb ol > li:first-child a {
  display: inline-block;
  position: relative;
  padding: 0 15px 0 20px;
  color: inherit;
  text-decoration: none;
}

.m-breadcrumb ol > li:first-child a::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 3px;
  width: 15px;
  height: 15px;
  background-image: url(/common/images_202309/sprite_2x.webp);
  background-repeat: no-repeat;
  background-position: -445px -286px;
  background-size: 732px 700px;
}

.m-breadcrumb ol > li:first-child a > span {
  display: inline-block;
  padding: 5px 0;
}

.m-breadcrumb ol > li:last-child {
  padding-left: 15px;
}

.m-breadcrumb ol > li:last-child > span {
  display: inline-block;
  padding: 5px 10px;
  background: #000;
  color: #fff;
  font-weight: 700;
}

.m-contents {
  min-width: 1140px;
  color: #333;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 400;
  text-align: left;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.m-head {
  max-width: 1600px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 55px clamp(20px, calc(20px + 40 * (100vw - 1155px) / 225), 60px) 80px;
}

.m-head__in {
  display: flex;
  align-items: center;
  gap: 40px;
}

.m-head__en {
  font-family: 'Satoshi-Variable', sans-serif;
  font-size: 90px;
  font-variation-settings: 'wght' 500;
  font-weight: 500;
  line-height: 1;
}

.m-head__tt {
  padding-top: 5px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 2px;
}

.m-home__in {
  max-width: 1600px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 0 clamp(20px, calc(20px + 40 * (100vw - 1155px) / 225), 60px);
  font-size: 16px;
  line-height: 1.5;
}

.m-home__tt {
  padding: 26px 0;
  border-top: 1px solid #e1e1e1;
  font-weight: 700;
}

.m-home__tt a {
  color: inherit;
  text-decoration: none;
  transition: color 350ms cubic-bezier(.215, .61, .355, 1);
}

@media print, (min-width: 768px) {
  .m-home__tt a:hover,
  .m-home__tt a:active {
    color: #156082;
  }
}

.m-cta {
  background: #f8f8f8;
}

.m-cta__in {
  display: flex;
  align-items: center;
  max-width: 1600px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 15px clamp(20px, calc(20px + 40 * (100vw - 1155px) / 225), 60px);
  font-size: 16px;
  line-height: 1.5;
}

.m-cta__hd {
  flex: 21.89189;
}

.m-cta__bd {
  flex: 78.10811;
}

.m-cta__tt {
  font-weight: 700;
}

.m-cta__cw {
  display: flex;
  gap: 30px;
}

.m-cta__cw__c {
  width: calc((100% - 60px) / 3);
}

.m-cta__bt__ag {
  display: block;
  position: absolute;
  top: 50%;
  width: 15px;
  height: 15px;
  background: #fff;
  -webkit-mask: url(/common/images/icon_arrow01.svg) no-repeat 0 0/contain;
          mask: url(/common/images/icon_arrow01.svg) no-repeat 0 0/contain;
  transition: transform 400ms cubic-bezier(.215, .61, .355, 1) 30ms, background-color 400ms cubic-bezier(.215, .61, .355, 1) 30ms;
}

.m-cta__bt__ag:nth-child(1) {
  transform: translate(0, -50%);
  right: 19px;
}

.m-cta__bt__ag:nth-child(2) {
  transform: translate(-40px, -50%);
  left: 19px;
}

.m-cta__bt > a {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 56px;
  box-sizing: border-box;
  border: 1px solid #156082;
  background: #156082;
  overflow: hidden;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  transition: background-color 350ms cubic-bezier(.215, .61, .355, 1), color 350ms cubic-bezier(.215, .61, .355, 1);
}

@media print, (min-width: 768px) {
  .m-cta__bt > a:hover,
  .m-cta__bt > a:active {
    background-color: transparent;
    color: #156082;
  }
  .m-cta__bt > a:hover .m-cta__bt__ag,
  .m-cta__bt > a:active .m-cta__bt__ag {
    background: #156082;
  }
  .m-cta__bt > a:hover .m-cta__bt__ag:nth-child(1),
  .m-cta__bt > a:active .m-cta__bt__ag:nth-child(1) {
    transform: translate(40px, -50%);
  }
  .m-cta__bt > a:hover .m-cta__bt__ag:nth-child(2),
  .m-cta__bt > a:active .m-cta__bt__ag:nth-child(2) {
    transform: translate(0, -50%);
  }
}

.m-general__in {
  max-width: 1600px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 0 clamp(20px, calc(20px + 40 * (100vw - 1155px) / 225), 60px) 70px;
}

.m-general__sc {
  display: flex;
  padding: 26px 0;
  font-size: 16px;
  line-height: 1.5;
}

.m-general__sc a {
  color: inherit;
  text-decoration: none;
  transition: color 350ms cubic-bezier(.215, .61, .355, 1);
}

@media print, (min-width: 768px) {
  .m-general__sc a:hover,
  .m-general__sc a:active {
    color: #156082;
  }
}

.m-general__sc span.is-window {
  display: inline-block;
  width: 10px;
  height: 8px;
  margin-left: 8px;
  background: #156082;
  -webkit-mask: url(/common/images/icon_window01.svg) 0 0/contain no-repeat;
          mask: url(/common/images/icon_window01.svg) 0 0/contain no-repeat;
  vertical-align: 7%;
}

.m-general__sc__hd {
  flex: 21.89189;
}

.m-general__sc__bd {
  flex: 78.10811;
}

.m-general__sc__tt {
  font-weight: 700;
}

.m-general__sc__cw {
  display: flex;
  gap: 30px;
}

.m-general__sc__cw__c {
  width: calc((100% - 60px) / 3);
}

.m-general__sc__cw__c.is-colspan {
  width: calc((100% - 60px) * 2 / 3 + 30px);
}

.m-general__sc__ad {
  margin-top: 26px;
  padding-top: 26px;
  border-top: 1px solid #e1e1e1;
}

.m-general__sc__pt {
  font-weight: 700;
}

.m-general__sc__pt + .m-general__sc__pt {
  margin-top: 15px;
}

.m-general__sc__pt.has-child {
  margin-bottom: 20px;
}

.m-general__sc__ul {
  margin-left: 30px;
}

.m-general__sc__ul > li > ul {
  margin: 8px 0 0 1em;
}

.m-general__sc__ul > li > ul > li:nth-child(n+2) {
  margin-top: 8px;
}

.m-general__sc__ul > li:nth-child(n+2) {
  margin-top: 8px;
}

.m-general__sc:nth-child(n+2) {
  border-top: 1px solid #e1e1e1;
}
