@charset "utf-8";

body {
  font-size: 15px;
  width: 100%;
  color: #1a1a1a;
  background-color: #fff;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  -webkit-text-size-adjust: 100%;
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  word-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html,
body {
  height: 100%;
  width: 100%;
}

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

.clearfix:after {
  content: " ";
  display: block;
  clear: both;
}

/* ================

    common

================ */
.main__bg {
  background-image: url(../img/main_bg.jpg);
  background-repeat: repeat;
  background-size: 50px 50px;
}
header {
  position: relative;
}
header .logo {
  position: absolute;
  max-width: 300px;
  width: 15.8%;
  margin-left: 4%;
  padding-top: 2%;
}
header .kv {
  margin-inline: auto;
  text-align: center;
}
.inner {
  margin-inline: auto;
  max-width: 1020px;
  width: 86%;
}
footer .footer__logo {
  max-width: 300px;
  width: 29%;
  margin-inline: auto;
  text-align: center;
  margin-top: min(160px,16%);
}
footer .copyright {
  font-family: sans-serif;
  font-weight: 500;
  text-align: center;
  color: rgba(0, 0, 0, .4);
  margin-top: 16px;
}
footer .footer__container {
  width: 90%;
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  border-top: solid #e6e6e6 1px;
  padding-top: min(40px, 4%);
  padding-bottom: min(40px, 4%);
  margin-top: min(40px, 4%);
}
footer .to_school {
  display: flex;
  align-items: center;
  font-family: sans-serif;
  font-weight: 500;
  gap: 24px;
}
footer .to_school li:first-child {
  border-right: 1px solid #1a1a1a ;
  padding-right: 24px;
}
footer .to_school .request_btn a {
  border: solid 1px #1a1a1a;
  border-radius: 100px;
  padding: 10px 24px;
  transition: all 0.3s;
  display: inline-block;
}
footer .to_school .request_btn a:hover {
  background-color: #1a1a1a;
  color: #fff;
  opacity: 1;
}
#kpu a {
  transition: all 0.3s;
}
#kpu a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 599px) {
  header .logo {
    width: 41%;
    margin-left: auto;
    left: 50%;
    translate: -50% 0;
    padding-top: 8%;
  }
  footer .footer__logo { 
    width: 50%;
  }
  footer .copyright {
    font-size: 11px;
    margin-top: 2vw;
  }
  footer .footer__container {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-bottom: 32px;
    margin-top: 12%;
  }
  footer .to_school {
    margin-top: 4vw;
    flex-direction: column;
    align-items: center;
    gap: 4vw;
  }
  footer .to_school li:first-child { 
    border: none;
    padding-right: 0;
  }
}
/* ================

    lead

================ */
.lead__container {
  padding-top: min(80px, 9vw);
  display: flex;
  justify-content: space-between;
}
.lead .lead__txt {
  max-width: 593px;
  width: 58%;
  margin-bottom: min(160px,12%);
}
.lead .lead__txt--pc {
  margin-bottom: 8%;
}
.lead .lead__img {
  width: 35%;
}
.lead .lead__img--img01 {
    max-width: 244px;
    width: 70%;
    margin-right: 6%;
    margin-left: auto;
}
.lead .lead__img--img02 {
    max-width: 182px;
    width: 52.2%;
    margin-right: 0;
    margin-left: auto;
    margin-top: 11%;
}
.lead .lead__img--img03 {
    max-width: 134px;
    width: 39%;
    margin-left: 0;
    margin-right: auto;
    margin-top: -39%;
}
  .lead .lead__txt--sp {
    display: none;
  }

@media screen and (max-width: 599px) {
  .lead .lead__txt--pc {
    display: none;
  }
  .lead .lead__txt--sp {
    display: block;
    width: 84%;
  }
  .lead__container {
    flex-direction: column;
    justify-content: center;
    padding-bottom: 18%;
  }
  .lead .lead__txt,
  .lead .lead__img {
    display: contents;
  }
  .lead .lead__txt01 {
    order: 0;
  }
  .lead .lead__img--img01 {
    order: 1;
    width: 51%;
    margin-inline: auto;
    margin-top: 11%;
    margin-bottom: 11%;
  }
  .lead .lead__txt02 {
    order: 2;
  }
  .lead .lead__img--img02 {
    order: 3;
    margin-right: auto;
    margin-left: 12%;
    width: 34%;
  }
  .lead .lead__img--img03 {
    order: 4;
    margin-left: auto;
    margin-right: 12%;
    width: 26.6%;
    margin-top: -27%;
    margin-bottom: 10%;
  }
  .lead .lead__txt03 {
    order: 5;
  }

}

/* ================

    story

================ */
.story  {
  padding: min(80px,13%) 4%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 24px;
}
.story .story__ttl {
  max-width: 120px;
  width: 11.8%;
}
.story .story__main_copy {
  max-width: 515px;
  width: 51%;
}
.story .story__cs {
  max-width: 408px;
  width: 40%;
}
.story .story__note {
  max-width: 338px;
  width: 32%;
  text-align: center;
  margin-inline: auto;
}
@media screen and (max-width: 599px) {
  .story  {
    gap: 2vw;
  }
  .story .story__ttl {
    width: 14.8%;
  }
  .story .story__main_copy {
    width: 73%;
  }
  .story .story__cs {
    width: 63%;
  }
  .story .story__note {
    width: 50%;
  }
}
/* ================

    fact

================ */
.fact .fact__ttl--wrap {
  padding-top: min(110px,13%);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}
.fact .fact__ttl {
    max-width: 91px;
    width: 9%;
} 
.fact .fact__main_copy {
  max-width: 780px;
  width: 76%;
}
.fact .fact__txt {
  text-align: center;
  max-width: 585px;
  width: 57%;
  margin-top:  1%;
}
.fact__wrap {
  margin-top: -16%;
}
.fact .fact__wrap--acc {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
}
.fact .fact__wrap--acc img {
  display: block;
  width: 100%;
  max-width: none;
}

.fact .fact__wrap--step {
  display: flex;
  justify-content: space-between;
  margin-bottom: min(110px, 10%);
}
.fact .fact__step--item {
  max-width: 230px;
  width: 23%;
}
.fact .fact__step--item:nth-child(2) {
  margin-top: -72px;
}
.fact .fact__step--item:nth-child(3) {
  margin-top: calc(-72px * 2);
}
.fact .fact__step--item:nth-child(4) {
  margin-top: calc(-72px * 3);
}

.fact .info01 .fact__info--ttl {
  max-width: 517px;
  width: 50%;
}
.fact .info02 .fact__info--ttl {
  max-width: 445px;
  width: 43.6%;
}
.fact .info03 .fact__info--ttl {
  max-width: 447px;
  width: 43.8%;
}
.fact .fact__info--list {
  display: flex;
  justify-content: space-between;
  margin-top: 3%;
  margin-bottom: 8%;
}
.fact .fact__info--item {
  max-width: 492px;
  width: 48%;
}
.fact .features__txt {
  max-width: 427px;
  width: 42%;
  margin-inline: auto;
  margin-bottom: 24px;
}
.fact .more_btn {
  max-width: 240px;
  width: 23.5%;
  margin-inline: auto;
  padding-bottom: 8%;
}
@media screen and (max-width: 599px) {
  .fact .fact__ttl--wrap {
    gap: 4vw;
  }
  .fact .fact__ttl {
    width: 11%;
  }
  .fact .fact__main_copy {
    width: 64%;
  }
  .fact .fact__txt {
    width: 78%;
  }
  .fact__wrap { 
    display: grid;
    margin-top: 16%;
    margin-bottom: 16%;
    position: relative;
  }
  .fact .fact__wrap--acc,
  .fact .fact__wrap--step {
    grid-area: 1 / 1;
  }
  .fact .fact__wrap--step { 
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: 16px;
  }
  .fact .fact__step--item {
    width: 70%;
  }
  .fact .fact__step--item:nth-child(2) {
      margin-top: 0;
  }
  .fact .fact__step--item:nth-child(3) {
      margin-top: 0;
  }
  .fact .fact__step--item:nth-child(4) {
      margin-top: 0;
  }
  .fact .info01 .fact__info--ttl {
    width: 72%;
  }
  .fact .info02 .fact__info--ttl {
    width: 67%;
  }
  .fact .info03 .fact__info--ttl {
    width: 66%;
  }
  .fact .fact__info--list {
    flex-direction: column;
    align-items: center;
    gap: 4vw;
    margin-top: 6%;
    margin-bottom: 12%;
  }
  .fact .fact__info--item {
    width: 100%;
  }
  .fact .features__txt { 
    width: 62%;
    margin-bottom: 6%;
  }
  .fact .more_btn { 
    width: 40%;
    padding-bottom: 12%;
  }
}
/* ================

    info

================ */
.info .info__ttl--wrap {
  padding-top: min(110px,12%);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}
.info .info__ttl { 
  max-width: 93px;
  width: 9%;
}
.info .info__main_copy { 
  max-width: 740px;
  width: 72%;
  margin-bottom: 8%;
}
.info .info__link--list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.info .info__link--list .info__link--item {
  max-width: 302px;
  width: 29%;
  margin-bottom: 6%;
}
@media screen and (max-width: 599px) {
  .info .info__ttl--wrap {
    gap: 2vw;
  }
  .info .info__ttl { 
    width: 11%;
  }
  .info .info__link--list {
    flex-direction: column;
    align-items: center;
  }
  .info .info__link--list .info__link--item {
    width: 70%;
  }

}
/* ================

    animation

================ */

.animate {
  opacity: 0;
  transform: translateY(80px);
  transition: opacity 0.2s ease-out, transform 0.2s ease-out;
}

.animate.show {
  opacity: 1;
  transform: translateY(0);
}
