@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;
    color: #1D1D1D;
    line-height: 1.5;
    background: #fff;
    font-size:18px;
    -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;
	width: 1000px;
    margin: 0 auto;
}

.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{
    min-width:1020px;
    padding-top:90px;
    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-yellow01 { background: linear-gradient(180deg, transparent 65%, #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;
		margin-top: -42px;
}

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

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

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

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

.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:35px;
}

.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:27px;
    height:25px;
    background:url(../images/ico01.png) center center no-repeat;
    background-size:100% auto;
    position: absolute;
    top:-5px;
    right:-20px;
}

/* ========================================
■ cmn-form
======================================== */
.cmn-form_tb{
    width:100%;
    color:#001B72;
    margin-bottom:10px;
}

.cmn-form_width{
    width:532px;
    margin:0 auto;
}

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

.cmn-form_list{
    margin-top:20px;
    font-size:16px;
    color:#fff;
    text-align: center;
}

.cmn-form_list ul{
    display:inline-block;
    text-align: left;
}


.cmn-form_title{
    font-size:20px;
    font-weight: 500;
    margin-bottom:5px;
}

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

.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:2px solid #001B72;
    padding:7px 10px;
    font-family:inherit;
    font-size:inherit;
    font-weight: 500;
    font-size:18px;
    border-radius:5px;
    background:#EDFFFF;
}

.cmn-form_tb select{
    box-sizing:border-box;
    border:2px solid #001B72;
    font-weight: 500;
    font-size:18px;
    border-radius:5px;
    font-family:inherit;
    color:#001B72;
    padding:7px 10px;
    width:100%;
    background:url(../images/select.png) right center no-repeat #EDFFFF;
    background-size:22px auto;
    -webkit-appearance: none;
    appearance: none;
}
.cmn-form_tb select::-ms-expand {
    display: none;
}

.cmn-form_submit{
    text-align:center;
}

.cmn-form_submit .api{
    padding-left: 115px;
    margin-bottom: 10px;
}

.cmn-form_submit input{
    font-weight: 700;
    font-size:25px;
    font-family:inherit;
    background:url(../images/ico_arrow01.png) right center no-repeat #F5FF00;
    background-size:63px auto;
    border:none;
    border-radius:50px;
    width:347px;
    margin:10px 10px 0;
    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:17px 0;
    transition: 0.2s ease;
}

.cmn-form_submit input:hover{
    box-shadow:none;
    -moz-box-shadow:none;
    -webkit-box-shadow:none;
}

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

}

.cmn-form_tb input[type="number"] {
    box-sizing: border-box;
    width: 5em;
    border: 2px solid #001B72;
    padding: 7px 10px;
    font-family: inherit;
    font-size: inherit;
    font-weight: 500;
    font-size: 18px;
    border-radius: 5px;
    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;
}

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

.g-header{
    position: fixed;
    top:0;
    left:0;
    width:100%;
    background:#fff;
    z-index: 100;
    min-width:1020px;
    box-shadow:0px 0px 3px 2px rgba(0,0,0,0.2);
    -moz-box-shadow:0px 0px 3px 2px rgba(0,0,0,0.2);
    -webkit-box-shadow:0px 0px 3px 2px rgba(0,0,0,0.2);
}


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

.g-header .logo{
    padding-top:5px;
    float:left;
}

.g-header .btn{
    box-sizing:border-box;
    display:table;
    width:536px;
    border:2px solid #001B72;
    float:right;
    border-radius:5px;
    overflow:hidden;
}

.g-header .btn_mail,
.g-header .btn_tel{
    box-sizing:border-box;
    display:table-cell;
    background:#F5FF00;
    color:#001B72;
    font-weight: 500;
    text-decoration: none;
    text-align: center;
    width:50%;
    transition: 0.2s ease;
}
.g-header .btn_mail:hover,
.g-header a.btn_tel:hover{
    color:#fff;
    background:#001B72;
}

.g-header .btn_ico{
    display:inline-block;
    padding:19px 0 19px 48px;
    background-position: left center;
    background-repeat: no-repeat;
}

.g-header .btn_mail .btn_ico{
    background-image:url(../images/ico_mail01.png);
    background-size:35px auto;
    font-size:17px;
}
.g-header .btn_mail:hover .btn_ico{
    background-image:url(../images/ico_mail02.png);
}
.g-header .btn_tel .btn_ico{
    background-image:url(../images/ico_tel01.png);
    background-size:33px auto;
    font-size:19px;
}

.g-header a.btn_tel:hover .btn_ico{
    background-image:url(../images/ico_tel02.png);
}

.g-header .btn_mail{
    position: relative;
}

.g-header .btn_mail:before{
    content:"";
    display:block;
    background:#001B72;
    width:2px;
    height:85%;
    position: absolute;
    right:-1px;
    top:0;
    bottom:0;
    margin:auto 0;
}

.g-header02{
    position: absolute;
    top:0;
    left:0;
    width:100%;
    background:#fff;
    z-index: 100;
    min-width:1020px;
    height:90px;
}

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

.g-header02 .logo{
    padding-top:13px;
    padding-left:5px;
}

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

.section-mv{
    color:#333333;
    position: relative;
}
.section-mv .wrap{
    padding-top:40px;
	/* padding-top:20px; */
}
.section-mv .pic01{
    margin: 0 -183px 40px 0;
}

.section-mv .hl01{
    font-size:29px;
    letter-spacing: 0.1em;
    line-height:1.2;
    padding-bottom:50px;
    margin-top:20px;
}
.section-mv .hl01 .big01{
    font-size:31px;

}
.section-mv .hl01 .big02{
    font-size:41px;
}
.section-mv .hl01 .big03{
    font-size:34px;
    font-weight: 700;
		letter-spacing: -0.5px;
}

.section-mv .hl01 .big04{
    font-size:67px;
    font-weight: 700;
		display: block;
		text-align: center;
}
.section-mv .hl01 .big05{
    display:inline-block;
    margin-left:10px;
    font-size:26px;
    font-weight: 700;
    background-size:15px auto;
    padding-bottom:5px;
    letter-spacing: 0.15em;
}

.section-mv .hl01_block{
    display:inline-block;
    letter-spacing: 1px;
}
.section-mv .assessment{
    position: absolute;
    width:724px;
    z-index: 2;
    padding-top:40px;
    padding-bottom:40px;
    padding-right:47px;
    left:0;
}
.section-mv .assessment:before{
    content:"";
    display:block;
    background:#001B72;
    position: absolute;
    width:10000px;
    height:100%;
    border-radius:10px;
    z-index: -1;
}
.section-mv .assessment_text01{
    color:#fff;
    font-size:25px;
    text-align: center;
    background:url(../images/deco01.png) center top no-repeat,
        url(../images/mv_line01.png) center bottom no-repeat;
    background-size:133px auto, 451px auto;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding-top:35px;
    padding-bottom:12px;
    margin-bottom:13px;
}

.section-mv .assessment_text01 .font-yellow{
    display:block;
    font-size:22px;
    letter-spacing: 0.1em;
}

.section-mv .assessment_text01 .font-yellow .big01{
    font-size:29px;
}
.section-mv .assessment_text01 .font-yellow .small01{
    font-size:20px;
}
.section-mv .assessment_text01 .font-yellow .small01{
    font-size:20px;
}
.section-mv .assessment_glass{
    display:inline-block;
    background:url(../images/ico_glass.png) left center no-repeat;
    background-size:41px auto;
    padding-left:48px;
		color: #fff;
}

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

.section-mv .mv-form_wrap{
    border-radius:10px;
    background:#fff;
    padding:38px 0 45px;
    min-height:742px; 
		width: 800px;
		margin: 0 auto;
}

.section-mv .form-use{
    position: absolute;
    background: rgba(160, 174, 255,.3);
    color: #FFF;
    z-index: 1;
    display: block;
    width: 100%;
    /* bottom:-763px; */
    bottom:0;
    right: 0;
    min-height:742px; 
}
.section-mv .form-use .text01{
    position: absolute;
    width:  360px;
    right: -100px;
    padding: 20px 30px 30px 30px;
}

.section-mv .form-use .text01 h3{
    font-size: 20px;
    margin-bottom: 10px;
}

.section-mv .form-use .text01 ol li{
    margin-bottom: 20px;
}

.kv_area{
	display: flex;
}

.kv_txtarea{
	text-align: center;
}

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

.commission{
	padding-top: 20px;
	letter-spacing: 1px;
}

.commission-sec{
	padding-top: 30px;
	font-size: 20px;
	letter-spacing: 1px;
	line-height: 30px;
	font-weight: 700;
}


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

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


.section-cta01 .hl .font-yellow{
    display: block;
    font-size:25px;
    background:url(../images/deco01.png) center top no-repeat;
    background-size:133px auto;
    padding-top:35px;
    padding-bottom:12px;
}

.section-cta01 .hl_glass{
    display:inline-block;
    background:url(../images/ico_glass.png) left center no-repeat;
    background-size:41px auto;
    padding-left:48px;
}

.section-cta01 .hl{
    text-align: center;
    font-size:40px;
    margin-bottom:20px;
    letter-spacing: 0.1em;
    color:#fff;
    font-weight: 700;
}


.solution{
	display: flex;
	justify-content: center;
	align-items: center;
	background: #1C66FF;
	width: 1300px;
	float: right;
}

.assessment_box{
	padding: 30px 0;
}


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

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

.section-cta02 .desc{
    color:#fff;
    position: relative;
    padding-bottom:50px;
}

.section-cta02 .desc_hl .font-yellow{
    display: inline-block;
    font-size:22px;
    background:url(../images/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/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-size:20px;
    font-weight: 500;
    letter-spacing: 0.07em;
    width:455px;
    margin-bottom:25px;
}

.section-cta02 .desc_text02{
    font-size:13px;
    letter-spacing: 0.1em;
}
.section-cta02 .desc_pic01{
    position: absolute;
    bottom:0;
    right:-17px;
    max-width: 53%;
}

.section-cta01 .form,
.section-cta02 .form{
    margin-bottom:30px;
}

.section-cta01 .form_box,
.section-cta02 .form_box{
    background:#fff;
    border-radius:10px;
    padding:50px 0 50px 50px;
}

.section-cta01 .form_box:after, 
.section-cta02 .form_box:after {
    content: "";
    display: block;
    clear: both;
}

.section-cta01 .form_conditions,
.section-cta02 .form_conditions{
    float:left;
    width:360px;
    background:rgba(0,27,114,0.07);
    border-radius:10px;
    padding:24px;
}

.section-cta01 .form_hl,
.section-cta02 .form_hl{
    font-weight: 500;
    font-size: 20px;
    letter-spacing: 0.07em;
    margin-bottom:10px;
}

.section-cta01 .form_list,
.section-cta02 .form_list{
    letter-spacing: 0.07em;
}

.section-cta01 .form_list li+li,
.section-cta02 .form_list li+li{
    margin-top:20px;
}

.section-cta01 .cmn-form_width,
.section-cta02 .cmn-form_width{
    float:right;
    padding-top:20px;
    margin-right:30px
}

.section-cta01 .cmn-form_tb td,
.section-cta02 .cmn-form_tb td{
    padding-bottom:20px;
}

.section-cta02 .cmn-form_list{
    margin-top: 30px;
}

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

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

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

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

.section-resolution .image01{
    float:right;
    padding-left:93px;
}

.section-resolution .wrap:before{
    content:"";
    display:block;
    border-radius:10px;
    width:10000px;
    height:259px;
    background:#1C66FF;
    position: absolute;
		float: right;
    bottom:0;
    z-index: -1;
}

.section-resolution .desc{
	position: absolute;
	padding-left: 160px;
}

.section-resolution .hl01{
    font-weight: 700;
    font-size: 35px;
    letter-spacing: 0.1em;
    line-height:1.777;
}
.section-resolution .hl01 img{
    padding-bottom:10px;
}

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

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

.section-resolution .text01 p+p{
    margin-top:20px;
}

.text01{
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height:1.777;
}
/* ========================================
■ section-reason
======================================== */

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

.section-reason .list{
  display: flex;
}

.section-reason .list li{
    display: flex;
    flex-direction: column;
    width:320px;
    box-sizing:border-box;
    border-radius:5px;
    border:4px solid #001B72;
    text-align: center;
    position: relative;
    padding-top:47px;
    margin-right:20px;
}

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

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

.section-reason .list_hl01{
    font-weight: 700;
    font-size:20px;
    min-height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    color:#1C66FF;
    letter-spacing: 0.1em;
    padding-bottom:20px;
}

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


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

.section-reason .list_desc{
    background:#EBF1FF;
    padding:15px 20px;
    font-weight: 500;
    text-align: left;
    line-height: 1.777;
    display:table;
    box-sizing:border-box;
    letter-spacing: 0.1em;
    flex-grow: 1;
}

/*
.section-reason .list li:nth-child(1){
    margin-top:-40px;
}

.section-reason .list li:nth-child(2){
    margin-top:40px;
}

*/
.section-reason .list li:nth-child(3){
/*    margin-top:-40px;*/
    margin-right:0;
}

/*
.section-reason .list li:nth-child(2) .list_desc{
    height:227px;
}

.section-reason .list li:nth-child(3) .list_desc{
    height:183px;
}
.section-reason .list_tb{
    display:table-cell;
    vertical-align: middle;
}
*/


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

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

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

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

.section-trouble .trouble02 .text02{
    text-align: right;
		padding-bottom: 12px;
}

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

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

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

.section-voice .case_child{
    padding:0 36px;
}

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

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

.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:31px;
    letter-spacing: 0.1em;
    padding:0 10px;
    width:163px;
}

.section-voice .case_cell:after {
    content: "";
    display: block;
    clear: both;
}
.section-voice .slick-list{
    overflow: visible;
}

.section-voice .case_prof{
    float:left;
    width:220px;
}
.section-voice .case_desc{
    float:right;
    text-align: left;
    width:550px;
}
.section-voice .case_name{
    font-weight: 500;
    letter-spacing: 0.1em;
    margin-top:10px;
}
.section-voice .case_comment{
    background:#F8FF52;
    position: relative;
    z-index: 1;
    font-weight: 700;
    font-size:22px;
    letter-spacing: 0.1em;
    padding:15px 20px;
    margin-bottom:24px;
}

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

.section-voice .case_comment:before{
    width:76px;
    height:91px;
    background:url(../images/voice_ico01.png) center center no-repeat;
    background-size:100% auto;
    right:13px;
    top:0;
    bottom:0;
    margin:auto 0;
}
.section-voice .case_comment:after{
    width:22px;
    height:26px;
    background:url(../images/voice_ico02.png) center center no-repeat;
    background-size:100% auto;
    left:-12px;
    top:30%;
}

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

.section-voice .case_text01{
    margin-left:15px;
    letter-spacing: 0.1em;
    line-height:1.944;
}

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

.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: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    vertical-align: middle;
    box-sizing:border-box;
    margin:0 8px;
}

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

.section-voice .slick-dots li button {
    width: 18px !important;
    height: 18px !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: 26px !important;
    height: 26px !important;
}

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

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

}

.section-voice .slick-prev,.section-voice .slick-next {
    width: 73px !important;
    height: 295px !important;
    z-index: 10 !important;
    opacity: 0.52;
    transition: 0.2s ease;
}
.section-voice .slick-prev:hover,.section-voice .slick-next:hover{
    opacity: 1;
}
.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/voice_illust01.png) 110px bottom  no-repeat;
    font-weight: 700;
    font-size:28px;
    padding-left:405px;
    padding-top:60px;
    padding-bottom:60px;
}
.section-voice .question .big01{
    font-size:35px;
}

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

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

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

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

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

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

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

.section-system .work_text02{
    font-weight: 500;
    letter-spacing: 0.1em;
    margin-bottom:20px;
    font-size:25px;
}

.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:35px;
    margin-bottom:40px;
}

.section-system .flow:after {
    content: "";
    display: block;
    clear: both;
}
.section-system .flow li{
    float:left;
    width:224px;
    background:#EBF1FF;
    text-align: center;
    border-radius:10px;
    padding:15px 0;
    margin-right:34px;
    position: relative;
}
.section-system .flow li:before{
    content:"";
    display:block;
    background:url(../images/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 li:nth-child(4){
    float:right;
    margin-right:0;
}
.section-system .flow li: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: 700;
    text-align: left;
    line-height:1.555;
    padding:0 13px;
    min-height: 90px;
}

.section-system .cmn-form_list{
    margin-top: 20px;
    font-size: 16px;
    color: #000;
    text-align: center;

}

.section-system .cmn-form_list ul li{
    width: 680px;
    text-align: left;

}
/* ========================================
■ 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:25px;
    letter-spacing: 0.1em;
    line-height:1.88;
    margin-bottom:10px;
}
.section-ios .hl01 .big01{
    font-weight: 700;
    font-size: 28px;
}
.section-ios .text01{
    line-height:1.944;
    margin-bottom:20px;
}
.section-ios .bnr{
    margin-bottom:20px;
}
.section-ios .bnr span{
    font-size: 0.8rem;
    display: block;
}
.section-ios .text02{
   display:inline-block;
    font-weight: 500;
    background:url(../images/border03.png) left bottom repeat-x;
    background-size:15px auto;
    font-size:25px;
    letter-spacing: 0.07em;
}
/* ========================================
■ section-message
======================================== */
.section-message .bg{
    background:#1C66FF;
    color:#fff;
		margin-bottom: 42px;
}
.section-message .image{
    float:left;
    margin-left:-183px;
}
.section-message .desc{
    float:right;
    width:570px;
    padding-top:40px;
}
.section-message .hl01{
    font-weight: 700;
    font-size:25px;
    letter-spacing: 0.1em;
    line-height:1.36;
    margin-bottom:30px;
}
.section-message .text01 p+p{
    margin-top:30px;
}
.section-message .text01{
    font-weight: 500;
    font-size:20px;
    line-height:1.6;
}
/* ========================================
■ 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:40px;
    font-size:30px;
    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{
    font-size:20px;
    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/qa_ico02.png) center center no-repeat;
    background-size:100%;
}

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

.section-qa .qa dd {
    padding-top:14px;
    background:url(../images/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.777;
    font-weight: 500;
}

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

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

.section-promise .text01{
    background:#EBF1FF;
    border-radius:10px;
    width:740px;
    padding:20px;
    margin:0 auto 35px;
    line-height:1.777;
		color: black;
}
.section-promise .text01 p+p{
    margin-top:10px;
}
.section-promise .hl{
    font-weight: 700;
    font-size: 25px;
    letter-spacing: 0.1em;
    margin-bottom:35px;
}
.section-promise .text02{
    font-weight: 700;
    font-size: 20px;
    letter-spacing: 0.03em;
    margin-bottom:15px;
}

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

.section-promise .btn:after {
    content: "";
    display: block;
    clear: both;
}

.section-promise .btn_child,
.section-promise .btn_parent{
    background:#F5FF00;
    color:#001B72;
    font-size:21px;
    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;
}

.section-promise .btn_child{
    width:349px;
}

.section-promise .btn_parent{
    width:100%;
}

.section-promise .btn_ico{
    display:inline-block;
    padding:23px 28px 23px 55px;
}

.section-promise a.btn_child:hover{
    box-shadow:none;
    -moz-box-shadow:none;
    -webkit-box-shadow:none;
}

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

.section-promise .btn_tel .btn_ico{
    background:url(../images/ico_tel01.png) left center no-repeat;
    background-size:38px auto;
}

.section-promise .text03{
    margin: 30px auto 10px auto;
    text-align: center;
    width: 740px;
}

.section-promise .text03 p{
    font-size: 20px;
    font-weight: 600;
}

.section-promise .text04{
    margin: 20px auto;
    text-align: center;
    width: 740px;
}

/* ========================================
■ 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:555px;
    margin:0 auto;
}

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

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

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

.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:11px;
    padding:15px 0;
    text-align: center;
}

.g-footer._thanks{
    padding-top:28px;
    padding-bottom:28px;
}

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

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

.section-thanks .btn{
    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);*/
}

.section-thanks .btn2{
    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;
}

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

.section-thanks .btn2:hover{
    box-shadow:none;
    -moz-box-shadow:none;
    -webkit-box-shadow:none;
}


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

.section-thanks .btn:hover{
    box-shadow:none;
    -moz-box-shadow:none;
    -webkit-box-shadow:none;
}

/* ========================================
■ 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 .formTable{
    width:800px;
    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-size: 20px;
    font-weight: 500;
    margin-bottom: 5px;
    width:200px;
    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 .error_messe{
    text-align: center;
    color:#f00;
}

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

.section-error .wrap{
    padding-top:60px;
    padding-bottom:62px;
    text-align: center;
}
.section-error .image{
    margin-bottom:15px;
    padding-right:110px;
}
.section-error .hl01{
    font-weight: 700;
    font-size:35px;
    letter-spacing: 0.1em;
    margin-bottom:20px;
}
.section-error .text01{
    font-weight: 700;
    font-size:20px;
    letter-spacing: 0.05em;
    background:#D5E2FF;
    color:#001B72;
    line-height:1.65;
    max-width:800px;
    margin:0 auto 93px;
    border-radius:10px;
    padding:30px 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);
   }

/* ========================================
■ 20200428 追加
======================================== */


h1 {
	max-width: 690px;
}


.medal{
	display: block;
	margin: 30px auto;
}


/* ========================================
■ 20211202 追加
======================================== */

.tokai{
	text-decoration: underline;
	text-decoration-color: yellow;
}

/* ========================================
■ 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: 40px;
  font-weight: 700;
  text-align: center;
  margin: 0 auto 45px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  width: fit-content;
}
.cta-push__ttl::before,.cta-push__ttl::after{
  content: '';
  display: inline-block;
  width: 2px; height: 45px;
  background: #fff;
}
.cta-push__ttl::before{
  margin-right: 30px;
  transform: rotate(-30deg);
}
.cta-push__ttl::after{
  margin-left: 30px;
  transform: rotate(30deg);
}
.cta-push__txtbox{
  background: #fff;
  border-radius: 10px;
  padding: 20px 140px 20px 20px;
  max-width: 860px;
  margin: 0 auto;
  position: relative;
}
.cta-push__txtbox::after{
  content: '';
  display: block;
  width: 214px; height: 236px;
  position: absolute;
  right: -58px; bottom: -30px;
  background: url("../images/cta-push_img.png") no-repeat center bottom / contain;
}
.cta-push__txt{
  line-height: 1.8;
  font-weight: 500;
}