@charset "utf-8";

/*
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Noto Serif JP', serif;
*/


html {
    font-family: 'Noto Sans JP', sans-serif;
    caret-color: transparent;
}
body {
    background: #fff;
    color: #000015;
    min-width: auto;
    margin: 0 auto;
}
.inner {max-width: 1080px;width: 100%;margin: 0 auto;box-sizing: border-box;}
.inner_s {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: #30455b;
    padding: 0;
}
footer .logo {
    padding: 2em 0 1em;
}
footer .copy {
    display: block;
    background: #30455b;
    color: #fff;
    font-size: 14px;
    line-height: 1;
    padding: 1em 0 1em;
}


/* **************************************************************** */
/* コンタクト
*/
.contact {
    background: rgb(49, 177, 211);
    background: linear-gradient(180deg, rgba(49, 177, 211, 1) 0%, rgba(76, 225, 203, 1) 100%);
    padding: 3em 0;
}
.contact_upper {

}
.contact_upper h2 {
    
}
.contact_upper p {
    color: #fff;
    font-size: 16px;
    line-height: 1.6em;
    margin-top: 1em;
}

.contact_bloc {
    max-width: 640px;
    margin: 0 auto;
}



.contact_bloc dl {
    border: none;
    padding: 0;
}
.contact_bloc dl + dl {
    margin-top: 1em;
}
.contact_bloc dl dt {
    width: 100%;
    padding: 0;
    margin-bottom: 0.5em;
    color: #fff;
}
.contact_bloc dl dd {
    padding: 0;
}

.contact_bloc dl:nth-child(odd) {
    background: none;
}
.contact_bloc dl:last-child {
    border-bottom: none;
}
.contact_bloc dl dt.required:after {
    content: "必須";
    display: inline-block;
    background: #f34939;
    color: #fff;
    font-size: 12px;
    line-height: 1;
    padding: 4px;
    border-radius: 2px;
}
.radio_item + .radio_item {
    margin-top: 0.5em;
}
.check_dummy {
    background: #fff;
}

.btn_bloc button {
    display: inline-block;
    background: #f34939;
    color: #fff;
    font-size: 28px;
    line-height: 1.2em;
    font-weight: 900;
    width: 100%;
    max-width: 500px;
    box-sizing: border-box;
    padding: 1em 2em;
    border-radius: 50px;
    box-shadow: 0 6px 0 #c82d31;
    text-decoration: none;
}

.ECM_CheckboxInput-DummyInput {
    background: #fff;
}

.contact_privacy {
    background: #fff;
    width: 100%;
    max-width: 640px;
    margin: 2em auto 0;
}


/* **************************************************************** */
/* 個別CSS
*/
.mv {
    background: url(../images/bg_mv.jpg) no-repeat center top;
    background-size: cover;
    padding: 3em 0;
}
.mv .inner {
    align-items: center;
    justify-content: space-between;
}

.mv figure {
    width: 50%;
}

.mv_bloc {
    flex: 1 0 0%;
    text-align: left;
}
.mv_bloc p {
    display: inline-block;
    background: #fee866;
    color: #21374e;
    font-size: 27px;
    line-height: 1em;
    font-weight: 900;
    padding: 0.5em 1em;
    border-radius: 30px;
    margin-bottom: 0.5em;
}
.mv_bloc h1 {
    color: #30455b;
    font-size: 64px;
    line-height: 1.4em;
    font-weight: 900;
    margin-bottom: 0.5em;
}
.mv_bloc h1 .txt {
    display: inline-block;
    margin-bottom: 0.25em;
}
.mv_bloc h1 .txt em {
    display: inline-block;
    color: #f44a39;
}
.mv_bloc h1 .txt em .large {
    display: inline-block;
    font-size: 87px;
    line-height: 1em;
    vertical-align: text-top;
}
.mv_bloc h1 strong {
    display: inline-block;
}
.mv_bloc h2 {
    display: inline-block;
    color: #f44a39;
    font-size: 30px;
    line-height: 1.2em;
    font-weight: 900;
    border-bottom: solid 2px #f44a39;
    margin-right: -2em;
    margin-bottom: 1em;
}
.mv_bloc ul {

}
.mv_bloc ul li {

}
.mv_bloc ul li + li {
    margin-top: 0.5em;
}
.mv_bloc ul li span {
    display: inline-block;
    background: #fff;
    color: #21374e;
    font-size: 24px;
    line-height: 1em;
    font-weight: 900;
    padding: 0.5em 1em 0.5em 2em;
    position: relative;
}
.mv_bloc ul li span:before {
    content: "";
    width: 26px;
    height: 26px;
    background: url(../images/icon_check.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    left: 0.5em;
}

.mv_under {
    background: #d5f3f2;
    padding:2em 0;
}

.mv_under .client_slider_bloc {
    margin-bottom: 2em;
}
.mv_under .btn_bloc {
    margin-bottom: -5em;
}

.client_slider_bloc {

}
.client_slider_bloc img {
    margin: 0 1em;
}


.btn_bloc {

}
.btn_bloc a {
    display: inline-block;
    background: #f34939;
    color: #fff;
    font-size: 28px;
    line-height: 1.2em;
    font-weight: 900;
    width: 100%;
    max-width: 500px;
    box-sizing: border-box;
    padding: 1em 2em;
    border-radius: 50px;
    box-shadow: 0 6px 0 #c82d31;
    text-decoration: none;
}
.btn_bloc a:hover {
    
}

.trouble {
    padding: 8em 0 3em;
}

.trouble_bloc {
    border: solid 7px #2f455b;
    border-radius: 2em;
    padding: 2em;
}
.trouble_bloc h2 {
    margin-bottom: 1em;
}
.trouble_bloc h2 em {
    display: block;
    margin-top: -3.5em;
    margin-bottom: 0.5em;
}
.trouble_bloc h2 em img {
    background: #fff;
    padding: 0 1em;
}
.trouble_bloc h2 span {
    display: block;
    font-size: 48px;
    line-height: 1.2em;
    font-weight: 900;
}

.trouble_box {
    margin-bottom: 1em;
}
.trouble_box figure {
    
}

.trouble_cell {

}
.trouble_cell ul {
    text-align: left;
}
.trouble_cell ul li {
    
}
.trouble_cell ul li + li {
    margin-top: 1em;
}
.trouble_cell ul li span {
    display: inline-block;
    background: #dde4e4;
    color: #21374e;
    font-size: 26px;
    line-height: 1em;
    font-weight: 900;
    padding: 1em 1em 1em 2.25em;
    border-radius: 0.5em;
    position: relative;
}
.trouble_cell ul li span:before {
    content: "";
    width: 33px;
    height: 33px;
    background: url(../images/icon_check.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    left: 0.5em;
}


.trouble_bottom {
    display: inline-block;
    background: #feffc1;
    padding: 3em 2em 1.5em;
}
.trouble_bottom h3 {
    margin-top: -4em;
    margin-bottom: 1em;
}
.trouble_bottom h3 span {
    display: inline-block;
    background: #30455b;
    color: #fff;
    font-size: 28px;
    line-height: 1em;
    padding: 0.5em 1.5em 0.6em;
    border-radius: 30px;
}
.trouble_bottom p {
    font-size: 20px;
    line-height: 1.8em;
    font-weight: 900;
}
.trouble_bottom p em {
    display: inline-block;
    color: #f44a39;
    font-size: 24px;
    vertical-align: bottom;
}


.point {
    background: rgb(49, 177, 211);
    background: linear-gradient(180deg, rgba(49, 177, 211, 1) 0%, rgba(76, 225, 203, 1) 100%);
    padding: 3em 0;
}
.point h2 {
    margin-bottom: 2em;
}

.point_bloc {
    align-items: stretch;
    justify-content: space-between;
    gap: 2em;
}
.point_item {
    width: calc(100% / 2 - 4em);
    background: #fff;
    border: solid 6px #2f455b;
    border-radius: 2em;
    position: relative;
    padding: 1em 1em 2em;
}
.point_item i {
    position: absolute;
    top: -0.5em;
    left: 1em;
}
.point_item h3 {
    color: #f44a39;
    font-size: 36px;
    line-height: 1.1em;
    font-weight: 900;
    height: 2.2em;
    align-items: center;
    justify-content: center;
}
.point_item h3 span {
    
}
.point_item figure {
    margin-bottom: 1em;
}
.point_item p {
    font-size: 18px;
    line-height: 1.6em;
    font-weight: bold;
}
.point_item p em {
    color: #f44a39;
    font-size: 20px;
    font-weight: 900;
    background: linear-gradient(transparent 60%, #fee866 60%);
}


.about {
    background: url(../images/bg_about.jpg) no-repeat center top;
    background-size: cover;
    background-attachment: fixed;
    padding: 3em 0;
}
.about h2 {
    margin-bottom:2em;
}

.about_bloc {
    position: relative;
    align-items: center;
    justify-content: center;
    margin-bottom: 1em;
}
.about_bloc figure {
    
}

.about_bloc ul {
    width: 100%;
    max-width: 330px;
}
.about_bloc ul.left {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    right: 0;
}
.about_bloc ul.right {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    left: 0;
}
.about_bloc ul li {
    border: solid 4px #30455b;
    color: #30455b;
    background: #fff;
    font-size: 30px;
    line-height: 1em;
    font-weight: 900;
    padding: 1em 0.5em;
    border-radius: 3em;
}
.about_bloc ul li + li {
    margin-top:1em;
}
.about_bloc ul li:first-child {
    color: #fff;
    background: #30455b;
}

.about_bottom {

}
.about_bottom p {
    color: #30455b;
    font-size: 22px;
    line-height: 1.6em;
    font-weight: 900;
}


.merit {
    background: rgb(49, 177, 211);
    background: linear-gradient(180deg, rgba(49, 177, 211, 1) 0%, rgba(76, 225, 203, 1) 100%);
    padding: 3em 0;
}
.merit h2 {
    margin-bottom:2em;
}

.merit_bloc {
    align-items: stretch;
    justify-content: space-between;
}
.merit_item {
    width: calc(100% / 3 - 1em);
    background: #d5f3f2;
    padding: 1em 1em 1.5em;
    border-radius: 2em;
    box-sizing: border-box;
    box-shadow: 0 3px 6px #1a82;
}
.merit_item .num {
    display: block;
    color: #30455b;
    font-size: 24px;
    line-height: 1em;
    font-weight: bold;
    margin-bottom: 1em;
}
.merit_item h3 {
    margin-bottom: 1em;
}
.merit_item figure {
    margin-bottom: 1em;
}
.merit_item h4 {
    color: #21374e;
    font-size: 24px;
    line-height: 1em;
    margin-bottom: 0.5em;
}
.merit_item h4 span {
    font-size: 16px;
}
.merit_item p {
    color: #21374e;
    font-size: 16px;
    line-height: 1.6em;
    text-align: left;
}


.choice {
    background: #d5f3f2;
    padding: 3em 0;
}
.choice_content {
    background: #fff;
    border: solid 6px #2f455b;
    border-radius: 2em;
    position: relative;
    padding: 0 2em 2em;
}
.choice_content h2 {
    margin-bottom: 1em;
}

.choice_bloc {

}
.choice_item {
    align-items: center;
    justify-content: space-between;
    gap: 1em;
}
.choice_item + .choice_item {
    margin-top: 2em;
}

.choice_item:nth-child(even) {
    flex-direction: row-reverse;
}

.choice_item figure {

}
.choice_box {
    flex: 1 0 0%;
    text-align: left;
}
.choice_box .num {

}
.choice_box h3 {
    margin-bottom: 0.5em;
}
.choice_box h3 span {
    display: block;
}
.choice_box h3 span em {
    display: inline-block;
    background: #e85b5b;
    color: #fff;
    font-size: 32px;
    line-height: 1em;
    font-weight: 900;
    padding: 0.25em 0.5em 0.3em;
}

.choice_box h3 span + span {
    margin-top: 0.5em;
}

.choice_box p {
    color: #21374e;
    font-size: 18px;
    line-height: 1.6em;
    font-weight: bold;
}


.choice_under {
    padding:2em 0;
}

.choice_under .client_slider_bloc {
    margin-bottom: 2em;
}
.choice_under .btn_bloc {
    margin-bottom: -5em;
}


.voice {
    margin-top: 8em;
}
.voice_upper {
    position: relative;
}
.voice_upper .inner {
    align-items: flex-end;
    justify-content: center;
}
.voice_upper .inner:after {
    content: "";
    width: 100%;
    height: 68%;
    background: #30455b;
    position: absolute;
    bottom: 0;
    left: 0;
}
.voice_upper .f1 {
    position: relative;
    z-index: 2;
    margin-bottom: -11px;
}
.voice_upper .f2 {
    position: relative;
    z-index: 2;
    margin-bottom: -12px;
}
.voice_upper h2 {
    position: relative;
    z-index: 2;
    margin-bottom: 1em;
}

.voice_content {
    background: #3dc7d0;
    padding: 3em 0;
    overflow: hidden;
}
.voice_slider {

}

.voice_item {
    background: #fff;
    border-radius: 1em;
    margin: 0 0.5em;
}
.voice_item figure {
    
}
.voice_item h3 {
    color: #30455b;
    font-size: 21px;
    line-height: 1em;
    font-weight: 900;
    padding: 0.5em;
}
.voice_item h4 {
    background: #30455b;
    color: #fee866;
    font-size: 18px;
    line-height: 1.4em;
    padding: 0.5em;
    text-align: left;
}
.voice_item p {
    color: #21374e;
    padding: 1em;
    font-size: 16px;
    line-height: 1.6em;
    text-align: left;
    font-weight: bold;
}

.slick-track {
    display: flex;
}
.slick-slide {
height: auto !important;
}


.flow {
    padding: 3em 0;
}
.flow h2 {
    color: #30455b;
    font-size: 42px;
    line-height: 1em;
    font-weight: 900;
    margin-bottom: 2em;
}

.flow_bloc {

}
.flow_item {
    width: calc(100% / 5 - 1.5em);
    background: #eff3f3;
    padding: 3em 1em 1em;
    box-sizing: border-box;
    border-radius: 1em;
    position: relative;
}
.flow_item + .flow_item {

}
.flow_item + .flow_item:before {
    content: "";
    width: 17px;
    height: 29px;
    background: url(../images/icon_arrow.png) no-repeat;
    background-size: contain;
    position: absolute;
    left: -1.3em;
    bottom: 40%;
}

.flow_item .num {
    position: absolute;
    top: -2em;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.flow_item figure {
    margin-bottom: 1em;
}
.flow_item h3 {
    color: #30455b;
    font-size: 24px;
    line-height: 1em;
    font-weight: 900;
}


.company {
    background: #30455b;
    color: #fff;
    padding: 2em 0;
}
.company h2 {
    font-size: 30px;
    line-height: 1em;
    font-weight: 900;
    margin-bottom: 1em;
}
.company_bloc {
    display: inline-block;
}
.company_bloc dl {
    align-items: flex-start;
    justify-content: flex-start;
    font-size: 16px;
    line-height: 1.6em;
}
.company_bloc dl + dl {
    margin-top:0.5em;
}
.company_bloc dl dt {
    
}
.company_bloc dl dt span {
    display: inline-block;
    min-width: 3em;
    text-align: left;
}
.company_bloc dl dt span:after {
    content:"：";
}
.company_bloc dl dd {
    
}

.thanks .detail h1 {
    color: #30455b;
    font-size: 32px;
    line-height: 1em;
    font-weight: 900;
    margin-bottom: 1em;
}
.thanks .detail h1 + p {
    color: #30455b;
    font-size: 18px;
    line-height: 1.6em;
    font-weight: bold;
}


