@charset "utf-8";

/*
font-family: 'Lato', sans-serif;
font-family: 'Noto Sans JP', sans-serif;
*/


html {

}
body {
    font-family: 'Noto Sans JP', sans-serif;
    caret-color: transparent;
    background: #fff;
    color: #1e1e1e;
    min-width: auto;
    margin: 0 auto;
    font-feature-settings: "palt";
}
.inner {max-width: 1080px;width: 100%;margin: 0 auto;box-sizing: border-box;}

.marker {background: linear-gradient(transparent 60%, rgba(249, 240, 78, 0.8) 60%);}

.fmctr {
    caret-color: #1e1e1e;
    border-radius: 0.3em
}

/* **************************************************************** */
/* ヘッダー
*/

/* **************************************************************** */
/* フッター
*/
footer {
	background: #fff;
    padding: 0;
}
footer .copy {
    display: block;
    font-size: 14px;
    line-height: 1;
    font-weight: bold;
    padding: 1em 0 1em;
}
footer .copy small {

}
footer .logo {

}


/* **************************************************************** */
/* コンタクト
*/
.contact {
    padding:3em 0;
    position: relative;
    overflow: hidden;
}
.contact:before {
    content: "Contact";
    font-family: serif;
    color: #d9dbe6;
    opacity: 0.3;
    font-size: 300px;
    line-height: 1em;
    font-weight: normal;
    position: absolute;
    top: -0.2em;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.contact_upper {
    margin-bottom: 3em;
}
.contact_upper h2 {
    color: #1c2569;
    font-size: 36px;
    line-height: 1.2em;
}
.contact_bloc dl dt.required:after {
    background: #1c2569;
}
span.radio_dummy {
    border: solid 2px #1c2569;
    background: #fff;
}

.btn_bloc button {
    background: #1c2569;
    box-shadow: 0 3px 0 #04092d;
    border-radius: 0.5em;
}
.btn_bloc button:hover {
    background: rgb(28 37 105 / 80%);

}




/* **************************************************************** */
/* 個別CSS
*/
.mv {
    background: url(../../../assets/images/lp/bg_mv.jpg) no-repeat center top;
    background-size: cover;
}
.mv .inner {
    align-items: center;
    justify-content: space-between;
}

.mv_bloc {
    flex: 1 0 0%;
}
.mv_bloc .logo {
    margin-bottom: 1em;
}
.mv_bloc p {
    margin-bottom: 1em;
}
.mv_bloc h1 {

}
.mv_bloc h1 img {
    display:block;
}
.mv_bloc img + img {
    margin-top: 0.5em;
}


.mv figure {
    position: relative;
    padding-top: 4em;
}
.mv figure figcaption {
    position: absolute;
    right: 1em;
    bottom: 1em;
    color: #fff;
    font-size: 16px;
    line-height: 1.4em;
    text-align: left;
    text-shadow: 1px 1px 1px #000;
}

.mv_btn {
    margin-top: 30px;
}

/* Mv Form */
.mv_form .p-contact__form .mktoHtmlText {
    font-size: 13px;
    font-weight: bold;
}
.mv_form .p-contact__form .mktoFormRow .mktoHtmlText:after {
    font-size: 12px!important;
    padding: 3px 2px!important;
    margin-left: 5px!important;
}
.mv_form .p-contact__form .mktoFormRow:not(:first-child) {
    padding-top: 0px!important;
    padding-bottom: 0px!important;
}
.mv_form .p-contact__form .mktoFormCol:nth-child(1) {
    padding-top: 0.5em;
}
.mv_form .p-contact__form .mktoFormRow {
    border-top: 1px solid #ddd;
}
.mv_form .p-contact__form .mktoForm input[type=text],
.mv_form .p-contact__form .mktoForm input[type=email],
.mv_form .p-contact__form .mktoForm input[type=tel],
.mv_form .p-contact__form .mktoForm select.mktoField,
.mv_form .p-contact__form .mktoForm textarea.mktoField {
    border-radius: 5px!important;
    border: 1px solid #ddd!important;
    color: #666;
}
.p-contact__form .mktoFormRow .mktoHtmlText:after {
    background-color: #c8143d!important;
    position: absolute;
    top: 6px;
    right: 0px;
}
@media screen and (min-width:1200px) {
    .mv {
        position: relative;
    }
    .mv_form {
        position: absolute;
        top: 0px;
        right: 0px;
        bottom: 0px;
        background-color: #fff;
        padding: 10px 10px;
        /* max-width: calc((100% - 1080px) / 2); */
        width: 400px;
    }
    .mv_form .p-contact__form {
        margin: 0;
    }
    .mv_form .p-contact__form .mktoFormCol:nth-child(1) {
        width: 124px!important;
    }
    .mv_form .p-contact__form .mktoFormRow:not(:first-child) .mktoFormCol {
        padding-top: 5px!important;
        padding-bottom: 5px!important;
    }
    .mv_form .p-contact__form .mktoForm input[type=text], .mv_form .p-contact__form .mktoForm input[type=url], .mv_form .p-contact__form .mktoForm input[type=email], .mv_form .p-contact__form .mktoForm input[type=tel], .mv_form .p-contact__form .mktoForm input[type=number], .mv_form .p-contact__form .mktoForm input[type=date], .mv_form .p-contact__form .mktoForm select.mktoField, .mv_form .p-contact__form .mktoForm textarea.mktoField {
        font-size: 13px;
        padding: 0.5em 1em!important;
    }
    .mv_form .p-contact__form .mktoFormCol:nth-child(2) {
        width: calc( 100% - 10em);
    }
    .mv_form .p-contact__form .mktoButtonRow {
        width: auto;
        max-width: 316px;
        margin-top: 20px;
    }
    .mv_form .p-contact__form .mktoForm textarea.mktoField {
        height: 100px!important;
    }
    .mv2 {
        padding-right: 400px;
    }
    .mv2 figure {
        flex: 1;
    }
    .mv_form_ttl {
        margin-bottom: 10px;
    }
    .mv_form_ttl span {
        display: none;
    }
}
@media screen and (max-width:768px) {
    .mv2 {
        background: none;
    }
    .mv2 .inner {
        background: url(../../../assets/images/lp/bg_mv.jpg) no-repeat center top;
        background-size: cover;
    }
    .mv_form {
        display: none;
        padding: 60px 20px 20px;
        background-color: #eee;
        position: fixed;
        top: 0px;
        left: 0px;
        right: 0px;
        bottom: 0px;
        overflow-y: auto;
        z-index: 1000;
    }
    .mv_form .p-contact__form {
        margin: 0;
    }
    .mv_form_ttl {
        font-size: 16px;
        color: #fff;
        font-weight: bold;
        line-height: 1.4;
        background-color: #1c2569;
        padding: 15px;
        position: fixed;
        top: 0px;
        left: 0px;
        right: 0px;
        z-index: 1001;
    }
    .mv_form_ttl span {
        display: block;
        font-family: Arial, Helvetica, sans-serif;
        font-weight: 400;
        font-size: 20px;
        color: #1c2569;
        background-color: #eee;
        border-radius: 100%;
        width: 20px;
        height: 20px;
        line-height: 20px;
        text-align: center;
        position: absolute;
        top: 16px;
        right: 10px;
        cursor: pointer;
    }
    .p-contact__form .mktoFormRow .mktoHtmlText:after {
        top: auto;
        bottom: 0px;
    }
}
@media screen and (min-width:1200px) and (max-width:1500px) {
    .mv2 {
        min-height: 660px;
    }
    .mv2 .inner.flex {
        position: relative;
        /* display: block; */
        min-height: 660px;
    }
    .mv2 figure {
        position: absolute;
        right: 0px;
        bottom: 0px;
        width: 50%;
    }
    .mv2 .mv_bloc {
        margin-right: 50%;
        padding-left: 20px;
    }
}
@media screen and (min-width:769px) and (max-width:1200px) {
    .mv_form {
        display: none;
    }
}
@media screen and (min-width:769px) {
    .mv_form, .mv_form_rich {
      overflow-y: auto;
    }
    .mv_form::-webkit-scrollbar, .mv_form_rich::-webkit-scrollbar {
      background-color: #eee;
      width: 10px;
    }
    .mv_form::-webkit-scrollbar-thumb, .mv_form_rich::-webkit-scrollbar-thumb {
      background-color: #222;
      border-radius: 10px;
    }
  }
  .hsfc-Step__Content {
    background-color: #333;
  }

.client {
    background:#eaebed;
    padding: 2em 0;
    overflow:hidden;

}
.client_inner {
    max-width: 1680px;
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 0 3em;
}

.client_slider_wrap {

}
.client_slider {

}

.client_item {
    margin: 0 0.5em;
}
.client_item figure {
    margin-bottom: 0.5em;
}
.client_item p {
    font-size: 14px;
    line-height: 1.4em;
    text-align: left;
}



.slick-next, .slick-prev {
    width: 30px;
    height: 56px;
}


.slick-next {
    right: -42px;
}
.slick-prev {
    left: -42px;
}

.slick-next:before {
    content: '';
    background: url(../../../assets/images/lp/arrow_right.png) no-repeat;
    background-size: contain;
    width: 30px;
    height: 56px;
    display: block;
}
.slick-prev:before {
    content: '';
    background: url(../../../assets/images/lp/arrow_left.png) no-repeat;
    background-size: contain;
    width: 30px;
    height: 56px;
    display: block;
}

.cv {
    background: #1c2569;
    color: #fff;
    padding: 3em 0;
}
.cv_bloc {
    align-items: center;
    justify-content: center;
    gap: 2em;
    margin-bottom: 3em;
}

.cv_bloc .figure_box {
    align-items: flex-end;
    justify-content: space-between;
    gap: 1em;
}
.cv_bloc .figure_box img {

}
.cv_bloc .figure_box img + img {

}

.cv_bloc .list_box {

}
.cv_bloc .list_box ul {

}
.cv_bloc .list_box ul li {
    text-align: left;
    border: solid 2px #fff;
    padding: 0.5em 1em;
}
.cv_bloc .list_box ul li + li {
    margin-top: 1em;
}
.cv_bloc .list_box ul li span {
    display: inline-block;
    font-size: 22px;
    line-height: 1.2em;
    font-weight: bold;
}

.cv .btn_bloc {

}
.cv .btn_bloc a {
    display: inline-block;
    background: #fff;
    border-radius: 1.1em;
}
.cv .btn_bloc a:hover img {
    opacity:0.8;
}

.trouble {
    background: url(../../../assets/images/lp/bg_trouble.jpg) no-repeat center bottom;
    background-size: cover;
    padding: 3em 0;
    overflow: hidden;
}
.trouble .ttl_bloc {
    margin-bottom: 3em;
}
.trouble .ttl_bloc h2 {

}
.trouble .ttl_bloc h2 span {
    display: block;
}
.trouble .ttl_bloc h2 em {
    color: #1c2569;
    font-size: 48px;
    line-height: 1.2em;
    font-weight: 900;
}

.trouble_bloc {
    align-items: flex-start;
    justify-content: flex-end;
}
.trouble_bloc ul {

}
.trouble_bloc ul li + li {
    margin-top: 2em;
}
.trouble_bloc ul li {
    position: relative;
    text-align: left;
}




.trouble_bloc ul li span {
    position: relative;
    display: inline-block;
    color: #1c2569;
    font-size: 24px;
    line-height: 1.2em;
    font-weight: 900;
    text-align: left;
    padding: 0.5em 1em 0.5em 2em;
    z-index: 3;
}
.trouble_bloc ul li span i {
    background: url(../../../assets/images/lp/icon_check.png) no-repeat;
    display: block;
    width: 28px;
    height: 24px;
    position: absolute;
    top: 0.6em;
    left: 0.5em;
    z-index: 3;
}
.trouble_bloc ul li span em {
    font-style: italic;
    position:relative;
    z-index: 3;
}
.trouble_bloc ul li span:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
    transform: skewX(-15deg);
    z-index: 2;
}
.trouble_bloc ul li span:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #1b2569;
    position: absolute;
    top: 4px;
    left: 3px;
    transform: skewX(-15deg);
    z-index: 1;
}

.trouble_bloc ul li:nth-child(1) {

}
.trouble_bloc ul li:nth-child(2) {
    text-align: center;
}
.trouble_bloc ul li:nth-child(3) {
    text-align: right;
}
.trouble_bloc ul li:nth-child(4) {
    text-align: center;
}
.trouble_bloc ul li:nth-child(5) {

}

.focus {

}
.focus_catch {
    padding: 3em 1em;
}
.focus_catch h2 {

}
.focus_catch h2 span {
    display: block;
    color: #1c2569;
    font-size: 36px;
    line-height: 1.4em;
    font-weight: 900;
}
.focus_catch h2 em {
    background: linear-gradient(transparent 60%, #f9bd05 60%);
    display: inline-block;
    color: #1c2569;
    font-size: 60px;
    line-height: 1.4em;
    font-weight: 900;
    padding: 0 0.2em;
}

.focus_image {

}
.focus_image img {
    width: calc(100% / 3);
}

.case {
    background: url(../../../assets/images/lp/bg_case.jpg) no-repeat center top;
    background-size: cover;
    padding:3em 0;
    position: relative;
    overflow: hidden;
}
.case:before {
    content: "Examples";
    font-family: serif;
    color: #ffffff;
    opacity: 0.1;
    font-size: 300px;
    line-height: 1em;
    font-weight: normal;
    position: absolute;
    top: -0.2em;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.case .ttl_bloc {
    padding: 0 4em;
    margin-bottom: 3em;
}
.case .ttl_bloc h2 {
    color: #fff;
    font-size: 36px;
    line-height: 1.2em;
    margin-bottom: 1em;
}
.case .ttl_bloc h3 {

}
.case .ttl_bloc h3 div {

}
.case .ttl_bloc h3 div:nth-child(1) span {
    margin-right: 10em;
}
.case .ttl_bloc h3 div:nth-child(2) span {
    margin-left: 10em;
}

.case .ttl_bloc h3 div span {
    position: relative;
    display: inline-block;
    color: #1c2569;
    font-size: 32px;
    line-height: 1.2em;
    font-weight: 900;
    text-align: left;
    padding: 0.5em 1em 0.5em 1em;
    z-index: 3;
    font-style: italic;
}

.case .ttl_bloc h3 div span:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
    transform: skewX(-15deg);
    z-index: 2;
}
.case .ttl_bloc h3 div span em {
    background: linear-gradient(transparent 60%, #f9bd05 60%);
    font-size: 48px;
    font-weight: 900;
    padding: 0 0.2em;
    font-style: italic;
}
.case .ttl_bloc h3 div span strong {
    position: relative;
    z-index: 3;
    font-weight: 900;
}
.case .ttl_bloc h3 div:nth-child(2) span strong {
    font-size: 48px;
    font-weight: 900;
}

.case_bloc {
    margin-bottom:3em;
}

.case .btn_bloc {

}
.case .btn_bloc a {
    display: inline-block;
    background: #fff;
    border-radius: 1.1em;
}
.case .btn_bloc a:hover img {
    opacity:0.8;
}

.case_item {
    align-items: stretch;
    justify-content: space-between;
}
.case_item + .case_item {
    margin-top:2em;
}

.case_item .left {
    background: #fff;
    width: 50%;
    text-align: left;
    box-sizing: border-box;
    padding: 0 1em 1em 1em;
}
.case_item .left h4 {
    display: inline-block;
    background: #1c2569;
    color: #fff;
    font-size: 24px;
    line-height: 1.2em;
    padding: 0.2em 0.5em;
    margin-bottom: 0.5em;
}
.case_item .left .price {

}
.case_item .left .price .sub {
    color: #1c2569;
    font-size: 42px;
    line-height: 1.2em;
    font-weight: 900;
}
.case_item .left .price .case_price {
    color: #1c2569;
    font-size: 60px;
    line-height: 1.2em;
    font-weight: 900;
}
.case_item .left .price .case_price em {
    background: linear-gradient(transparent 60%, #f9bd05 60%);
    font-size: 100px;
    line-height: 1em;
    padding: 0 0.2em;
    font-family: 'Lato', sans-serif;
}

.case_item .right {
    flex: 1 0 0;
    position: relative;
    overflow: hidden;
}
.case_item .right:before {
    content: "";
    width: calc(100% - 4em);
    height: 100%;
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
}
.case_item .right:after {
    content: "";
    background: #fff;
    width: 4em;
    height: 200%;
    position: absolute;
    top: 0;
    right: 0;
    transform: skewY(45deg);
}
.case_item .right .box {
    position: relative;
    z-index: 2;
    padding: 1em;
    text-align: left;
}





.case_item .right .box:before {
    content: "";
    color: #e9ecf5;
    font-size: 60px;
    line-height: 1em;
    font-weight: bold;
    position: absolute;
    top: -0.2em;
    right: 0.6em;
}
.case_item:nth-child(1) .right .box:before {
    content:"CASE1";
}
.case_item:nth-child(2) .right .box:before {
    content:"CASE2";
}
.case_item:nth-child(3) .right .box:before {
    content:"CASE3";
}

.case_item .right .box h5 {
    color: #1c2569;
    font-size: 24px;
    line-height: 1.2em;
    margin-bottom: 0.5em;
}
.case_item .right .box dl {
    border-top: solid 1px #1c2569;
    padding: 0.5em;
}
.case_item .right .box dl:last-child {
    border-bottom:solid 1px #1c2569;
}
.case_item .right .box dl dt {
    width: 10em;
    font-weight: bold;
}
.case_item .right .box dl dd {
    flex: 1 0 0%;
}

.leave {
    padding: 3em 0;
}
.leave .ttl_bloc {
    margin-bottom: 3em;
}
.leave .ttl_bloc .logo {
    margin-bottom: 1em;
}
.leave .ttl_bloc h2 {
    padding: 0 4em
}
.leave .ttl_bloc h2 div {

}
.leave .ttl_bloc h2 div span {
    position: relative;
    display: inline-block;
    color: #fff;
    font-size: 32px;
    line-height: 1.2em;
    font-weight: 900;
    text-align: left;
    padding: 0.5em 1em 0.5em 1em;

}
.leave .ttl_bloc h2 div span strong {
    position: relative;
    z-index: 3;
}
.leave .ttl_bloc h2 div span:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #1b2569;
    position: absolute;
    top: 0;
    left: 0;
    transform: skewX(-15deg);
    z-index: 2;
}
.leave .ttl_bloc h2 div span:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #c7c7cb;
    position: absolute;
    top: 4px;
    left: 3px;
    transform: skewX(-15deg);
    z-index: 1;
}

.leave .ttl_bloc h2 div:nth-child(1) {
    text-align: left;
}
.leave .ttl_bloc h2 div:nth-child(2) {
    text-align: right;
}
.leave .ttl_bloc h2 div span em {
    font-size: 48px;
    line-height: 1.2em;
}

.leave_bloc {

}
.leave_item {

}
.leave_item + .leave_item {
    margin-top:2em;
}

.leave_item h3 {
    color: #1c2569;
    font-size: 22px;
    line-height: 1.2em;
    font-weight: 900;
    margin-bottom: 1em;
}
.leave_item ul {
    align-items: flex-start;
    justify-content: center;
    gap: 1em;
}
.leave_item ul li {
    color: #1c2569;
    font-size: 1em;
    line-height: 1.2em;
    font-weight: 900;
    position: relative;
    padding: 0.5em;
}
.leave_item ul li + li {

}
.leave_item ul li:after {
    content: "";
    border: solid 1px #1c2569;
    transform: skewX(-15deg);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}



.reason {
    background: #f5f6fa;
    padding:3em 0;
    position: relative;
    overflow: hidden;
}
.reason:before {
    content: "Reason";
    font-family: serif;
    color: #d9dbe6;
    opacity: 0.3;
    font-size: 300px;
    line-height: 1em;
    font-weight: normal;
    position: absolute;
    top: -0.2em;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.reason .btn_bloc {

}
.reason .btn_bloc a {
    display: inline-block;
    background: #fff;
    border-radius: 1.1em;
}
.reason .btn_bloc a:hover img {
    opacity:0.8;
}

.reason .ttl_bloc {
    margin-bottom: 3em;
}
.reason .ttl_bloc h2 {
    color: #1c2569;
    font-size: 36px;
    line-height: 1.2em;
}

.reason_bloc {
    position: relative;
    z-index: 2;
    align-items: stretch;
    justify-content: space-between;
    margin-bottom: 3em;
    padding-top: 2.4em;
}

.reason_item {
    background: #1c2569;
    border: solid 1px #1c2569;
    width: calc(100% / 4 - 1em);
    position: relative;
}
.reason_item + .reason_item {

}

.reason_item .num {
    color: #1c2569;
    font-size: 60px;
    line-height: 1;
    font-weight: 900;
    font-family: 'Lato', sans-serif;
    position: absolute;
    top: -0.9em;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.reason_item .box {
    background: #1c2569;
}
.reason_item .box .ttl {
    align-items: center;
    justify-content: center;
    margin-bottom: 1em;
}
.reason_item .box .ttl h3 {
    color: #1c2569;
    font-size: 20px;
    line-height: 1.4em;
    text-align: center;
    font-weight: 900;
}
.reason_item .box .ttl span {
    display: inline-block;
    font-size: 16px;
    line-height: 1em;
}

.reason_item .box figure {

}


.reason_item .box .upper {
    background: #fff;
    padding: 1em;
}
.reason_item .box .bottom {

    color: #fff;
    padding: 1em;
}
.reason_item .box .bottom p {
    font-size: 16px;
    line-height: 1.4em;
    text-align: left;
    font-weight: bold;
}
.reason_item .box .bottom p em {
    color:#f9bd05;
}



.p-contact__form {
    margin: 8.53333vw 0 0;
  }

  @media only screen and (min-width: 769px) {
    .p-contact__form {
      max-width: 770px;
      margin: 80px auto 0;
    }
  }

  @media only screen and (max-width: 768px) {
    .p-contact__form table,
    .p-contact__form tbody,
    .p-contact__form tr,
    .p-contact__form th,
    .p-contact__form td {
      display: block;
    }
  }

  .p-contact__form table {
    width: 100%;
    font-size: 1.5rem;
    line-height: 1.4;
  }

  .p-contact__form th {
    padding-top: 4.26667vw;
    text-align: left;
    color: #3D495E;
    font-weight: 400;
  }

  @media only screen and (min-width: 769px) {
    .p-contact__form th {
      width: 160px;
      padding-top: 16px;
      padding-bottom: 16px;
    }
  }

  .p-contact__form th small {
    color: #F07A5F;
    font-size: 1.1rem;
  }

  .p-contact__form td {
    padding-top: 4.26667vw;
    padding-bottom: 4.26667vw;
  }

  @media only screen and (min-width: 769px) {
    .p-contact__form td {
      padding-top: 16px;
      padding-bottom: 16px;
      padding-left: 1em;
    }
  }

  .p-contact__form .wpcf7-form-control-wrap {
    display: inline;
  }

  .p-contact__form .wpcf7-form-control-wrap[data-name="your-name-mei"] {
    margin-left: 1em;
  }

  .p-contact__form .wpcf7-list-item {
    margin: 0;
  }

  .p-contact__form .wpcf7-list-item:not(:first-child) {
    margin: 0 0 0 1em;
  }

  .p-contact__form__submit {
    margin-top: 10.66667vw;
  }

  @media only screen and (min-width: 769px) {
    .p-contact__form__submit {
      width: 316px;
      margin: 40px auto 0;
    }
  }

  .p-contact__form .mktoForm {
    width: 100% !important;
    padding: 0 !important;
  }

  .p-contact__form .mktoFormRow {
    position: relative;
  }

  @media only screen and (min-width: 769px) {
    .p-contact__form .mktoFormRow {
      display: -ms-flexbox !important;
      display: flex !important;
      padding-top: 16px !important;
      padding-bottom: 16px !important;
    }
  }

  .p-contact__form .mktoFormRow:not(:first-child) {
    padding-top: 3vw !important;
  }

  @media only screen and (min-width: 769px) {
    .p-contact__form .mktoFormRow:not(:first-child) {
      padding-top: 0px !important;
    }
  }

  .p-contact__form .mktoForm .mktoFormCol {
    float: none !important;
  }

  .p-contact__form .mktoFormCol {
    margin: 0 !important;
  }

  @media only screen and (min-width: 769px) {
    .p-contact__form .mktoFormCol:nth-child(1) {
      width: 15em;
      padding-top: 1em;
    }
    .p-contact__form .mktoFormCol:nth-child(2) {
      width: calc( 100% - 12em);
    }
    .p-contact__form .mktoFormCol:nth-child(3) {
      width: calc( 50% - 6em);
    }
    .p-contact__form .mktoFormCol:nth-child(1):has(+ .mktoClear) {
        width: 100%;
    }
    .mv_form .p-contact__form .mktoFormCol:nth-child(1):has(+ .mktoClear) {
        width: 100%!important;
    }
  }

  .p-contact__form .mktoFormCol:not(:first-child) {
    padding-top: 2.13333vw !important;
  }

  @media only screen and (min-width: 769px) {
    .p-contact__form .mktoFormCol:not(:first-child) {
      padding-top: 0 !important;
      padding-left: 16px !important;
    }
  }

  @media only screen and (min-width: 769px) {
    .p-contact__form .mktoFormRow:nth-child(2) .mktoFormCol:nth-child(2) {
      padding-top: 1em !important;
    }
    /* .p-contact__form .mktoFormRow:nth-child(3) .mktoFormCol:nth-child(2) {
      width: calc( 50% - 6em);
    } */
    .p-contact__form .mktoFormRow .mktoFormCol:nth-child(2):has(+ .mktoFormCol:nth-child(3)) {
      width: calc( 50% - 6em);
    }
  }

  @media only screen and (min-width: 769px) {
    .p-contact__form .mktoFormRow:nth-child(10) .mktoFormCol:nth-child(1) {
      width: 100%;
    }
  }

  .p-contact__form .mktoFormRow:nth-child(10) .mktoFormCol:nth-child(1) a {
    display: inline;
    padding: 0;
    color: #F07A5F;
    text-decoration: underline;
  }

  .p-contact__form .mktoFormRow:nth-child(10) .mktoFormCol:nth-child(1) a:hover {
    text-decoration: none;
  }

  .p-contact__form .mktoHtmlText {
    width: 100% !important;
    color: #3D495E !important;
    font-size: 16px;
    font-family: "Noto Sans JP", sans-serif;
    line-height: 1.4 !important;
  }

  .p-contact__form .mktoFormRow:nth-child(2) .mktoHtmlText:after,
  .p-contact__form .mktoFormRow:nth-child(3) .mktoHtmlText:after,
  .p-contact__form .mktoFormRow:nth-child(4) .mktoHtmlText:after,
  .p-contact__form .mktoFormRow:nth-child(5) .mktoHtmlText:after,
  .p-contact__form .mktoFormRow:nth-child(6) .mktoHtmlText:after,
  .p-contact__form .mktoFormRow:nth-child(7) .mktoHtmlText:after,
  .p-contact__form .mktoFormRow:nth-child(8) .mktoHtmlText:after {
    display: inline-block;
    padding: 10px 10px 10px;
    margin: 0 0 0 10px;
    border-radius: 2px;
    background-color: #F07A5F;
    vertical-align: middle;
    color: #ffffff;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.05em;
    content: '必須';
  }

  .p-contact__form .mktoForm .mktoGutter,
  .p-contact__form .mktoForm .mktoOffset {
    display: none;
  }

  .p-contact__form .mktoForm .mktoRequiredField label.mktoLabel {
    display: none !important;
  }

  .p-contact__form .mktoForm .mktoAsterix {
    color: #F07A5F !important;
    font-size: 1.1rem !important;
  }

  .p-contact__form .mktoForm .mktoFormRow .mktoField {
    float: none !important;
    clear: none !important;
  }

  .p-contact__form .mktoForm input[type=checkbox],
  .p-contact__form .mktoForm input[type=radio] {
    width: auto !important;
    height: auto !important;
    opacity: 1 !important;
    margin-right: 0.25em;
  }

  @media only screen and (min-width: 769px) {
    .p-contact__form .mktoForm .mktoRadioList,
    .p-contact__form .mktoForm .mktoCheckboxList {
      float: none;
      padding: 0;
      width: 100% !important;
    }
  }

  .p-contact__form .mktoForm .mktoRadioList > label,
  .p-contact__form .mktoForm .mktoCheckboxList > label {
    display: inline-block !important;
    margin-left: 0.1em !important;
    margin-right: 1em !important;
  }

  .p-contact__form .mktoForm .mktoRadioList > label:before,
  .p-contact__form .mktoForm .mktoCheckboxList > label:before {
    display: none !important;
  }

  .p-contact__form .mktoForm input[type=text],
  .p-contact__form .mktoForm input[type=url],
  .p-contact__form .mktoForm input[type=email],
  .p-contact__form .mktoForm input[type=tel],
  .p-contact__form .mktoForm input[type=number],
  .p-contact__form .mktoForm input[type=date],
  .p-contact__form .mktoForm select.mktoField,
  .p-contact__form .mktoForm textarea.mktoField {
    width: 100% !important;
    height: auto !important;
    border: 1px solid #3D495E !important;
    padding: 1em !important;
    background-color: #FAFAFA !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background-color: #ffffff !important;
    font-size: 16px;
  }

  .p-contact__form .mktoButtonRow {
    display: block !important;
    padding: 0 !important;
    margin-top: 10.66667vw;
  }

  @media only screen and (min-width: 769px) {
    .p-contact__form .mktoButtonRow {
      width: 316px;
      margin: 40px auto 0;
    }
  }

  .p-contact__form .mktoForm .mktoFieldWrap {
    float: none;
  }

  .p-contact__form .mktoForm .mktoButtonWrap {
    display: block !important;
    margin: 0 !important;
  }

  .p-contact__form .mktoForm .mktoButtonWrap .mktoButton {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-align: center !important;
        align-items: center !important;
    -ms-flex-pack: center !important;
        justify-content: center !important;
    width: 100% !important;
    height: 13.33333vw !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 2.66667vw !important;
    background: #4E4E4E !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    cursor: pointer !important;
  }

  @media only screen and (min-width: 769px) {
    .p-contact__form .mktoForm .mktoButtonWrap .mktoButton {
      height: 50px !important;
      border-radius: 10px !important;
      font-size: 16px;
    }
  }


/* 独自フォーム */
.p-contact__form_item {
    text-align: left;
}
.p-contact__form_item dt {
    position: relative;
    font-weight: 700;
  }
  .p-contact__form_item dt, .p-contact__form_item dd {
    font-size: 16px;
    line-height: 1.4;
  }
  .form-group {
    display: block;
    margin-bottom: 10px;
  }
  label.form-group {
    cursor: pointer;
  }
  .form-group label {
    cursor: pointer;
  }
  @media screen and (min-width:769px) {
    .p-contact__form_item {
      display: flex;
    }
    .p-contact__form_item dt {
      width: 180px;
      padding: 10px 0;
    }
    .p-contact__form_item dd {
      width: 610px;
      padding-bottom: 10px;
    }
  }
  @media screen and (max-width:768px) {
    .p-contact__form_item dt {
      padding-bottom: 10px;
    }
    .p-contact__form_item dd {
      padding-bottom: 20px;
    }
  }
  .form-control {
    border: 1px solid #DDD;
    border-radius: 3px;
    height: 50px;
    width: 100%;
    padding: 0 10px;
    font-size: 14px;
    box-sizing: border-box;
  }
  .form-control::placeholder {
    color: #999999;
  }
  textarea.form-control {
    height: auto;
    padding: 10px;
    line-height: 1.3;
  }
  select.form-control {
    cursor: pointer;
  }
  .form-inline {
    display: flex;
    justify-content: space-between;
    margin: 0 -10px;
  }
  .form-inline > input {
    margin: 0 10px;
  }
  .required {
    position: absolute;
    top: 10px;
    right: 10px;
    display: block;
    margin-left: 10px;
    background: #F07A5F;
    padding: 2px 3px;
    font-size: 12px;
    color: #fff;
    font-weight: bold;
    @media screen and (max-width:768px) {
      top: 0px;
    }
  }
  .required-non {
    background: #707070;
  }
  .btn-submit {
    background-color: #4e4e4e;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    color: #fff;
    line-height: 1.4;
    padding: 15px 30px;
    border-radius: 10px;
    border: none;
    cursor: pointer;
  }
  .form_privacy_text {
    font-size: 16px;
    line-height: 1.4;
    text-align: center;
    margin: 20px 0 30px;
  }
  .form_privacy_text a {
    text-decoration: underline;
  }
  .form_privacy_text a:hover {
    opacity: 0.8;
  }

  @media screen and (max-width:768px) {
    .p-contact__form {
      padding: 0 20px;
    }
  }

  /* MVフォーム */
.mv_form .p-contact__form_item dt,
.mv_form .p-contact__form_item dd {
  font-size: 13px;
}
.mv_form .p-contact__form .form-group {
  margin-bottom: 5px;
}
.mv_form .p-contact__form .form_privacy_text {
  font-size: 14px;
  margin: 15px 0;
}
@media screen and (min-width:769px) {
  .mv_form .p-contact__form_item {
    justify-content: space-between;
  }
  .mv_form .p-contact__form_item dt {
    width: 134px;
  }
  .mv_form .p-contact__form_item dd {
    width: 246px;
  }
}


/* フッター固定CTA */
@media screen and (min-width:769px) {
    .cta_fixed {
        display: none;
    }
}
@media screen and (max-width:768px) {
    .cta_fixed {
        position: fixed;
        bottom: 0px;
        left: 0px;
        right: 0px;
        padding: 5px;
        text-align: center;
        background-color: #1c2569;
        border-top: 2px solid #333;
        z-index: 999;
    }
}
