@charset "UTF-8";
body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  font-feature-settings: "palt";
  color: #1A1A1A;
  container-type: inline-size;
  
  --eisuu: "Montserrat","Noto Sans JP", sans-serif;
  --green: #32AC97;
  --orange: #FF8C00;
  --bordercolor: #F7F7F7;
}
@media screen and (min-width: 993px) {
  .sp {display: none}
}
@media screen and (max-width: 992px) {
  .pc {display: none}
}

* {
    font-weight: unset;
    box-sizing: border-box;
}
img {
  max-width: 100%;
  vertical-align: bottom;
}


a,button {
    display: inline-block;
    text-decoration: none;
    transition: .3s;
}

.contact_btn a,
.contact_content .mktoForm .mktoButtonRow .mktoButtonWrap button.mktoButton {
    display: flex;
    flex-flow: row wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    background: var(--orange);
    border: 1px solid var(--orange);
    border-radius: 300px;
    color: #fff;
    line-height: 1;
}

:is(.contact_btn a,.contact_content .mktoForm .mktoButtonRow .mktoButtonWrap button.mktoButton) .mail {
    display: inline-block;
    width: var(--iconsize,24px);
    height: auto;
    aspect-ratio: 1.25;
    border: calc(var(--iconsize,24px)/10) solid #fff;
    border-radius: 2px;
    position: relative;
    transition: .3s;
}

:is(.contact_btn a,.contact_content .mktoForm .mktoButtonRow .mktoButtonWrap button.mktoButton) .mail::before {
    content: "";
    display: inline-block;
    width: 100%;
    height: 100%;
    background: #fff;
    position: absolute;
    clip-path: polygon(0 0,50% 35%,100% 0,100% 15%,50% 50%,0 16%);
    transition: .3s;
}

.section_inner {
    width: min(100%,1200px);
    margin-inline: auto;
}

.section_title {
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
}

.section_title_en {
    color: var(--green);
    font-size: 20px;
    font-family: var(--eisuu);
}

.section_title_main {
    font-size: 48px;
    line-height: 1.6;
}

.section_btn {
    margin-top: 64px;
}

.section_btn a {
    width: 348px;
    margin-inline: auto;
    padding-block: 32px;
    gap: 12px;
    font-size: 20px;
}

header {
    position: sticky;
    top: 0;
    left: 0;
    background: #fff;
    z-index: 99;
    width: 100%;
}

.header_inner {
    display: flex;
    flex-flow: row wrap;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: center;
    padding: 24px;
}

.header_logo {
    width: 200px;
}

.head_nav {
    display: flex;
    flex-flow: row wrap;
    align-content: center;
    justify-content: flex-end;
    align-items: center;
    gap: 32px;
}

.head_nav_btn a {
    width: 172px;
    padding-block: 12px;
    gap: 8px;
    --iconsize: 16px;
}

.mv_inner {
    display: flex;
    flex-flow: row wrap;
    align-content: center;
    justify-content: space-between;
    align-items: flex-end;
    row-gap: 96px;
    width: min(100%,1200px);
    margin-inline: auto;
}

.mv_catch {
    font-size: 24px;
}

.mv_logo_img {
    width: 580px;
}

#mv {
    padding-top: 56px;
}

.mv_textwrap1 {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.mv_logo {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.mv_logo_text {
    color: var(--green);
    font-size: 40px;
    font-weight: 700;
}

.mv_textwrap2 {
    display: flex;
    flex-direction: column;
    gap: 32px;
    width: 390px;
}

.mv_text {
    font-size: 18px;
}

.mv_btn a {
    width: 100%;
    padding-block: 24px;
    gap: 12px;
    font-size: 20px;
}

.mv_img {
    width: 100cqw;
    max-width: none;
    position: relative;
    left: 50%;
    translate: -50% 0;
}

img.pc {}

.mv_img img {
    max-width: none;
    width: max(1200px,100cqw);
}

#challenges {
    padding-block: 96px 120px;
    background: var(--bordercolor);
}

.challenges_content {
    display: flex;
    flex-flow: row wrap;
    align-content: center;
    justify-content: center;
    align-items: stretch;
    gap: 21px;
    margin-top: 64px;
}

.challenges_item {
    width: calc((100% - 42px)/3);
    background: #fff;
    padding: 32px 20px 20px;
}

.challenges_item_head {
    display: flex;
    flex-flow: row wrap;
    align-content: center;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

.challenges_item_title {
    width: calc(100% - 60px);
    color: var(--green);
    font-size: 24px;
    font-weight: bold;
}

.challenges_item_icon {
    width: 57px;
}

.challenges_item_comments {
    display: flex;
    flex-flow: column wrap;
    gap: 8px;
}

.challenges_item_comment {
    background: var(--bordercolor);
    padding-block: 16px;
    font-size: 18px;
    display: flex;
    flex-flow: column wrap;
    align-content: center;
    justify-content: center;
    align-items: flex-start;
}

section#whatis {
    padding-block: 96px 120px;
}

.whatis_head {
    display: flex;
    flex-flow: row wrap;
    align-content: center;
    justify-content: center;
    align-items: flex-start;
    margin-top: 64px;
}

.whatis_head_textwrap {
    width: 50%;
    display: flex;
    flex-flow: column;
    gap: 16px;
}


.whatis_head_text {
    display: flex;
    flex-flow: column wrap;
    gap: 16px;
}


.whatis_head_catch {
    font-size: 20px;
}

.whatis_head_catch .color {
    color: var(--green);
    font-weight: 700;
}

.whatis_head_img {
    width: 50%;
    border-radius: 10px;
    overflow: hidden;
}

.whatis_content {display: flex;flex-flow: column wrap;gap: 64px;margin-top: 64px;}

.whatis_content dt {font-size: 24px;font-weight: 500;margin-bottom: 32px;padding-bottom: 20px;border-bottom: 2px solid var(--bordercolor);position: relative;}

.whatis_content dt::after {
    content: "";
    display: inline-block;
    width: 32px;
    height: 2px;
    background: var(--green);
    position: absolute;
    left: 0;
    bottom: -2px;
}

.whatis_content_list {
    display: flex;
    flex-flow: row wrap;
    align-content: center;
    justify-content: flex-start;
    align-items: stretch;
    gap: 20px;
    margin-top: 32px;
}

.whatis_content_list_item {
    width: calc(20% - 25px);
    background: var(--bordercolor);
    padding: 32px 20px 40px;
    display: flex;
    flex-flow: row wrap;
    align-content: center;
    justify-content: space-between;
    align-items: center;
    row-gap: 20px;
}

.whatis_content_list_item_cath {
    width: calc(100% - 40px);
    color: var(--green);
    font-size: 20px;
}

.whatis_content_list_item_img {
    width: 34px;
}

.whatis_content_list_item_text {
    font-size: 14px;
}

section#features {
    padding-block: 96px 120px;
    background: var(--bordercolor);
}

.section_title_note {
    background: #fff;
    padding: 8px;
    position: absolute;
    right: 0;
    bottom: 0;
    line-height: 1;
}

.section_title_note a {
    color: var(--green);
}

.features_content {
    display: flex;
    flex-flow: column;
    gap: 192px;
    margin-top: 80px;
}

.features_content_item_num {
    color: var(--green);
    font-family: var(--eisuu);
    font-size: 48px;
    line-height: 1;
    margin-bottom: 16px;
}

.features_content_item_num::before {
    content: "特徴";
    font-size: 18px;
    vertical-align: middle;
    margin-right: 12px;
}

.features_content_item_title {
    font-size: 40px;
    margin-bottom: 16px;
}

.features_content_item_text {
    font-size: 16px;
    font-weight: 400;
}

.features_content_item01_content01 {
    display: flex;
    flex-flow: row wrap;
    align-content: center;
    justify-content: center;
    align-items: stretch;
    gap: 20px;
    margin-top: 48px;
}

.features_content_item01_content01_item {
    width: calc(25% - 15px);
    background: #fff;
    padding: 40px 20px 48px;
}


.features_content_item01_content01_item_num {
    color: var(--green);
    font-family: var(--eisuu);
    text-align: center;
    font-size: 24px;
    margin-bottom: 40px;
}

.features_content_item01_content01_item_img {
    width: 48px;
    margin-inline: auto;
    margin-bottom: 40px;
}

.features_content_item01_content01_item_title {
    color: var(--green);
    text-align: center;
    font-size: 20px;
    margin-bottom: 20px;
}

.features_content_item01_content02 {
    margin-top: 64px;
}

.features_content_item01_content02 dl {
    display: flex;
    flex-flow: column;
    gap: 20px;
}

.features_content_item01_content02 dt {
    font-size: 32px;
    line-height: 1.4;
    padding-left: 14px;
    position: relative;
}

.features_content_item01_content02 dt::before {
    content: "";
    display: inline-block;
    width: 2px;
    height: calc(100% - 12px);
    background: var(--green);
    position: absolute;
    left: 0;
    top: 50%;
    translate: 0 -50%;
}

.features_content_item01_content02 dd {
    display: flex;
    flex-flow: column;
    gap: 20px;
    font-weight: 400;
}

.features_content_item01_content03 {
    margin-top: 48px;
}

.features_content_item01_content03_title {
    font-size: 24px;
    margin-bottom: 32px;
    padding-bottom: 22px;
    position: relative;
}

.features_content_item01_content03_title::after {
    content: "";
    display: inline-block;
    width: 32px;
    height: 2px;
    background: var(--green);
    position: absolute;
    left: 0;
    bottom: 0;
}

.features_content_item01_content03_list {
    display: flex;
    flex-flow: row wrap;
    align-content: center;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
}

.features_content_item01_content03_list_item {
    width: calc(20% - 16px);
}

.features_content_item01_content03_list_item_text {
    text-align: center;
    font-size: 14px;
    line-height: 1.8;
    margin-top: 12px;
}

.features_content_item02_content01 {
    margin-top: 48px;
}

.features_content_item02_content01_list {
    display: flex;
    flex-flow: row wrap;
    gap: 11px;
}

.features_content_item02_content01_list_item {
    flex: 1;
}

.features_content_item02_content01_note {
    font-size: 14px;
    margin-top: 12px;
}

.features_content_item02_content02 {
    margin-top: 64px;
}

.features_content_item02_content02_title {
    font-size: 24px;
    margin-bottom: 32px;
    padding-bottom: 22px;
    position: relative;
}

.features_content_item02_content02_title::before {
    content: "";
    display: inline-block;
    width: 32px;
    height: 2px;
    background: var(--green);
    position: absolute;
    left: 0;
    bottom: 0;
}

.features_content_item02_content02_list {
    display: flex;
    flex-flow: row wrap;
    align-content: center;
    justify-content: flex-start;
    align-items: stretch;
    gap: 20px;
}

.features_content_item02_content02_list_item {
    width: calc(20% - 16px);
    background: #fff;
    padding-block: 24px 32px;
}

.features_content_item02_content02_list_item_img {
    width: 64px;
    margin-inline: auto;
}

.features_content_item02_content02_list_item_title {
    text-align: center;
    font-weight: 400;
    margin-top: 20px;
}

.features_content_item03_content_list {
    display: flex;
    flex-flow: row wrap;
    align-content: center;
    justify-content: flex-start;
    align-items: stretch;
    gap: 21px;
    margin-top: 48px;
}

.features_content_item03_content_list_item {
  display: flex;
  flex-flow: row wrap;
  align-content: center;
  justify-content: space-between;
  align-items: flex-start;
  row-gap: 24px;
    width: calc((100% - 42px)/3);
    background: #fff;
    padding: 20px 20px 32px;
}

.features_content_item03_content_list_item_wrap {
    display: flex;
    flex-flow: column;
    gap: 20px;
}

.features_content_item03_content_list_item_num {
    color: var(--green);
    font-family: var(
    --eisuu);
    font-size: 32px;
    font-weight: 400;
    line-height: 1;
}

.features_content_item03_content_list_item_img {
    width: 120px;
    border-radius: 8px;
    overflow: hidden;
}

.features_content_item03_content_list_item_num::before {
    content: "Point";
    font-size: 16px;
    font-weight: 500;
    vertical-align: middle;
    margin-right: 8px;
}

.features_content_item03_content_list_item_text {
    font-weight: 400;
}

#faq {
    padding-block: 96px 120px;
}

.faq_content {
    margin-top: 48px;
    display: flex;
    flex-flow: column;
    gap: 20px;
}

.faq_content dl {
    padding: 40px;
    border: 1px solid var(--bordercolor);
    display: flex;
    flex-flow: column;
    gap: 40px;
    transition: .3s
}

.faq_content dl.close {
    gap: 0;
}

.faq_content dt {
    font-size: 24px;
    padding-block: 12px;
    padding-inline: 54px 30px;
    position: relative;
    cursor: pointer;
}

.faq_content dt::before {
    content: "Q";
    color: var(--green);
    font-family: var(
    --eisuu);
    font-size: 40px;
    font-weight: 400;
    position: absolute;
    left: 0;
    top: 50%;
    translate: 0 -50%;
}

.faq_content dt::after {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    background: var(--green);
    clip-path: polygon(0 10px,10px 10px,10px 10px,14px 10px,14px 10px,24px 10px,24px 14px,14px 14px,14px 14px,10px 14px,10px 14px,0 14px);
    transition: .3s;
    position: absolute;
    right: 0;
    top: 50%;
    translate: 0 -50%;
}

.faq_content .close dt::after {
  clip-path: polygon(0 10px,10px 10px,10px 0,14px 0,14px 10px,24px 10px,24px 14px,14px 14px,14px 24px,10px 24px,10px 14px,0 14px);
}

.faq_content dd {
    display: flex;
    flex-flow: row wrap;
    align-content: center;
    justify-content: flex-start;
    align-items: flex-start;
    background: var(--bordercolor);
    padding: 16px;
    padding-left: 54px;
    position: relative;
}

.faq_content dd::before {
    content: "A";
    color: var(--orange);
    font-size: 24px;
    font-weight: 400;
    line-height: 1.3;
    position: absolute;
    left: 16px;
    top: 16px;
}

section#contact {
    padding-block: 96px 120px;
    background: var(--bordercolor);
}

.contact_title {
    text-align: center;
    color: var(--green);
    font-size: 48px;
}

.contact_text {
    text-align: center;
    font-weight: 400;
    margin-top: 20px;
}

.contact_content {
    width: min(100%,966px);
    margin-inline: auto;
    margin-top: 64px;
}

.contact_content .mktoFormRow .mktoFieldWrap label.mktoLabel.mktoHasWidth {
font-size: 20px;
letter-spacing: .1em;
line-height: 1.5;
font-weight: 300;
height: 48px;
padding: 0;
display: flex;
align-items: center;
color:#000;
}
.contact_content .mktoForm .mktoFormRow .mktoFieldWrap input[type=text],
.contact_content .mktoForm .mktoFormRow .mktoFieldWrap select.mktoField,
.contact_content .mktoForm .mktoFormRow .mktoFieldWrap input[type=email],
.contact_content .mktoForm .mktoFormRow .mktoFieldWrap input[type=tel] {
        height: 48px;
        border: 0 !important;
        border-radius: 5px;
        box-sizing: border-box;
        font-size: 16px;
        padding: 0 18px !important;
        color: #727272;
}
.contact_content .mktoForm .mktoFormRow .mktoFieldWrap select.mktoField {
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        padding-right: 40px !important;
        background: url(../images/select_arrow.svg) #fff no-repeat right 20px center;
}

.contact_content .mktoForm .mktoFormRow .mktoFieldWrap textarea.mktoField {
        height: 200px !important;
        border: 0 !important;
        border-radius: 5px;
        box-sizing: border-box;
}
.contact_content .mktoForm .mktoFormRow .mktoFieldWrap input[type=text]#FirstName {
        bottom: 7px;
}
.contact_content .mktoForm .mktoFormRow:not(:has(#FirstName)) {
        margin-top: 20px !important;
}
.contact_content .mktoFormRow .mktoFieldWrap {
        align-items: center !important;
}

.mktoRadioList.mktoHasWidth {
        padding: 0 !important;
}
.mktoForm .mktoRadioList > label {
        font-size: 16px;
        margin: 0 !important;
        line-height: 1.9 !important;
}

.mktoForm .mktoRadioList > input[type="radio"] {
        appearance: none;
        -webkit-appearance: none;
        width: 16px;
        height: 16px;
        border-radius: 50%;
        cursor: pointer;
        background-color: #fff;
        position: relative;
        margin: 6px 6px 6px 0;
}

/* 選択時 */
.mktoForm .mktoRadioList > input[type="radio"]:checked {
    background-color: #009B8C;
}

.contact_content .mktoForm fieldset legend {
        position: absolute;
        width: 100%;
        font-size: 18px !important;
        top: 28px;
        text-box: trim-both cap alphabetic;
        display: block;
        left: 0;
        text-align: center;
color:#000;
}
.contact_content .mktoForm fieldset.mktoFormCol {
        padding: 60px 28px 10px !important;
        background: #fff;
        border: 0;
        border-radius: 5px;
}
.contact_content .mktoForm fieldset.mktoFormCol .mktoFormRow:not(:has(#FirstName)) {
        margin: auto !important;
}
.mktoForm p a {
text-decoration: underline;
padding: 0;
}
.contact_content .mktoForm .mktoButtonRow {
margin-top: 20px;
text-align: center;
}
.mktoForm fieldset .mktoHtmlText p {
        font-size: 12px;
        color: #000;
        font-weight: 300;
        letter-spacing: .05em;
}
.contact_content .mktoLabel:after {
        color: #009d8d !important;
        font-size: 16px !important;
}

.mktoForm .mktoError .mktoErrorMsg {
        background: #009d8d !important;
        border: 1px solid #009d8d !important;
        text-shadow: unset !important;
        box-shadow: rgba(0, 0, 0, 0.65) 0 2px 7px, inset #009d8d 0 1px 0px !important;
}
.mktoForm .mktoError .mktoErrorArrow {
        background: #009d8d !important;
        border: 1px solid #009d8d !important;
}
.mktoRadioList.mktoHasWidth.mktoRequired {
        display: flex;
        flex-wrap: wrap;
        gap: 0 8px;
}
.mktoRadioList.mktoHasWidth.mktoRequired input {
        width: 16px;
        margin: 6px 0;
}
.mktoRadioList.mktoHasWidth.mktoRequired label {
        width: calc(100% - 25px);
}

.contact_content .mktoForm .mktoButtonRow .mktoButtonWrap button.mktoButton {
  width: 408px;
  margin-inline: auto;
  padding-block: 32px;
  gap: 12px;
  font-size: 20px;
  margin-top: 28px;
}



footer {
    padding-block: 48px;
}

.footer_inner {
    width: min(100%, 1200px);
    margin-inline: auto;
    display: flex;
    flex-flow: row wrap;
    align-content: center;
    justify-content: space-between;
    align-items: flex-end;
}

.footer_logo {
    width: 156px;
}

.footer_text {
    margin-top: 32px;
    font-size: 14px;
    display: flex;
    flex-flow: column;
    gap: 12px;
}

.footer_text a {
    text-decoration: underline;
}

.footer_text a {
    text-decoration: underline;
}

.footer_wrap02 {
    display: flex;
    flex-flow: column;
    align-items: flex-end;
    gap: 12px;
    font-size: 14px;
}

.footer_link a {
    text-decoration: underline;
}



@media screen and (min-width: 993px) {  
a:hover {
    color: var(--green);
}

:is(.contact_btn a,.contact_content .mktoForm .mktoButtonRow .mktoButtonWrap button.mktoButton):hover {
    color: var(--orange);
    background: #fff;
}

:is(.contact_btn a,.contact_content .mktoForm .mktoButtonRow .mktoButtonWrap button.mktoButton):hover .mail::before {
    background: var(--orange);
}
:is(.contact_btn a,.contact_content .mktoForm .mktoButtonRow .mktoButtonWrap button.mktoButton):hover .mail {
    border-color: var(--orange);
}
}


@media screen and (max-width: 992px) {
body {
    font-size: 14px;
    line-height: 1.6;
}
.header_inner {
    padding: 16px;
}

.header_logo {
    width: 150px;
}

.head_nav_item {
    display: none;
}

.head_nav_btn a {
    width: 136px;
    font-size: 14px;
    gap: 4px;
    --iconsize: 14px;
}

#mv {
    padding-top: 48px;
}
.mv_inner {
    padding-inline: 20px;
    gap: 0;
}

.header_logo {
    width: 150px;
}

.head_nav_item {
    display: none;
}

.head_nav_btn a {
    width: 136px;
    font-size: 14px;
    gap: 4px;
    --iconsize: 14px;
}

.mv_textwrap1 {
    gap: 20px;
}

.mv_catch {
    font-size: 20px;
}

.mv_logo {
    gap: 16px;
}

.mv_logo_img {
    width: min(100%,335px);
}

.mv_logo_text {
    font-size: 32px;
}

.mv_textwrap2 {
    width: 100%;
    margin-top: 40px;
}

.mv_text {
    font-size: 14px;
}

.mv_btn a {
    width: 224px;
    margin-inline: auto;
    padding-block: 16px;
    font-size: 18px;
    --iconsize: 20px;
}

.mv_img {
  margin-top: 64px;
  width: calc(100% + 40px);
  margin-inline: -20px;
  inset: initial;
  translate: 0;
}

.mv_img img {
    width: 100%;
}

.section_inner {
    padding-inline: 20px;
}

.section_title {
    gap: 8px;
    align-items: flex-start;
}

.section_title_en {
    font-size: 16px;
}

.section_title_main {
    font-size: 26px;
}

.section_btn {
    margin-top: 32px;
}

.section_btn a {
    width: 224px;
    margin-inline: auto;
    padding-block: 16px;
    font-size: 18px;
    --iconsize: 20px;
}

#challenges {
    padding-block: 64px 80px;
}

.challenges_content {
    gap: 16px;
    margin-top: 32px;
}

.challenges_item {
    width: 100%;
    padding-top: 24px;
}

.challenges_item_head {
    margin-bottom: 20px;
}

.challenges_item_title {
    font-size: 20px;
}

.challenges_item_comment {
    padding: 12px;
    font-size: 14px;
    align-content: flex-start;
}

section#whatis {
    padding-block: 64px 80px;
}

.whatis_head {
    margin-top: 40px;
    gap: 24px;
}

.whatis_head_textwrap {
    width: 100%;
    gap: 12px;
}

.whatis_head_img {
    width: 100%;
}

.whatis_head_text {
    gap: 12px;
}

.whatis_head_catch {
    font-size: 18px;
}

.whatis_content_list {
    gap: 12px;
    margin-top: 24px;
}
.whatis_content_list_item_img {
    width: 28px;
}
.whatis_content dt {
    font-size: 18px;
    margin-bottom: 24px;
    padding-bottom: 14px;
}

.whatis_content dt::after {
    width: 24px;
}

.whatis_content_list {
    gap: 12px;
    margin-top: 24px;
}

.whatis_content_list_item {
    width: 100%;
    padding: 20px 20px 24px;
    row-gap: 12px;
}

.whatis_content_list_item_cath {
    font-size: 18px;
}

.whatis_content_list_item_img {
    width: 28px;
}

section#features {
    padding-block: 64px 80px;
}

.section_title_note {
    position: relative;
    inset: initial;
    margin-top: 20px;
    line-height: 1.6;
}

.features_content {
    gap: 129px;
    margin-top: 32px;
}

.features_content_item_num {
    font-size: 32px;
    margin-bottom: 20px;
}

.features_content_item_num::before {
    font-size: 14px;
    margin-right: 8px;
}

.features_content_item_title {
    font-size: 22px;
    margin-bottom: 20px;
}
.features_content_item01_content01 {
    gap: 12px;
    margin-top: 32px;
}

.features_content_item01_content01_item {
    width: 100%;
    padding: 20px 20px 24px;
    display: flex;
    flex-flow: row-reverse wrap;
    align-content: center;
    justify-content: space-between;
    align-items: center;
}

.features_content_item01_content01_item_num {
    width: 100%;
    text-align: left;
    font-size: 20px;
    margin-bottom: 10px;
}

.features_content_item01_content01_item_img {
    width: 40px;
    margin: 0;
}

.features_content_item01_content01_item_title {
    font-size: 18px;
    margin: 0;
}

.features_content_item01_content01_item_text {
    width: 100%;
    margin-top: 16px;
}

.features_content_item01_content02 {
    margin-top: 48px;
}

.features_content_item01_content02 dt {
    font-size: 20px;
    padding-left: 10px;
}

.features_content_item01_content03_title {
    font-size: 18px;
    padding-bottom: 14px;
}

.features_content_item01_content03_title::after {
    width: 24px;
}

.features_content_item01_content03_list {
    gap: 9px;
}

.features_content_item01_content03_list_item {
    width: calc((100% - 9px)/2);
}

.features_content_item01_content03_list_item_text {
    font-size: 12px;
    margin-top: 8px;
}

.features_content_item01_content03_list_btn {
    display: flex;
    flex-flow: row wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    width: 174px;
    padding-block: 12px;
    margin-top: 32px;
    margin-inline: auto;
    background: #fff;
    border: 1px solid var(--green);
    border-radius: 300px;
    color: var(--green);
}

.features_content_item02_content01 {
    margin-top: 32px;
}

.features_content_item02_content01_list {
    gap: 4px;
}

.features_content_item02_content01_list_item {
    flex: initial;
    width: calc(50% - 2px);
}

.features_content_item02_content01_list_item:nth-last-of-type(1) {
    display: none;
}

.features_content_item02_content02 {
    margin-top: 48px;
}

.features_content_item02_content02_title {
    font-size: 18px;
    padding-bottom: 14px;
}

.features_content_item02_content02_title::before {
    width: 24px;
}

.features_content_item02_content02_list {
    gap: 9px;
}

.features_content_item02_content02_list_item {
    width: calc((100% - 9px)/2);
    padding-block: 20px 24px;
}

.features_content_item02_content02_list_item_title {
    margin-top: 12px;
}

.features_content_item03_content_list {
    gap: 12px;
    margin-top: 32px;
}

.features_content_item03_content_list_item {
    width: 100%;
    padding-bottom: 24px;
    row-gap: 16px;
}

.features_content_item03_content_list_item_num {
    font-size: 24px;
}

.features_content_item03_content_list_item_num::before {
    font-size: 14px;
}

.features_content_item03_content_list_item_img {
    width: 100px;
    border-radius: 5px;
}

section#faq {
    padding-block: 64px 80px;
}

.faq_content {
    margin-top: 32px;
}

.faq_content dl {
    padding: 20px;
}

.faq_content dt {
    font-size: 16px;
    padding-block: 0;
    padding-inline: 40px;
}

.faq_content dt::before {
    font-size: 32px;
}

.faq_content dt::after {
    width: 20px;
    height: 20px;
    clip-path: polygon(0 9px, 9px 9px, 9px 9px, 11px 9px, 11px 9px, 20px 9px, 20px 11px, 11px 11px, 11px 11px, 9px 11px, 9px 11px, 0 11px);
}

.faq_content .close dt::after {
    clip-path: polygon(0 9px, 9px 9px, 9px 0, 11px 0, 11px 9px, 20px 9px, 20px 11px, 11px 11px, 11px 20px, 9px 20px, 9px 11px, 0 11px);
}

.faq_content dd {padding-left: 16px;gap: 4px;}

.faq_content dd::before {
    position: relative;
    inset: initial;
}

section#contact {
    padding-block: 48px 64px;
}

.contact_title {
    font-size: 28px;
}

.contact_text {
    margin-top: 16px;
}

.contact_content {
    margin-top: 6px;
}

.contact_content .mktoFormRow .mktoFieldWrap label.mktoLabel.mktoHasWidth {
    font-size: 16px;
    margin-bottom: 6px;
    height: auto;
}
.contact_content .mktoForm .mktoFormRow:not(:has(#FirstName)) {
    margin-top: 16px !important;
}

.contact_content .mktoForm fieldset .mktoHtmlText p {
text-align: left !important;
}

.contact_content .mktoForm .mktoButtonRow .mktoButtonWrap button.mktoButton {
    width: 278px;
    padding-block: 16px;
    font-size: 18px;
    margin-top: 12px;
}

footer {
    padding-block: 64px 40px;
}

.footer_inner {flex-direction: column;align-items: center;gap: 48px;}

.footer_wrap01 {
    text-align: center;
}

.footer_logo {
    margin-inline: auto;
}

p.adress {
    display: flex;
    flex-flow: column;
    align-content: center;
    justify-content: center;
    align-items: center;
}

.footer_wrap02 {
    align-items: center;
}


}