/* ===================================================================
CSS
 file name  :  lp202601.css
=================================================================== */
body{
	position: relative;
	padding: 0;
	font-family: "Noto Sans JP", serif;
    font-style: normal;
	letter-spacing: 0.05em;
    font-size: 18px;
    font-weight: 400;
	line-height: 2;
}
@media screen and (max-width: 768px) {
	body{
		font-size: 14px;
	}
}
@media screen and (max-width: 480px) {
	body{
		font-size: 12px;
	}
}
img{
	max-width: 100%;
	height: auto;
	width: auto;
}
a{
	color: #013368;
	text-decoration: underline;
}
a:hover{
	color: #499CD0;
}
.bg_blue{
	background: #F4F7F8;
}
@media print, screen and (min-width: 769px) {
	.pc_none{
		display:none;
	}
}
@media screen and (max-width: 768px) {
	.tb_none{
		display:none;
	}
}
@media screen and (min-width: 481px) {
	.sp_only{
		display:none;
	}
}
@media screen and (max-width: 480px) {
	.sp_none{
		display:none;
	}
}
/* =====================================
ヘッダー（メイン）
======================================== */
.main_wrap{
    background: #F2F2F2;
    width: 100%;
    position: relative;
}
.main_wrap .main_box{
    margin: auto;
    max-width: 1080px;
    padding: 0 25px;
}
@media screen and (max-width: 480px) {
    .main_wrap .main_box{
        padding: 0;
    }
}
/* =====================================
コンテンツ共通
======================================== */
.box{
    max-width: 1180px;
    padding: 100px 50px;
    margin: auto;
}
.box p{
    margin-top: 2em;
}
.box p .t_large{
    font-size: 24px;
}
.box p .t_red{
    color: #B20000;
    border-bottom: 1px solid #B20000;
    font-weight: 600;
}
h2.subtitle{
    font-size: 36px;
    line-height: 1.6;
    font-weight: 600;
    text-align: center;
}
h2.subtitle .small{
    font-size: 24px;
    display: block;
}
h2.subtitle.bg{
    padding-top: 100px;
    background-repeat: no-repeat;
    background-position: top center;
    background-size: auto 70px;
}
h2.subtitle.bg.bg01{
    background-image: url("../images/lp202601/icon_title01.png")
}
h2.subtitle.bg.bg02{
    background-image: url("../images/lp202601/icon_title02.png");
}
h2.subtitle.bg.bg03{
    background-image: url("../images/lp202601/icon_title03.png");
}
h2.subtitle.bg.bg04{
    background-image: url("../images/lp202601/icon_title04.png");
}
h2.subtitle.bg.bg05{
    background-image: url("../images/lp202601/icon_title05.png");
}
h3.subtitle{
    font-size: 24px;
    text-align: center;
    line-height: 2;
    font-weight: 600;
    margin-top: 100px;
}
h3.subtitle.first{
    margin-top: 50px;
}
h3.subtitle .underline{
    border-bottom: 2px solid #499CD0;
}
.balloon{
    position: relative;
    display: block;
    margin: auto auto 1em auto;
    color: #499CD0;
    text-align: center;
    font-weight: 600;
    border: 2px solid #499CD0;
    border-radius: 5px;
    font-size: 24px;
    line-height: 1;
    padding: 5px 0 8px 0;
}
.balloon.case{
    max-width: 140px;
}
.balloon.suggestion{
    max-width: 220px;
}
.balloon .number{
    font-size: 28px
}
.balloon:before {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 50%;
    margin-left: -10px;
    border: 10px solid transparent;
    border-top: 10px solid #FFF;
    z-index: 2;
}
.balloon:after {
    content: "";
    position: absolute;
    bottom: -26px;
    left: 50%;
    margin-left: -12px;
    border: 12px solid transparent;
    border-top: 12px solid #499CD0;
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .box{
        padding: 70px 30px;
    }
    .box p .t_large{
        font-size: 18px;
    }
    h2.subtitle{
        font-size: 26px;
    }
    h2.subtitle .small{
        font-size: 18px;
    }
    h2.subtitle.bg{
        padding-top: 60px;
        background-size: auto 45px;
    }
    h3.subtitle{
        font-size: 20px;
        margin-top: 70px;
    }
    h3.subtitle.first{
        margin-top: 35px;
    }
    .balloon{
        font-size: 18px;
        padding: 3px 0 5px 0;
    }
    .balloon.case{
        max-width: 100px;
    }
    .balloon.suggestion{
        max-width: 170px;
    }
    .balloon .number{
        font-size: 22px
    }
    .balloon:before {
        bottom: -16px;
        margin-left: -8px;
        border: 8px solid transparent;
        border-top: 8px solid #FFF;
    }
    .balloon:after {
        bottom: -22px;
        margin-left: -10px;
        border: 10px solid transparent;
        border-top: 10px solid #499CD0;
    }
}
@media screen and (max-width: 480px) {
    .box{
        padding: 50px 20px;
    }
    .box p .t_large{
        font-size: 16px;
    }
    h2.subtitle{
        font-size: 18px;
    }
    h2.subtitle .small{
        font-size: 14px;
    }
    h2.subtitle.bg{
        padding-top: 50px;
        background-size: auto 36px;
    }
    h3.subtitle{
        font-size: 14px;
        margin-top: 50px;
    }
    h3.subtitle.first{
        margin-top: 30px;
    }
    .balloon{
        font-size: 12px;
        border: 1px solid #499CD0;
    }
    .balloon.case{
        max-width: 70px;
    }
    .balloon.suggestion{
        max-width: 110px;
    }
    .balloon .number{
        font-size: 14px
    }
    .balloon:before {
        bottom: -11.5px;
        margin-left: -7px;
        border: 6px solid transparent;
        border-top: 6px solid #FFF;
    }
    .balloon:after {
        bottom: -15.5px;
        margin-left: -9px;
        border: 8px solid transparent;
        border-top: 8px solid #499CD0;
    }
}
/* =====================================
問い合わせボタン
======================================== */
.contact_box{
    max-width: 680px;
    margin: 70px auto auto;
    text-align: center;
}
.contact_box .contact_lead{
    padding: 0 2.5em;
    line-height: 1;
    font-size: 20px;
    font-weight: 600;
    background-image: url("../images/lp202601/bg_c_btn_l.png"), url("../images/lp202601/bg_c_btn_r.png");
    background-repeat: no-repeat, no-repeat;
    background-position: top 5px left, top 5px right;
    background-size: auto 1em, auto 1em;
}
a.contact_btn{
    display: block;
    margin: 20px auto auto;
    background: #499CD0;
    border-radius: 5px;
    padding: 0.7em;
    color: #FFF;
    text-align: center;
    font-weight: 600;
    font-size: 28px;
    text-decoration: none;
	letter-spacing: 0.05em;
    line-height: 1.6;
}
a.contact_btn span{
    font-size: 20px;
    display: block;
}
@media print, screen and (min-width: 769px) {
    a.contact_btn:hover{
        background: #013368;
    }
}
@media screen and (max-width: 768px) {
    .contact_box{
        max-width: 480px;
        margin: 30px auto auto;
    }
    .contact_box .contact_lead{
        font-size: 16px;
    }
    a.contact_btn{
        margin: 20px auto auto;
        font-size: 24px;
    }
    a.contact_btn span{
        font-size: 16px;
    }
}
@media screen and (max-width: 480px) {
    .contact_box .contact_lead{
        font-size: 12px;
    }
    a.contact_btn{
        margin: 10px auto auto;
        font-size: 20px;
    }
    a.contact_btn span{
        font-size: 14px;
    }
}

/* =====================================
コンテンツ
======================================== */
.box.introduction_wrap p,
.box.professional_wrap p,
.box.case_wrap p{
    text-align: center;
}
.img_pro,
.img_case,
.img_worries{
    margin: 50px auto auto;
}
.img_pro{
    max-width: 760px;
}
.img_case.case01,
.img_case.case02,
.img_case.case03{
    max-width: 960px;
}
.img_case.case04{
    max-width: 1080px;
}
.img_case.case05{
    max-width: 900px;
}
.case_t_large{
    font-size: 20px;
    border-bottom: 1px solid #333;
    font-weight: 600;
}
.img_worries{
    max-width: 720px;
}
ul.recommend_list{
    max-width: 760px;
    margin: auto;
    margin-top: 50px;
}
ul.recommend_list li{
    margin-top: 10px;
    border: 1px solid #CCCCCC;
    border-radius: 5px;
    background: #FFFFFF url("../images/lp202601/icon_check.png") no-repeat left 30px center;
    background-size: auto 24px;
    padding: 10px 10px 10px 84px;
}
@media print, screen and (min-width: 769px) {
    .flex{
        display: flex;
        justify-content: space-between;
        padding-top: 20px;
    }
    .flex .left{
        width: 50%;
        padding-right: 3%;
    }
    .flex .right{
        width: 50%;
        padding-left: 3%;
    }
    .flex.flex_direction{
        flex-direction: row-reverse;
    }
    .flex.flex_direction .left{
        padding-left: 3%;
        padding-right: 0;
    }
    .flex.flex_direction .right{
        padding-left: 0;
        padding-right: 3%;
    }
}
.img_suggestion{
    margin-top: 50px;
}
ul.qa_list{
    max-width: 760px;
    margin: auto;
    padding-top: 30px;
}
ul.qa_list li{
    margin-top: 30px;
    border: 1px solid #CCCCCC;
    background: #FFFFFF;
    border-radius: 5px;
    padding: 40px 50px;
}
ul.qa_list li .qestion{
    font-weight: 600;
}
ul.qa_list li .answer{
    margin-top: 1em;
}
.img_president{
    max-width: 500px;
    margin: auto;
}
.president_text{
    margin-top: 50px;
}
.president_text .subtitle{
    font-weight: 600;
}
.president_text p{
    margin-top: 1em;
}
@media screen and (max-width: 768px) {
    .img_pro,
    .img_case,
    .img_worries{
        margin: 30px auto auto;
        max-width: 480px;
    }
    .img_pro{
        max-width: 480px;
    }
    .img_case.case01,
    .img_case.case02,
    .img_case.case03{
        max-width: 560px;
    }
    .img_case.case05{
        max-width: 520px;
    }
    .case_t_large{
        font-size: 18px;
    }
    .img_worries{
        max-width: 480px;
    }
    ul.recommend_list{
        max-width: 480px;
        margin-top: 30px;
    }
    ul.recommend_list li{
        background: #FFFFFF url("../images/lp202601/icon_check.png") no-repeat left 20px center;
        background-size: auto 18px;
        padding: 10px 10px 10px 58px;
    }
    .img_suggestion{
        max-width: 480px;
        margin: 30px auto auto;
    }
    ul.qa_list{
        padding-top: 10px;
    }
    ul.qa_list li{
        margin-top: 20px;
        padding: 20px 30px;
    }
    .img_president{
        max-width: 480px;
    }
    .president_text{
        margin-top: 30px;
    }
}
@media screen and (max-width: 480px) {
    .img_pro
    .img_case,
    .img_worries{
        margin: 20px auto auto;
    }
    .case_t_large{
        font-size: 14px;
    }
    ul.recommend_list{
        margin-top: 20px;
    }
    ul.recommend_list li{
        background: #FFFFFF url("../images/lp202601/icon_check.png") no-repeat left 12px top 12px;
        background-size: auto 14px;
        padding: 7px 5px 7px 35px;
    }
    .img_suggestion{
        margin: 20px auto auto;
    }
    ul.qa_list li{
        padding: 20px 20px;
    }
    .president_text{
        margin-top: 20px;
    }
}

/* =====================================
お客様の声　20260209追加
======================================== */
ul.voice_list{
    display: flex;
    flex-wrap: wrap;
    padding-left: -2%;
}
ul.voice_list li{
    width: 23%;
    margin-top: 50px;
    border: 1px solid #B4B4B4;
    font-size: 14px;
    overflow: hidden;
    margin-left: 2%;
}
ul.voice_list li a{
    text-decoration: none;
    color: #333333;
}
ul.voice_list li a:hover .photo{
    overflow: hidden;
}
ul.voice_list li a:hover .photo img{
    transform:scale(1.05);
    transition: 0.3s;
}
ul.voice_list li .text{
    padding: 15px 20px 20px 20px;
    letter-spacing: 0.05em;
}
ul.voice_list li .text .name_wrap{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    line-height: 1.2;
}
ul.voice_list li .text .name_wrap .kind{
    background: #E9EEF6;
    color: #102F69;
    font-size: 12px;
    padding: 0.2em 0.5em;
    display: inline-block;
}
ul.voice_list li .text .comment{
    margin-top: 0.7em;
}
ul.voice_list li .text .tanto{
    margin-top: 1em;
    text-align: right;
}
ul.voice_list li .text .tanto span{
    border: 1px solid #B4B4B4;
    padding: 0.2em 0.5em;
    line-height: 1;
}
@media screen and (max-width: 768px) {
    ul.voice_list{
        padding-left: -3%;
        max-width: 640px;
        margin: auto;
    }
    ul.voice_list li{
        width: 47%;
        margin-top: 30px;
        font-size: 14px;
        margin-left: 3%;
    }
}
@media screen and (max-width: 480px) {
    ul.voice_list li{
        margin-top: 20px;
        font-size: 12px;
    }
    ul.voice_list li .text{
        padding: 15px 15px 15px 15px;
    }
    ul.voice_list li .text .name_wrap .kind{
        font-size: 10px;
    }
    ul.voice_list li .text .tanto span{
        font-size: 10px;
    }
}
/* =====================================
フッター
======================================== */
footer{
	text-align: center;
	padding: 40px 50px;
    background: #013368;
}
.copy{
    font-size: 14px;
    text-align: center;
    color: #FFF;
}
@media screen and (max-width: 768px) {
	footer{
		padding: 30px 20px;
	}
	.copy{
		font-size: 10px;
	}
}



@media print, screen and (min-width: 769px) {
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 480px) {
}
