@charset "UTF-8";
@media screen and (min-width: 768px),print {

main {width: 100%!important; max-width: 1920px!important; margin: 0 auto!important; }
.seo_bread_list {color: #fff; margin-bottom: -55px!important;}
.seo_bread_list a{color: #fff;}
a[id]{display:block;height:0px;overflow:hidden;text-indent:-9999px;margin-top:-100px;padding-bottom:100px;}

#con1 {}
#con1 .bx{width: 100%; margin: 0 auto; background: url(../images/service/con1-bg1.png) no-repeat top center; padding: 196px 0 195px;}
#con1 .bx .inner{width: 1100px; margin: 0 auto; position: relative;}
#con1 .bx .inner .ttl1{text-align: center; margin-bottom: 24px;}
#con1 .bx .inner .icon1{text-align: center; margin-bottom: 0;}

#con2 {}
#con2 .all-bx{width: 100%; margin: 0 auto; background: url(../images/service/con2-all-bg.jpg) no-repeat top 845px center; padding: 116px 0 35px;}
#con2 .bx{width: 100%; margin: 0 auto; background: url(../images/service/con2-bg1.png) no-repeat top center; }
#con2 .bx .inner{width: 1100px; margin: 0 auto; position: relative;}

#con2 .bx .inner .sub-inner{width: 1100px; margin: 0 auto 347px; position: relative; }
#con2 .bx .inner .sub-inner .ttl1{margin-bottom: 47px;}
#con2 .bx .inner .sub-inner .img1{position: absolute; right: -50px; top: 318px;}
#con2 .bx .inner .sub-inner .txt{width: 578px; margin-right: auto; font-size: 18px; letter-spacing: 0.8px; line-height: 2; font-weight: 400; margin-bottom: 40px; position: relative; z-index: 1;}
#con2 .bx .inner .sub-inner .txt span{font-size: 24px; letter-spacing: 0.5px; line-height: 1.85; font-weight: bold; margin-bottom: -15px; display: block; margin-top: 53px;}


#con2 .bx .inner .flow-bx{padding-bottom: 208px;}
#con2 .bx .inner .flow-bx .flow-img{text-align: center; margin-bottom: 72px; }
#con2 .bx .inner .flow-bx .flow-ttl1{text-align: center; margin-bottom: 5px; }
#con2 .bx .inner .flow-bx .flow-ttl2{font-size: 40px; letter-spacing: 0.8px; line-height: 1.6; color: #fff; font-weight: bold; text-align: center; margin-bottom: 78px;}
#con2 .bx .inner .flow-bx .list{display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;-webkit-box-lines: multiple; -moz-box-lines: multiple; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content: center;}
#con2 .bx .inner .flow-bx .list li{}
#con2 .bx .inner .flow-bx .list li a {display: block;position: relative;}
#con2 .bx .inner .flow-bx .list li a .hover-img {position: absolute;top: 0;left: 0;width: 100%;height: 100%;opacity: 0;transition: opacity 0.3s ease;}
#con2 .bx .inner .flow-bx .list li a:hover .hover-img {opacity: 1;}


#con2 .bx .inner .in-bx1{width: 1100px; margin: 0 auto 126px; position: relative; border: 4px solid #fff; padding: 75px 0 61px;}
#con2 .bx .inner .in-bx1 .in-inner{width: 1100px; margin: 0 auto; position: relative; left: -5px; padding: 0 70px;}
#con2 .bx .inner .in-bx1 .in-inner .in-list-bx{width: 460px; margin: 0 auto -82px; position: relative; top: -117px; background-color: #FFDE00; border: 3px solid #fff;}
#con2 .bx .inner .in-bx1 .in-inner .in-list-bx .in-ttl{ margin: 0 auto; position: relative; text-align: center; padding: 19px 0 19px; font-size: 16px; letter-spacing: 0.8px; font-weight: bold; line-height: 1.6; color: #000; border: 2px solid #000; background-color: transparent;}
#con2 .bx .inner .in-bx1 .in-inner .in-ttl1{ font-size: 40px; letter-spacing: 0.8px; line-height: 1.6; font-weight: bold; color: #fff; text-align: center; margin-bottom: 23px;}
#con2 .bx .inner .in-bx1 .in-inner .in-txt1{ font-size: 18px; letter-spacing: 0.85px; line-height: 2; font-weight: 400; color: #fff; text-align: center; margin-bottom: 57px;}

#con2 .bx .inner .in-bx1 .needs-bx{position: relative; margin-bottom: 31px;}
#con2 .bx .inner .in-bx1 .needs-bx .needs-ttl1{ font-size: 24px; letter-spacing: 0.8px; line-height: 1.6; font-weight: bold; background: #fff; text-align: center; margin-bottom: 42px; padding: 10px 0 10px 15px;}
#con2 .bx .inner .in-bx1 .needs-bx .list{display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;-webkit-box-lines: multiple; -moz-box-lines: multiple; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;}
#con2 .bx .inner .in-bx1 .needs-bx .list li{width: 290px; position: relative; margin-right: 45px;}
#con2 .bx .inner .in-bx1 .needs-bx .list li:last-child{margin-right: 0;}
#con2 .bx .inner .in-bx1 .needs-bx .list li::after{content: ""; width: 1px; height: 304px; margin: 0 auto; background: url(../images/service/con2-needs-icon.png) no-repeat top center; position: absolute; right: -23px; top: 0;}
#con2 .bx .inner .in-bx1 .needs-bx .list li:last-child::after{background: none;}
#con2 .bx .inner .in-bx1 .needs-bx .list li .needs-ttl2{ font-size: 20px; letter-spacing: 0.8px; line-height: 1.6; font-weight: bold; text-align: center; background: #24498A; color: #fff; border-radius: 50px; margin-bottom: 30px; padding: 10px 0;}
#con2 .bx .inner .in-bx1 .needs-bx .list li .needs-txt{ font-size: 16px; letter-spacing: 0.8px; line-height: 1.7; font-weight: 400; color: #fff; margin-bottom: 30px;}

#con2 .bx .inner .in-bx1 .area-bx{position: relative;}
#con2 .bx .inner .in-bx1 .area-bx .area-ttl1{ font-size: 24px; letter-spacing: 0.8px; line-height: 1.6; font-weight: bold; background: #fff; text-align: center; margin-bottom: 60px; padding: 10px 0 10px 15px;}
#con2 .bx .inner .in-bx1 .area-bx .area-txt1{width: 411px; margin-right: auto; font-size: 16px; letter-spacing: 0.8px; line-height: 1.7; font-weight: 400; color: #fff; margin-bottom: 30px;}
#con2 .bx .inner .in-bx1 .area-bx .area-img{ position: absolute; right: 55px; top: -88px;}
#con2 .bx .inner .in-bx1 .area-bx .area-txt2{ font-size: 28px; letter-spacing: 1.4px; line-height: 1.7; font-weight: bold; color: #fff; text-align: center; margin-top: 87px; padding-left: 5px;}
#con2 .bx .inner .in-bx1 .area-bx .area-icon{ position: absolute; right: 70px; bottom: -60px;}



#con2 .bx .inner .in-bx2{width: 1100px; margin: 0 auto 118px; position: relative; border: 4px solid #fff; padding: 75px 0 31px;}
#con2 .bx .inner .in-bx2 .in-inner{width: 1100px; margin: 0 auto; position: relative; left: -5px; padding: 0 70px;}
#con2 .bx .inner .in-bx2 .in-inner .in-list-bx{width: 460px; margin: 0 auto -82px; position: relative; top: -117px; background-color: #FFDE00; border: 3px solid #fff;}
#con2 .bx .inner .in-bx2 .in-inner .in-list-bx .in-ttl{ margin: 0 auto; position: relative; text-align: center; padding: 19px 0 19px; font-size: 16px; letter-spacing: 0.8px; font-weight: bold; line-height: 1.6; color: #000; border: 2px solid #000; background-color: transparent;}
#con2 .bx .inner .in-bx2 .in-inner .in-ttl1{ font-size: 40px; letter-spacing: 0.8px; line-height: 1.6; font-weight: bold; color: #fff; text-align: center; margin-bottom: 23px;}
#con2 .bx .inner .in-bx2 .in-inner .in-txt1{ font-size: 18px; letter-spacing: 0.85px; line-height: 2.05; font-weight: 500; color: #fff; text-align: center; margin-bottom: 57px;}

#con2 .bx .inner .in-bx2 .flowing-bx {
position: relative;
margin-bottom: 31px;
}

#con2 .bx .inner .in-bx2 .flowing-bx .flowing-ttl1 {
font-size: 24px;
letter-spacing: 0.8px;
line-height: 1.6;
font-weight: bold;
background: #fff;
text-align: center;
margin-bottom: 10px;
padding: 10px 0 10px 15px;
}

/* リスト全体の幅設定 */
#con2 .bx .inner .in-bx2 .flowing-bx .list {
width: 960px;
margin: 0 auto;
}

/* 各リストアイテムの設定（Flexboxで横並びに） */
#con2 .bx .inner .in-bx2 .flowing-bx .list li {
display: flex; /* 横並びにする */
align-items: center; /* 縦方向の中央揃え */
padding: 30px 35px 15px 50px; /* 上下の余白 */
margin-bottom: -15px;
background: url(../images/service/con2-flowing-li-icon.png) no-repeat bottom center; 
}

/* 最後の要素の線は消す */
#con2 .bx .inner .in-bx2 .flowing-bx .list li:last-child {
border-bottom: none;
background: none;
}

/* アイコン部分の調整 */
#con2 .bx .inner .in-bx2 .flowing-bx .list li .ss1 {
width: 140px; /* アイコンの幅に合わせて調整してください */
flex-shrink: 0; /* アイコンが潰れないようにする */
text-align: center;
margin-right: 10px;
}

/* テキストグループ（タイトルと説明文）をさらにFlexboxで横並びに */
#con2 .bx .inner .in-bx2 .flowing-bx .list li .txt-group {
display: flex;
align-items: center; /* 縦方向の中央揃え */
flex-grow: 1; /* 残りのスペースを埋める */
}

/* タイトル部分 */
#con2 .bx .inner .in-bx2 .flowing-bx .list li .flowing-ttl2 {
width: 114px; /* タイトル領域の固定幅（長さに合わせて調整） */
flex-shrink: 0;
font-size: 20px;
letter-spacing: 0.8px;
line-height: 1.6;
font-weight: 500;
color: #fff;
margin-right: 30px; /* 説明文との間の余白 */
}

/* 説明文部分 */
#con2 .bx .inner .in-bx2 .flowing-bx .list li .flowing-txt1 {
font-size: 14px;
letter-spacing: 0.7px;
line-height: 2;
font-weight: 400;
color: #fff;
}

#con2 .bx .inner .in-bx2 .flowing-bx .flowing-txt2{ font-size: 28px; letter-spacing: 1.4px; line-height: 1.7; font-weight: bold; color: #fff; text-align: center; margin-top: 46px; padding-left: 5px;}
#con2 .bx .inner .in-bx2 .flowing-bx .flowing-icon{ position: absolute; right: 64px; bottom: -60px;}




#con2 .bx .inner .in-bx3{width: 1100px; margin: 0 auto 116px; position: relative; border: 4px solid #fff; padding: 75px 0 27px;}
#con2 .bx .inner .in-bx3 .in-inner{width: 1100px; margin: 0 auto; position: relative; left: -5px; padding: 0 70px;}
#con2 .bx .inner .in-bx3 .in-inner .in-list-bx{width: 460px; margin: 0 auto -82px; position: relative; top: -117px; background-color: #FFDE00; border: 3px solid #fff;}
#con2 .bx .inner .in-bx3 .in-inner .in-list-bx .in-ttl{ margin: 0 auto; position: relative; text-align: center; padding: 19px 0 19px; font-size: 16px; letter-spacing: 0.8px; font-weight: bold; line-height: 1.6; color: #000; border: 2px solid #000; background-color: transparent;}
#con2 .bx .inner .in-bx3 .in-inner .in-ttl1{ font-size: 40px; letter-spacing: 0.8px; line-height: 1.6; font-weight: bold; color: #fff; text-align: center; margin-bottom: 23px;}
#con2 .bx .inner .in-bx3 .in-inner .in-txt1{ font-size: 18px; letter-spacing: 0.85px; line-height: 2.05; font-weight: 500; color: #fff; text-align: center; margin-bottom: 57px;}

#con2 .bx .inner .in-bx3 .merit-bx {
position: relative;
margin-bottom: 31px;
}

#con2 .bx .inner .in-bx3 .merit-bx .merit-ttl1 {
font-size: 24px;
letter-spacing: 0.8px;
line-height: 1.6;
font-weight: bold;
background: #fff;
text-align: center;
margin-bottom: 10px;
padding: 10px 0 10px 15px;
}

/* リスト全体の幅設定 */
#con2 .bx .inner .in-bx3 .merit-bx .list {
width: 960px;
margin: 0 auto;
}

/* 各リストアイテムの設定（Flexboxで横並びに） */
#con2 .bx .inner .in-bx3 .merit-bx .list li {
display: flex; /* 横並びにする */
align-items: center; /* 縦方向の中央揃え */
padding: 30px 80px 15px 55px; /* 上下の余白 */
margin-bottom: -15px;
background: url(../images/service/con2-merit-li-icon.png) no-repeat bottom center; 
}

/* 最後の要素の線は消す */
#con2 .bx .inner .in-bx3 .merit-bx .list li:last-child {
border-bottom: none;
background: none;
}

/* アイコン部分の調整 */
#con2 .bx .inner .in-bx3 .merit-bx .list li .ss1 {
width: 140px; /* アイコンの幅に合わせて調整してください */
flex-shrink: 0; /* アイコンが潰れないようにする */
text-align: center;
margin-right: 2px;
}

/* テキストグループ（タイトルと説明文）をさらにFlexboxで横並びに */
#con2 .bx .inner .in-bx3 .merit-bx .list li .txt-group {
align-items: center; /* 縦方向の中央揃え */
flex-grow: 1; /* 残りのスペースを埋める */
}

/* タイトル部分 */
#con2 .bx .inner .in-bx3 .merit-bx .list li .merit-ttl2 {
flex-shrink: 0;
font-size: 20px;
letter-spacing: 0.8px;
line-height: 1.6;
font-weight: 500;
color: #fff;
margin-right: 30px; /* 説明文との間の余白 */
}

/* 説明文部分 */
#con2 .bx .inner .in-bx3 .merit-bx .list li .merit-txt1 {
font-size: 14px;
letter-spacing: 0.7px;
line-height: 2;
font-weight: 400;
color: #fff;
}

#con2 .bx .inner .in-bx3 .merit-bx .merit-txt2{ font-size: 28px; letter-spacing: 1.4px; line-height: 1.7; font-weight: bold; color: #fff; text-align: center; margin-top: 46px; padding-left: 5px;}
#con2 .bx .inner .in-bx3 .merit-bx .merit-icon{ position: absolute; right: 40px; bottom: -57px;}




#con2 .bx .inner .in-bx4{width: 1100px; margin: 0 auto 126px; position: relative; border: 4px solid #fff; padding: 75px 0 28px;}
#con2 .bx .inner .in-bx4 .in-inner{width: 1100px; margin: 0 auto; position: relative; left: -5px; padding: 0 70px;}
#con2 .bx .inner .in-bx4 .in-inner .in-list-bx{width: 460px; margin: 0 auto -82px; position: relative; top: -117px; background-color: #FFDE00; border: 3px solid #fff;}
#con2 .bx .inner .in-bx4 .in-inner .in-list-bx .in-ttl{ margin: 0 auto; position: relative; text-align: center; padding: 19px 0 19px; font-size: 16px; letter-spacing: 0.8px; font-weight: bold; line-height: 1.6; color: #000; border: 2px solid #000; background-color: transparent;}
#con2 .bx .inner .in-bx4 .in-inner .in-ttl1{ font-size: 40px; letter-spacing: 0.8px; line-height: 1.6; font-weight: bold; color: #fff; text-align: center; margin-bottom: 23px;}
#con2 .bx .inner .in-bx4 .in-inner .in-txt1{ font-size: 18px; letter-spacing: 0.85px; line-height: 2.05; font-weight: 500; color: #fff; text-align: center; margin-bottom: 57px;}



#con2 .bx .inner .in-bx4 .kumitate-bx {position: relative;margin-bottom: 31px;}
#con2 .bx .inner .in-bx4 .kumitate-bx .list{padding-left: 40px; margin-bottom: 15px; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;-webkit-box-lines: multiple; -moz-box-lines: multiple; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content: center;}
#con2 .bx .inner .in-bx4 .kumitate-bx .list li{width: 160px; margin-right: 40px; }
#con2 .bx .inner .in-bx4 .kumitate-bx .list li .kumitate-icon1{margin-bottom: 20px;}
#con2 .bx .inner .in-bx4 .kumitate-bx .list li .kumitate-txt{font-size: 18px; letter-spacing: 0.8px; line-height: 1.6; font-weight: bold; color: #fff; text-align: center;}
#con2 .bx .inner .in-bx4 .kumitate-bx .kumitate-txt1{font-size: 14px; letter-spacing: 0px; line-height: 1.6; font-weight: 400; color: #fff; text-align: center; margin-bottom: 45px;}

#con2 .bx .inner .in-bx4 .kumitate-bx .kumitate-txt2{ font-size: 28px; letter-spacing: 1.4px; line-height: 1.7; font-weight: bold; color: #fff; text-align: center; margin-top: 46px; padding-left: 5px;}
#con2 .bx .inner .in-bx4 .kumitate-bx .kumitate-icon{ position: absolute; right: -33px; bottom: -59px;}



#con3 {}
#con3 .bx{width: 100%; margin: 0 auto; background: url(../images/service/con3-bg1.png) no-repeat top center; }
#con3 .bx .inner{width: 1280px; margin: 0 auto 138px; background: url(../images/service/con3-bg2.png) no-repeat top right;;}
#con3 .bx .inner .in-inner{width: 429px; margin-right: auto; position: relative; padding: 142px 0; margin-left: 90px;}
#con3 .bx .inner .ttl1{font-size: 32px; letter-spacing: 1.4px; line-height: 1.6; font-weight: bold; color: #fff; margin-bottom: 10px;}
#con3 .bx .inner .txt1{font-size: 18px; letter-spacing: 0.8px; line-height: 1.6; font-weight: bold; color: #fff; }




}












@media screen and (max-width: 767px) {
h1.main-title { margin-bottom: 0vw!important;}
a[id]{display:block;height:0px;overflow:hidden;text-indent:-9999px;margin-top:-10vw;padding-bottom:10vw;}

#con1 {}
#con1 .bx{width: 100%; margin: 0 auto; background: url(../images/service/sp-con1-bg1.png) no-repeat top center; padding: 25vw 0 25vw; background-size: 100%;}
#con1 .bx .inner{width: 100%; margin: 0 auto; position: relative;}
#con1 .bx .inner .ttl1{width: 87%; margin: 0 auto 5vw;}
#con1 .bx .inner .icon1{width: 60%; margin: 0 auto;}

#con2 {}
#con2 .all-bx{width: 100%; margin: 0 auto; background: url(../images/service/sp-con2-all-bg.jpg) no-repeat top 198vw center; padding: 7vw 0 1vw; background-size: 100%;}
#con2 .bx{width: 100%; margin: 0 auto; background: url(../images/service/sp-con2-bg1.png) no-repeat top center; padding: 9vw 0 0;  background-size: 100%;}
#con2 .bx .inner{width: 100%; margin: 0 auto; position: relative;}

#con2 .bx .inner .sub-inner{width: 100%; margin: 0 auto 2vw; background: url(../images/service/sp-con2-bg1.png) no-repeat top center;; position: relative; padding: 0 0 7vw; background-size: 100%;}
#con2 .bx .inner .sub-inner .ttl1{width: 100%; margin: 0 auto 7vw; padding-left: 5vw;}
#con2 .bx .inner .sub-inner .img1{width: 94%; margin: 0 auto 6vw;}
#con2 .bx .inner .sub-inner .txt{font-size: 3.7vw; letter-spacing: 0.1vw; line-height: 1.9; font-weight: 400; margin-bottom: 6vw; padding: 0 5vw;}
#con2 .bx .inner .sub-inner .txt span{font-size: 4.7vw; letter-spacing: 0.2vw; line-height: 1.6; font-weight: bold; margin-bottom: -2vw; margin-top: 8vw; display: block; padding: 0 0 0 2vw; text-align: center;}

#con2 .bx .inner .flow-bx{padding-bottom: 19vw;}
#con2 .bx .inner .flow-bx .flow-img{text-align: center; width: 90%; margin: 0 auto 12vw;}
#con2 .bx .inner .flow-bx .flow-ttl1{text-align: center; width: 21%; margin: 0 auto 2vw;}
#con2 .bx .inner .flow-bx .flow-ttl2{font-size: 7.5vw; letter-spacing: 0.3vw; line-height: 1.6; color: #fff; font-weight: bold; text-align: center; margin-bottom: 9vw;}
#con2 .bx .inner .flow-bx .list{}
#con2 .bx .inner .flow-bx .list li{width: 87%; margin: 0 auto 2.5vw;}
/* #con2 .bx .inner .flow-bx .list li a {display: block;position: relative;} */
/* #con2 .bx .inner .flow-bx .list li a .hover-img {position: absolute;top: 0;left: 0;width: 100%;height: 100%;opacity: 0;transition: opacity 0.3s ease;} */
/* #con2 .bx .inner .flow-bx .list li a:hover .hover-img {opacity: 1;} */


#con2 .bx .inner .in-bx1{width: 90%; margin: 0 auto 19vw; position: relative; border: 4px solid #fff; padding: 8vw 0 0;}
#con2 .bx .inner .in-bx1 .in-inner{width: 100%; margin: 0 auto; position: relative; padding: 0 3vw;}
#con2 .bx .inner .in-bx1 .in-inner .in-list-bx{width: 90%; margin: 0 auto -11vw; position: relative; top: -17vw; background-color: #FFDE00; border: 3px solid #fff;}
#con2 .bx .inner .in-bx1 .in-inner .in-list-bx .in-ttl{ margin: 0 auto; position: relative; text-align: center; padding: 4vw 0 4vw; font-size: 3.8vw; letter-spacing: 0.25vw; font-weight: bold; line-height: 1.6; color: #000; border: 2px solid #000; background-color: transparent;}
#con2 .bx .inner .in-bx1 .in-inner .in-ttl1{ font-size: 5.6vw; letter-spacing: 0.2vw; line-height: 1.6; font-weight: bold; color: #fff; text-align: center; margin-bottom: 4vw;}
#con2 .bx .inner .in-bx1 .in-inner .in-txt1{ font-size: 3.8vw; letter-spacing: 0.25vw; line-height: 1.8; font-weight: 400; color: #fff; margin-bottom: 9vw;}

#con2 .bx .inner .in-bx1 .needs-bx{width: 98%; margin: 0 auto 19vw;}
#con2 .bx .inner .in-bx1 .needs-bx .needs-ttl1{ font-size: 4.2vw; letter-spacing: 0.2vw; line-height: 1.6; font-weight: bold; background: #fff; text-align: center; margin-bottom: 6vw; padding: 1.5vw 0 1.5vw 0vw;}
#con2 .bx .inner .in-bx1 .needs-bx .list{}
#con2 .bx .inner .in-bx1 .needs-bx .list li{width: 100%; margin: 0 auto 14vw; position: relative; }
#con2 .bx .inner .in-bx1 .needs-bx .list li:last-child{margin-bottom: 0;}
#con2 .bx .inner .in-bx1 .needs-bx .list li::after{content: ""; width: 100%; height: 1%; margin: 0 auto; background: url(../images/service/sp-con2-needs-icon.png) no-repeat bottom center; position: absolute; right: 0; left: 0; bottom: -7vw; background-size: 100%;}
#con2 .bx .inner .in-bx1 .needs-bx .list li:last-child::after{background: none;}
#con2 .bx .inner .in-bx1 .needs-bx .list li .needs-ttl2{ font-size: 4vw; letter-spacing: 0.2vw; line-height: 1.6; font-weight: bold; text-align: center; background: #24498A; color: #fff; border-radius: 20vw; margin-bottom: 4vw; padding: 3.5vw 0;}
#con2 .bx .inner .in-bx1 .needs-bx .list li .needs-txt{ font-size: 3.4vw; letter-spacing: 0.15vw; line-height: 1.8; font-weight: 400; color: #fff; margin-bottom: 6.5vw;}
#con2 .bx .inner .in-bx1 .needs-bx .list li .needs-txt.txt-sp1{ font-size: 4vw; letter-spacing: 0.15vw; line-height: 1.7; font-weight: 400; color: #fff; margin-bottom: -9.5vw;}

#con2 .bx .inner .in-bx1 .area-bx{width: 98%; margin: 0 auto;}
#con2 .bx .inner .in-bx1 .area-bx .area-ttl1{ font-size: 4.2vw; letter-spacing: 0.2vw; line-height: 1.6; font-weight: bold; background: #fff; text-align: center; margin-bottom: 4vw; padding: 1.5vw 0 1.5vw 0vw;}
#con2 .bx .inner .in-bx1 .area-bx .area-txt1{font-size: 3.6vw; letter-spacing: 0.0vw; line-height: 1.8; font-weight: 400; color: #fff; margin-bottom: 7.5vw;}
#con2 .bx .inner .in-bx1 .area-bx .area-txt1.txt-sp2{ font-size: 4vw; letter-spacing: 0.08vw; line-height: 1.65; font-weight: 400; color: #fff; margin-bottom: 7.5vw;}
#con2 .bx .inner .in-bx1 .area-bx .area-img{ width: 83%; margin: -9vw auto -16vw;}
#con2 .bx .inner .in-bx1 .area-bx .area-txt2{ font-size: 5.2vw; letter-spacing: 0.4vw; line-height: 1.5; font-weight: bold; color: #fff; text-align: center; margin-top: 22vw;}
#con2 .bx .inner .in-bx1 .area-bx .area-icon{ width: 26%; margin: 0 auto; text-align: center;}



#con2 .bx .inner .in-bx2{width: 90%; margin: 0 auto 19.5vw; position: relative; border: 4px solid #fff; padding: 8vw 0 0;}
#con2 .bx .inner .in-bx2 .in-inner{width: 100%; margin: 0 auto; position: relative; padding: 0 3vw;}
#con2 .bx .inner .in-bx2 .in-inner .in-list-bx{width: 90%; margin: 0 auto -11vw; position: relative; top: -17vw; background-color: #FFDE00; border: 3px solid #fff;}
#con2 .bx .inner .in-bx2 .in-inner .in-list-bx .in-ttl{ margin: 0 auto; position: relative; text-align: center; padding: 4vw 0 4vw; font-size: 3.8vw; letter-spacing: 0.25vw; font-weight: bold; line-height: 1.6; color: #000; border: 2px solid #000; background-color: transparent;}
#con2 .bx .inner .in-bx2 .in-inner .in-ttl1{ font-size: 5.6vw; letter-spacing: 0.2vw; line-height: 1.6; font-weight: bold; color: #fff; text-align: center; margin-bottom: 4vw;}
#con2 .bx .inner .in-bx2 .in-inner .in-txt1{ font-size: 3.8vw; letter-spacing: 0.25vw; line-height: 1.8; font-weight: 400; color: #fff; margin-bottom: 9vw;}

#con2 .bx .inner .in-bx2 .flowing-bx{width: 98%; margin: 0 auto;}
#con2 .bx .inner .in-bx2 .flowing-bx .flowing-ttl1{ font-size: 4.2vw; letter-spacing: 0.2vw; line-height: 1.6; font-weight: bold; background: #fff; text-align: center; margin-bottom: 6vw; padding: 1.5vw 0 1.5vw 0vw;}
#con2 .bx .inner .in-bx2 .flowing-bx .list{}


/* 各リストアイテムの設定（Flexboxで横並びに） */
#con2 .bx .inner .in-bx2 .flowing-bx .list li {
position: relative;
background: url(../images/service/con2-flowing-li-icon.png) no-repeat bottom center;
padding-bottom: 6vw;
margin-bottom: 8vw;
}

/* 最後の要素の線は消す */
#con2 .bx .inner .in-bx2 .flowing-bx .list li:last-child {
border-bottom: none;
background: none;
}

/* アイコン部分の調整 */
#con2 .bx .inner .in-bx2 .flowing-bx .list li .ss1 {
width: 27%;
display: block;
margin-left: 18vw;
margin-bottom: 4vw;
}

/* アイコン部分の調整 */
#con2 .bx .inner .in-bx2 .flowing-bx .list li:nth-child(2) .ss1 {
margin-left: 23vw;
}

/* アイコン部分の調整 */
#con2 .bx .inner .in-bx2 .flowing-bx .list li:nth-child(3) .ss1 {
margin-left: 16vw;
}

/* アイコン部分の調整 */
#con2 .bx .inner .in-bx2 .flowing-bx .list li:nth-child(4) .ss1 {
margin-left: 23vw;
}

/* テキストグループ（タイトルと説明文）をさらにFlexboxで横並びに */
#con2 .bx .inner .in-bx2 .flowing-bx .list li .txt-group {
}

/* タイトル部分 */
#con2 .bx .inner .in-bx2 .flowing-bx .list li .flowing-ttl2 {
font-size: 4.5vw;
letter-spacing: 0vw;
line-height: 1.6;
font-weight: 500;
color: #fff;
position: absolute;
left: 44vw;
top: 7vw;
}

/* タイトル部分 */
#con2 .bx .inner .in-bx2 .flowing-bx .list li:nth-child(2) .flowing-ttl2 {
left: 48vw;
}

/* タイトル部分 */
#con2 .bx .inner .in-bx2 .flowing-bx .list li:nth-child(3) .flowing-ttl2 {
left: 42vw;
}

/* タイトル部分 */
#con2 .bx .inner .in-bx2 .flowing-bx .list li:nth-child(4) .flowing-ttl2 {
left: 48vw;
}

/* 説明文部分 */
#con2 .bx .inner .in-bx2 .flowing-bx .list li .flowing-txt1 {
font-size: 3.4vw;
letter-spacing: 0.2vw;
line-height: 1.85;
font-weight: 400;
color: #fff;
}

#con2 .bx .inner .in-bx2 .flowing-bx .flowing-txt2{ font-size: 5.2vw; letter-spacing: 0.4vw; line-height: 1.5; font-weight: bold; color: #fff; text-align: center; margin-top: -3vw;}
#con2 .bx .inner .in-bx2 .flowing-bx .flowing-icon{ width: 26%; margin: 0 auto; text-align: center; padding-right: 4vw;}




#con2 .bx .inner .in-bx3{width: 90%; margin: 0 auto 19vw; position: relative; border: 4px solid #fff; padding: 8vw 0 0;}
#con2 .bx .inner .in-bx3 .in-inner{width: 100%; margin: 0 auto; position: relative; padding: 0 3vw;}
#con2 .bx .inner .in-bx3 .in-inner .in-list-bx{width: 90%; margin: 0 auto -11vw; position: relative; top: -17vw; background-color: #FFDE00; border: 3px solid #fff;}
#con2 .bx .inner .in-bx3 .in-inner .in-list-bx .in-ttl{ margin: 0 auto; position: relative; text-align: center; padding: 4vw 0 4vw; font-size: 3.8vw; letter-spacing: 0.25vw; font-weight: bold; line-height: 1.6; color: #000; border: 2px solid #000; background-color: transparent;}
#con2 .bx .inner .in-bx3 .in-inner .in-ttl1{ font-size: 5.6vw; letter-spacing: 0.2vw; line-height: 1.6; font-weight: bold; color: #fff; text-align: center; margin-bottom: 4vw;}
#con2 .bx .inner .in-bx3 .in-inner .in-txt1{ font-size: 3.8vw; letter-spacing: 0.25vw; line-height: 1.8; font-weight: 400; color: #fff; margin-bottom: 9vw;}

#con2 .bx .inner .in-bx3 .merit-bx{width: 98%; margin: 0 auto;}
#con2 .bx .inner .in-bx3 .merit-bx .merit-ttl1{ font-size: 4.2vw; letter-spacing: 0.2vw; line-height: 1.4; font-weight: bold; background: #fff; text-align: center; margin-bottom: 6vw; padding: 1.5vw 0 1.5vw 2vw;}
#con2 .bx .inner .in-bx3 .merit-bx .list{}

/* リスト全体の幅設定 */
#con2 .bx .inner .in-bx3 .merit-bx .list {
width: 100%;
margin: 0 auto;
}

/* 各リストアイテムの設定（Flexboxで横並びに） */
#con2 .bx .inner .in-bx3 .merit-bx .list li {
position: relative;
background: url(../images/service/con2-merit-li-icon.png) no-repeat bottom center;
padding-bottom: 6vw;
margin-bottom: 7vw;}

/* 最後の要素の線は消す */
#con2 .bx .inner .in-bx3 .merit-bx .list li:last-child {
border-bottom: none;
background: none;
}

/* アイコン部分の調整 */
#con2 .bx .inner .in-bx3 .merit-bx .list li .ss1 {
width: 12%;
display: block;
margin-left: 0vw;
margin-bottom: 3.5vw;
}

/* テキストグループ（タイトルと説明文）をさらにFlexboxで横並びに */
#con2 .bx .inner .in-bx3 .merit-bx .list li .txt-group {
}

/* タイトル部分 */
#con2 .bx .inner .in-bx3 .merit-bx .list li .merit-ttl2 {
font-size: 4.5vw;
letter-spacing: 0vw;
line-height: 1.6;
font-weight: 500;
color: #fff;
position: absolute;
left: 14vw;
top: 2vw;
}

/* 説明文部分 */
#con2 .bx .inner .in-bx3 .merit-bx .list li .merit-txt1 {
font-size: 3.4vw;
letter-spacing: 0.2vw;
line-height: 1.85;
font-weight: 400;
color: #fff;
}

#con2 .bx .inner .in-bx3 .merit-bx .merit-txt2{ font-size: 5.2vw; letter-spacing: 0.4vw; line-height: 1.4; font-weight: bold; color: #fff; text-align: center; margin-top: -1vw; margin-bottom: 3vw;}
#con2 .bx .inner .in-bx3 .merit-bx .merit-icon{ width: 42%; margin: 0 auto; text-align: center; padding-left: 5vw;}




#con2 .bx .inner .in-bx4{width: 90%; margin: 0 auto 13vw; position: relative; border: 4px solid #fff; padding: 8vw 0 0;}
#con2 .bx .inner .in-bx4 .in-inner{width: 100%; margin: 0 auto; position: relative; padding: 0 3vw;}
#con2 .bx .inner .in-bx4 .in-inner .in-list-bx{width: 90%; margin: 0 auto -11vw; position: relative; top: -17vw; background-color: #FFDE00; border: 3px solid #fff;}
#con2 .bx .inner .in-bx4 .in-inner .in-list-bx .in-ttl{ margin: 0 auto; position: relative; text-align: center; padding: 4vw 0 4vw; font-size: 3.8vw; letter-spacing: 0.25vw; font-weight: bold; line-height: 1.6; color: #000; border: 2px solid #000; background-color: transparent;}
#con2 .bx .inner .in-bx4 .in-inner .in-ttl1{ font-size: 5.6vw; letter-spacing: 0.2vw; line-height: 1.6; font-weight: bold; color: #fff; text-align: center; margin-bottom: 4vw;}
#con2 .bx .inner .in-bx4 .in-inner .in-txt1{ font-size: 3.8vw; letter-spacing: 0.25vw; line-height: 1.8; font-weight: 400; color: #fff; margin-bottom: 7vw;}

#con2 .bx .inner .in-bx4 .kumitate-bx {position: relative;}
#con2 .bx .inner .in-bx4 .kumitate-bx .list{margin-bottom: 3vw; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;-webkit-box-lines: multiple; -moz-box-lines: multiple; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content: center;}
#con2 .bx .inner .in-bx4 .kumitate-bx .list li{width: 25vw; margin-right: 3vw; }
#con2 .bx .inner .in-bx4 .kumitate-bx .list li:last-child{ margin-right: 0; }
#con2 .bx .inner .in-bx4 .kumitate-bx .list li .kumitate-icon1{margin-bottom: 2vw;}
#con2 .bx .inner .in-bx4 .kumitate-bx .list li .kumitate-txt{font-size: 3.3vw; letter-spacing: 0; line-height: 1.6; font-weight: bold; color: #fff; text-align: center;}
#con2 .bx .inner .in-bx4 .kumitate-bx .kumitate-txt1{font-size: 3.0vw; letter-spacing: 0vw; line-height: 1.6; font-weight: 400; color: #fff; text-align: center; margin-bottom: 13vw;}

#con2 .bx .inner .in-bx4 .kumitate-bx .kumitate-txt2{ font-size: 5.2vw; letter-spacing: 0.4vw; line-height: 1.4; font-weight: bold; color: #fff; text-align: center; margin-top: -1vw; margin-bottom: 1vw;}
#con2 .bx .inner .in-bx4 .kumitate-bx .kumitate-icon{ width: 33%; margin: 0 auto; text-align: center; padding-left: 3vw;}



#con3 {}
#con3 .bx{width: 100%; margin: 0 auto; background: url(../images/service/sp-con3-bg1.png) no-repeat top center; background-size: 100%;}
#con3 .bx .inner{width: 100%; margin: 0 auto 19vw; background: url(../images/service/sp-con3-bg2.png) no-repeat top 51vw center; background-size: 100%;}
#con3 .bx .inner .in-inner{width: 100%; margin: 0 auto; position: relative; padding: 10vw 0 76vw; }
#con3 .bx .inner .ttl1{font-size: 5.5vw; letter-spacing: 0.3vw; line-height: 1.6; font-weight: bold; color: #fff; text-align: center; margin-bottom: 3vw; padding-left: 3vw;}
#con3 .bx .inner .txt1{font-size: 3.6vw; letter-spacing: 0.45vw; line-height: 1.85; font-weight: bold; color: #fff; text-align: center;}



}
