@charset "utf-8";

/* CSS Price */
/* Section - Headline
----------------------------------------------------------------------------------------------------*/
.sec-headline {
 width: 100%;
 max-width: 92rem;
 margin: 0 auto;
 padding-top: 9rem;
 padding-bottom: 15rem
}

.sec-headline__copy {
 margin-bottom: 6rem;
 font-size: 3rem;
 font-weight: 600;
 text-align: center;
}

.sec-headline__copy span {
 color: #ff820c;
 font-size: 5rem;
 font-weight: 700;
}

.sec-headline__text {
 font-size: 2rem;
 font-feature-settings: normal;
 text-align: justify;
 line-height: 1.75;
}

.sec-headline__text p {
 margin-bottom: 4rem;
}

.sec-headline__text p b {
 font-size: 2.1rem;
}

.sec-headline__text span a {
 color: #ff820c;
 font-size: 2.2rem;
 font-weight: 700;
}

@media screen and (max-width: 1023px) {
 .sec-headline {
  max-width: max(90%, 33rem);
  margin: 0 auto;
  padding-top: 6rem;
  padding-bottom: 6rem
 }

 .sec-headline__copy {
  margin-bottom: 4rem;
  font-size: 2.8rem;
 }

 .sec-headline__copy span {
  font-size: 4rem;
 }

 .sec-headline__text {
  font-size: 1.8rem;
  line-height: 1.75;
 }

 .sec-headline__text p {
  margin-bottom: 4rem;
 }

 .sec-headline__text p b {
  font-size: 2rem;
 }

 .sec-headline__text span a {
  font-size: 2rem;
 }
}

/* Link Button */
.sec-headline__linkbtn {
 display: flex;
 justify-content: center;
 gap: 8rem;
}

.sec-headline__linkbtn .arrow-button {
 gap: 2rem;
 width: 29.5rem;
}

.sec-headline__linkbtn .arrow-button.contact {
 background: #ff820c;
 border: none;
 color: #FFFFFF;
}

@media screen and (max-width: 1023px) {
 .sec-headline__linkbtn {
  flex-direction: column;
  align-items: center;
  gap: 4rem;
 }

 .sec-headline__linkbtn .arrow-button {
  width: 24rem;
 }
}

/* Section - Plan
----------------------------------------------------------------------------------------------------*/
.sec-plan {
 width: 100%;
 max-width: 123rem;
 margin: 0 auto 6rem;
}

.sec-plan table {
 width: 100%;
 min-width: 99rem;
 border: none;
 border-spacing: 0;
 /*border-radius: 1rem 1rem 0 0;
    border-left: 1px solid #282828;
    border-top: 1px solid #282828;*/
}

.sec-plan table tr>* {
 border-right: 1px solid #282828;
 border-bottom: 1px solid #282828;
}

.sec-plan th,
.sec-plan td {
 /*border: 1px solid #282828;*/
 font-size: 2.1rem;
 text-align: center;
}

.sec-plan thead th {
 height: 10rem;
 color: #FFFFFF;
 font-size: 3.6rem;
 font-weight: 700;
}

.sec-plan thead th:nth-of-type(1) {
 width: 28.6rem;
 border: none;
}

.sec-plan thead th:nth-of-type(2) {
 width: 47.2rem;
 background-color: #00b350;
 border-radius: 1rem 0 0 0;
 border-top: 1px solid #282828;
 border-left: 1px solid #282828;
}

.sec-plan thead th:nth-of-type(3) {
 position: relative;
 width: 47.2rem;
 background-color: #f7002a;
 border-radius: 0 1rem 0 0;
 border-top: 1px solid #282828;
}

.sec-plan thead th:nth-of-type(3) span {
 position: absolute;
 right: 0;
 top: -12rem
}

.sec-plan tbody tr:first-child>*:first-child {
 border-radius: 1rem 0 0 0;
 border-top: 1px solid #282828;
 border-left: 1px solid #282828;
}

.sec-plan tbody th:nth-of-type(1) {
 background-color: #f2f2f2;
 border-left: 1px solid #282828;
}

.sec-plan tbody th big {
 font-size: 4rem;
 font-weight: 700;
}

.sec-plan tbody th span {
 font-size: 2.4rem;
 font-weight: 600;
}

.sec-plan tbody th small {
 font-size: 1.6rem;
 font-weight: 600;
}

.sec-plan tbody td:nth-of-type(1) {
 background-color: #d1f1df;
}

.sec-plan tbody td:nth-of-type(2) {
 background-color: #fee5ea;
}

.sec-plan tbody td {
 padding: 2.5rem 1rem;
 font-size: 2.1rem;
 font-weight: 600;
}

.sec-plan tbody td big {
 font-size: 6rem;
 font-weight: 700;
}

.sec-plan tbody td b {
 font-size: 3.6rem;
 font-weight: 700;
}

.sec-plan tbody td span {
 font-size: 2.8rem;
}

.sec-plan tbody td small {
 font-size: 1.8rem;
}

.sec-plan td[colspan="2"] {
 /* colspan="2" のセルだけ背景色変更 */
 background-color: #fff6d3 !important;
}

.color-green {
 color: #00b350;
}

.color-red {
 color: #f7002a;
}

.color-orange {
 color: #ff820c;
}

@media screen and (max-width: 1023px) {
 .sec-plan {
  max-width: 100%;
  padding-top: 6rem;
  margin: 0 auto 4rem;
  overflow-x: auto;
  white-space: wrap;
  scroll-snap-type: x mandatory;
 }

 .sec-plan table {
  min-width: 80rem;
 }

 .sec-plan th,
 .sec-plan td {
  font-size: 1.8rem;
 }

 .sec-plan thead th {
  height: 8rem;
  font-size: 2.8rem;
 }

 .sec-plan thead th:nth-of-type(1) {
  width: 20rem;
 }

 .sec-plan thead th:nth-of-type(2) {
  width: 25rem;
 }

 .sec-plan thead th:nth-of-type(3) {
  width: 25rem;
 }

 .sec-plan thead th:nth-of-type(3) span {
  position: absolute;
  right: 0;
  top: -6rem;
  width: 8.4rem;
 }

 .sec-plan tbody th {
  font-size: 1.7rem;
 }

 .sec-plan tbody th big {
  font-size: 3.2rem;
 }

 .sec-plan tbody th span {
  font-size: 2rem;
  font-weight: 600;
 }

 .sec-plan tbody td:nth-of-type(1) {
  background-color: #d1f1df;
 }

 .sec-plan tbody td:nth-of-type(2) {
  background-color: #fee5ea;
 }

 .sec-plan tbody td {
  font-size: 1.8rem;
 }

 .sec-plan tbody td big {
  font-size: 5rem;
 }

 .sec-plan tbody td b {
  font-size: 2.8rem;
 }

 .sec-plan tbody td span {
  font-size: 2.4rem;
 }

 .sec-plan tbody td small {
  font-size: 1.6rem;
 }
}

/* Section - Attention
----------------------------------------------------------------------------------------------------*/
.sec-attention {
 width: 100%;
 max-width: 123rem;
 margin: 0 auto;
}

.sec-attention p {
 font-size: 1.6rem;
 font-weight: 600;
}

@media screen and (max-width: 1023px) {
 .sec-attention {
  max-width: 100%;
 }
}

/* Support Item
----------------------------------------------------------------------------------------------------*/
.sec-support {
 width: 100%;
 max-width: 123rem;
 margin: 0 auto;
 padding-top: 9rem;
 padding-bottom: 0;
}

.sec-support__copy {
 margin-bottom: 6rem;
 font-size: 3rem;
 font-weight: 600;
 text-align: center;
}

.sec-support__copy span {
 color: #ff820c;
 font-size: 5rem;
 font-weight: 700;
}

.sec-support__item {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 width: 100%;
 max-width: 123rem;
 margin: 0 auto;
}

.support-box {
 display: flex;
 flex-direction: column;
 width: calc(38 / 123 * 100%);
 margin-bottom: 4rem;
 background-color: #ffebb2;
 border-radius: 1rem;
}

.support-box .support-box__img {
 display: flex;
 align-items: center;
 height: 16rem;
}

.support-box img {
 max-width: min(40%, 9rem);
 margin: 0 auto;
}

.support-box .support-box__title {
 width: 100%;
 height: 24rem;
 padding: 2rem;
}

.support-box .support-box__title h4 {
 margin-bottom: 2rem;
 color: #000000;
 font-size: 3rem;
 font-weight: 700;
 text-align: center;
}

.support-box .support-box__title p {
 color: #282828;
 font-size: 2rem;
 font-feature-settings: normal;
 text-align: left;
 line-height: 1.75;
}

.support-box .support-box__title p span {
 font-size: 1.8rem;
}

@media screen and (max-width: 1023px) {
 .sec-support {
  max-width: 100%;
 }

 .sec-support__copy {
  margin-bottom: 5rem;
  font-size: 2rem;
 }

 .sec-support__copy span {
  font-size: 3rem;
 }

 .sec-support__item {
  max-width: 100%;
 }

 .support-box {
  width: 48%;
  margin-bottom: 4rem;
 }

 .support-box .support-box__title h4 {
  margin-bottom: 2rem;
  color: #000000;
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
 }

 .support-box .support-box__title p {
  font-size: 1.8rem;
  line-height: 1.75;
 }

 .support-box .support-box__title p span {
  font-size: 1.6rem;
 }
}

@media screen and (max-width: 767px) {
 .sec-support {
  max-width: 90%;
 }

 .sec-headline__item {
  flex-direction: column;
  max-width: 90%;
  margin: 0 auto;
 }

 .support-box {
  width: 100%;
 }

 .support-box .support-box__img {
  height: 15rem;
 }

 .support-box .support-box__title {
  height: 23rem;
  padding: 0 1rem 1rem;
 }
}