@charset "UTF-8";
/* CSS Document */
/*スマホ用スタイル*/
@media screen and (max-width: 767px) {
/* 「画面からはみ出したものは表示しない（隠す）」**という命令 */
html, body {
    overflow-x: hidden; /* 横方向のはみ出しを強制的にカットする */
    width: 100%;
}
.spmb0{margin-bottom:0px!important}
.spmb5{margin-bottom:5px!important}
.spmb6{margin-bottom:6px!important}
.spmb10{margin-bottom:10px!important}
.spmb15{margin-bottom:15px!important}
.spmb20{margin-bottom:20px!important}
.spmb25{margin-bottom:25px!important}
.spmb30{margin-bottom:30px!important}
.spmb35{margin-bottom:35px!important}
.spmb40{margin-bottom:40px!important}
.spmb50{margin-bottom:50px!important}

.spmt0{margin-top:0px!important}
.spmt5{margin-top:5px!important}
.spmt10{margin-top:10px!important}
.spmt15{margin-top:15px!important}
.spmt20{margin-top:20px!important}
.spmt30{margin-top:30px!important}
.spmt32{margin-top:32px!important}
.spmt33{margin-top:33px!important}
.spmt35{margin-top:35px!important}
.spmt50{margin-top:50px!important}
.spmt55{margin-top:55px!important}

/*セクション間余白----------------------------------------------------------- */
  section {
    padding: 60px 0;
 }
h2{
	padding-bottom: 40px;
}
.white_box{
	padding: 30px 20px;
}
.gray-box{
	background: #f1f1f1;
	padding: 30px 20px!important;
	border-radius: 15px;
}
/*はみ出し画像中央----------------------------------------------------------- */
  .wic1 img {
    width: 100%;
  }
  .wic1 {
    margin-left: -15px;
    margin-right: -15px;
  }
  .wic2 img {
    width: 100%;
  }
  .wic2 {
    margin-left: -15px;
    margin-right: -15px;
  }
  .wic3 img {
    width: 100%;
  }
  .wic3 {
    margin-left: -15px;
    margin-right: -15px;
  }

h2 img{
	max-width: 100%;
}
/*Header----------------------------------------------------------- */
body {
    padding-top: 63px;
}
.fv11{
	margin: 0px auto!important;
    width: 94%!important;
	padding-top: 7px!important;
}
header .container {
  width: 100%!important;
  margin: 0 auto!important;
  padding-bottom: 8px!important;
  padding-top: 8px!important;
}
header .flex{
  display: flex;
  justify-content: space-between;
}
header a{
	text-decoration: none;
	color: #fff;
}
header .logo img{
	width: 83%;
}
.logo{
	padding-top: 6px;
}
.menu{
	font-size: 12px;
	font-weight: bold;
	line-height: 1.4;
	vertical-align: middle;
	flex-direction: column;

}
  .menu .btn_or,
  .menu .btn_gr {
    width: 100%; /* 横幅100%にしたい場合 */
  }
  .menu .btn_gr{
	display: none;
  }
  .menu .btn_or{
	font-size: 1.4rem;
  }
.btn_or a {
	display: block;
	text-decoration: none;
	color: #fff;
	padding: 13px 6px;
	width: 19rem;
    margin: 0 auto;
}
.btn_gr a {
	display: block;
	text-decoration: none;
	color: #fff;
	padding: 10px 15px;
	vertical-align: middle;	
}
.btn_gr{
	vertical-align: middle;	
}
.btn_blue{
	border-radius: 70px;
    background: #000637;
    width: 203px;
    text-align: center;
}

/*MV----------------------------------------------------------- */
.mv{
	background:none;
	padding:0!important;
}
.fv .container{
	padding: auto 0;
}
.fv11 {
        margin: 0px auto !important;
        width: 100% !important;
        padding-top:0 !important;
    }
/*CTA----------------------------------------------------------- */
.cta{
	position: relative;
	padding: 40px 0;
	background: url("../img/sp_cta_bg.png")no-repeat;
	background-size: cover;
}
.cta h2{
  padding-bottom: 12px;
}
.ctasp{
	display: none!important;
}
/*sec04----------------------------------------------------------- */
.sec04 h2 {
    padding-bottom: 30px!important;
}
.sec04 li::before {
    content: '';
    display: block;
    position: absolute;
    top: .5em;
    left: -1.2em;
    width: 25px;
    height: 19px;
}
.sankaku{
	position: absolute;
    top: 70%;
    left: 46%;
    width: 7%;
}
/* voice */
.voice-catch {
        color: #fff;
        padding: 28px 0px 0px;
    }

.voice-text-card{
	margin-right:0;
	width: 100%;
	padding: 30px 30px 30px 20px;
}
.voice-num-art{
		background-repeat: no-repeat;
        position: absolute;
        top: -17px;
        left: 2%;
        pointer-events: none;
        width: 29%;
        z-index: 30;
	}
.voice-container.type-reverse {
        flex-direction: column-reverse; /* 要素の並びを上下反転させる */
        padding-bottom: 0%;
    }
	.voice-container.type-reverse .voice-text-card{
		flex: 1.1;
		background: #fff;
		color: #333;
		padding: 50px 96px 30px 50px;
		margin-right: -50px;
		margin-left: 0;
		border-radius: 10px;
		transform: translateX(-80px);
		transition-delay: 0.2s;
		padding: 0px 10px 30px 30px;
		margin-top: -1rem;
	}
	.voice-num-art2{
		background-repeat: no-repeat;
        position: absolute;
        top: -17px!important;
        left: 2%;
        pointer-events: none;
        width: 29%;
        z-index: 30;
	}
	.voice-text-card::after{
		width: 13px;
	}

/*people01----------------------------------------------------------- */
.flex_container {
        padding:0 0 60px 0;
    }
.people01{
	position: static!important;
	top:auto!important;
	left:auto!important;
}
.left_photo{
	width: 100%!important;
}
.people01 img{
	width:100%!important;
}
.right_text{
	margin-right: auto;
    margin-left: auto;
    padding-left: 15px;
    padding-right: 15px;
}


/*sec01----------------------------------------------------------- */
.sec01 h2{
	padding-bottom: 0px!important;
}
/*sec02----------------------------------------------------------- */
.sec02{
	background-color: #f1faff;
}
.flex{
	display: block;
}
.sec02 .feature01 h3{
	position: relative;
}
.sec02 .feature02 h3{
	position: relative;
}
.sec02 .feature03 h3{
	position: relative;
}
.sec02 .feature01 h3:before {
	content: url("../img/sp_feature01.png");
	display: inline-block;
	position: absolute;
	top: -4.8rem;
	left: -2.5rem;
}
.sec02 .feature02 h3:after {
	content: url("../img/sp_feature02.png");
	display: inline-block;
	position: absolute;
	top: -4.8rem;
	right: -2.5rem;
}
.sec02 .feature03 h3:before {
	content: url("../img/sp_feature03.png");
	display: inline-block;
	position: absolute;
	top: -4.8rem;
	left: -2.5rem;
}
.sec02 button{
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	border-radius: 60px;
	padding: 10px 15px;
}

/*sec03----------------------------------------------------------- */
.sec03 h4{
	max-width: 100%;
	margin-top: 20px;
}
.sec03 h2{
	padding-bottom: 25px!important;
}

/*sec04----------------------------------------------------------- */

.sec04 ul{
	padding-left: 7%;
	font-size: 4.3vw;
    font-weight: bold;
    list-style-type: none;
	line-height: 2;
}
.top_h3 {
    margin-top: 106px;
    margin-bottom: 0;
}

/*sec05----------------------------------------------------------- */
.sec05{
	background:url(../img/pc_reason_bg.jpg);
	background-size: cover;
}
.sec05 .feature01:before {
    content: "";
    display: inline-block;
    position: absolute;
    top: -3.5rem;
    left: -1rem;
    z-index: 999;
    width: 24%;
    height: 80px;
    background-image: url("../img/pc_rearonpoint01.png");
    background-size: contain; /* 枠内に画像を収める */
    background-repeat: no-repeat;
    background-position: center;
}
.sec05 .feature02:before {
    content: "";
    display: inline-block;
    position: absolute;
    top: -3.5rem;
    left: -1rem;
    z-index: 999;
    width: 24%;
    height: 80px;
    background-image: url("../img/pc_rearonpoint02.png");
    background-size: contain; /* 枠内に画像を収める */
    background-repeat: no-repeat;
    background-position: center;
}
.sec05 .feature03:before {
    content: "";
    display: inline-block;
    position: absolute;
    top: -3.5rem;
    left: -1rem;
    z-index: 999;
    width: 24%;
    height: 80px;
    background-image: url("../img/pc_rearonpoint03.png");
    background-size: contain; /* 枠内に画像を収める */
    background-repeat: no-repeat;
    background-position: center;
}
.sec05 .feature04:before {
    content: "";
    display: inline-block;
    position: absolute;
    top: -3.5rem;
    left: -1rem;
    z-index: 999;
    width: 24%;
    height: 80px;
    background-image: url("../img/pc_rearonpoint04.png");
    background-size: contain; /* 枠内に画像を収める */
    background-repeat: no-repeat;
    background-position: center;
}
.sec05 .feature05:before {
    content: "";
    display: inline-block;
    position: absolute;
    top: -3.5rem;
    left: -1rem;
    z-index: 999;
    width: 24%;
    height: 80px;
    background-image: url("../img/pc_rearonpoint05.png");
    background-size: contain; /* 枠内に画像を収める */
    background-repeat: no-repeat;
    background-position: center;
}
/*sec06----------------------------------------------------------- */
.sec06 .container {
    margin-right: auto;
    margin-left: auto;
    padding-left: 10px;
    padding-right: 10px;
}
    .sec06 .white_box {
        margin-top: 0;
    }
	.sec06 .white_box {
    border-radius: 15px 15px 0 0;
    padding: 20px 20px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
}
.sec06 h2{
	padding-bottom: 0px;
}
.sec06 .row{
	display: flex;
    padding: 0;
    border-bottom: 0px solid #eef0f2;
    align-items: center;
}
.sec06 .messagetxt2{
	font-size: 22px;
	color: #000637;
	font-weight: bold;
}
/*sec07----------------------------------------------------------- */
.profile-card{
	padding: 0px 40px;
}
.sec07 .white_box {
        padding: 10px 20px;
    }
.sec07 .container {
    margin-right: auto;
    margin-left: auto;
    padding-left: 15px;
    padding-right: 15px;
}
/*sec08----------------------------------------------------------- */
.sec08 .accordion-item {
    background: #fff;
    border-radius: 15px;
    margin-bottom: 0px!important;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}
.sec08 h4{
	font-size: 5.2vw;
    text-align: center;
    font-weight: bold;
	line-height: 1.5;
	margin-top: 0px!important;
}
.sec08 .white_box{
	margin-bottom: 25px!important;
}
.sec08 .img3{
	margin-bottom: 0px!important;
}
.sec08 .center_sp{
	text-align: center;
}
.sec08 h2{
	padding-bottom: 25px;
}
.sec08 .accordion-trigger{
	padding: 0px!important;
}
.sec08 .btn-apply {
    padding: 18px 63px;
}
/*sec10----------------------------------------------------------- */
.sec10 .btn-container{
	width: 90%;
	margin: 0 auto;
}
.sec10 .q{
	padding-bottom: 4px;
    padding-left: 14%;
	font-size: 18px;
	font-weight: bold;
	width: 85%;
	background-size: 9%;
}
.sec10 .a{
    padding-left: 14%;
	padding-top: 5px;
	background-size: 9%;
}
.sec10 .people06{
	position: absolute;
    left: 73%;
    top: 2.8%;
    width: 8%;
}
.sec10 h2{
	padding-bottom: 25px!important;
}
/*form----------------------------------------------------------- */
.form .white_box{
	padding: 30px 15px;
}
.form button{
	border-radius: 60px;
	padding: 15px 20px;
	font-size: 22px;
	width: 100%;
}
.p-index-contact__block{
	height: 1280px;
}
.form h2{
	font-size: 40px;
	font-weight: bold;
	color: #2394e9;
}
/*
 Footer
----------------------------------------------------------- */
footer{
	padding: 0rem!important;
}
.l-footer__main {
    padding: 2rem 0rem 2rem;
}
.l-footer__flex {
    display: block;
}
.l-footer__bottom {
    padding-right: 0rem;
    padding-left: 0rem;
	font-size: 150%;
}
.l-footer__privacy li{
	padding-bottom: 10px;
}
.l-footer__flex{
	text-align: center;
}
.l-footer__inner{
	padding:10px;
}
/*
people
----------------------------------------------------------- */
.people01{
	position: absolute;
	right: -2%;
	bottom: -22%;
}
.people01 img{
	width: 90%;
}
.sec02 .feature02 .people02{
	position: absolute;
	top: -4.5%;
	left: -4%;
}
.people02 img{
	width: 80%;
}

.sec02 .feature03 .people03{
	position: absolute;
	bottom: -8%;
	right: -3%;
}
.sec06 .people03 img{
	width: 90%;
}
.sec03 .case01,.case02,.case03 {
	margin-left: -9.5%;
	padding-bottom: 30px;
}
.sec04 .people001{
	position: absolute;
	left: 4%;
    top: 133px;
	z-index: 100;
}

.sec04 .people04{
	position: absolute;
	top: 0%;
	right: 3%;
}
.people04 img{
	width: 90%;
}
.sec06 .people05{
	position: absolute;
	bottom: -12%;
	right: -6%;
}
.people05 img{
	width: 80%;
}
.people06 img{
	width: 90%;
}
}

/*スマホ用スタイルend*/
