@charset "utf-8";

/*
源ノゴシック
font-family: source-han-sans-cjk-ja, sans-serif;
源ノ明朝
font-family: source-han-serif-japanese, serif;
*/

html {
		font-family: source-han-sans-cjk-ja, sans-serif;
}
html {visibility: hidden;}
html.wf-active {visibility: visible;}
body {
    background: #fff;
    color: #1e1e1e;
}
.inner {max-width: 1180px;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%);}

/* **************************************************************** */
/* ヘッダー
*/

/* **************************************************************** */
/* フッター
*/
footer {
    background: #0948a8;
    color: #fff;
    padding: 0;
}
footer a {
		color:#fff;
}
footer a:hover {
		text-decoration: underline;
}

.footer_content {
    padding: 1em 0 0;
}
.footer_content ul {
		align-items: flex-start;
    justify-content: center;
    gap: 2em;
}

footer .copy {
    display: block;
    background: #0948a8;
    color: #fff;
    font-size: 14px;
    line-height: 1;
    padding: 1em 0 1em;
}


/* **************************************************************** */
/* コンタクト
*/
.btn_bloc button {
    background: none;
    box-shadow: none;
    padding: 0;
    max-width: none;
}
.contact {
    padding: 3em 0;
}
.contact_upper h2 {
    font-size: 42px;
    line-height: 1.2em;
    font-weight: 900;
}
.contact_bloc dl dt.required:after {
    background: #FF9C00;
}








/* **************************************************************** */
/* 個別CSS
*/
.mv {
    overflow: hidden;
    padding: 2em 0;
    background: url(../images/bg_mv.png) no-repeat center top;
}
.mv_upper {
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1em;
}
.mv_bloc {
    position: relative;
    z-index: 2;
    text-align: center;
}

.mv_bloc p {
    font-size: 36px;
    line-height: 1.2em;
    font-weight: 900;
    margin-bottom: 0.5em;
}
.mv_bloc h1 {
    font-size: 60px;
    line-height: 1em;
    font-weight: 900;
    margin-bottom: 0.3em;
}
.mv_bloc h1 span {
    display: inline-block;
    background: #0e40a0;
    color: #fff;
    padding: 0.2em 0.2em 0.3em;
}
.mv_bloc h1 br + span {
		margin-top:0.2em;
}

.mv_bloc h1 em {
		color: #fab240;
    border-bottom: solid 1px #fab240;
    display: inline-block;
    font-style: normal;
}
.mv_bloc h2 {
		font-size: 42px;
    line-height: 1.4em;
    font-weight: bold;
    color: #0e40a0;
    margin-bottom: 0.3em;
}
.mv_bloc h2 + p {
    color: #fc0101;
    font-size: 32px;
    line-height: 1.4em;
    margin: 0;
    font-weight: bold;
}

.mv_upper figure {
    flex: 1 0 0%;
    margin-left: -2em;
    margin-right: -4em;
    position: relative;
}

.mv .btn_bloc {

}

.mv_bottom {
    align-items: center;
    justify-content: center;
}
.mv_bottom figure {

}
.mv_bottom ul {
    margin-left: 2em;
}
.mv_bottom ul li {
		position: relative;
    padding-left: 1em;
    font-size: 30px;
    line-height: 1.4em;
    font-weight: 900;
    text-align: left;
}
.mv_bottom ul li:before {
    content: "";
    background: url(../images/icon_check.png) no-repeat;
    width: 19px;
    height: 19px;
    position: absolute;
    top: 14px;
    left: 0;
}
.mv_bottom ul li + li {
    margin-top: 0.2em;
}
.mv_bottom ul li em {
		font-size: 32px;
    font-style: normal;
    color: #0948a8;
    background: linear-gradient(transparent 60%, #ffde00 60%);
}

.cm {

}
.bar_title {
		background: #0948a8;
    color: #fff;
    position: relative;
    padding: 1em 1em 1.3em;
    margin-bottom: 3em;
}
.bar_title:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 50px 60px 0 60px;
    border-color: #0949a8 transparent transparent transparent;
    position: absolute;
    bottom: -50px;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.bar_title p {
    font-size: 42px;
    line-height: 1.2em;
    font-weight: 900;
}

.cm_content {
    padding-bottom: 3em;
}
.cm_bloc {

}
.cm_bloc h1 {
		position: relative;
    color: #ff9c00;
    font-size: 42px;
    line-height: 1.4em;
    font-weight: 900;
    padding: 0 1em;
    display: inline-block;
    margin-bottom: 0.5em;
}
.cm_bloc h1:before {
    content: "";
    border-left: solid 3px #ff9c00;
    position: absolute;
    width: 3px;
    height: 100%;
    top: 0;
    left: 0;
    transform: rotate(-20deg);
}
.cm_bloc h1:after {
    content: "";
    border-left: solid 3px #ff9c00;
    position: absolute;
    width: 3px;
    height: 100%;
    top: 0;
    right: 0;
    transform: rotate(20deg);
}

.cm_bloc p {
    font-size: 30px;
    line-height: 1.4em;
    font-weight: 900;
    margin-bottom: 1em;
}
.cm_bloc p .dotted {

}
.cm_bloc p .dotted span:after {
    background: #1e1e1e;
}

.cm_bloc p em {
    font-style: normal;
    color: #fd0404;
}


.cm_movie_bloc {
		margin-bottom: 2em;
}
.cm_movie {
    max-width: 50%;
    margin: 0 auto;
}
.cm_movie video {
    width: 100%;
}
.cm_movie_bloc p {
    background: #e1e2e4;
    display: inline-block;
    position: relative;
    font-size: 20px;
    font-weight: 900;
    padding: 0.5em 1em;
    border-radius: 6px;
}
.cm_movie_bloc p:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 15px 20px 15px;
    border-color: transparent transparent #e1e2e4 transparent;
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    margin: 0 auto;
}







.point {
    background: #bfe7ff;
    padding: 3em 0;
    overflow: hidden;
}
.point h2 {
    display: inline-block;
    background: #0948a8;
    color: #fff;
    font-size: 60px;
    line-height: 1em;
    font-weight: 900;
    padding: 0 0.5em 0.3em;
    margin-bottom: 1em;
}
.point h2 em {
    display: inline-block;
    color: #ffde00;
    font-style: normal;
    font-size: 80px;
    line-height: 1.2em;
    border-bottom: solid 2px #ffde00;
}

.point_bloc {

}

.point_item {
    align-items: center;
    justify-content: space-between;
		position: relative;
}
.point_item + .point_item {
    margin-top: 3em;
}

.point_item .box {
    width: 76%;
    text-align: left;
}
.point_item .box h3 {
    color: #0948a8;
    font-size: 36px;
    line-height: 1.2em;
    font-weight: 900;
    margin-bottom: 0.5em;
    position: relative;
    z-index: 3;
}
.point_item .box p {
font-size: 20px;
    line-height: 1.6em;
    font-weight: normal;
    position: relative;
    z-index: 3;
}
.point_item .box p em {
    background: linear-gradient(transparent 60%, #ffde00 60%);
    font-style: normal;
    font-weight: bold;
}
.point_item figure {
    flex: 1 0 0%;
    position: relative;
    z-index: 3;
}

.point_item:nth-child(odd) figure {
    margin-left: -3em;
}
.point_item:nth-child(even) figure {
    margin-right: -3em;
}




.point_item:nth-child(odd) {

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

.point_item:nth-child(odd) .box {
    position: relative;
    padding: 4em 6em 4em 1em;
    box-sizing: border-box;
}
.point_item:nth-child(even) .box {
    position: relative;
    padding: 4em 1em 4em 6em;
    box-sizing: border-box;
}






.point_item:nth-child(odd) .box .c {
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    background: #fff;
    border-radius: 50%;
    z-index: 2;
}
.point_item:nth-child(even) .box .c {
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #fff;
    border-radius: 50%;
    z-index: 2;
}

.point_item:nth-child(odd) .box .c:before {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: #fff;
    height: 100%;
}
.point_item:nth-child(even) .box .c:before {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: #fff;
    height: 100%;
}




.point_item:nth-child(odd) .box .s {
    content: "";
    background: #fff;
    width: 300%;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: 1;
}
.point_item:nth-child(even) .box .s {
    content: "";
    background: #fff;
    width: 300%;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: 1;
}

.cv {
    background: #0948a8;
    color: #fff;
    padding: 2em 0;
}
.cv_bloc {

}
.cv_bloc h2 {
    font-size: 48px;
    line-height: 1em;
    font-weight: 900;
    margin-bottom: 0.5em;
}

.case {
		padding: 3em 0;
    background-image: url(../images/bg_case_01.png),url(../images/bg_case_02.png);
    background-repeat: no-repeat;
    background-position: top 2em right,bottom left;
}
.case h2 {
    font-size: 42px;
    line-height: 1em;
    font-weight: 900;
    margin-bottom: 1em;
}

.case_bloc {
    padding: 0 4em;
}
.case_bloc .item {
    border: solid 1px #0e40a0;
    border-radius: 1em;
    background: #fff;
    padding: 1em;
    align-items: center;
    justify-content: space-between;
}
.case_bloc .item + .item {
    margin-top: 2em;
}

.case_bloc .item > figure {

}
.case_bloc .item .box {
		flex: 1 0 0%;
    text-align: left;
    margin-left: 1em;
    align-items: center;
    justify-content: space-between;
    position: relative;
}
.case_bloc .item .box span {
    display: inline-block;
    font-size: 18px;
    line-height: 1.2em;
}
.case_bloc .item .box h3 {
    font-size: 30px;
    line-height: 1.2em;
    font-weight: 900;
    margin-bottom: 0.5em;
}
.case_bloc .item .box p {
    font-size: 16px;
    line-height: 1.6em;
}
.case_bloc .item .box > figure {

}

.case_bloc .item:nth-child(3) .box > figure {
    position: absolute;
    top: -1.2em;
    right: 1em;
}

.service {
		padding:0 0 3em;
}
.service h2 {
    display: inline-block;
    background: #0948a8;
    color: #fff;
    font-size: 52px;
    line-height: 1em;
    font-weight: 900;
    padding: 0.4em 0.5em 0.5em;
    margin-bottom: 0.5em;
}
.service h2 em {
		color: #ffde00;
    border-bottom: solid 1px #ffde00;
    font-style: normal;
}

.service_bloc {
    margin-bottom: 3em;
}
.service_bloc h3 {
    font-size: 36px;
    line-height: 1.2em;
    font-weight: 900;
    margin-bottom: 0.5em;
}

.service_list {

}
.service_list h3 {
    font-size: 36px;
    line-height: 1.2em;
    font-weight: 900;
    margin-bottom: 1em;
}
.service_list ul {
    align-items: flex-start;
    justify-content: center;
    gap: 1em;
}
.service_list ul li {

}

.service_list p {
    display: inline-block;
    background: #bfe7ff;
    color: #0948a8;
    font-size: 36px;
    line-height: 1em;
    font-weight: 900;
    padding: 0.4em 0.5em 0.5em;
    position: relative;
    margin-top: 1.5em;
}
.service_list p:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 15px 30px 15px;
    border-color: transparent transparent #bfe6ff transparent;
    position: absolute;
    top: -30px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.cv2 {
		background: #0948a8;
    padding: 3em 0;
}
.cv2_bloc {
    margin-bottom: 2em;
}
.cv2_bloc h2 {
    font-size: 60px;
    line-height: 1.2em;
    margin-bottom: 0.5em;
    font-weight: 900;
}
.cv2_bloc h2 span {
    display: inline-block;
    background: #fff;
    padding: 0.2em 0.3em 0.3em;
}
.cv2_bloc h2 em {
    display: inline-block;
    font-style: normal;
    color: #fe0202;
    font-size: 72px;
    line-height: 1.2em;
    border-bottom: solid 2px #fe0202;
}
.cv2_bloc h2 br + span {
    margin-top: 0.3em;
}

.cv2_bloc h3 {
    color: #fff;
    font-size: 36px;
    line-height: 1.4em;
    font-weight: 900;
    margin-bottom: 0.5em;
}
.cv2_bloc p {
    color: #ffde00;
    font-size: 42px;
    line-height: 1.2em;
    font-weight: 900;
}

.step {
    padding: 3em 0;
}
.step h2 {
    font-size: 46px;
    line-height: 1.2em;
    font-weight: 900;
}
.step_bloc {

}
.step_bloc ol {

}
.step_bloc ol li {
		position: relative;
    width: 240px;
}
.step_bloc ol li + li {

}
.step_bloc ol li + li:before {
    content: "";
    width: 25px;
    height: 59px;
    background: url(../images/icon_arrow.png) no-repeat;
    position: absolute;
    top: 9em;
    left: -2em;
}

.step_bloc ol li figure {
    height: 308px;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 1em;
}
.step_bloc ol li p {
    font-size: 16px;
    line-height: 1.4em;
    text-align: left;
}
.step_bloc ol li:last-child {
    width: 308px;
}
.step_bloc ol li:last-child p {
		color: #2c5ebd;
    font-size: 21px;
    font-weight: 900;
}

.cm2 {
    background: #bfe7ff;
}
.cm2 .inner {
    align-items: center;
    justify-content: space-between;
    background: url(../images/bg_cm2.png) no-repeat top left 72%;
}

.cm2_bloc {
    text-align: left;
}
.cm2_bloc h2 {
    color: #0948a8;
    font-size: 50px;
    line-height: 1.2em;
    font-weight: 900;
    margin-bottom: 0.5em;
}
.cm2_bloc p {
    font-size: 21px;
    line-height: 1.6em;
    font-weight: normal;
}
.cm2_bloc em {
    color: #0948a8;
    font-size: 28px;
    font-style: inherit;
    font-weight: bold;
}
.cm2 .inner figure {
    margin-top: -2em;
    padding-bottom: 2em;
}

.cv3 {
    background: #0948a8;
    padding: 3em 0;
}
.cv3 .inner {
    align-items: center;
    justify-content: space-between;
}
.cv3_bloc {

}
.cv3_bloc p {
    margin-bottom: 1em;
}
.cv3_bloc .btn_bloc {

}
.cv3_figure {

}
.cv3_figure p {
    margin-bottom: 2em;
}
.cv3_figure figure {

}
























