@charset "utf-8";

/* ========================================
    ■ 必須設定
======================================== */
/* reset
----------------------------- */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
body { line-height: 1; }
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section { display: block; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
h1,
h2,
h3,
h4,
h5,
h6 { font-weight: inherit; }
a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}
mark {
    background-color: #ff9;
    color: #000; 
    font-style: italic;
    font-weight: bold;
}
del { text-decoration: line-through; }
abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
th {
    text-align: left;
    vertical-align: top;
    font-weight: normal;
}
td {
    text-align: left;
    vertical-align: top;
}
hr {
    display: block;
    height: 1px;
    border: 0;   
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}
input, select, textarea, img { vertical-align:middle; }
ul, dl, ol { list-style: none; }
em { font-style: normal; }
* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

/* 共通設定
----------------------------- */
html { font-size: 16px; }

body {
    font-family: 'Noto Sans JP', 'sans-serif',"Shippori_Mincho_B1";
    color: #1D1D1D;
    line-height: 1.6;
    background: #fff;
    font-size:25px;
    -webkit-text-size-adjust: 100%;
}

a {
    color: #1D1D1D;
    text-decoration: underline;
    transition: 0.2s ease;
}
a:hover {
    text-decoration: none;
    transition: 0.2s ease;
}
a::before, a:hover::before,
a::after, a:hover::after {
    transition: 0.2s ease;
}

img,
video,
object {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    border: none;
}

/* ========================================
    ■ General
======================================== */
.wrap {
    position: relative;
    padding-left:38px;
    padding-right:38px;
}

.wrap:after {
    content: "";
    display: block;
    clear: both;
}

.clearfix {
    overflow: hidden;
    zoom: 1;
}
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.hover:hover {
    opacity: 0.9;
    transition: 0.2s ease;
}

.scrollbar::-webkit-scrollbar {
    background: #ccc;
    width: 10px;
}
.scrollbar::-webkit-scrollbar-thumb { background: #aaa; }

table.tbl-block,
table.tbl-block tbody,
table.tbl-block tr,
table.tbl-block th,
table.tbl-block td {
    display: block;
    text-align: left;
}

.g-wrapper{
    width:750px;
    margin:0 auto;
    overflow:hidden;
}

/* 文字装飾 */
.font-blue { color: #1C66FF; }
.font-blue02 { color: #1B66FF; }
.font-yellow { color: #F8FF52; }
.marker-yellow { background: linear-gradient(0deg, transparent 0%, #F8FF52 0%); }
.marker-yellow02 { background: linear-gradient(180deg, transparent 50%, #F8FF52 0%); }
.marker-gray { background: linear-gradient(180deg, transparent 50%, #EBF1FF 0%); }
.marker-white { background: linear-gradient(0deg, transparent 0%, #fff 0%); }
.u-bold{
    font-weight: 700;
}
.u-robot{
    font-family: 'Roboto', sans-serif;
}
.l-blue{
    background:#001B72;
}

.alertarea{
    font-size: small;
    color:red;
    line-height: 14px!important;
}
.attention{
    font-size: small;
    color:#666;
}

/* 圏点 */

/* ========================================
■ cmn
======================================== */

.cmn-hl01{
    text-align: center;
    letter-spacing: 0.1em;
    font-weight: 700;
    margin-bottom:25px;
}

.cmn-hl01_balloon{
    background:#1C66FF;
    color:#fff;
    font-size:28px;
    display:inline-block;
    position: relative;
    border-radius:50px;
    padding:10px 25px;
    margin-bottom:25px;
    letter-spacing: 0.1em;
}

.cmn-hl01_balloon:before{
    content:"";
    display:block;
    position: absolute;
    left:0;
    right:0;
    margin:0 auto;
    bottom:-14px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 19px 11px 0 11px;
    border-color: #1C66FF transparent transparent transparent;
}

.cmn-hl01_text01{
    font-size:45px;
    letter-spacing: 0.1em;
}

.cmn-hl01_text01._small{
    font-size:37px;
}
.cmn-hl01_text01._small02{
    font-size:41px;
    letter-spacing: 0.07em;
}

.cmn-hl01_text01 img{
    vertical-align: top;
}

.cmn-hl01_text01._lineheight01{
    line-height:1.8;
}

.cmn-hl01_ico01{
    position: relative;
}

.cmn-hl01_ico01:before{
    content:"";
    display:block;
    width:24px;
    height:20px;
    background:url(../images/sp/ico01.png) center center no-repeat;
    background-size:100% auto;
    position: absolute;
    top:-5px;
    right:-5px;
}

/* ========================================
■ cmn-form
======================================== */


.cmn-form_hl .font-yellow{
    display: block;
    font-size:25px;
    background:url(../images/sp/deco01.png) center top no-repeat;
    padding-top:35px;
    padding-bottom:12px;
}

.cmn-form_glass{
    display:inline-block;
    background:url(../images/sp/ico_glass.png) left center no-repeat;
    padding-left:60px;
    padding-right:60px;
}

.cmn-form_hl{
    text-align: center;
    font-size:45px;
    margin-bottom:30px;
    letter-spacing: 0.1em;
    color:#fff;
    font-weight: 700;
    line-height:1.3;
}

.cmn-form{
    border-radius:10px;
    background:#fff;
    padding:45px 20px 35px;
    width:684px;
    margin:0 auto;
}

.cmn-form_tb{
    width:100%;
    color:#001B72;
}

.cmn-form_tb td{
    padding-bottom:40px;
    width:50%;
    padding-left:20px;
    padding-right:20px;
}

.cmn-form_list{
    font-size:18px;
    color:#fff;
    width:541px;
    margin:35px auto 0;
}

.cmn-form_list li{
    text-indent: -1em;
    padding-left:1em;
}


.cmn-form_title{
    font-weight: 500;
    margin-bottom:15px;
}

.cmn-form_required{
    color:#fff;
    background:#001B72;
    display:inline-block;
    padding:0 15px;
    margin-right:10px;
}

.cmn-form_tb input[type="text"],
.cmn-form_tb input[type="email"],
.cmn-form_tb input[type="tel"]{
    box-sizing:border-box;
    width:100%;
    border:4px solid #001B72;
    padding:18px 15px 17px;
    font-family:inherit;
    font-size:inherit;
    font-weight: 500;
    font-size:25px;
    border-radius:10px;
    background:#EDFFFF;
}

.cmn-form_tb select{
    box-sizing:border-box;
    border:4px solid #001B72;
    font-weight: 500;
    font-size:25px;
    border-radius:10px;
    font-family:inherit;
    color:#001B72;
    padding:18px 15px 17px;
    width:100%;
    height:84px;
    background:url(../images/sp/select.png) right center no-repeat #EDFFFF;
    -webkit-appearance: none;
    appearance: none;
}
.cmn-form_submit{
    text-align:center;
}
.cmn-form_submit .api{
    padding-left: 172px;
    margin-bottom: 15px;
}

.cmn-form_submit input{
    font-weight: 700;
    font-size:42px;
    font-family:inherit;
    background:url(../images/sp/ico_arrow01.png) right center no-repeat #F5FF00;
    border:none;
    border-radius:60px;
    width:600px;
    margin:0 auto 10px;
    cursor:pointer;
    box-shadow:0px 5px 8px 1px rgba(0,0,0,0.2);
    -moz-box-shadow:0px 5px 8px 1px rgba(0,0,0,0.2);
    -webkit-box-shadow:0px 5px 8px 1px rgba(0,0,0,0.2);
    padding:25px 0;
    transition: 0.2s ease;
}


.cmn-form_tb input::placeholder {
    color: #001B72;

}
.cmn-form_tb input[type="number"] {
    box-sizing: border-box;
    width: 5em;
    border: 4px solid #001B72;
    padding: 18px 15px 17px;
    font-family: inherit;
    font-size: inherit;
    font-weight: 500;
    font-size: 25px;
    border-radius: 10px;
    background: #EDFFFF;
}

.inline-list li{
    display:inline;
    padding-right: 2em;
}

.inline-list input[type=radio] {
	display: none;
}
.checkbox01 {
	position: relative;
	line-height:2.6;
	padding: 0 20px 0 27px;
}
.checkbox01:hover:after {
	border-color: #0171bd;
}
.checkbox01:after, .checkbox01:before{
	position: absolute;
	content: ""; 
	display: block;
	top: 50%;
}
.checkbox01:after {
	left: 0;
	margin-top: -12px;
	width: 20px;
	height: 20px;
    border: 2px solid #001B72;
    border-radius: 50%;
}
.checkbox01:before {
	left: 7px;
	margin-top: -9px;
	width: 7px;
	height: 11px;
	border-right: 3px solid #0171bd;
	border-bottom: 3px solid #0171bd;
	transform: rotate(45deg);
	opacity: 0;
}
input[type=radio]:checked + .checkbox01:before {
	opacity: 3;
}

/* IE */
.cmn-form_tb input:-ms-input-placeholder {
    color: #001B72;
}

/* Edge */
.cmn-form_tb input::-ms-input-placeholder {
    color: #001B72;
}

/* ========================================
■ cmn-conditions
======================================== */

.cmn-conditions{
    background:rgba(0,27,114,0.07);
    border-radius:10px;
    padding:30px 40px;
    margin:-10px 20px 40px;
}

.cmn-conditions_hl01{
    font-weight: 500;
    letter-spacing: 0.07em;
    margin-bottom:5px;
}
.cmn-conditions_list{
    letter-spacing: 0.07em;
    font-size:23px;
}
.cmn-conditions_list li+li{
    margin-top:30px;
}


/* ========================================
■ g-bottom
======================================== */

.g-bottom{
    position: fixed;
    bottom:0;
    left:0;
    right:0;
    display:table;
    width:100%;
    background:#1D1D1D;
    padding:25px 0;
    z-index: 100;
    width:750px;
    margin:0 auto;
}

.g-bottom .child{
    display:table-cell;
    vertical-align: middle;
    color:#fff;
    text-align: center;
    line-height:1.259;
}

.g-bottom .child .ico{
    display:inline-block;
    padding-top:10px;
    padding-bottom:10px;
}

.g-bottom .child.mail{
    width:319px;
    border-right:3px solid #fff;
}

.g-bottom .child.mail .ico{
    background:url(../images/sp/ico_mail02.png) left center no-repeat;
    text-align: left;
    padding-left:96px;
    font-size:27px;
}

.g-bottom .child.tel{
    width:325px;
    border-right:3px solid #fff;
}

.g-bottom .child.tel .ico{
    background:url(../images/sp/ico_tel02.png) left center no-repeat;
    text-align: left;
    padding-left:89px;
    font-size:30px;
}
.g-bottom .child.pagetop{
    width:102px;
    padding-top:20px;
}

.g-bottom .child.pagetop .ico{
    background:url(../images/sp/ico_pagetop.png) center top no-repeat;
    padding-top:15px;
    font-size:35px;
}

/* ========================================
■ header
======================================== */

.g-header .wrap{
    padding-top:8px;
    padding-bottom:13px;
}

.g-header02 .wrap{
    padding-top:24px;
    padding-bottom:24px;
}

/* ========================================
■ section-mv
======================================== */

.section-mv{
    color:#333333;
    padding-bottom: 450px;

}
.section-mv .wrap{
    padding-top:24px;
  height: 746px;
    /* padding-bottom:1080px; */
}

.section-mv .wrap .wrap-box{
    background: #F00;
    display: block;
    min-height: 300px;
}


.section-mv .pic01{
    position: absolute;
    right:-42px; bottom: -30px;
}

.section-mv .hl01{
    font-size:20px;
    letter-spacing: 0.15em;
    line-height:1.35;
    float:left;
    padding-top:65px;
}
.section-mv .hl01 .big01{
    font-size:22px;
	/* font-size:29px; */
}
.section-mv .hl01 .big02{
    font-size:35px;
	/* font-size:48px; */
}
.section-mv .hl01 .big03{
    font-size:28px;
    font-weight: bold;
		line-height: 36px;
}
.section-mv .hl01 .big04{
    font-size:46px;
    font-weight: bold;
		line-height: 60px;
		display: block;
		text-align: center;
		margin: 0 30px 15px 0;
}
.section-mv .hl01 .big05{
    display:inline-block;
    margin-left:5px;
    font-weight: bold;
    /*background:url(../images/sp/border02.png) left bottom repeat-x;*/
    padding-bottom:5px;
    letter-spacing: 0.15em;
		font-size: 17px;
}

.section-mv .assessment{
    position: absolute;
    width:754px;
    z-index: 1;
    padding-top:40px;
    padding-bottom:50px;
		bottom: -1100px;
    left:0;
}
.section-mv .assessment:before{
    content:"";
    display:block;
    background:#001B72;
    position: absolute;
    top:0;
    right:0;
    width:10000px;
    height:100%;
    border-radius:10px;
    z-index: -1;
}
.section-mv .assessment_text01{
    color:#fff;
    font-size:26px;
    text-align: center;
    background:url(../images/sp/deco01.png) center top no-repeat,
        url(../images/sp/mv_line01.png) center bottom no-repeat;
    font-weight: bold;
    letter-spacing: 0.1em;
    padding-top:35px;
    padding-bottom:12px;
    margin-bottom:16px;
}

.section-mv .assessment_text01 .font-yellow{
    display:block;
}

.section-mv .assessment_text01 .font-yellow .big01{
    font-size:33px;
}

.section-mv .assessment_glass{
    display:inline-block;
    background:url(../images/sp/ico_glass.png) left center no-repeat;
    background-size:45px auto;
    padding-left:60px;
		color: #fff;
}

.section-mv .assessment_hl{
    text-align: center;
    font-weight: bold;
    font-size:39px;
    margin-bottom:20px;
    letter-spacing: 0.15em;
}

.section-mv .assessment_btn{
    display:block;
    width:627px;
    margin:0 auto;
    font-weight: 700;
    font-size:44px;
    text-decoration: none;
    border-radius:60px;
    text-align: center;
    position: relative;
    overflow: hidden;
    padding:28px 0;
    background:url(../images/sp/ico_arrow01.png) right center no-repeat #F5FF00;
    box-shadow:0px 5px 8px 1px rgba(0,0,0,0.2);
}

.section-mv .assessment_btn:after {
    content: '';
    display: block;
    position: absolute;
    left: -50px; top: 0;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(255, 255, 255, 0)), color-stop(rgba(255, 255, 255, 0.95)), to(rgba(255, 255, 255, 0)));
    background: -o-linear-gradient(bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0) 100%);
    width: 40px;
    height: 100%;
    -webkit-transform: skew(-20deg, 0);
    -ms-transform: skew(-20deg, 0);
    transform: skew(-20deg, 0);
    opacity: 0;
    -webkit-animation: anime_shining 3.5s infinite;
    animation: anime_shining 3.5s infinite;
}

.commission{
	padding-top: 10px;
	letter-spacing: 0.5px;
}

.commission-sec{
	  padding: 0 60px 0 0;
    font-size: 17px;
    letter-spacing: 1px;
    line-height: 15px;
    font-weight: 700;
		text-align: center;
}

.kv_txtarea-red{
	color: #bf272c;
  font-weight: 700;
  margin: 0 50px 25px 0;
  line-height: 19px;
	text-align: center;
}




@-webkit-keyframes anime_shining {
    0% {
        left: -50px;
        opacity: 0;
    }
    5% {
        opacity: 0;
    }
    8% {
        opacity: 1;
    }
    25% {
        opacity: 0;
    }
    40% {
        left: 110%;
    }
    100% {
        left: 110%;
        opacity: 0;
    }
}


@keyframes anime_shining {
    0% {
        left: -50px;
        opacity: 0;
    }
    5% {
        opacity: 0;
    }
    8% {
        opacity: 1;
    }
    25% {
        opacity: 0;
    }
    40% {
        left: 110%;
    }
    100% {
        left: 110%;
        opacity: 0;
    }
}

.section-mv .form-use{
    background: #FFF;
    border-radius: 1rem;
    width: 620px;
    margin: 2rem auto 0 auto;
    padding: 2rem;
    color: #000;
}

.section-mv .form-use .text01 h3{
    font-weight: 500;
    letter-spacing: 0.07em;
    margin-bottom: 5px;
}

.section-mv .form-use .text01 ol{
    letter-spacing: 0.07em;
    font-size: 23px;
}

.section-mv .form-use .text01 ol li{
    margin-bottom: 1rem;
}

/* ========================================
■ section-cta01
======================================== */

.section-cta01 .wrap{
    padding-top:50px;
    padding-bottom:50px;
}



/* ========================================
■ section-cta02
======================================== */

.section-cta02 .wrap{
    padding-top:40px;
    padding-bottom:55px;
}

.section-cta02 .desc{
    color:#fff;
    position: relative;
    padding-bottom:50px;
    padding-right:295px;
    z-index: 1;
}

.section-cta02 .desc_hl .font-yellow{
    display: inline-block;
    font-size:22px;
    background:url(../images/sp/deco01.png) center top no-repeat;
    background-size:133px auto;
    padding-top:35px;
    padding-bottom:12px;
}

.section-cta02 .desc_glass{
    display:inline-block;
    background:url(../images/sp/ico_glass02.png) right center no-repeat;
    background-size:41px auto;
    padding-right:48px;
}

.section-cta02 .desc_hl{
    font-size:35px;
    margin-bottom:20px;
    letter-spacing: 0.1em;
    color:#fff;
    font-weight: 700;
}

.section-cta02 .desc_text01 p+p{
    margin-top:10px;
}

.section-cta02 .desc_text01{
    font-weight: 500;
    letter-spacing: 0.07em;
    margin-bottom:25px;
}

.section-cta02 .desc_text02{
    font-size:18px;
    letter-spacing: 0.1em;
    text-indent: -1em;
    padding-left:1em;
    line-height:1.4;
}
.section-cta02 .desc_pic01{
    position: absolute;
    bottom:0;
    right:-40px;
    z-index: -1;
		width: 50%;
}


.section-cta02 .line_btn{
    margin-top:40px;
}

.section-cta02 .line_btn a{
    display:block;
    width:600px;
    text-align: center;
    background:#00C300;
    border-radius:10px;
    padding:10px;
    margin:0 auto;
    transition: 0.2s ease;
}

.section-cta02 .line_btn a:hover{
    background:#00e000;
}
.section-cta02 .line_btn a:active{
    background:#00b300;
}
.section-cta02 .line_btn.disabled a{
    pointer-events: none;
    background:#c6c6c6;
}

/* ========================================
■ section-resolution
======================================== */

.section-resolution .wrap{
    position: relative;
    z-index: 1;
		padding-top:690px; 	
}

.section-resolution .image01{
    position: absolute;
    left:380px;
    bottom:0;
}

.section-resolution .wrap:before{
    content:"";
    display:block;
    width:100%;
    height:420px;
    background:#1C66FF;
    position: absolute;
    bottom:0;
    right:0;
    z-index: -1;
		padding: 10px;
}

.section-resolution .desc{
	width: 400px;
}

.section-resolution .hl01{
    font-weight: 700;
    font-size: 38px;
    letter-spacing: 0.1em;
    line-height:1.4;
		padding: 10px 0 0 20px;
		text-align: right;
}
.section-resolution .hl01 img{
    padding-bottom:10px;
}

.section-resolution .text01{
    color:#fff;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height:1.6;
		font-size: 24px;
		padding: 30px 0 10px 0;
}

.section-resolution .marker-yellow{
    color:#1C66FF;
}

.section-resolution .text01 p+p{
    margin-top:20px;
}
/* ========================================
■ section-reason
======================================== */

.section-reason .wrap{
    padding-top:55px;
    padding-bottom:55px;
}

.section-reason .slick-list{
    padding-top:36px;
}

.section-reason .list_child{
    box-sizing:border-box;
    border-radius:10px;
    border:4px solid #001B72;
    text-align: center;
    position: relative;
    background:#EBF1FF;
    height:660px;

}

.section-reason .list{
    width:562px;
    margin:0 auto !important;
    text-align: center;
}

.section-reason .list_head{
    background:#fff;
    padding-top:47px;
    padding-bottom:25px;
    border-radius:10px 10px 0 0;
}

.section-reason .list_num{
    position: absolute;
    box-sizing:border-box;
    width:67px;
    height:67px;
    border-radius:100%;
    background:#001B72;
    color:#fff;
    font-weight: 700;
    font-size:46px;
    position: absolute;
    left:0;
    right:0;
    top:-36px;
    margin:0 auto;
}

.section-reason .list_ico{
    margin-bottom:35px;
}

.section-reason .list_ico img{
    margin:0 auto;
}

.section-reason .list_hl01{
    font-weight: 700;
    font-size:33px;
    color:#1C66FF;
    letter-spacing: 0.1em;
    line-height:1.333;
}

.section-reason .list_dot .list_dot-box {
    display: inline-block;
    position: relative;
}


.section-reason .list_dot .list_dot-box span {
    background: #1C66FF;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    position: absolute;
    left: 40%;
    top: -10px;
}

.section-reason .list_desc{
    padding:30px 50px;
    font-weight: 500;
    text-align: left;
    box-sizing:border-box;
    letter-spacing: 0.1em;
}

.section-reason .slick-dots{
    display:inline-block !important;
    position: relative !important;
    width:auto !important;
    bottom:auto !important;
    height:45px;
    margin-top:10px;
}

.section-reason .slick-dots:before{
    position: absolute;
    content:"";
    display:block;
    width:95%;
    height:5px;
    background:#001B72;
    top:0;
    bottom:0;
    left: 0;
    right: 0;
    margin:auto;
}
.section-reason .slick-dots li {
    width: 26px !important;
    height: 26px !important;
    vertical-align: middle;
    box-sizing:border-box;
    margin:0 !important;
}

.section-reason .slick-dots li+li{
    margin-left:25px !important;
}

.section-reason .slick-dots li button {
    width: 26px !important;
    height: 26px !important;
    padding: 0 !important;
    border:5px solid #001B72 !important;
    background: #001B72 !important;
    border-radius:100%;
    box-sizing:border-box;
}

.section-reason .slick-dots li button:before {
    content: none !important;

}

.section-reason .slick-dots li.slick-active{
    width: 37px !important;
    height: 37px !important;
}

.section-reason .slick-dots li.slick-active button{
    width: 37px !important;
    height: 37px !important;
    background:#fff !important;
}

.section-reason .slick-prev {
    left: -50px !important;
    background:url(../images/sp/prev.png) center center no-repeat !important;

}
.section-reason .slick-next {
    right: -50px !important;
    background:url(../images/sp/next.png) center center no-repeat !important;

}

.section-reason .slick-prev,.section-reason .slick-next {
    width: 28px !important;
    height: 50px !important;
    z-index: 10 !important;
}
.section-reason .slick-prev:before,
.section-reason .slick-next:before{
    content: none !important;
}
.section-reason .slick-prev:before,.section-reason .slick-next:before {
    opacity: 1 !important;
}

/* ========================================
■ section-trouble
======================================== */

.section-trouble .trouble01{
    background:#606060;
    padding-top:24px;
    text-align: right;
}

.section-trouble .trouble02{
    background-color:#D5E2FF;
    background-image:url(../images/sp/trouble_arrow.png);
    background-position: center top;
    background-repeat: no-repeat;
}

.section-trouble .trouble02 .text01{
    text-align: center;
    color:#fff;
    font-size: 30px;
    font-weight: 700;
    padding-top:30px;
    padding-bottom:20px;
}

.section-trouble .trouble02 .text02{
    /*margin-left:-70px;*/
    text-align: center;
}
.section-trouble .trouble02 .text02 img{
    max-width: 99%;
}

/* ========================================
■ section-voice
======================================== */

.section-voice .wrap{
    padding-top:50px;
}

.section-voice .cmn-hl01_text01 img{
    vertical-align: middle;
    padding-bottom:10px;
}

.section-voice .case{
    width:572px;
    margin:0 auto 72px !important;
    text-align: center;
}


.section-voice .case_tb{
    display:table;
    height:752px;
    border:5px solid #001B72;
    border-radius:10px;
    width:100%;
}

.section-voice .case_cell{
    display: table-cell;
    vertical-align: middle;
    position: relative;
    padding:10px 30px;
}

.section-voice .case_num{
    background:#fff;
    position: absolute;
    color:#001B72;
    top:-25px;
    left:0;
    right:0;
    margin:0 auto;
    text-align: center;
    font-weight:700;
    font-size:29px;
    letter-spacing: 0.1em;
    padding:0 10px;
    width:142px;
}

.section-voice .slick-list{
    padding-top:10px;
}
.section-voice .case_prof{
    display:table;
    padding:0 10px;
    margin-bottom:20px;
}

.section-voice .case_image,
.section-voice .case_status{
    display:table-cell;
    vertical-align: middle;
}

.section-voice .case_image{
    width:192px;
}

.section-voice .case_name{
    font-weight: 500;
    font-size:23px;
    letter-spacing: 0.1em;
    margin-bottom:10px;
    text-align: left;
}
.section-voice .case_comment{
    background:#F8FF52;
    position: relative;
    z-index: 1;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding:25px 23px;
    margin-bottom:30px;
    text-align: left;
    line-height:1.5;
}

.section-voice .case_comment:after,
.section-voice .case_comment:before{
    content:"";
    display:block;
    position: absolute;
    z-index: -1;
}

.section-voice .case_comment:before{
    width:73px;
    height:87px;
    background:url(../images/sp/voice_ico01.png) center center no-repeat;
    background-size:100% auto;
    right:5px;
    top:0;
    bottom:0;
    margin:auto 0;

}
.section-voice .case_comment:after{
    width:34px;
    height:23px;
    background:url(../images/sp/voice_ico02.png) center center no-repeat;
    background-size:100% auto;
    left:0;
    right:0;
    bottom:-18px;
    margin:0 auto;
}

.section-voice .case_money{
    font-weight: 700;
    font-size:23px;
    letter-spacing: 0.1em;
    color:#fff;
    background:#1C66FF;
    padding:3px 10px;
    border-radius:50px;
    margin-left:-5px;
}

.section-voice .case_text01{
    font-size:25px;
    letter-spacing: 0.1em;
    line-height:1.6;
    text-align: left;
}

.section-voice .slick-dots{
    display:inline-block !important;
    position: relative !important;
    width:auto !important;
    bottom:auto !important;
    height:45px;
}

.section-voice .slick-dots:before{
    position: absolute;
    content:"";
    display:block;
    width:95%;
    height:5px;
    background:#001B72;
    top:0;
    bottom:0;
    left: 0;
    right: 0;
    margin:auto;
}
.section-voice .slick-dots li {
    width: 26px !important;
    height: 26px !important;
    margin: 0 !important;
    vertical-align: middle;
    box-sizing:border-box;
    margin:0 8px;
}

.section-voice .slick-dots li+li{
    margin-left:25px !important;
}

.section-voice .slick-dots li button {
    width: 26px !important;
    height: 26px !important;
    padding: 0 !important;
    border:5px solid #001B72 !important;
    background: #001B72 !important;
    border-radius:100%;
    box-sizing:border-box;
}

.section-voice .slick-dots li button:before {
    content: none !important;
  
}

.section-voice .slick-dots li.slick-active{
    width: 37px !important;
    height: 37px !important;
}

.section-voice .slick-dots li.slick-active button{
    width: 37px !important;
    height: 37px !important;
    background:#fff !important;
}

.section-voice .slick-prev {
    left: -50px !important;
    background:url(../images/sp/prev.png) center center no-repeat !important;
    
}
.section-voice .slick-next {
    right: -50px !important;
    background:url(../images/sp/next.png) center center no-repeat !important;

}

.section-voice .slick-prev,.section-voice .slick-next {
    width: 28px !important;
    height: 50px !important;
    z-index: 10 !important;
}
.section-voice .slick-prev:before,
.section-voice .slick-next:before{
    content: none !important;
}
.section-voice .slick-prev:before,.section-voice .slick-next:before {
    opacity: 1 !important;
}

.section-voice .question{
    background:url(../images/sp/voice_illust01.png) 35px bottom  no-repeat;
    font-weight: 700;
    font-size:25px;
    padding-left:220px;
    padding-top:40px;
    padding-bottom:50px;
    letter-spacing: 0.1em;
}
.section-voice .question .big01{
    font-size:30px;
}

/* ========================================
■ section-system
======================================== */

.section-system .bg{
    background:#1C66FF;
}

.section-system .wrap{
    padding-top:30px;
    padding-bottom:55px;
}

.section-system .hl01{
    background:url(../images/sp/system_hl01.png) top center no-repeat;
    text-align: center;
    font-size:24px;
    font-weight: 700;
    color:#fff;
    padding-top:40px;
    line-height:1.3;
    padding-bottom:18px;
}

.section-system .hl01 .font-yellow{
    display:block;
    margin-top:10px;
    letter-spacing: 0.1em;
}

.section-system .work{
    background:#fff;
    border-radius:10px;
    text-align: center;
    padding:50px 0 40px;
    margin-bottom:50px;
}

.section-system .work_text01{
    font-weight: 700;
    font-size:35px;
    letter-spacing: 0.1em;
}

.section-system .work_text02{
    font-weight: 500;
    letter-spacing: 0.1em;
    margin-bottom:35px;
    font-size:35px;
    line-height:1.3;
}

.section-system .work_text03{
    font-weight: 700;
    margin-top:30px;
}
.section-system .hl02{
    text-align: center;
    font-weight: 700;
    color:#fff;
    letter-spacing: 0.1em;
    font-size:39px;
    margin-bottom:50px;
}

.section-system .flow:after {
    content: "";
    display: block;
    clear: both;
}
.section-system .flow .flow_child{
    width:266px;
    background:#EBF1FF;
    text-align: center;
    border-radius:10px;
    padding:15px 0;
    margin-right:34px;
    position: relative;
    height:482px;
}
.section-system .flow .flow_child:before{
    content:"";
    display:block;
    background:url(../images/sp/system_arrow.png) center center no-repeat;
    width:18px;
    height:32px;
    position: absolute;
    right:-30px;
    top:0;
    bottom:0;
    margin:auto 0;
}
.section-system .flow .flow_child:nth-child(4){
    float:right;
    margin-right:0;
}
.section-system .flow .flow_child:nth-child(4):before{
    display:none;
}
.section-system .flow_text01{
    font-weight: 700;
    color:#1C66FF;
    line-height:1.277;
    margin-bottom:10px;
    display:table;
    width:100%;
    letter-spacing: 0.1em;
}
.section-system .flow_cell{
    display:table-cell;
    vertical-align: middle;
}
.section-system .flow_ico{
    margin-bottom:10px;
}
.section-system .flow_text02{
    font-weight: 500;
    text-align: left;
    line-height:1.52;
    padding:15px 34px;
}

.section-system .cmn-form_list{
    font-size:16px;
    color:#000;
    width:541px;
    margin:35px auto 0;
    text-align: left;
}

.flow_text-small{
	font-size: 16px;
	padding: 20px 0 0 ;
}

/* ========================================
■ section-ios
======================================== */

.section-ios .wrap{
    padding-top:55px;
    padding-bottom:55px;
    text-align: center;
}
.section-ios .hl01{
    text-align: center;
    font-weight: 500;
    font-size:28px;
    letter-spacing: 0.1em;
    line-height:1.8;
    margin-bottom:25px;
}
.section-ios .hl01 .big01{
    font-weight: 700;
    font-size: 31px;
}
.section-ios .text01{
    line-height:1.6;
    margin-bottom:30px;
}

.section-ios .text01 p+p{

    margin-top:20px;
}

.section-ios .bnr{
    margin-bottom:30px;
}
.section-ios .bnr span{
    font-size: 1.0rem;
    display: block;
}

.section-ios .text02{
   display:inline-block;
    font-weight: 500;
    background:url(../images/sp/border03.png) left bottom repeat-x;
    font-size:28px;
    padding-bottom:3px;
}
/* ========================================
■ section-message
======================================== */
.section-message .bg{
    background:#1C66FF;
    color:#fff;
}
.section-message .desc{
    padding:56px 38px 55px;
}
.section-message .hl01{
    font-weight: 700;
    font-size:28px;
    letter-spacing: 0.1em;
    line-height:1.36;
    margin-bottom:30px;
    text-align: center;
}
.section-message .text01 p+p{
    margin-top:20px;
}
.section-message .text01{
    font-weight: 500;
    line-height:1.6;
}

.section-message .name{
    text-align: center;
}
/* ========================================
■ section-qa
======================================== */

.section-qa .wrap{
    padding-top:55px;
    padding-bottom:65px;
}

.section-qa .qa{
    max-width:900px;
    margin:0 auto;
}

.section-qa .qa_child{
    box-sizing:border-box;
    border:5px solid #001B72;
    border-radius:10px;
    padding:0 32px 10px;
}

.section-qa .qa_child+.qa_child{
    margin-top:40px;
}

.section-qa .qa_wrap{
    display:table;
    width:100%;
}
.section-qa .qa_ico,
.section-qa .qa_text{
    display:table-cell;
}

.section-qa .qa_ico{
    width:50px;
    font-size:27px;
    font-weight: 700;
}

.section-qa .qa_text{
    letter-spacing: 0.1em;
}

.section-qa .qa dt{
    font-weight: 700;
    padding-bottom:10px;
    padding-top:20px;
    cursor:pointer;
}

.section-qa .qa dt .qa_ico{
    color:#1C66FF;
}

.section-qa .qa dt .qa_text{
    position: relative;
    padding-right:40px;
}

.section-qa .qa dt .qa_text:before{
    content:"";
    display:block;
    position: absolute;
    right:0;
    top:0;
    bottom:0;
    margin:auto 0;
    height:23px;
    width:23px;
    background:url(../images/sp/qa_ico02.png) center center no-repeat;
    background-size:100%;
}

.section-qa .qa dt.open .qa_text:before{
    background-image:url(../images/sp/qa_ico01.png);
}

.section-qa .qa dd {
    padding-top:20px;
    background:url(../images/sp/border01.png) left top repeat-x;
    padding-bottom:20px;
    display:none;
}

.section-qa .qa dd .qa_ico{
    color:#FF7C1C;
}

.section-qa .qa dd .qa_text{
    line-height:1.6;
    font-weight: 500;
}

/* ========================================
■ section-promise
======================================== */

.section-promise .wrap{
    padding-top:60px;
    padding-bottom:60px;
    text-align: center;
}

.section-promise .text01{
    background:#EBF1FF;
    border-radius:10px;
    padding:35px 20px;
    margin-bottom:50px;
}
.section-promise .text01 p+p{
    margin-top:10px;
}
.section-promise .hl{
    font-weight: 700;
    font-size: 35px;
    letter-spacing: 0.1em;
    margin-bottom:35px;
    line-height:1.2857;
}
.section-promise .text02{
    font-weight: 700;
    letter-spacing: 0.03em;
    margin-bottom:35px;
}

.section-promise .text03{
    font-weight: 600;
    letter-spacing: 0.03em;
    margin-top:35px;
    margin-bottom: 10px;
}

.section-promise .text04{
    margin-top:30px;
    margin-bottom: 10px;
}

.section-promise .text04 p{
    margin-bottom: 10px;
}

.section-promise .text04 ul li{
    font-size: 18px;
}

.section-promise .btn{
    width:600px;
    margin:0 auto;
}

.section-promise .btn_child{
    background:#F5FF00;
    color:#001B72;
    font-size:35px;
    display:block;
    text-decoration: none;
    transition: 0.2s ease;
    box-shadow:0px 5px 8px 1px rgba(0,0,0,0.2);
    -moz-box-shadow:0px 5px 8px 1px rgba(0,0,0,0.2);
    -webkit-box-shadow:0px 5px 8px 1px rgba(0,0,0,0.2);
    border-radius:10px;
    text-align: center;
    font-weight: 500;
    padding:0 35px;

}

.section-promise .btn_child+.btn_child{
    margin-top:50px;
}

.section-promise .btn_ico{
    display:block;
    padding:40px 30px 40px 105px;
}

.section-promise .btn_mail .btn_ico{
    background:url(../images/sp/ico_mail01.png) left center no-repeat,
        url(../images/sp/ico_arrow02.png) right center no-repeat;
}
.section-promise .btn_tel{
    font-size:45px;
}

.section-promise .btn_tel .btn_ico{
    background:url(../images/sp/ico_tel01.png) left center no-repeat;
    padding:30px 28px 30px 115px;
}

.section-promise .btn-pdf{
    margin: 20px auto;
    line-height: 1.2;
    display: inline-block;
}

/* ========================================
■ section-company
======================================== */

.section-company .bg{
    background:#D5E2FF;
}

.section-company .wrap{
    padding-top:50px;
}

.section-company .hl01{
    font-weight: 700;
    font-size:35px;
    letter-spacing: 0.15em;
    line-height:1.625;
    text-align: center;
}

.section-company .tb01{
    width:600px;
    margin:0 auto;
}

.section-company .tb01 th,
.section-company .tb01 td{
    box-sizing:border-box;
    vertical-align: middle;
    padding-top:35px;
    padding-bottom:35px;
}

.section-company .tb01 th{
    font-weight: 700;
    border-bottom:3px solid #001B72;
    padding-left:20px;
    width:217px;
}

.section-company .tb01 td{
    font-weight: 500;
    border-bottom:3px dashed #001B72;
    padding-left:15px;
}

.section-company .tb01 tr:last-child td,
.section-company .tb01 tr:last-child th{
    border-bottom:none;
}


/* ========================================
■ footer
======================================== */

.g-footer{
    background:#1D1D1D;
    color:#fff;
    font-size:15px;
    padding:10px 0;
    text-align: center;
    margin-bottom:144px;
}

.g-footer._thanks{
    padding:20px 0;
    margin-bottom:0;
}

/* ========================================
■ section-thanks
======================================== */


.section-thanks .wrap{
    padding-top:60px;
    padding-bottom:55px;
    text-align: center;
}
.section-thanks .image{
    margin-bottom:15px;
    padding-right:100px;
}
.section-thanks .hl01{
    font-weight: 700;
    font-size:35px;
    letter-spacing: 0.1em;
    margin-bottom:30px;
}
.section-thanks .text01{
    font-weight: 700;
    font-size:25px;
    letter-spacing: 0.05em;
    background:#D5E2FF;
    color:#001B72;
    line-height:1.52;
    max-width:600px;
    margin:0 auto 50px;
    border-radius:10px;
    padding:25px 0;
}

.section-thanks .btn{
    display:block;
   /* background:#001B72;*/
    width:500px;
    margin:0 auto;
    color:#fff;
    font-weight: 500;
    font-size:28px;
    border-radius:60px;
    text-decoration: none;
    padding:33px 27px 33px 0;
    position: relative;
    letter-spacing: 0.1em;
    /*box-shadow:0px 5px 8px 1px rgba(0,0,0,0.2);
    -moz-box-shadow:0px 5px 8px 1px rgba(0,0,0,0.2);
    -webkit-box-shadow:0px 5px 8px 1px rgba(0,0,0,0.2);*/
}

.section-thanks .btn:before{
    content:"";
    display:block;
    width:27px;
    height:27px;
    position: absolute;
    right:58px;
    top:0;
    bottom:0;
    margin:auto 0;
    background:url(../images/sp/ico_arrow03.png) center center no-repeat;
}

.section-thanks .btn2{
    display:block;
   	background:#001B72;
    width:500px;
    margin:0 auto;
    color:#fff;
    font-weight: 500;
    font-size:28px;
    border-radius:60px;
    text-decoration: none;
    padding:33px 27px 33px 0;
    position: relative;
    letter-spacing: 0.1em;
 }

.section-thanks .btn2:before{
    content:"";
    display:block;
    width:27px;
    height:27px;
    position: absolute;
    right:58px;
    top:0;
    bottom:0;
    margin:auto 0;
    background:url(../images/sp/ico_arrow03.png) center center no-repeat;
}

/* ========================================
■ section-confirm
======================================== */

.section-confirm .wrap{
    padding-top:100px;
    padding-bottom:100px;
}
.section-confirm .hl{
    font-weight: 700;

    font-size:35px;
    letter-spacing: 0.1em;
    margin-bottom:20px;
    text-align: center;
}
.section-confirm .text01{
    margin-bottom:20px;
    text-align: center;
    font-weight: 500;
}

.section-confirm .cmn-form_submit{
    padding-top:20px;
}

.section-confirm .formTable{
    width:100%;
    color: #001B72;
    margin:0 auto 20px;
    border-top:2px solid #001B72;
    border-left:2px solid #001B72;
}

.section-confirm .formTable th,
.section-confirm .formTable td{
    padding:20px;
}

.section-confirm .formTable th{
    font-weight: bold;
    font-weight: 500;
    margin-bottom: 5px;
    width:220px;
    background:#001B72;
    color:#fff;
    border-bottom:2px solid #fff;
}


.section-confirm .formTable td{
    background:#EDFFFF;
    border-right:2px solid #001B72;
    border-bottom:2px solid #001B72;
}

.section-confirm .formTable tr:last-child th{
    border-bottom:2px solid #001B72;
}

.section-confirm .cmn-form_submit input+input{
    margin-top:20px;
}

.section-confirm .error_messe{
    text-align: center;
    color:#f00;
}


/* ========================================
■ section-error
======================================== */

.section-error .wrap{
    padding-top:60px;
    padding-bottom:55px;
    text-align: center;
}
.section-error .image{
    margin-bottom:15px;
    padding-right:100px;
}
.section-error .hl01{
    font-weight: 700;
    font-size:35px;
    letter-spacing: 0.1em;
    margin-bottom:30px;
}
.section-error .text01{
    font-weight: 700;
    font-size:25px;
    letter-spacing: 0.05em;
    background:#D5E2FF;
    color:#001B72;
    line-height:1.52;
    max-width:600px;
    margin:0 auto 50px;
    border-radius:10px;
    padding:25px 0;
}

.section-error_btn input {
    display: block;
       background: #001B72;
       width: 347px;
       margin: 0 auto;
       color: #fff;
       font-weight: 700;
       font-size: 25px;
       border-radius: 60px;
       text-decoration: none;
       padding: 18px 0;
       position: relative;
       transition: 0.2s ease;
       box-shadow: 0px 5px 8px 1px rgba(0,0,0,0.2);
       -moz-box-shadow: 0px 5px 8px 1px rgba(0,0,0,0.2);
       -webkit-box-shadow: 0px 5px 8px 1px rgba(0,0,0,0.2);
   }

/* 20210428 追加
----------------------------- */
.campaign img{
	margin-top: 20px;
}


/*20220513追加*/
.medal__before{
	text-align: center;
	font-family: "Shippori_Mincho_B1";
}

.medal__before-fukidashi{
	position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  color: #fff;
  font-size: 18px;
  background: black;
	width: 250px;
}

.medal__before-fukidashi:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid black;
}

.medal__before-ttl{
	font-size: 38px;
	color: #c30d23;
	font-family: 'Shippori Mincho B1', serif;
	text-align: center;
	width: 400px;
	font-weight: 500;
}

.medal__before-txt{
	font-size: 35px;
	margin-top: -25px;
	letter-spacing: 3px;
}

.medal__before-txt span{
	font-size: 55px;
}

.medal__before-txt .narrow{
	letter-spacing: -5px;
}

.medal__sample img{
	margin: 0;
}

.medal__sample-txt{
	font-size: 11px;
	width: 60%;
}
/* ========================================
■ 20220819 追加
======================================== */
.cta-push{
  font-feature-settings: "palt" 1;
  -webkit-text-size-adjust: 100%;
  letter-spacing: 0.08em;
}
.cta-push__inner{
  padding: 50px 0;
}
.cta-push__ttl{
  color: #fff;
  font-size: 45px;
  font-weight: 700;
  text-align: center;
  margin: 0 auto 45px;
  line-height: 1.4;
}
.cta-push__txtbox{
  background: #fff;
  border-radius: 10px;
  padding: 30px 25px 30px 25px;
  position: relative;
}
.cta-push__txtbox::after{
  content: '';
  display: block;
  width: 258px; height: 284px;
  position: absolute;
  right: -40px; bottom: -60px;
  background: url("../images/sp/cta-push_img.png") no-repeat center bottom / contain;
}
.cta-push__txt{
  font-size: 23px;
  font-weight: 500;
}
