@charset "UTF-8";
/* CSS Document */

/* =====
 * LAYOUT :: ALL DEVICE
=================================================================== */
.block-index-01 figure {position: relative;}
.block-index-01 figure figcaption {color: #fff;position: absolute;right: 2em;bottom: 1.8em;}
.block-index-01 figure figcaption span {display: block;text-align: right;}
.block-index-01 figure figcaption span:nth-child(1) {font-size: 156.25%;font-weight: bold;}
.block-index-01 figure figcaption span:nth-child(2) {font-size: 87.5%;}
.block-index-02 {padding: 3em 0 9em;position: relative;z-index: 3;}
.nav-style-04 ul li {width: 48.625%;}
.block-index-03 .container {padding: 5em 0;}
.block-index-03 .container h4 {color: var(--codate-color2);font-size: 125%;font-weight: bold;text-align: center;position: relative;z-index: 1;}
.block-index-03 .container h4::after {display: block;content: attr(data-num);color: #fff;font-size: 650%;letter-spacing: 0;position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);z-index: -1;}
.block-index-03 .container h4 + p {font-size: 156.25%;font-weight: bold;text-align: center;letter-spacing: 0.1em;margin: 1.75em 0 2em;}
.block-index-03 .container > div {width: calc(100% - 2.8em);max-width: 1100px;margin: 0.7em auto 0;}
.block-index-03 .container .txt {margin: 0 auto;padding: 2.5em;box-sizing: border-box;border-radius: 0.4em;background: #fff;}
.block-index-03 .container .txt + .txt {margin-top: 3em;}
.block-index-03 .container .txt .ttl-style-02 {padding: 0 0 0 1.5em;}
.block-index-03 .container .txt .ttl-style-02::before {background: linear-gradient(to bottom,#0c6698,#2583b8);left: 0;right: auto;}
.block-index-03 .container .txt .ttl-style-02 h5 {color: var(--codate-color2);font-size: 125%;}
.block-index-03 .container .txt .note {font-size: 75%!important;margin-top: 1.5em;}
.block-index-03 .container .txt .note small {display: block;margin-top: 0.5em;}
.block-index-03 .container .txt .note a {color: var(--default);text-decoration: none;padding-bottom: 0.3em;border-bottom: 1px solid var(--default);}
.block-index-03 #zeh-01 .container {padding-top: 9em;background: var(--codate-grad4);position: relative;z-index: 2;}
.block-index-03 #zeh-01 .container .txt:nth-child(1) {display: flex;flex-wrap: wrap;justify-content: space-between;}
.block-index-03 #zeh-01 .container .txt:nth-child(1) > div:nth-child(1) {width: 47%;}
.block-index-03 #zeh-01 .container .txt:nth-child(1) > div:nth-child(1) p:nth-of-type(1) {color: var(--codate-color3);font-size: 125%;font-weight: bold;margin-top: 1.6em;}
.block-index-03 #zeh-01 .container .txt:nth-child(1) > div:nth-child(1) p:nth-of-type(1) ruby {display: inline-block;padding-bottom: 0.8em;position: relative;}
.block-index-03 #zeh-01 .container .txt:nth-child(1) > div:nth-child(1) p:nth-of-type(1) ruby rt {font-size: 70%;text-align: center;position: absolute;left: 0;right: 0;bottom: 0;}
.block-index-03 #zeh-01 .container .txt:nth-child(1) > div:nth-child(1) p:nth-of-type(2) {font-size: 87.5%;margin-bottom: 0;}
.block-index-03 #zeh-01 .container .txt:nth-child(1) > figure {width: 47%;}
.block-index-03 #zeh-01 .container .txt:nth-child(2) {border-bottom-left-radius: 0;border-bottom-right-radius: 0;}
.block-index-03 #zeh-01 .container .txt:nth-child(2) ul {margin-top: 2em;}
.block-index-03 #zeh-02 .container .txt:nth-child(1) ul li,
.block-index-03 #zeh-01 .container .txt:nth-child(2) ul li {display: flex;flex-wrap: wrap;justify-content: space-between;border-radius: 0.4em;background: #e3eef4;overflow: hidden;}
.block-index-03 #zeh-02 .container .txt:nth-child(1) ul li:nth-child(odd),
.block-index-03 #zeh-01 .container .txt:nth-child(2) ul li:nth-child(odd) {flex-direction: row-reverse;}
.block-index-03 #zeh-02 .container .txt:nth-child(1) ul li + li,
.block-index-03 #zeh-01 .container .txt:nth-child(2) ul li + li {margin-top: 2em;}
.block-index-03 #zeh-02 .container .txt:nth-child(1) ul li div,
.block-index-03 #zeh-01 .container .txt:nth-child(2) ul li div {width: 49%;padding: 2.5em;box-sizing: border-box;}
.block-index-03 #zeh-02 .container .txt:nth-child(1) ul li div p:nth-child(1),
.block-index-03 #zeh-01 .container .txt:nth-child(2) ul li div p:nth-child(1) {color: var(--codate-color2);font-size: 125%;font-weight: bold;line-height: 1;padding: 1.3em 0 0 3em;position: relative;}
.block-index-03 #zeh-02 .container .txt:nth-child(1) ul li div p:nth-child(1) span,
.block-index-03 #zeh-01 .container .txt:nth-child(2) ul li div p:nth-child(1) span {display: block;color: #72aacf;font-size: 187.5%;text-align: center;line-height: 1;position: absolute;left: 0;bottom: -0.15em;}
.block-index-03 #zeh-02 .container .txt:nth-child(1) ul li div p:nth-child(1) span small,
.block-index-03 #zeh-01 .container .txt:nth-child(2) ul li div p:nth-child(1) span small {display: block;font-size: 42.6%;line-height: 1;}
.block-index-03 #zeh-02 .container .txt:nth-child(1) ul li div p:nth-child(2),
.block-index-03 #zeh-01 .container .txt:nth-child(2) ul li div p:nth-child(2) {font-size: 87.5%;margin-top: 1.5em;}
.block-index-03 #zeh-02 .container .txt:nth-child(1) ul li figure,
.block-index-03 #zeh-01 .container .txt:nth-child(2) ul li figure {position: relative;width: 51%;max-width: 520px;}
.block-index-03 #zeh-02 .container .txt:nth-child(1) ul li figure.icon_01::before {content: "";position: absolute;top: 0;left: 0;width: 40%;max-width: 220px;aspect-ratio: 1 / 1;background: transparent url("../img/img_10_icon.webp") no-repeat 50% / contain;}
.block-index-03 #zeh-02 .container .txt:nth-child(1) ul li figure.icon_02::before {content: "";position: absolute;top: 0;right: 0;width: 40%;max-width: 220px;aspect-ratio: 1 / 1;background: transparent url("../img/img_11_icon.webp") no-repeat 50% / contain;}
.block-index-03 #zeh-02 .container .txt:nth-child(1) ul li figure.icon_03::before {content: "";position: absolute;top: 0;left: 0;width: 40%;max-width: 220px;aspect-ratio: 1 / 1;background: transparent url("../img/img_12_icon.webp") no-repeat 50% / contain;}
.block-index-03 #zeh-01 .container .txt:nth-child(3) {margin-top: 0;padding: 3em;background: var(--codate-grad2);border-top-left-radius: 0;border-top-right-radius: 0;position: relative;}
.block-index-03 #zeh-01 .container .txt:nth-child(3)::after {display: block;content: '';width: 3em;height: 3em;background: url("../img/icon_01.svg") no-repeat center/contain;position: absolute;top: 0;left: 50%;transform: translate(-50%,-50%);}
.block-index-03 #zeh-01 .container .txt:nth-child(3) > div {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;}
.block-index-03 #zeh-01 .container .txt:nth-child(3) div div {color: #fff;width: 49%;max-width: 470px;margin: 0 auto;}
.block-index-03 #zeh-01 .container .txt:nth-child(3) div div p:nth-child(1) {font-size: 156.25%;font-weight: bold;margin: 0;}
.block-index-03 #zeh-01 .container .txt:nth-child(3) div div p:nth-child(1)::after {display: block;content: '';width: 2.5em;height: 2px;margin: 0.75em 0;background: var(--codate-color3);}
.block-index-03 #zeh-01 .container .txt:nth-child(3) div div p:nth-child(2) {font-size: 87.5%;}
.block-index-03 #zeh-01 .container .txt:nth-child(3) div figure {width: 49%;}
.block-index-03 #zeh-02 .container {background: var(--codate-grad6);position: relative;z-index: 1;}
.block-index-03 #zeh-02 .container .txt:nth-child(1) ul li div p:nth-child(1) {padding-left: 4em;}
/* =====
* LAYOUT :: PC
=================================================================== */
@media only screen and (min-width: 1025px) {}
@media only screen and (min-width: 769px) {
  .block-index-03 #zeh-02 .container .txt:nth-child(1) ul li figure img {height: 100%;object-fit: cover;}
}
/* =====
* LAYOUT :: TAB
=================================================================== */
@media only screen and (max-width: 1024px) {}
/* =====
* LAYOUT :: SP
=================================================================== */
@media only screen and (max-width: 768px) {
  .block-common-mv {z-index: 4;}
  .block-index-01 figure {height: 16em;}
  .block-index-01 figure img {height: 100%;object-fit: cover;object-position: -5em;}
  .block-index-01 figure figcaption {text-shadow: 0 0 4px rgba(0,0,0,0.4);right: 1em;bottom: 0.7em;}
  .block-index-01 figure figcaption span:nth-child(1) {font-size: 137.5%;}  
  .block-index-02 {padding: 2em 0 4.5em;}
  .block-index-03 .container {padding: 4em 0 3em;}
  .block-index-03 .container h4 + p {font-size: 137.5%;margin-bottom: 1em;}
  .block-index-03 .container > div {margin-top: 0;}
  .block-index-03 .container .txt {padding: 5vw;}
  .block-index-03 .container .txt + .txt {margin-top: 1.5em;}
  .block-index-03 .container .txt .ttl-style-02 h5 {font-size: 137.5%;}
  .block-index-03 #zeh-01 .container {padding-top: 6em;}
  .block-index-03 #zeh-01 .container .txt:nth-child(1) > div:nth-child(1) {width: 100%;}
  .block-index-03 #zeh-01 .container .txt:nth-child(1) > figure {width: 100%;margin-top: 1.5em;}
  .block-index-03 #zeh-01 .container .txt:nth-child(1) > div:nth-child(1) p:nth-of-type(1) {font-size: 137.5%;margin: 1em 0 0.5em;}
  .block-index-03 #zeh-01 .container .txt:nth-child(1) > div:nth-child(1) p:nth-of-type(2) {font-size: 100%;}
  .block-index-03 #zeh-01 .container .txt:nth-child(2) ul {margin-top: 1.5em;}
  .block-index-03 #zeh-02 .container .txt:nth-child(1) ul li div,
  .block-index-03 #zeh-01 .container .txt:nth-child(2) ul li div {width: 100%;padding: 1.5em;}
  .block-index-03 #zeh-02 .container .txt:nth-child(1) ul li figure,
  .block-index-03 #zeh-01 .container .txt:nth-child(2) ul li figure {width: 100%;max-width: 100%;}
  .block-index-03 #zeh-02 .container .txt:nth-child(1) ul li div p:nth-child(2),
  .block-index-03 #zeh-01 .container .txt:nth-child(2) ul li div p:nth-child(2) {font-size: 100%;}
  .block-index-03 #zeh-01 .container .txt:nth-child(3) {padding: 5vw;}
  .block-index-03 #zeh-01 .container .txt:nth-child(3) div div {width: 100%;max-width: 100%;}
  .block-index-03 #zeh-01 .container .txt:nth-child(3) div div p:nth-child(1) {font-size: 137.5%;}
  .block-index-03 #zeh-01 .container .txt:nth-child(3) div div p:nth-child(2) {font-size: 100%;}
  .block-index-03 #zeh-01 .container .txt:nth-child(3) div figure {width: 100%;margin-top: 1.5em;}
}
@media only screen and (max-width: 768px) and (orientation: landscape) {}
@media only screen and (max-width: 640px) {}
@media only screen and (max-width: 480px) {}