  @charset "UTF-8";

/* ----------------------------------------

- reform

---------------------------------------- */

/* .p-reformIntro
---------------------------------------- */
.p-reformIntro {
  text-align: center;
  margin-bottom: 140px;
}
.p-reformIntro h1 {
  font-size: 6rem;
  line-height: 1.25;
  color: #0f5098;
  margin-bottom: 35px;
}
.p-reformIntro__txt01 {
  font-size: 2.2rem;
  line-height: 1.84;
  margin-bottom: 60px;
}
.p-reformIntro__txt02 {
  font-size: 2.8rem;
  line-height: 1.5;
  position: relative;
  margin-bottom: 60px;
}
.p-reformIntro__txt02:before {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #b1c8e9;
  margin: 0 auto 25px;
}
.p-reformIntro__txt02:last-of-type:after {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #b1c8e9;
  margin: 40px auto 0;
}
.p-reformIntro h2 {
  font-size: 4.4rem;
  line-height: 1.65;
}
.p-reformIntro h2 span {
  text-decoration: underline;
  text-decoration-color: #0f5098;
  text-decoration-thickness: 4px;
  text-underline-offset: 14px;
}
.p-reformIntro h2 br.is-spOnly {
  display: none !important;
}
.p-reformIntro h2 br.is-pcOnly {
  display: inline !important;
}
@media screen and (max-width: 960px) {
  .p-reformIntro {
    text-align: center;
    margin-bottom: 80px;
  }
  .p-reformIntro h1 {
    font-size: 4.8rem;
    line-height: 1.3;
    margin-bottom: 20px;
  }
  .p-reformIntro__txt01 {
    font-size: 1.9rem;
    margin-bottom: 40px;
  }
  .p-reformIntro__txt02 {
    font-size: 2.5rem;
    margin-bottom: 40px;
    line-height: 1.5;
  }
  .p-reformIntro__txt02:before {
    width: 20px;
    height: 20px;
    margin: 0 auto 15px;
  }
  .p-reformIntro__txt02:last-of-type:after {
    width: 20px;
    height: 20px;
    margin: 25px auto 0;
  }
  .p-reformIntro h2 {
    font-size: 3.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-reformIntro h2 br.is-spOnly {
    display: inline !important;
  }
  .p-reformIntro h2 br.is-pcOnly {
    display: none !important;
  }
  .p-reformIntro h2 {
    line-height: 1.725;
  }
  .p-reformIntro h2 span {
    text-underline-offset: 16px;
  }
}
@media screen and (max-width: 600px) {
  .p-reformIntro h1 {
    font-size: 3.5rem;
  }
  .p-reformIntro__txt01 {
    font-size: 1.8rem;
  }
  .p-reformIntro__txt02 {
    font-size: 2.2rem;
  }
  .p-reformIntro h2 {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 374px) {
  .p-reformIntro h1 {
    font-size: 3rem;
  }
  .p-reformIntro h2 {
    font-size: 2.4rem;
  }
}

/* .p-reform02
---------------------------------------- */
.p-reform02__map .c-ttl04 {
  margin-bottom: -120px;
}
.p-reform02__map figure {
  margin: 0 60px 45px 20px;
}
@media screen and (max-width: 960px) {
  .p-reform02__map .c-ttl04 {
    margin-bottom: 15px;
  }
  .p-reform02__map figure {
    margin: 0 0 40px 0;
  }
}

/* .p-reform03
---------------------------------------- */
.p-reform03__pic {
  display: flex;
  justify-content: space-between;
}
.p-reform03__pic picture {
  max-width: 590px;
  flex-shrink: 0;
}
@media screen and (max-width: 960px) {
  .p-reform03__pic picture {
    max-width: inherit;
    width: calc(50% - 10px);
  }
}
@media screen and (max-width: 480px) {
  .p-reform03__pic {
    display: block;
  }
  .p-reform03__pic picture {
    width: 100%;
  }
  .p-reform03__pic picture:first-of-type {
    margin-bottom: 20px;
  }
}

/* ----------------------------------------

- woman

---------------------------------------- */

/* .p-womanIntroduction
---------------------------------------- */
.p-womanIntroduction {
  background: #e1eaf3;
  margin-bottom: 120px;
  padding-bottom: 0;
}
.p-womanIntroduction:before,
.p-womanIntroduction:after {
  content: "";
  display: block;
  height: 130px;
  background-repeat: repeat-x;
  background-size: 1440px 130px;
}
.p-womanIntroduction:before {
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201440%20110'%20preserveAspectRatio='none'%3E%3Cpath%20d='M0%2052C160%2052%20200%200%20360%200S560%2052%20720%2052%20920%200%201080%200s200%2052%20360%2052v58H0Z'%20fill='%23e1eaf3'/%3E%3Cpath%20d='M0%202C160%202%20200%2060%20360%2060S560%202%20720%202s200%2058%20360%2058%20200-58%20360-58'%20fill='none'%20stroke='%237aa4ce'%20stroke-width='3'/%3E%3C/svg%3E");
  background-position: center bottom;
}
.p-womanIntroduction:after {
  margin-top: 80px;
  background-color: #e1eaf3;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201440%20130'%20preserveAspectRatio='none'%3E%3Cpath%20d='M0%2058C160%2058%20200%20110%20360%20110S560%2058%20720%2058%20920%20110%201080%20110s200-52%20360-52v72H0Z'%20fill='%23fff'/%3E%3Cpath%20d='M0%20108C160%20108%20200%2050%20360%2050S560%20108%20720%20108s200-58%20360-58%20200%2058%20360%2058'%20fill='none'%20stroke='%237aa4ce'%20stroke-width='3'/%3E%3C/svg%3E");
  background-position: center top;
}
.p-womanIntroduction__ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 68px;
  color: #fff;
  font-size: 3.3rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.32em;
  text-align: center;
  background: linear-gradient(
    90deg,
    #07549b 0%,
    #44b5db 24%,
    #087bc3 43%,
    #08a8d8 76%,
    #24599e 100%
  );
}
.p-womanIntroduction__lead {
  padding: 45px 20px 55px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2.2;
  text-align: center;
}
.p-womanIntroduction__item {
  position: relative;
  margin-bottom: 245px;
}
.p-womanIntroduction__item:last-child {
  margin-bottom: 0;
}
.p-womanIntroduction__pic {
  display: block;
}
.p-womanIntroduction__pic img {
  display: block;
  width: 100%;
}
.p-womanIntroduction__box {
  position: absolute;
  left: 0;
  bottom: -75px;
  width: 42%;
  min-width: 520px;
  padding: 35px 70px 35px;
  background: rgba(255, 255, 255, 0.92);
}
.p-womanIntroduction__item--right .p-womanIntroduction__box {
  right: 0;
  left: auto;
}
.p-womanIntroduction__en {
  font-family: "Montserrat", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.04em;
  margin-bottom: 12px;
}
.p-womanIntroduction__cat {
  font-size: 3.3rem;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 35px;
}
.p-womanIntroduction__btn {
  min-width: 170px;
  height: 40px;
  padding: 0 40px;
  background: #0f5098;
}
.is-pc .p-womanIntroduction__btn.c-btn01:hover {
  background: #5793d9;
}
.p-womanIntroduction__btn .c-btn01__txt {
  font-size: 1.4rem;
}
.p-womanIntroduction__btn .c-btn01__line {
  background: #fff;
}
@media screen and (max-width: 960px) {
  .p-womanIntroduction {
    margin-bottom: 70px;
    padding-bottom: 0;
  }
  .p-womanIntroduction:before,
  .p-womanIntroduction:after {
    height: 70px;
    background-size: 600px 70px;
  }
  .p-womanIntroduction:after {
    margin-top: 10px;
  }
  .p-womanIntroduction__ttl {
    min-height: 54px;
    font-size: 2.4rem;
    letter-spacing: 0.18em;
  }
  .p-womanIntroduction__lead {
    padding: 30px 20px 35px;
    font-size: 1.6rem;
    line-height: 2;
    text-align: left;
  }
  .p-womanIntroduction__item {
    margin-bottom: 55px;
  }
  .p-womanIntroduction__pic {
    height: 54.4vw;
  }
  .p-womanIntroduction__pic img {
    height: 100%;
    object-fit: cover;
  }
  .p-womanIntroduction__box {
    position: relative;
    bottom: auto;
    width: calc(100% - 40px);
    min-width: 0;
    margin: -25px auto 0;
    padding: 25px 25px 30px;
  }
  .p-womanIntroduction__en {
    font-size: 1.3rem;
  }
  .p-womanIntroduction__cat {
    font-size: 2.4rem;
    margin-bottom: 20px;
  }
  .p-womanIntroduction__btn {
    min-width: 150px;
    height: 40px;
  }
}
@media screen and (max-width: 600px) {
  .p-womanIntroduction__ttl {
    font-size: 2rem;
    letter-spacing: 0.12em;
  }
  .p-womanIntroduction__lead {
    font-size: 1.5rem;
  }
  .p-womanIntroduction__cat {
    font-size: 2.1rem;
  }
}

/* .p-womanWeeklife
---------------------------------------- */
.p-womanWeeklife {
  margin-bottom: 100px;
}
.p-womanWeeklife__en {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  font-family: "Montserrat", sans-serif;
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  background: #a9c9e6;
}
.p-womanWeeklife__content {
  position: relative;
  max-width: 1240px;
  margin: 85px auto 0;
  padding: 0 20px 85px;
}
.p-womanWeeklife__pic {
  display: block;
  width: 72%;
}
.p-womanWeeklife__pic img {
  display: block;
  width: 100%;
}
.p-womanWeeklife__box {
  position: absolute;
  right: 20px;
  bottom: 0;
  width: 536px;
  padding: 38px 55px 35px;
  background: rgba(151, 192, 227, 0.75);
}
.p-womanWeeklife__txt {
  font-size: 1.8rem;
  line-height: 2.2;
}
.p-womanWeeklife__btn {
  min-width: 170px;
  height: 40px;
  margin-top: 20px;
  padding: 0 40px;
  background: #fff;
}
.p-womanWeeklife__btn .c-btn01__txt {
  color: #0f5098;
  font-size: 1.4rem;
}
.is-pc .p-womanWeeklife__btn.c-btn01:hover .c-btn01__txt {
  color: #fff;
}
@media screen and (max-width: 960px) {
  .p-womanWeeklife {
    margin-bottom: 70px;
  }
  .p-womanWeeklife__en {
    min-height: 42px;
    font-size: 2rem;
  }
  .p-womanWeeklife__content {
    margin-top: 50px;
    padding: 0;
  }
  .p-womanWeeklife__pic {
    width: 100%;
  }
  .p-womanWeeklife__box {
    position: relative;
    right: auto;
    bottom: auto;
    width: calc(100% - 40px);
    margin: -25px auto 0;
    padding: 25px 25px 30px;
  }
  .p-womanWeeklife__txt {
    font-size: 1.6rem;
    line-height: 2;
  }
  .p-womanWeeklife__btn {
    min-width: 150px;
  }
}
@media screen and (max-width: 600px) {
  .p-womanWeeklife__en {
    font-size: 1.7rem;
  }
  .p-womanWeeklife__txt {
    font-size: 1.5rem;
  }
  .p-womanWeeklife__txt br {
    display: none;
  }
}

/* ----------------------------------------

- welfare

---------------------------------------- */

/* .p-welfare01
---------------------------------------- */
.p-welfare01__ttl {
  width: 230px;
  height: 50px;
  line-height: 50px;
  color: #fff;
  font-size: 1.8rem;
  background: #222;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 960px) {
  .p-welfare01__ttl {
    width: 170px;
    height: 42px;
    line-height: 42px;
    font-size: 1.6rem;
    margin-bottom: 20px;
  }
}
