@charset "UTF-8";
.is-solution {
    margin-bottom: 100px;
}
.solution_linkwrap {
    margin-bottom: 40px;
}
.solution_linkwrap:last-of-type {
    margin-bottom: 0;
}
.solution_linkwrap a {
    display:-webkit-box;
  	display:-ms-flexbox;
    display: flex;
    height: 200px;
}
.s_ttl_box {
    width: 230px;
    background: #9063cd;
    padding: 36px 20px;
    box-sizing: border-box;
}
.s_ttl_box.ver2 {
    background: #da291c;
}
.s_ttl_box.ver3 {
    background: #307fe2;
}
.s_ttl_box.ver4 {
    background: #2cccd3;
}
.s-ttl-name {
    padding-left: 30px;
    color: #fff;
    font-size: 14px;
    line-height: 1;
    margin-bottom: 16px;
    position: relative;
}
.s-ttl-name.is-mb {
    margin-bottom: 30px;
}
.s-ttl-name::before {
    position: absolute;
    content: "";
    background: url(../svg/icn01.svg) no-repeat 0 0 / 100% auto;
    width: 19px;
    height: 20px;
    left: 2px;
    bottom: 0;
}
.s-ttl-name.ver2::before {
    position: absolute;
    content: "";
    background: url(../svg/icn02.svg) no-repeat 0 0 / 100% auto;
    width: 22px;
    height: 25px;
    left: 0;
    bottom: 0;
}
.s-ttl-name.ver3::before {
    position: absolute;
    content: "";
    background: url(../svg/icn03.svg) no-repeat 0 0 / 100% auto;
    width: 21px;
    height: 13px;
    left: 3px;
    bottom: 0;
}
.s-ttl-name.ver4::before {
    position: absolute;
    content: "";
    background: url(../svg/icn04.svg) no-repeat 0 0 / 100% auto;
    width: 16px;
    height: 21px;
    left: 4px;
    bottom: 0;
}
.s-link-ttl {
    font-size: 24px;
    color: #fff;
    font-weight: bold;
    line-height: 1.33;
}
.s_txt_box {
    display:-webkit-box;
  	display:-ms-flexbox;
    display: flex;
    align-items: center;
    width: 850px;
    padding: 0 20px 0 30px;
    box-sizing: border-box;
    background: #f4effa;
    position: relative;
}
.s_txt_box::before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 40px 100px 0;
    border-color: transparent #f4effa transparent transparent;
    left: -40px;
    top: 0;
}
.s_txt_box::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 100px 40px;
    border-color: transparent transparent #f4effa transparent;
    left: -40px;
    bottom: 0;
}
.s_txt_box.ver2::before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 40px 100px 0;
    border-color: transparent #fbe9e8 transparent transparent;
    left: -40px;
    top: 0;
}
.s_txt_box.ver2::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 100px 40px;
    border-color: transparent transparent #fbe9e8 transparent;
    left: -40px;
    bottom: 0;
}
.s_txt_box.ver3::before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 40px 100px 0;
    border-color: transparent #eaf2fc transparent transparent;
    left: -40px;
    top: 0;
}
.s_txt_box.ver3::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 100px 40px;
    border-color: transparent transparent #eaf2fc transparent;
    left: -40px;
    bottom: 0;
}
.s_txt_box.ver4::before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 40px 100px 0;
    border-color: transparent #e9fafb transparent transparent;
    left: -40px;
    top: 0;
}
.s_txt_box.ver4::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 100px 40px;
    border-color: transparent transparent #e9fafb transparent;
    left: -40px;
    bottom: 0;
}
.s_txt_box_in {
    margin-top: -8px;
}
.s-txt {
    margin-bottom: 27px;
    line-height: 2.25;
}
.s-txt.ver2 {
    margin-bottom: 20px;
}
.s_txt_box.ver2 {
    background: #fbe9e8;
}
.s_txt_box.ver3 {
    background: #eaf2fc;
}
.s_txt_box.ver4 {
    background: #e9fafb;
}
/*
.s-goods {
    display:-webkit-box;
  	display:-ms-flexbox;
    display: flex;
    align-items: center;
}
*/
.s-goods dt {
    font-weight: bold;
    font-size: 16px;
    margin-right: 15px;
    /*width: 65px;*/
    color: #9063cd;
}
.s_txt_box.ver2 .s-goods dt {
    color: #da291c;
}
.s_txt_box.ver3 .s-goods dt {
    color: #307fe2;
}
.s_txt_box.ver4 .s-goods dt {
    color: #29b7bd;
}
/*
.s-goods dd {
    width: calc(100% - 80px);
}
*/
.s-goods-txt {
    font-size: 14px;
}
.goods_list {
    display:-webkit-box;
  	display:-ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: -10px -10px 0 0;
}
.goods_list li {
    margin-right: 10px;
    padding: 4px 8px;
    margin: 10px 10px 0 0;
    color: #fff;
    font-size: 12px;
    background: #9063cd;
    line-height: 1.667;
    font-weight: bold;
}
.goods_list li.is-mt {
    margin-top: 10px;
}
.goods_list.ver2 li {
    background: #da291c;
}
.goods_list.ver3 li {
    background: #307fe2;
}
.goods_list.ver4 li {
    background: #2cccd3;
}
.goods_list li:last-child {
    margin-right: 0;
}
.s_link_btn {
    margin-top: 15px;
}
.s_link_btn.is-mt {
    margin-top: 34px;
}
.s_link_btn p {
    display: table;
    width: 120px;
    height: 30px;
    background: #fff url(../img/s_arw_01.png) no-repeat center right 12px / 7px auto;
    border-radius: 15px;
    color: #9063cd;
    font-size: 13px;
    line-height: 1;
    font-weight: bold;
}
.s_link_btn.ver2 p {
    color: #da291c;
    background: #fff url(../img/s_arw_02.png) no-repeat center right 12px / 7px auto;
}
.s_link_btn.ver3 p {
    color: #307fe2;
    background: #fff url(../img/s_arw_03.png) no-repeat center right 12px / 7px auto;
}
.s_link_btn.ver4 p {
    color: #2cccd3;
    background: #fff url(../img/s_arw_04.png) no-repeat center right 12px / 7px auto;
}
.s_link_btn p span {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    padding-right: 10px;
}
.s_detail {
    margin-bottom: 100px;
}
.about_wrap {
    margin-bottom: 90px;
}
.about-txt {
    text-align: center;
    font-size: 24px;
    line-height: 2;
    margin-top: 20px;
}
.caseSub_wrap {
    margin-top: 60px;
}
.caseSub_wrap:first-of-type {
    margin-top: 40px;
}
.case_wrap {
    margin-bottom: 65px;
}
.case_caption {
    background: #9063cd;
    padding: 40px 160px 20px;
    box-sizing: border-box;
    position: relative;
}
.case_caption.ver2 {
    background: #da291c;
}
.case_caption.ver3 {
    background: #307fe2;
}
.case_caption.ver4 {
    background: #2cccd3;
}
.page-ttl.ver3 {
    color: #fff;
    line-height: 1.3;
}
.page-ttl.ver3 span {
    display:-webkit-box;
  	display:-ms-flexbox;
    display: flex;
    align-items: center;
    width: 120px;
    margin: 0 auto 30px;
    height: 36px;
    justify-content: center;
    border-radius: 18px;
    background: #fff;
}
.page-ttl.ver3.is-ppl span {
    color: #9063cd;
}
.page-ttl.ver3.is-red span {
    color: #da291c;
}
.page-ttl.ver3.is-blue span {
    color: #307fe2;
}
.page-ttl.ver3.is-sky span {
    color: #2cccd3;
}
.case-txt {
    color: #fff;
    font-size: 15px;
    line-height: 2;
    margin-top: 40px;
    font-weight: bold;
}
.recommend_wrap {
    background: #f4effa;
    position: relative;
    padding: 70px 40px 60px;
    box-sizing: border-box;
}
.recommend_wrap.ver2 {
    background: #fbe9e8;
}
.recommend_wrap.ver3 {
    background: #eaf2fc;
}
.recommend_wrap.ver4 {
    background: #e9fafb;
}
.recommend_wrap::before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 70px 540px 0 540px;
    border-color: #9063cd transparent transparent transparent;
    top: 0;
    left: 0;
}
.recommend_wrap.ver2::before {
    border-color: #da291c transparent transparent transparent;
}
.recommend_wrap.ver3::before {
    border-color: #307fe2 transparent transparent transparent;
}
.recommend_wrap.ver4::before {
    border-color: #2cccd3 transparent transparent transparent;
}
.r-ttl {
    text-align: center;
    font-weight: bold;
    font-size: 22px;
    margin: 45px 0 25px;
}
.recommend_in {
    background: #fff;
    padding:  35px 40px 40px 40px;
    box-sizing: border-box;
    margin-bottom: 40px;
}
.recommend_in:last-of-type {
    margin-bottom: 0;
}
.rec-detail {
    margin: 30px 0 0 0;
}
.rec-detail a {
    color: #1d3994;
    font-weight: bold;
}
.rec-detail a:hover {
    opacity: 0.8;
}
.rec-detail:first-child {
    margin: 0 0 0 0;
}
.rec-detail dt {
    font-size: 18px;
    margin-bottom: 10px;
    font-weight: bold;
}
.rec-detail dd {
    font-size: 15px;
}
.rec-detail dd span {
    font-weight: bold;
}
.rec-detail dd.is-sub {
    padding: 20px;
    box-sizing: border-box;
    background: #f2f2f4;
}
.rec-detail.ver2 {
    margin-top: 25px;
}
.rec-detail.ver2:first-child {
    margin-top: 0;
}
.rec_img {
    margin-top: 25px;
    text-align: center;
}
.rec_img.ver2 {
    margin-top: 0;
}
.rec_video {
    margin-top: 25px;
    text-align: center;
}
.rec_video video,
.rec_video iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
}
.kanren_wrap {
    padding-bottom: 60px;
}
.kanren_list {
    margin-top: 40px;
}
.kanren_list li {
    border-top: solid 1px #cdcdcd;
    padding: 36px 40px;
}
.kanren_list li:last-child {
    border-bottom: solid 1px #cdcdcd;
}
.kanren_in {
    display:-webkit-box;
  	display:-ms-flexbox;
    display: flex;
}
.kanren_icn {
    width: 148px;
    height: 148px;
    background: #9063cd;
    display:-webkit-box;
  	display:-ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 42px;
}
.kanren_icn.ver2 {
    background: #da291c;
}
.kanren_icn.ver3 {
    background: #307fe2;
}
.kanren_icn.ver4 {
    background: #2cccd3;
}
.kanren_icn.ver5 {
    background: #fff;
    border: solid 2px #000;
}
.kanren_icn.ver6 {
    background: #A2B2C8;
}
.kanren_icnin {
    width: 110px;
    height: 110px;
    border-radius: 55px;
    border: solid 6px #fff;
    box-sizing: border-box;
    display:-webkit-box;
  	display:-ms-flexbox;
    display: flex;
    -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
    -webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.kanren_icnin.ver2 {
    border-radius: 0;
    border: 0;
}
.kanren_info {
    width: calc(100% - 190px);
}
.kanren_btn {
    margin: 15px 0 0 0;
}
.kanren_btn a {
    display: table;
    height: 30px;
    margin: 0 0 0 auto;
    font-weight: bold;
}
.kanren_btn a span {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    padding: 3px 45px 3px 24px;
    background: #da291c url(../img/s_arw_05.png) no-repeat center right 20px / 7px auto;;
    border-radius: 15px;
    font-size: 14px;
    color: #fff;
    line-height: 1.7;
}
.kanren_info dl {
    line-height: 1;
}
.kanren_info dl dt {
    font-weight: bold;
    font-size: 23px;
    margin-bottom: 20px;
}
.kanren_info dl dd {
    font-size: 15px;
    line-height: 1.7;
}
@media (min-width: 896px) {
    .solution_linkwrap a:hover {
        opacity: 0.7;
    }
    .kanren_btn a:hover {
        opacity: 0.7;
    }
}

@media only screen and (max-width: 896px) {
    .is-solution {
        max-width: 375px;
        padding: 0 20px;
        box-sizing: border-box;
        width: 100%;
        margin: 0 auto 40px;
    }
    .solution_linkwrap {
        margin-bottom: 30px;
    }
    .solution_linkwrap a {
        display: block;
        height: auto;
    }
    .s_ttl_box {
        text-align: center;
        width: 100%;
        padding: 30px 10px 45px;
    }
    .s-ttl-name {
        padding-left: 18px;
        font-size: 16px;
        font-weight: bold;
        display: inline-block;
        margin-bottom: 13px;
    }
    .s-ttl-name.is-mb {
        margin-bottom: 13px;
    }
    .s-ttl-name.ver3 {
        padding-left: 27px;
    }
    .s-ttl-name::before {
        width: 14px;
        height: 14px;
        left: -2px;
    }
    .s-ttl-name.ver2::before {
        width: 14px;
        height: 16px;
    }
    .s-ttl-name.ver3::before {
        width: 20px;
        height: 13px;
    }
    .s-ttl-name.ver4::before {
        width: 10px;
        height: 13px;
        bottom: 1px;
    }
    .s-link-ttl {
        font-size: 24px;
        color: #fff;
        font-weight: bold;
        line-height: 1.33;
    }
    .s_txt_box {
        display: block;
        width: 100%;
        padding: 20px 20px 30px;
    }
    .s_txt_box::before {
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 21px 0 0 168px;
        border-color: transparent transparent transparent #f4effa;
        top: -21px;
        left: 0;
        bottom: auto;
        right: auto;
    }
    .s_txt_box::after {
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0 21px 168px;
        border-color: transparent transparent #f4effa transparent;
        top: -21px;
        right: 0;
        bottom: auto;
        left: auto;
    }
    .s_txt_box.ver2::before {
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 21px 0 0 168px;
        border-color: transparent transparent transparent #fbe9e8;
        top: -21px;
        left: 0;
        bottom: auto;
        right: auto;
    }
    .s_txt_box.ver2::after {
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0 21px 168px;
        border-color: transparent transparent #fbe9e8 transparent;
        top: -21px;
        right: 0;
        bottom: auto;
        left: auto;
    }
    .s_txt_box.ver3::before {
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 21px 0 0 168px;
        border-color: transparent transparent transparent #eaf2fc;
        top: -21px;
        left: 0;
        bottom: auto;
        right: auto;
    }
    .s_txt_box.ver3::after {
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0 21px 168px;
        border-color: transparent transparent #eaf2fc transparent;
        top: -21px;
        right: 0;
        bottom: auto;
        left: auto;
    }
    .s_txt_box.ver4::before {
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 21px 0 0 168px;
        border-color: transparent transparent transparent #e9fafb;
        top: -21px;
        left: 0;
        bottom: auto;
        right: auto;
    }
    .s_txt_box.ver4::after {
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0 21px 168px;
        border-color: transparent transparent #e9fafb transparent;
        top: -21px;
        right: 0;
        bottom: auto;
        left: auto;
    }
    .s_txt_box_in {
        margin-top: -8px;
    }
    .s-txt {
        margin-bottom: 17px;
        line-height: 1.8;
    }
    .s-txt.ver2 {
        margin-bottom: 17px;
    }
    .s-goods {
        display: block;
    }
    .s-goods dt {
        font-size: 15px;
        margin-right: 0;
        width: auto;
        margin-bottom: 8px;
    }
    /*
    .s-goods dd {
        width: 100%;
    }
    */
    .s-goods-txt {
        font-size: 13px;
    }
    .goods_list li.is-mt {
        margin-top: 0;
    }
    .s_link_btn {
        margin-top: 30px;
    }
    .s_link_btn.is-mt {
        margin-top: 30px;
    }
    .s_link_btn p {
        display: table;
        width: 200px;
        height: 35px;
        border-radius: 18px;
        border: solid 1px #9063cd;
        margin: 0 auto;
        font-size: 14px;
        line-height: 1.2;
    }
    .s_link_btn.ver2 p {
        border: solid 1px #da291c;
    }
    .s_link_btn.ver3 p {
        border: solid 1px #307fe2;
    }
    .s_link_btn.ver4 p {
        border: solid 1px #2cccd3;
    }
    .s_link_btn p span {
        display: table-cell;
        vertical-align: middle;
        text-align: center;
        padding-right: 10px;
    }
    .s_detail {
        margin-bottom: 60px;
    }
    .goods_list li {
        padding: 5px 10px;
    }
    .about_wrap {
        padding: 0 20px;
        box-sizing: border-box;
        margin-bottom: 50px;
    }
    .about-txt {
        font-size: 15px;
        line-height: 1.667;
        margin-top: 10px;
    }
    .caseSub_wrap:first-of-type {
        margin-top: 20px;
    }
    .caseSub_wrap {
        margin-top: 0;
    }
    .case_caption {
        background: #9063cd;
        padding: 30px 20px 0;
        box-sizing: border-box;
        position: relative;
    }
    .page-ttl.ver3 {
        font-size: 24px;
    }
    .page-ttl.ver3 span {
        width: 90px;
        margin: 0 auto 15px;
        height: 25px;
    }
    .case-txt {
        font-size: 14px;
        line-height: 1.78;
        margin-top: 13px;
        padding-bottom: 20px;
    }
    .recommend_wrap {
        background: #f4effa;
        position: relative;
        padding: 6vw 20px 30px;
        box-sizing: border-box;
    }
    .recommend_wrap::before {
        position: absolute;
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 6vw 50vw 0;
        border-color: #9063cd transparent transparent transparent;
        top: 0;
        left: 0;
    }
    .r-ttl {
        font-size: 18px;
        margin: 30px 0 20px;
    }
    .recommend_in {
        padding: 25px 20px 30px 20px;
        margin-bottom: 30px;
    }
    .rec-detail.ver2 {
        margin-top: 20px;
    }
    .rec-detail dt {
        font-size: 16px;
        margin-bottom: 5px;
    }
    .rec-detail dd {
        font-size: 14px;
    }
    .rec-detail dd.is-sub {
        padding: 15px;
    }
    .rec_img {
        margin-top: 20px;
        text-align: center;
    }
    .rec_img img {
        width: 100%;
        height: auto;
    }
    .kanren_wrap {
        padding: 0 20px 30px;
        margin: 0 auto;
        width: 100%;
        box-sizing: border-box;
    }
    .kanren_wrap.ver2 {
        padding-bottom: 0;
    }
    .kanren_list {
        margin-top: 20px;
    }
    .kanren_list li {
        padding: 30px 0;
    }
    .kanren_icn {
        width: 125px;
        height: 125px;
        margin-right: 20px;
    }
    .kanren_icn.ver5 {

    }
    .kanren_icn img {
        width: 46px;
        height: auto;
    }
    .kanren_icn img.icn06 {
        width: 95px;
        height: auto;
    }
    .kanren_icn img.icn07 {
        width: 85px;
        height: auto;
    }
    .kanren_icn img.icn08 {
        width: 95px;
        height: auto;
    }
    .kanren_icn img.icn09 {
        width: 85px;
        height: auto;
    }
    .kanren_icn img.icn05 {
        width: 110px;
        height: auto;
    }
    .kanren_icn.ver3 img {
        width: 56px;
        height: auto;
    }
    .kanren_icn.ver4 img {
        width: 40px;
        height: auto;
    }
    .kanren_icnin {
        width: 95px;
        height: 95px;
        border: solid 5px #fff;
    }
    .kanren_info {
        width: calc(100% - 145px);
    }
    .kanren_btn {
        margin-top: 12px;
    }
    .kanren_btn a {
        width: 100%;
        height: auto;
    }
    .kanren_btn a span {
        padding: 8px 40px 8px 24px;
        background: #da291c url(../img/s_arw_05.png) no-repeat center right 20px / 7px auto;;
        border-radius: 9999px;
    }
    .kanren_info dl {
        line-height: 1;
        margin-top: -3px;
    }
    .kanren_info dl dt {
        font-size: 16px;
        margin-bottom: 8px;
        line-height: 1.3;
    }
    .kanren_info dl dd {
        font-size: 14px;
        line-height: 1.8;
    }
}

@media only screen and (max-width: 374px) {
    .s-link-ttl {
        font-size: 18px;
    }
    .about-txt {
        font-size: 12px;
    }
    .page-ttl.ver3 {
        font-size: 20px;
    }
    .kanren_btn a span {
        font-size: 12px;
    }
    .sMv-ttl.is-sml {
        font-size: 23px;
    }
    .sMv-txt {
        font-size: 12px;
    }
    .page-ttl.ver4 {
        font-size: 20px;
    }
}