@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap");
html, body {
  height: 100%;
}

html {
  font-size: 62.5%;
  overflow-y: scroll;
}
@media screen and (max-width: 1280px) {
  html {
    font-size: calc(100vw * 10 / 1280);
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: calc(100vw * 10 / 750);
  }
}

body, h1, h2, h3, h4, h5, h6, p, address, ul, ol, li, dl, dt, dd, table, th, td, img, form, figure {
  margin: 0;
  padding: 0;
  border: none;
  list-style-type: none;
  font-style: normal;
  font-weight: normal;
  font-family: 'Noto Sans JP', sans-serif;
  text-align: left;
  color: #333;
}

div, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ol, ul, li, form, input, textarea, button, table, tr, th, td, article, aside, footer, header, hgroup, nav, section, a, span, img {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  background: #fff;
}

a {
  text-decoration: none;
}

figure {
  text-align: center;
  line-height: 0;
}

img, object {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

figure {
  text-align: center;
  line-height: 0;
}

section {
  position: relative;
}

.sp {
  display: none;
}

@media screen and (max-width: 767px) {
  body {
    min-width: inherit;
  }

  figure {
    width: 100%;
    text-align: center;
  }

  .sp {
    display: block;
  }

  .pc {
    display: none;
  }
}
/* ------------------------------
    text/font
------------------------------ */
.ta_c {
  text-align: center;
}

.fwb {
  font-weight: bold;
}

.highlight {
  background: linear-gradient(transparent 58%, #ffe100 58%, #ffe100 96%, transparent 96%);
}

/* ------------------------------
    clearfix
------------------------------ */
.cf {
  *zoom: 1;
}
.cf:before {
  content: " ";
  display: table;
}
.cf:after {
  content: " ";
  display: table;
  clear: both;
}

/* ------------------------------
*  component
------------------------------ */
.c-deco {
  position: absolute;
}

.c-btn-primary a {
  position: relative;
  display: flex;
  align-items: center;
  background: #00a469;
  border-radius: 0.3rem;
  color: #fff;
  font-weight: 700;
  margin: auto;
  transition: .3s ease;
  width: 34.9rem;
  height: 7.4rem;
  font-size: 2.4rem;
  line-height: 1.25;
  padding-bottom: .1em;
  padding-left: 5rem;
  padding-right: 0.2rem;
}
@media screen and (max-width: 767px) {
  .c-btn-primary a {
    width: 29.6rem;
    height: 7.5rem;
    font-size: 2.6rem;
    padding-left: 4rem;
    line-height: 1.15;
  }
}
.c-btn-primary a::before {
  position: absolute;
  content: "";
  background: url("../img/arrow_white.svg") no-repeat center center/cover;
  top: 50%;
  transform: translateY(-50%);
  left: 2rem;
  width: 1.6rem;
  height: 1.6rem;
}
@media screen and (max-width: 767px) {
  .c-btn-primary a::before {
    left: 1.2rem;
    width: 1.4rem;
    height: 1.4rem;
  }
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  .c-btn-primary a:hover {
    opacity: 0.7;
  }
}

.c-btn-secondary a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff100;
  border-radius: 0.5rem;
  color: #00a469;
  font-weight: 900;
  transition: .3s ease;
  width: 38.3rem;
  height: 5.3rem;
  font-size: 2rem;
  padding-left: 0.5em;
}
@media screen and (max-width: 767px) {
  .c-btn-secondary a {
    width: 49.8rem;
    height: 6.9rem;
    font-size: 2.6rem;
    padding-left: 1em;
  }
}
.c-btn-secondary a::before {
  position: absolute;
  content: "";
  background: url("../img/arrow_black.svg") no-repeat center center/contain;
  top: 50%;
  transform: translateY(-50%);
  left: 1.8rem;
  width: 1.79rem;
  height: 1.7rem;
}
@media screen and (max-width: 767px) {
  .c-btn-secondary a::before {
    left: 2.6rem;
    width: 1.8rem;
    height: 1.9rem;
  }
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  .c-btn-secondary a:hover {
    opacity: 0.7;
  }
}

.c-link {
  transition: .3s ease;
  display: block;
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 601px) {
  .c-link:hover {
    opacity: 0.7;
  }
}

/* ------------------------------
*  utility
------------------------------ */
.u-green {
  color: #00a469;
}

.u-orange {
  color: #e07a38;
}

/* ------------------------------
*  header
------------------------------ */
.l-header {
  width: 100%;
  position: relative;
  margin: auto;
  background: #fff url("../img/bg_fv_pc.png") no-repeat center top/100%;
  padding-top: 3.8rem;
}
@media screen and (max-width: 767px) {
  .l-header {
    background-image: url("../img/bg_fv_sp.png");
    padding-top: 8.4rem;
  }
}
.l-header__logo {
  position: relative;
  z-index: 2;
  text-align: center;
  width: 100%;
  max-width: 112rem;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .l-header__logo .logo {
    position: absolute;
    width: 21.4rem;
    left: 0;
    top: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .l-header__logo .logo {
    margin: 0 auto;
    left: auto;
    top: auto;
    width: 22.9rem;
  }
}
.l-header__fv {
  position: relative;
  margin: 0 auto -3rem;
  background: url("../img/line_house.png") repeat-x center bottom -0.7rem/auto;
}
@media screen and (max-width: 1400px) {
  .l-header__fv {
    background-size: 100%;
    background-position: center bottom -0.3rem;
  }
}
@media screen and (max-width: 767px) {
  .l-header__fv {
    background-image: none;
    margin-bottom: 0;
  }
}
.l-header__fv-txt, .l-header__fv-img {
  position: relative;
  line-height: 1;
  width: 100%;
  z-index: 2;
}
.l-header__fv-txt {
  max-width: 67.8rem;
  margin: 0 auto 4.8rem;
}
@media screen and (max-width: 767px) {
  .l-header__fv-txt {
    margin: 2.4rem auto 4.6rem;
  }
}
.l-header__fv-img {
  max-width: 97.8rem;
  margin: 0 auto;
}

/* ------------------------------
*  footer
------------------------------ */
.l-footer {
  padding: 2rem 0;
  background-color: #00a469;
}
.l-footer * {
  font-weight: 500;
}
.l-footer__link {
  position: relative;
  color: #fff;
  font-size: 1.5rem;
  text-decoration: underline;
  transition: .3s ease;
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  .l-footer__link:hover {
    opacity: 0.7;
  }
}
.l-footer__text {
  color: #fff;
  font-size: 1.3rem;
}

@media screen and (max-width: 767px) {
  .l-footer {
    padding: 7.5rem 0;
  }
  .l-footer__inner {
    padding: 0 3.5rem;
  }
  .l-footer__list-item + .l-footer__list-item {
    margin-top: 1.7rem;
  }
  .l-footer__link {
    font-size: 3rem;
  }
  .l-footer__text {
    font-size: 3rem;
    line-height: 2;
    margin-top: 6.8rem;
    margin-bottom: 5rem;
  }
}
@media screen and (min-width: 768px), print {
  .l-footer {
    padding: 3rem 0;
  }
  .l-footer__inner {
    max-width: 98.4rem;
    margin: 0 auto;
    padding: 0 2rem;
  }
  .l-footer__list {
    display: flex;
  }
  .l-footer__list-item:not(:last-child) {
    margin-right: 2rem;
    padding-right: 2rem;
    border-right: 1px solid #fff;
  }
  .l-footer__link:hover {
    text-decoration: none;
  }
  .l-footer__wrap {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-top: 2rem;
  }
}
/* ------------------------------
*  main
------------------------------ */
.l-container {
  margin: 0 auto;
  width: 100%;
  max-width: 97rem;
}
@media screen and (max-width: 767px) {
  .l-container {
    width: 97%;
  }
}

/* ------------------------------
*  howto
------------------------------ */
.p-howto {
  background: #fdf8e2;
  padding: 10.4rem 0 45.3rem;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-howto {
    padding: 12.7rem 0 25.8rem;
  }
}
.p-howto__edition {
  width: 100%;
  background: #fff;
  border-radius: 2rem;
  border: 0.5rem solid #00a469;
  padding: 7rem 1.3rem 5rem;
}
@media screen and (max-width: 767px) {
  .p-howto__edition {
    border-radius: 1rem;
    padding: 2rem 1.3rem 4rem;
  }
}
.p-howto__edition + .p-howto__edition {
  margin-top: 11rem;
}
.p-howto__edition.-society .p-howto__edition-head {
  padding-bottom: 3.6rem;
}
@media screen and (max-width: 767px) {
  .p-howto__edition.-society .p-howto__edition-head {
    padding-bottom: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-howto__edition.-senior {
    margin-top: 15.5rem;
    padding-top: 1rem;
  }
}
.p-howto__edition.-senior .p-howto__edition-head {
  padding-top: 2.8rem;
  padding-bottom: 6.8rem;
}
@media screen and (max-width: 767px) {
  .p-howto__edition.-senior .p-howto__edition-head {
    padding-top: 0;
    padding-bottom: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-howto__edition.-senior .p-howto__edition-ttl {
    margin-top: -10rem;
  }
}
@media screen and (max-width: 767px) {
  .p-howto__edition.-student {
    margin-top: 17.5rem;
  }
}
.p-howto__edition.-student .p-howto__edition-head {
  padding-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-howto__edition.-student .p-howto__edition-head {
    padding-top: 2.2rem;
    padding-bottom: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-howto__edition.-student .p-howto__edition-ttl {
    margin-top: -12rem;
  }
}
@media screen and (max-width: 767px) {
  .p-howto__edition.-family {
    margin-top: 12rem;
  }
}
.p-howto__edition.-family .p-howto__edition-head {
  padding-top: 2.2rem;
}
@media screen and (max-width: 767px) {
  .p-howto__edition.-family .p-howto__edition-head {
    padding-top: 2rem;
    padding-bottom: 3.8rem;
  }
}
.p-howto__edition-ttl {
  width: 100%;
  max-width: 91rem;
  height: 8.2rem;
  background: #fff464;
  color: #00a469;
  font-size: 4.2rem;
  font-weight: 900;
  line-height: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: -10.7rem auto 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-howto__edition-ttl {
    text-align: center;
    line-height: calc(55/42);
    max-width: inherit;
    margin: -6.8rem auto 2rem;
  }
  .p-howto__edition-ttl.-spsm {
    font-size: 4rem;
    padding-left: 0.4em;
    white-space: nowrap;
  }
  .p-howto__edition-ttl.-spht {
    height: 13.4rem;
  }
}
.p-howto__edition-head {
  position: relative;
  padding-bottom: 5rem;
}
.p-howto__edition-txt {
  font-size: 3.6rem;
  line-height: calc(48/36);
  color: #00a469;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-howto__edition-txt.-spsm {
    font-size: 3.2rem;
    line-height: calc(48/32);
  }
  .p-howto__edition-txt.-spml {
    margin-left: 0.7em;
  }
}
.p-howto__edition-body {
  position: relative;
  background: #fff;
}
.p-howto__edition-item:last-child .p-howto__edition-dd {
  padding-bottom: 0;
}
.p-howto__edition-dt {
  position: relative;
  font-size: 3rem;
  font-weight: 700;
  padding: 1.4rem 0 1.4rem 0;
  border-top-width: 0.9rem;
  border-bottom-width: 0.2rem;
  border-top-style: solid;
  border-bottom-style: solid;
  min-height: 10.4rem;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-howto__edition-dt.-pcpl {
    padding-left: 5rem;
  }
  .p-howto__edition-dt.-wide {
    letter-spacing: .075em;
  }
}
@media screen and (max-width: 767px) {
  .p-howto__edition-dt {
    min-height: 11.5rem;
    padding: 1.2rem 0 1.3rem 1.6em;
    flex-wrap: wrap;
  }
  .p-howto__edition-dt.-spml {
    padding-left: 2.3em;
  }
  .p-howto__edition-dt.-sppalt {
    font-feature-settings: "palt";
  }
  .p-howto__edition-dt.-spwide {
    letter-spacing: .075em;
  }
}
.p-howto__edition-dt.-moning {
  border-top-color: #95c8ee;
  border-bottom-color: #95c8ee;
  background: linear-gradient(180deg, #e0f2ff 0%, white 33%);
}
.p-howto__edition-dt.-noon {
  border-top-color: #e2b16a;
  border-bottom-color: #e2b16a;
  background: linear-gradient(180deg, #fdf6f3 0%, white 33%);
}
.p-howto__edition-dt.-night {
  border-top-color: #093a61;
  border-bottom-color: #093a61;
  background: linear-gradient(180deg, #b8b8be 0%, white 60%);
}
.p-howto__edition-dd {
  padding: 0 5.7rem 5rem;
}
@media screen and (max-width: 767px) {
  .p-howto__edition-dd {
    padding: 0 0.5rem 5rem;
  }
}
.p-howto__edition-dd.-wide .p-howto__edition-subttl {
  padding: 2rem 0;
}
.p-howto__edition-dd.-wide2 .p-howto__edition-subttl {
  padding: 3.2rem 0;
}
.p-howto__edition-flex {
  display: flex;
  justify-content: center;
  gap: 0 4rem;
  align-items: stretch;
}
@media screen and (max-width: 767px) {
  .p-howto__edition-flex {
    gap: 0 2.2rem;
  }
}
.p-howto__edition-box {
  width: 38.8rem;
  display: flex;
  flex-direction: column;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-howto__edition-box {
    width: 33rem;
  }
}
.p-howto__edition-subttl {
  font-size: 2.4rem;
  line-height: calc(30/24);
  letter-spacing: -.01em;
  font-weight: 700;
  flex: 1;
  padding: 1.6rem 0;
}
@media screen and (min-width: 768px) {
  .p-howto__edition-subttl.-wide2 {
    letter-spacing: .05em;
  }
  .p-howto__edition-subttl.-wide {
    letter-spacing: .075em;
  }
}
@media screen and (max-width: 767px) {
  .p-howto__edition-subttl {
    font-size: 2.6rem;
    line-height: calc(30/26);
  }
  .p-howto__edition-subttl.-spsm {
    font-size: 2.4rem;
    line-height: calc(30/24);
    letter-spacing: -.03em;
  }
  .p-howto__edition-subttl.-spwide2 {
    letter-spacing: .05em;
  }
  .p-howto__edition-subttl.-spwide {
    letter-spacing: .075em;
  }
  .p-howto__edition-subttl.-spnrw {
    letter-spacing: -.03em;
  }
}
.p-howto__edition-notes {
  font-size: 1.4rem;
  text-align: center;
  margin-top: -1.4rem;
  padding-bottom: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-howto__edition-notes {
    font-size: 1.8rem;
    padding-bottom: 1rem;
  }
}
.p-howto__edition-thumb {
  width: 100%;
}
.p-howto__edition-btn {
  margin-top: 2.4rem;
}
.p-howto__edition-time {
  width: 8.3rem;
  aspect-ratio: 1/1;
  position: absolute;
  left: 1.4rem;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-howto__edition-time {
    left: 1rem;
  }
}
.p-howto__bottom {
  width: 100%;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
}
@media screen and (min-width: 1400px) {
  .p-howto__bottom {
    max-width: 125.1rem;
  }
}
.p-howto__deco-society {
  width: 11.5rem;
  right: 1.8rem;
  top: -2.2rem;
}
@media screen and (max-width: 767px) {
  .p-howto__deco-society {
    width: 9.6rem;
    right: 0;
    top: -1rem;
  }
}
.p-howto__deco-senior01 {
  width: 10.3rem;
  left: 4rem;
  top: -1.2rem;
}
@media screen and (max-width: 767px) {
  .p-howto__deco-senior01 {
    width: 6.3rem;
    left: 0.5rem;
    top: 0;
  }
}
.p-howto__deco-senior02 {
  width: 11.9rem;
  right: 2.2rem;
  top: -1.6rem;
}
@media screen and (max-width: 767px) {
  .p-howto__deco-senior02 {
    width: 7.1rem;
    right: 0;
    top: -1rem;
  }
}
.p-howto__deco-student01 {
  width: 8.8rem;
  left: 5.8rem;
  top: -1.6rem;
}
@media screen and (max-width: 767px) {
  .p-howto__deco-student01 {
    width: 7.6rem;
    left: 2.7em;
    top: -1rem;
  }
}
.p-howto__deco-student02 {
  width: 9.8rem;
  right: 3.8rem;
  top: -2.6rem;
}
@media screen and (max-width: 767px) {
  .p-howto__deco-student02 {
    width: 8.9rem;
    right: 1rem;
    top: -1.1rem;
  }
}
.p-howto__deco-family01 {
  width: 15.2rem;
  left: 2rem;
  top: -3.1rem;
}
@media screen and (max-width: 767px) {
  .p-howto__deco-family01 {
    width: 11.1rem;
    left: 1rem;
    top: 0;
  }
}
.p-howto__deco-family02 {
  width: 14rem;
  right: 1.5rem;
  top: -2.2rem;
}
@media screen and (max-width: 767px) {
  .p-howto__deco-family02 {
    width: 9.3rem;
    right: 1rem;
    top: -0.5rem;
  }
}

/* ------------------------------
*  feature
------------------------------ */
.p-feature {
  background: #e0f2ff url("../img/bg_bottom_pc.png") no-repeat center bottom/100%;
  padding: 5.3rem 0 16rem;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .p-feature {
    background-image: url("../img/bg_bottom_sp.png");
    padding: 3.8rem 0 13.8rem;
  }
}
.p-feature__wrap {
  position: relative;
  width: 100%;
  max-width: 94.2rem;
  background: #fff;
  margin: 0 auto;
  padding: 14.2rem 6rem 0;
}
@media screen and (max-width: 767px) {
  .p-feature__wrap {
    max-width: 70.7rem;
    padding: 9.6rem 1.2rem 0;
  }
}
.p-feature__ill {
  left: 50.2%;
  transform: translateX(-50%);
  width: 94rem;
  top: -27.4rem;
}
@media screen and (max-width: 767px) {
  .p-feature__ill {
    width: 55rem;
    top: -17rem;
  }
}
.p-feature__ttl {
  width: 56.3rem;
  line-height: 1;
  margin: 0 auto 5.2rem;
}
.p-feature__item {
  width: 100%;
}
.p-feature__item + .p-feature__item {
  margin-top: 6.2rem;
}
@media screen and (min-width: 768px) {
  .p-feature__item--item02 .p-feature__img {
    padding-top: 3.2rem;
  }
  .p-feature__item--item02 .p-feature__cont-link {
    margin-top: 5rem;
  }
  .p-feature__item--item03 .p-feature__cont-txt {
    margin-top: -.2em;
  }
  .p-feature__item--item04 .p-feature__cont-txt {
    margin-top: -.2em;
  }
  .p-feature__item--item04 .p-feature__box {
    padding-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-feature__item + .p-feature__item {
    margin-top: 5.6rem;
  }
  .p-feature__item--item02 .p-feature__box {
    padding-top: 5rem;
  }
}
.p-feature__subttl {
  position: relative;
  width: 100%;
  height: 7.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4.7rem;
  font-weight: 900;
  letter-spacing: -.08em;
  color: #fff;
  background: #00a469;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}
.p-feature__subttl.-wide {
  letter-spacing: -.03em;
}
.p-feature__subttl::before {
  position: absolute;
  content: "";
  background: url("../img/icn_check.svg") no-repeat center center/contain;
  width: 3.6rem;
  height: 3.6rem;
  left: 2rem;
  top: 50%;
  transform: translateY(-50%);
}
.p-feature__box {
  display: grid;
  grid-template-columns: 22rem 1fr;
  grid-template-areas: "img txt" "img cont";
  background: #fff;
  border: 0.4rem solid #333;
  padding: 3rem 2rem 3rem;
}
@media screen and (max-width: 767px) {
  .p-feature__box {
    padding: 3rem 0 4.2rem;
    grid-template-columns: 100%;
    grid-template-rows: auto auto auto;
    grid-template-areas: "txt" "img" "cont";
  }
}
.p-feature__img {
  grid-area: img;
  width: 19.6rem;
  padding-right: 2rem;
  padding-left: 0.4rem;
}
@media screen and (max-width: 767px) {
  .p-feature__img {
    width: 100%;
    max-width: 61.6rem;
    margin: 1rem auto 3rem;
    padding: 0;
  }
}
.p-feature__cont {
  grid-area: cont;
  width: 100%;
}
.p-feature__cont-txt {
  grid-area: txt;
  font-size: 3.6rem;
  font-weight: 700;
  color: #e07a38;
  line-height: calc(48/36);
  margin-bottom: 2.4rem;
  margin-left: 0.5em;
  text-align: center;
  display: inline-flex;
}
.p-feature__cont-txt.-tal {
  text-align: left;
  margin-left: 0;
}
.p-feature__cont-txt.-nrw {
  letter-spacing: -.03em;
}
@media screen and (max-width: 767px) {
  .p-feature__cont-txt {
    font-size: 3.8rem;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block;
  }
  .p-feature__cont-txt.-spwide {
    letter-spacing: .075em;
  }
}
@media screen and (max-width: 767px) {
  .p-feature__cont-list {
    padding-left: 4.2rem;
  }
}
.p-feature__cont-list li {
  position: relative;
  font-size: 3rem;
  font-weight: 500;
  line-height: calc(36/30);
  padding-left: 1.4em;
}
.p-feature__cont-list li.-nrw {
  letter-spacing: -.025em;
}
.p-feature__cont-list li.-wide {
  letter-spacing: .075em;
}
.p-feature__cont-list li::before {
  position: absolute;
  content: "";
  background: url("../img/icn_check.svg") no-repeat center center/contain;
  width: 2.7rem;
  height: 2.7rem;
  left: 0;
  top: .15em;
}
.p-feature__cont-list li + li {
  margin-top: 0.8em;
}
.p-feature__cont-list li .sm {
  display: inline-block;
  font-size: 2.4rem;
  line-height: calc(36/24);
  letter-spacing: .075em;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-feature__cont-list li {
    font-size: 3.3rem;
    line-height: calc(48/33.57);
    padding-left: 1.4em;
  }
  .p-feature__cont-list li::before {
    width: 3.1rem;
    height: 3.1rem;
    top: .2em;
  }
  .p-feature__cont-list li + li {
    margin-top: 0.6em;
  }
  .p-feature__cont-list li .sm {
    display: inline-block;
    margin-left: -4.8rem;
    margin-right: 3rem;
  }
}
.p-feature__cont-link {
  margin-top: 2.5rem;
  margin-left: 5.8rem;
}
@media screen and (max-width: 767px) {
  .p-feature__cont-link {
    margin-top: 4.5rem;
    margin-left: auto;
    margin-right: auto;
  }
  .p-feature__cont-link a {
    margin: 0 auto;
  }
}

/* ------------------------------
*  bottom
------------------------------ */
.p-bottom {
  background: #fff url("../img/line_house.png") repeat-x center bottom 4.5rem/auto;
  padding-bottom: 22rem;
}
@media screen and (max-width: 1400px) {
  .p-bottom {
    background-size: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-bottom {
    background-size: auto 13.4rem;
    background-position: left -28vw bottom;
    padding-bottom: 10rem;
  }
}
@media screen and (min-width: 768px) {
  .p-bottom::before {
    position: absolute;
    content: "";
    background: #eeeeee;
    width: 100%;
    height: 4.6rem;
    left: 0;
    bottom: 0;
  }
}
.p-bottom__ttlwrap {
  position: relative;
  width: 87.1rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-bottom__ttlwrap {
    width: 100%;
  }
}
.p-bottom__deco {
  position: absolute;
  width: 9rem;
  right: 0;
  top: 12.2rem;
}
@media screen and (max-width: 767px) {
  .p-bottom__deco {
    right: 1.2rem;
    top: 18rem;
  }
}
.p-bottom__ttl {
  width: 100%;
  margin: 0 auto;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-bottom__ttl {
    width: 69.5rem;
  }
}
.p-bottom__logo {
  width: 34.3rem;
  margin: 6.4rem auto 6.3rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-bottom__logo {
    width: 38.2rem;
    margin: 5.2rem auto 12.4rem;
  }
}
.p-bottom__link {
  margin-top: 4.8rem;
}
.p-bottom__link a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #00a469;
  border-radius: 0.5rem;
  color: #fff;
  font-weight: 700;
  margin: auto;
  transition: .3s ease;
  width: 49.5rem;
  height: 7.8rem;
  font-size: 2.4rem;
  padding-left: .6em;
  padding-bottom: .01em;
}
.p-bottom__link a::before {
  position: absolute;
  content: "";
  background: url("../img/arrow_right.svg") no-repeat center center/cover;
  top: 50%;
  transform: translateY(-50%);
  left: 2.6rem;
  width: 1.2rem;
  height: 1.9rem;
}
@media screen and (max-width: 767px) {
  .p-bottom__link a {
    width: 62.65rem;
    height: 9.9rem;
    font-size: 3rem;
    border-radius: 0.8rem;
  }
  .p-bottom__link a::before {
    width: 1.5rem;
    height: 2.4rem;
    left: 3.4rem;
  }
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  .p-bottom__link a:hover {
    opacity: 0.7;
  }
}

/* ------------------------------
*  fixed-btn
------------------------------ */
.p-fixed-btn {
  position: fixed;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .p-fixed-btn {
    right: -3.6rem;
    bottom: 3%;
  }
}
@media screen and (max-height: 800px) {
  .p-fixed-btn .p-fixed-btn__tab a {
    width: 8rem;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-fixed-btn {
    width: 100%;
    left: 50%;
    bottom: .5em;
    transition: opacity .3s ease, transform .3s ease;
    opacity: 0;
    transform: translateX(-50%) translateY(100%);
  }
  .p-fixed-btn.is-visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
  }
}
.p-fixed-btn__list {
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-fixed-btn__list {
    flex-direction: column;
    gap: 0.6em 0;
  }
}
@media screen and (max-width: 767px) {
  .p-fixed-btn__list {
    gap: 0.45rem;
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .p-fixed-btn__tab {
    width: 24.7rem;
    height: 10.5rem;
  }
}
.p-fixed-btn__tab a {
  font-weight: 900;
  color: #323333;
  display: flex;
  align-items: center;
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  .p-fixed-btn__tab a:hover {
    transform: translateX(-0.5rem);
  }
}
@media screen and (min-width: 768px) {
  .p-fixed-btn__tab a {
    font-size: 2.2rem;
    letter-spacing: -.025em;
    writing-mode: vertical-rl;
    text-orientation: upright;
    width: 9.6rem;
    padding: 1.5rem 2.6rem 1.5rem 0;
    border: 0.2rem solid #323333;
    border-radius: 1rem;
    transition: transform .3s ease;
  }
}
@media screen and (max-width: 767px) {
  .p-fixed-btn__tab a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100% !important;
    height: 100%;
    padding: 1em 0;
    text-align: center;
    color: #231815;
    font-size: 2.7rem !important;
    line-height: 1.2;
    letter-spacing: -.05em;
    border: 1px solid #333;
    border-radius: 5px;
  }
}
.p-fixed-btn__tab.-tab01 a {
  background: #cce0be;
}
.p-fixed-btn__tab.-tab02 a {
  background: #ecbeb1;
}
.p-fixed-btn__tab.-tab03 a {
  background: #e7d9a9;
}
