/*
Theme Name : c7btob2021
*/

@charset "utf-8";

html{}
.container {
position: relative;
background-color: #f8f8f8;
}


.ofi_cover {
font-family: 'object-fit: cover;';
height: 100%;
object-fit: cover;
width: 100%;
}

@media screen and (min-width:768px) {
    .is_none-pc {
        display: none;
    }
}

.btn01 {
display: block;
width: 168px;
height: 32px;
background-color: #222;
border-radius: 6px;
box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
color: #fff!important;
font-size: 11px;
line-height: 28px;
text-decoration: none;
text-align: center;
border: 1px solid #222;
position: relative;
padding-right: 10px;
padding-bottom: 2px;
box-sizing: border-box;
transition: opacity 0.2s;
}
.btn01::after {
position: absolute;
content: '';
background-image: url(./images/navi/icn_arrow-right-w.svg);
background-size: contain;
color: #ccc;
top: 52%;
margin-top: -10px;
right: 10px;
width: 18px;
height: 18px;
transition: all 0.2s;
}
.btn01:hover {
opacity: 0.9;
}
.btn01:hover::after {
    transform: translate(2px,0px);
}
.btn01.btn_back {
    padding-left: 10px;
    padding-right: 0;
}
.btn01.btn_back::after {
    transform: scale(-1, 1);
    top: 49%;
    left: 10px;
}
.btn01[target="_blank"]::after {
    background-image: url(./images/icn_link-open.svg);
    width: 16px;
    height: 16px;
}

.btn_center {
margin: auto;
}
.btn_big {
    font-size:1.2em;
    font-weight:bold;
    line-height:1.2;
    padding:0.7em 2em 0.7em 1em;
    margin:1.3em auto 0.4em;
    width: 320px;
    height: auto;
}
.btn_right_up {
position: absolute;
right: 0;
top: 0;
z-index: 10;
}
@media screen and (max-width:1200px) {
.btn_right_up {
right: 20px;
}
}
@media screen and (max-width:768px) {
.btn_right_up {
position: relative;
margin: 30px auto 0;
right: 0;
transform: scale(1.2);
}
}

.contact_btn {
    line-height: 1.2;
    display: flex;
    justify-content: center;
    font-weight: 600;
    padding: 0.8em 0;
    height: auto;
    background-image: linear-gradient(30deg, #e90615, #ec6b74 85%, #ed7b83);
    color: #fff;
    -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
            box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
    font-size: 12px;
    text-align: center;
    width: 168px;
    margin-top: 20px;
    transition: all .2s;
}
.icn_btn {
    line-height: 1.2;
    display: flex;
    justify-content: center;
    font-weight: 600;
    padding: 0.8em 0;
    height: auto;
    background-color: #EEE;
    color: #333;
    font-size: 12px;
    text-align: center;
    width: 168px;
    margin-top: 15px;
    position: relative;
    text-indent: 15px;
    transition: all .2s;
}
.icn_btn::before {
    content: "";
    width: 16px;
    height: 16px;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    left: 25px;
    margin-top: -1px;
}
.icn_btn.is_car::before {
    background-image: url("./images/navi/icn_car.svg");
}
.contact_btn:hover,.icn_btn:hover {
    opacity: .9;
}


header {
position: fixed;
width: 210px;
top: 0;
left: 0;
height: 100%;
z-index: 1000;
background-color: #fff;
box-shadow: 0 0 10px 0 rgb(68 68 68 / 8%);
}
.headerwrapper {
max-height: 100%;
overflow: auto;
box-sizing: border-box;
display: flex;
flex-direction: column;
}
#headerlogo {
padding: 60px 0 30px;
}
#headerlogo a {
display: block;
text-decoration: none;
}
#headerlogo a img {
display: block;
width: 160px;
margin: auto;
}
#headerlogo a span {
display: block;
font-size: 11px;
text-align: center;
color: #444;
margin-top: 1em;
white-space: nowrap;
letter-spacing: 0;
}

.content {
padding-left: 210px;
overflow: hidden;
display: flex;
flex-direction: column;
min-height: 100vh;
}
.contentwrapper {
width: 88%;
max-width: 1200px;
margin: auto;
position: relative;
}
footer {
background-color: #222;
color: #fff;
margin-top: auto;
}

.footer01 {
display: flex;
justify-content: space-between;
align-items: end;
flex-wrap: wrap;
color: #ddd;
padding: 20px 0 70px;
font-size: 13px;
}
.footer0101 {
width: 240px;
margin-top: 30px;
}
.footer0101 a {
text-decoration: none;
display: table;
}
.footer0101 a span {
display: block;
font-size: 11px;
text-align: center;
color: #eee;
margin-top: 1em;
white-space: nowrap;
letter-spacing: 0;;
}
.footer0101 img {
display: table;
width: 168px;
height: auto;
}
.footer0102 {
width: calc(100% - 240px);
max-width: 900px;
padding-right: 1em;
box-sizing: border-box;
margin-top: 30px;
}
.footer0102 a {
text-decoration: none;
color: #ccc;
margin-left: 0.5em;
margin-top: 10px;
display: inline-block;
transition: opacity .2s;
margin-right: 1em;
}
.footer0102 a:hover {
opacity: 0.8;
}
.footer0102 nav>ul {
display: flex;
justify-content: space-between;
}
.footer0102 nav>ul>li {
width: 100%;
box-sizing: border-box;
}
.footer0102 nav>ul>li>a {
font-size: 14px;
color: #eee;
margin-left: 0;
margin-top: 8px;
margin-right: 2em;
}
.footer0102 nav li li a::before {
content: '- ';
}

.footer02 {
display: flex;
font-size: 12px;
line-height: 1.2;
justify-content: space-between;
padding: 15px 0;
border-top: 1px solid #666;
align-items: center;
}
.footer02 > div {
display: flex;
align-items: center;
color: #ccc;
}
.footer02 ul {
display: flex;
align-items: center;
margin: 0 1.6em;
}
.footer02 ul li {
margin: 0 1.2em;
}
.footer02 ul a {
color: #ddd;
text-decoration: none;
padding: 0.3em;
}
.footer02 a {
transition: opacity .2s;
}
.footer02 a:hover {
opacity: 0.8;
}
.footer_contact_link {
display: block;
width: 168px;
height: 32px;
background-color: #222;
color: #eee!important;
font-size: 11px;
line-height: 28px;
text-decoration: none;
text-align: center;
border: 2px solid #eee;
position: relative;
padding-bottom: 2px;
box-sizing: border-box;
transition: 0.2s;
font-weight:bold;
margin:25px 0;
}
.footer_contact_link:hover {
background-color: #eee;
color: #333!important;
}
@media screen and (min-width:1201px) and (max-width:1400px) {
.footer01 {
flex-direction: column;
align-items: center;
}
.footer0101 {
width: 100%;
display: flex;
justify-content: space-between;
align-items: end;
}
.footer0102 {
width: 100%;
max-width: 100%;
}
}

@media screen and (max-width:1200px) {
header {
width: 100%;
height: 80px;
}
.headerwrapper {
position: relative;
width: 100%;
height: 100%;
}
#headerlogo {
padding: 0;
position: absolute;
top: 18px;
left: 20px;
}
#headerlogo a img {
width: 114px;
}
#headerlogo a span {
display: none;
}
.content {
padding-left: 0;
padding-top: 80px;
}
.contentwrapper {
width: 100%;
box-sizing: border-box;
padding-left: 20px;
padding-right: 20px;
}
}
@media screen and (max-width:1023px) {
.footer01 {
flex-direction: column;
align-items: center;
}
.footer0101 {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
}
.footer0102 {
width: 100%;
max-width: 100%;
}
}

@media screen and (max-width:980px) {
    header {
    height: 70px;
    }
    #headerlogo {
    top: 10px;
    }
    #headerlogo a img {
    width: 102px;
    }
    .content {
    padding-top: 70px;
    }
    .footer02 {
    flex-direction: column-reverse;
    }
    .footer02 > div {
    flex-direction: column;
    margin: 10px 0;
    }
    .footer02 ul {
    margin: 0;
    }
    .footer02 > div > a {
    margin-top: 30px;
    }
}
@media screen and (max-width:767px) {
.footer0101 {
flex-direction: column;
}
.footer0102 {
width: auto;
margin: 10px auto -30px;
padding-left: 1em;
}
.footer0102 nav>ul {
flex-direction: column;
}
.footer0102 nav>ul>li {
margin-top: 10px;
}
.footer0102 nav>ul>li ul {
display: flex;
flex-wrap: wrap;
}
}
@media screen and (max-width:500px) {
#headerlogo {
left: 10px;
}
.contentwrapper {
padding-left: 10px;
padding-right: 10px;
height: 100%;
}
}
@media screen and (max-width:480px) {
.footer02 ul li {
margin: 0;
}
.footer02 ul {
gap:1em;
font-size: 11px;
}
.footer02 ul a {
letter-spacing: 0;
}
}
@media screen and (max-width:359px) {
.footer02 ul {
font-size: 10px;
}
}


.breadcrumbs {
margin-bottom: 20px;
}
.breadcrumbs ul {
display: flex;
padding-top: 0.3em;
color: #666;
font-size: 14px;
line-height: 1.2;
flex-wrap: wrap;
align-items: center;
}
.breadcrumbs ul li:not(:last-child)::after{
content: '\00bb';
display: inline-block;
margin: 0 0.5em;
transform: translateY(-0.1em);
}
.breadcrumbs ul li a ,
.breadcrumbs ul li span {
color: inherit;
font: inherit;
text-decoration: none;
display: inline-block;
margin: 3px 0;
}
@media screen and (max-width: 980px) {
.breadcrumbs {
overflow-x: auto;
padding-bottom: 10px;
margin-bottom: 0;
}
.breadcrumbs ul {
flex-wrap: nowrap;
white-space: nowrap;
}
}
@media screen and (max-width:680px) {
.breadcrumbs ul {
font-size: 13px;
}
}
@media screen and (max-width:500px) {
.breadcrumbs ul {
font-size: 12px;
}
}



.wp-pagenavi {/* 全体 */
margin: 60px 0 0;
font-size: 12px;
text-align: center;
}
.wp-pagenavi a {/* フォント色 */
color: #4a4a4a;
text-decoration: none;
}
.wp-pagenavi .pages {/* 左の表記 */
margin-right: 20px;
}
.wp-pagenavi .current,
.wp-pagenavi a.page {/* ボタン */
margin: 0 6px 6px 0;
display: inline-block;
background-color: #ddd;
width: 36px;
height: 40px;
border-radius: 4px;
line-height: 40px;
text-align: center;
}
.wp-pagenavi .current {/* カレント数字 */
border: none;
background: #222;
color: #fff;
}
.wp-pagenavi a.page:hover {/* マウスオーバー */
background: #222;
color: #fff;
}
.wp-pagenavi .first,
.wp-pagenavi .extend {/* ... */
margin-right: 6px;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {/* 記号の削除 */
display: none;
}
@media screen and (max-width:500px) {
.wp-pagenavi .pages {
margin-right: 0;
margin-bottom: 15px;
display: block;
}
}
@media screen and (max-width:413px) {
.wp-pagenavi .extend {
display: none;
}
}








.section {
padding: 70px 0 ;
}
.section.sectionbggray {
background-color:#e6e6e6; 
}
.section_header_l {
margin-bottom: 28px;
display: flex;
align-items: flex-end;
position: relative;
}
.section_header_l h2 {
font-size: 24px;
font-weight: 500;
line-height: 1.5;
position: relative;
z-index: 2;
}
.section_header_l_sub {
font-size: 72px;
font-weight: 700;
color: #eee;
line-height: 1.12em;
white-space: nowrap;
z-index: 1;
position: absolute;
left: -24px;
bottom: -7px;
user-select: none;
}
.section_spacer01 {
padding: 40px 0;
}
.section_spacer02 {
padding: 20px 0;
}
@media screen and (max-width:680px) {
.section {
padding: 50px 0 ;
}
.section_header_l {
margin-bottom: 26px;
}
.section_header_l h2 {
font-size: 22px;
}
.section_header_l_sub {
font-size: 60px;
left: -24px;
bottom: -7px;
}
.section_spacer01 {
padding: 15px 0;
}
}
@media screen and (max-width:480px) {
.section {
padding: 40px 0 ;
}
}

.postlist01 ul.postlist {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: -3.5%;
}
.postlist01 ul.postlist::after {
content: '';
height: 0;
width: 31%;
order: 2;
}
.postlist01 ul.postlist li {
width: 31%;
background-color: #fff;
overflow: hidden;
border-radius: 6px;
box-shadow: 0 0 10px 0 rgb(68 68 68 / 8%);
margin-bottom: 3.5%;
order: 1;
}
.postlist01 ul.postlist li a {
display: block;
color: inherit;
text-decoration: none;
}
.postlist01_img>div {
width: 100%;
height: 0;
padding-top: 56.25%;
position: relative;
overflow: hidden;
}
.postlist01_img>div>div {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
transition: .2s;
}
.postlist01 ul.postlist li:hover .postlist01_img>div>div {
transform: scale(1.05);
}
.postlist01_txt {
font-size: 15px;
line-height: 1.4;
padding: 0.8em;
box-sizing: border-box;
}
.postlist01_post_title {
font-weight: 500;
}
.postlist01_info  {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 0.6em;
}
.postlist01_cat {
display: flex;
}
.postlist01_cat object {
margin-right: 4px;
font-size: 11px;
display: flex;
height: 16px;
line-height: 13px;
padding: 0 8px 1px;
border: #666 1px solid;
color: #666;
box-sizing: border-box;
text-align: center;
}
.postlist01_cat object.cat_ct {
border: #222 1px solid;
background-color: #222;
color: #fff;
}
.postlist01_post_date {
font-size: 0.8em;
color: #999;
}
@media screen and (max-width:980px) {
.postlist01_txt {
font-size: 14px;
}
}
@media screen and (max-width:840px) {
.postlist01 ul.postlist {
flex-direction: column;
margin-bottom: -15px;
}
.postlist01 ul.postlist li {
width: 100%;
margin-bottom: 15px;
}
.postlist01 ul.postlist li a {
display: flex;
justify-content: space-between;
}
.postlist01_img {
width: 38%;
}
.postlist01_txt {
width: 62%;
margin-top: 0.5em;
}
}
@media screen and (max-width:480px) {
.postlist01 ul.postlist li a {
flex-direction: column;
}
.postlist01_img ,
.postlist01_txt {
width: 100%;
}
}





.postlist02 ul.postlist {
margin-bottom: -10px;
}
.postlist02 ul.postlist li {
margin-bottom: 10px;
}
.postlist02 ul.postlist li>a {
display: block;
text-decoration: none;
color: inherit;
font-size: 15px;
line-height: 1.3;
padding: 20px;
background-color: #fff;
border-radius: 6px;
box-shadow: 0 0 10px 0 rgb(68 68 68 / 8%);
padding-right: 60px;
position: relative;
}
.postlist02 ul.postlist li>a::after {
display: block;
content: '\3009';
position: absolute;
right: 25px;
top: 50%;
margin-top: -25px;
margin-right: 0;
font-size: 36px;
line-height: 50px;
opacity: 0;
transition: .2s;
}
.postlist02 ul.postlist li>a:hover::after {
margin-right: -5px;
opacity: 0.2;
}

.postlist02_info {
display: flex;
flex-wrap: wrap;
align-items: center;
font-size: 0.9em;
padding-bottom: 2px;
}
.postlist02_info>div {
margin-bottom: 6px;
}
.postlist02_post_date {
color: #666;
margin-right: 10px;
}
.postlist02_cat {
display: flex;
margin-right: 10px;
}
.postlist02_cat object.cat a {
margin-right: 4px;
font-size: 11px;
display: flex;
height: 16px;
line-height: 13px;
border: #666 1px solid;
color: #666;
box-sizing: border-box;
justify-content: center;
align-items: center;
min-width: 84px;
padding: 0 3px 1px;
}
.postlist02_cat object.cat.cat_ct a {
border: #222 1px solid;
background-color: #222;
color: #fff;
}
.postlist02_tag {
display: flex;
flex-wrap: wrap;
align-items: center;
}
.postlist02_tag object.tag a {
color: #222;
background-color: #ccc;
margin:1px 4px 1px 1px;
font-size: 11px;
display: flex;
height: 16px;
line-height: 13px;
border-radius: 3px;
box-sizing: border-box;
align-items: center;
padding: 0 5px 1px;
}
.postlist02_tag object.tag a::before {
content: '';
width: 8px;
height: 8px;
border-radius: 50%;
margin-right: .4em;
background-color: #fff;
}
.postlist02_cat object a ,
.postlist02_tag object a {
text-decoration: none;
}

@media screen and (max-width:980px) {
.postlist02_txt {
font-size: 14px;
}
}
@media screen and (max-width:768px) {
.postlist02 ul.postlist li>a {
padding-right: 20px;
}
.postlist02 ul.postlist li>a::after {
display: none;
}
}
@media screen and (max-width:480px) {
.postlist02 ul.postlist li>a {
padding: 14px;
padding-right: 14px;
}
}

.postlist_categorylist01 ul {
display: flex;
flex-wrap: wrap;
justify-content: center;
background-color: #fdfdfd;
border-radius: 6px;
box-shadow: 0 0 10px 0 rgb(68 68 68 / 4%);
padding: 10px;
margin-bottom: 36px;
}
.postlist_categorylist01 ul a {
color: #999;
text-decoration: none;
font-weight: 500;
display: block;
margin: 4px 16px;
font-size: 15px;
line-height: 1.2;
transition: color .2s;
}
.postlist_categorylist01 ul a:hover ,
.postlist_categorylist01 ul .current-cat a {
color: #444;
}
.postlist_categorylist01 ul .current-cat a {
pointer-events: none;
}
@media screen and (max-width:840px) {
.postlist_categorylist01 ul {
margin-top: -5px;
margin-bottom: 25px;
}
}
@media screen and (max-width:500px) {
.postlist_categorylist01 ul a {
font-size: 14px;
}
}










.lowerkv {
background-size: cover;
background-position: center;
position: relative;
}
.lowerkvwrapper {
position: absolute;
z-index: 1;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-image: url("images/overlays/05.png");
background-position: center;
opacity: 0.8;
}
.lowerkv_copywrapper {
position: relative;
z-index: 2;
}
.lowerkv_copywrapper h1 ,
.lowerkv_copywrapper .h1style {
font-size: 34px;
font-weight: 700;
line-height: 1.2;
color: #fff;
text-shadow: 2px 2px 10px rgb(0,0,0,.3);
}
@media screen and (max-width:768px) {
.lowerkv_copywrapper h1 ,
.lowerkv_copywrapper .h1style {
font-size: 30px;
}
}
@media screen and (max-width:480px) {
.lowerkv_copywrapper h1 ,
.lowerkv_copywrapper .h1style {
font-size: 28px;
}
}
@media screen and (max-width:360px) {
.lowerkv_copywrapper h1 ,
.lowerkv_copywrapper .h1style {
font-size: 24px;
}
}

.common_section_01 ul {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-top: -4px;
}
.common_section_01 ul li {
width: calc( 50% - 2px );
margin-top: 4px;
}
.common_section_01 ul li a {
display: block;
color: inherit;
text-decoration: none;
position: relative;
}
.common_section_01_img>div {
width: 100%;
height: 0;
padding-top: 48%;
position: relative;
overflow: hidden;
}
.common_section_01_img>div>div {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
transition: .2s;
}
.common_section_01 ul li:hover .common_section_01_img>div>div {
transform: scale(1.05);
}
.common_section_01_title {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,0.1);
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
transition: background-color .2s;
}
.common_section_01_title h3 {
font-weight: 500;
line-height: 1.2;
color: #fff;
text-shadow: 0 0 10px rgba(0,0,0,1);
font-size: 26px;
}
.common_section_01 ul li:hover .common_section_01_title {
background-color: rgba(0,0,0,0.3);
}

@media screen and (max-width:980px) {
.common_section_01_title h3 {
font-size: 22px;
}
}
@media screen and (max-width:767px) {
.common_section_01 ul li {
width: 100%;
}
.common_section_01_title h3 {
font-size: 24px;
}
}
@media screen and (max-width:680px) {
.common_section_01_title h3 {
font-size: 20px;
}
}



.homekv {
padding: 0;
position: relative;
}
.homekvwrapper {
width: 100%;
height: 0;
padding-top: 490px;
position: relative;
overflow: hidden;
}
#homekv {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
.honekv_copywrapper {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
.honekv_copy {
height: 110%;
display: flex;
flex-direction: column;
justify-content: center;
color: #fff;
line-height: 1.2;
text-shadow: 2px 2px 10px rgba(0,0,0,.3);
padding-left: 50px;
}
.honekv_copy p:first-child {
font-size: 54px;
font-weight: 700;
margin-bottom: 30px;
}
.honekv_copy p:last-child {
font-size: 22px;
font-weight: 500;
letter-spacing: 0.08em;
line-height: 1.4;
}
.honekv_copy p span {
display: inline-block;
font: inherit;
line-height: inherit;
letter-spacing: inherit;
}
@media screen and (max-width:980px) {
.honekv_copy {
padding-left: 20px;
padding-right: 20px;
}
}
@media screen and (max-width:768px) {
.honekv_copy p:first-child {
font-size: 44px;
margin-bottom: 24px;
}
.honekv_copy p:last-child {
font-size: 18px;
}
}
@media screen and (max-width:680px) {
.homekvwrapper {
margin-bottom: 40px;
}
}
@media screen and (max-width:500px) {
.honekv_copy {
padding-left: 10px;
padding-right: 10px;
}
}
@media screen and (max-width:480px) {
.homekvwrapper {
padding-top: calc( 80vh - 70px );
}
.honekv_copy p:first-child {
font-size: 34px;
margin-bottom: 20px;
}
.honekv_copy p:last-child {
font-size: 15px;
}
}
@media screen and (max-width:413px) {
.honekv_copy p br {
display: none;
}
}
@media screen and (max-width:360px) {
.honekv_copy p:first-child {
font-size: 32px;
}
}


.homebusiness_add {
    line-height: 1.7;
    padding: 5px 0;
}
.homebusiness ul {
    position: relative;
    z-index: 2;
    margin: auto;
    margin-top: -10px;
    display: flex;
    justify-content: space-between;
}
.homebusiness ul li {
    width: 48.25%;
}
.homebusiness ul li a.homebusiness_link_wrp {
    padding: 20px 0 0 50px;
    position: relative;
    transition-duration: 500ms;
    display: block;
    color: inherit;
    text-decoration: none;

    background-color: #fff;
    border-radius: 6px;
    box-shadow: 0 0 10px 0 rgb(68 68 68 / 8%);
}
.homebusiness_img {
    position: relative;
    z-index: 2;
}
.homebusiness_img::after {
    content: "";
    width: 92%;
    height: 92%;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 10px;
    left: 0;
    transition-duration: 500ms;
}
.homebusiness_img.is_fc::after {
    background-image: url(./images/homebusiness_link-bg-g.svg);
}
.homebusiness_img.is_system::after {
    background-image: url(./images/homebusiness_link-bg-b.svg);
}
.homebusiness ul li a.homebusiness_link_wrp:hover .homebusiness_img::after {
    transition-duration: 500ms;
    transform:rotate(-10deg);
}
.homebusiness_img>div {
    width: 100%;
    height: 0;
    padding-top: 48%;
    position: relative;
    overflow: hidden;
}
.homebusiness_img>div>div {
    position: absolute;
    left: 0;
    top: 0;
    width: 80%;
    height: 70%;
    transition: .2s;
    z-index: 1;
}
.homebusiness_img .ofi_cover {
    height: 115%;
}
.homebusiness ul li:hover .homebusiness_img>div>div {
    transform: scale(1.05);
}
.homebusiness_txt {
    font-size: 15px;
    line-height: 1.6;
    padding: 0.8em 0;
    box-sizing: border-box;
}
.homebusiness_title h3 {
    font-weight: 500;
    font-size: 24px;
    line-height: 1.3;
    margin-bottom: 0.3em;
}

.homebusiness_link_btn-inr {
    position: absolute;
    top: 35px;
    right: 35px;
}
.homebusiness_link_btn {
    display: inline-flex;
    text-decoration: none;
    font-weight: 700;
    color: #222;
    width: 30px;
    height: 30px;
    font-size: 14px;
    position: relative;
    opacity: 1 !important;
    transition: all 0.3s;
    background-color: #EEEEEE;
    border-radius: 100%;
    transition: color 0.4s;
    overflow: hidden;
}
.homebusiness_link_btn:before,
.homebusiness_link_btn:after {
    content: "";
    display: block;
    position: absolute;
    width: 50%;
    height: 0;
    pointer-events: none;
}
.homebusiness_link_btn.is_fc:before,
.homebusiness_link_btn.is_fc:after {
    background-color: #30A88B;
}
.homebusiness_link_btn.is_system:before,
.homebusiness_link_btn.is_system:after {
    background-color: #3060A8;
}
.homebusiness_link_btn:before {
    bottom: 0;
    left: 0;
}
.homebusiness_link_btn:after {
    top: 0;
    right: 0;
}
.homebusiness ul li a.homebusiness_link_wrp:hover .homebusiness_link_btn.is_fc {
    color: #30A88B;
}
.homebusiness ul li a.homebusiness_link_wrp:hover .homebusiness_link_btn.is_system {
    color: #3060A8;
}
.homebusiness ul li a.homebusiness_link_wrp:hover .homebusiness_link_btn:before,
.homebusiness ul li a.homebusiness_link_wrp:hover .homebusiness_link_btn:after {
    height: 100%;
}
.homebusiness ul li a.homebusiness_link_wrp:hover .homebusiness_link_btn:before {
    transition: height 0.2s 0.2s linear;
}
.homebusiness ul li a.homebusiness_link_wrp:hover .homebusiness_link_btn:after {
    transition: height 0.2s linear;
}
.homebusiness_link_btn span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    background-color: #FFF;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99;
}

@media screen and (max-width:980px) {
    .homebusiness ul {
        flex-wrap: wrap;
        width: 100%;
    }
    .homebusiness ul li {
        width: 100%;
    }
    .homebusiness ul li a.homebusiness_link_wrp {
        width: 90%;
        max-width: 90%;
        min-width: 90%;
        margin: auto;
        position: relative;
        margin-top: 3vw;
        padding: 15px 0;
        background-color: #fff;
        border-radius: 6px;
        box-shadow: 0 0 10px 0 rgb(68 68 68 / 8%);
    }
    .homebusiness_txt {
        font-size: 14px;
        padding-left: 30vw;
    }
    .homebusiness_img {
        position: absolute;
        top: 2vw;
        left: 5vw;
        width: 20vw;
        height: 10vw;
    }
    .homebusiness_img>div {
        padding-top: 0;
        height: auto;
        width: 100%;
        height: 100%;
        margin-top: 10%;
    }
    .homebusiness_img>div>div {
        position: relative;
        width: 100%;
        height: auto;
    }
    .homebusiness_img::after {
        width: 110%;
        height: 100%;
        top: 3vw;
        left: 0;
    }
    .homebusiness_link_btn-inr {
        top: 3vw;
        right: 3vw;
    }
}
@media screen and (max-width:680px) {
    .homebusiness_title h3 {
        font-size: 20px;
    }
}
@media screen and (max-width:480px) {
    .homebusiness ul li a.homebusiness_link_wrp {
        margin-bottom: 3vw;
        padding: 15px 5vw 8vw 5vw;
    }
    .homebusiness_txt {
        padding-left: 0;
    }
    .homebusiness_img {
        position: relative;
        width: 70vw;
        height: 30vw;
    }
    .homebusiness_img>div {
        height: 100%;
        margin-top: 0;
    }
    .homebusiness_img::after {
        height: 115%;
        top: -1vw;
    }
    .homebusiness_link_btn-inr {
        top: 5vw;
        right: 5vw;
    }
}

.homeabout {
padding-bottom: 140px;
}
.homeabout ul {
position: relative;
padding-top: 30%;
}
.homeabout ul li {
position:absolute; 
width: calc( 50% - 2px );
}
.homeabout ul li:first-child {
top: 0;
left: 0;
height: 100%;
}
.homeabout ul li:nth-child(2) {
top: 0;
right: 0;
height: calc( 50% - 2px );
}
.homeabout ul li:nth-child(3) {
bottom: 0;
right: 0;
height: calc( 50% - 2px );
}
.homeabout ul li a {
display: block;
height: 100%;
color: inherit;
text-decoration: none;
}
.homeabout_img {
width: 100%;
height: 100%;
}
.homeabout_img>div {
width: 100%;
height: 100%;
position: relative;
overflow: hidden;
}
.homeabout_img>div>div {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
transition: .2s;
}
.homeabout ul li:hover .homeabout_img>div>div {
transform: scale(1.05);
}
.homeabout_title {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,0.1);
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
transition: background-color .2s;
}
.homeabout_title h3 {
font-size: 26px;
font-weight: 500;
line-height: 1.2;
color: #fff;
text-shadow: 0 0 10px rgba(0,0,0.1);
}
.homeabout ul li:hover .homeabout_title {
background-color: rgba(0,0,0,0.3);
}
.homeabout ul li:first-child .homeabout_title {
align-items: flex-end;
}
.homeabout ul li:first-child .homeabout_title h3 {
margin-right: 6%;
}
@media screen and (max-width:1300px) {
.homeabout_title h3 {
font-size: 22px;
}
}
@media screen and (max-width: 900px) {
.homeabout ul {
padding-top: 0;
}
.homeabout ul li {
position:relative; 
width: 100%;
}
.homeabout ul li+li {
margin-top: 4px;
}
.homeabout ul li:first-child ,
.homeabout ul li:nth-child(2) ,
.homeabout ul li:nth-child(3) {
height: auto;
}
.homeabout_img>div {
height: 0;
padding-top: 30%;
}
.homeabout ul li:first-child .homeabout_img>div {
padding-top: 50%;
}
.homeabout ul li:first-child .homeabout_title {
align-items: center;
}
.homeabout ul li:first-child .homeabout_title h3 {
margin-right: 0;
}
}

.homebanner a:hover {opacity:.75;}
.homebanner img {max-width:100%;}

.aboutuskv {
background-image: url("images/tmp/377_3.jpg");
background-position: 50% 33%;
}
.recruitkv {
background-image: url("images/tmp/62347000.jpg");
background-position: 50% 38%;
}
.newskv {
background-image: url("images/p_header_news.jpg");
background-position: 50% 67%;
}





/*.page-template-default .container {
background-color: #FDFDFD;
}
*/
.blockeditor_content {
font-size: 15px;
color: #222;
line-height: 1.6;
word-wrap: break-word;
overflow-wrap: break-word;
}
.blockeditor_content>*:first-child {
margin-top: 0;
}

@media screen and (max-width: 600px) {
.blockeditor_content {
font-size: 14px;
}
}
@media screen and (max-width: 480px) {
.blockeditor_content {
font-size: 13px;
}
}
.blockeditor_content p {
margin-bottom: 1.6em;
text-align: justify;
line-height: 2;
}
.blockeditor_content p.has-text-align-left {
text-align: left;
}
.blockeditor_content p.has-text-align-center {
text-align: center;
}
.blockeditor_content p.has-text-align-right {
text-align: right;
}
.blockeditor_content h2 {
margin: 3.4em 0 1.4em;
clear: both;
font-weight: 500;
font-size: 1.6em;
position: relative;
padding: 0.5em 0.7em;
color: #f8f8f8;
background-color: #222;
}
.blockeditor_content h3 {
margin: 2.2em 0 1.2em;
clear: both;
font-weight: 500;
font-size: 1.4em;
color: #333;
background-color: #efefef;
padding: 0.4em 0.7em;
border-radius: 2px;
}
.blockeditor_content h4 {
margin: 2em 0 1.2em;
clear: both;
font-weight: 500;
font-size: 1.3em;
color: #333;
padding-bottom: 0.3em;
border-bottom: 1px solid #bbb;
}

.blockeditor_content h5 {
margin: 1.7em 0 1em;
clear: both;
font-weight: 500;
font-size: 1.2em;
color: #333;
}
.blockeditor_content h6 {
margin: 1.7em 0 0.9em;
clear: both;
font-weight: 500;
font-size: 1.1em;
color: #333;
}


.blockeditor_content ol ,
.blockeditor_content ul {
margin: 1.5em 0 1.2em;
padding-left: 1.8em;
}
.blockeditor_content ol {
list-style-type: decimal;
}
.blockeditor_content ul {
list-style-type: disc;
}
.blockeditor_content li {
margin-bottom: 0.6em;
line-height: 1.6em;
}

.blockeditor_content strong {
font-weight: 600;
}
.blockeditor_content a:not(.wp-block-button__link) {
color: inherit;
}

.blockeditor_content .wp-block-image ,
.blockeditor_content .wp-block-media-text ,
.blockeditor_content .wp-block-table {
margin: 1.2em 0 ;
}
.blockeditor_content .wp-block-image img ,
.blockeditor_content .wp-block-media-text img {
max-width: 100%;
display: block;
height: auto;
}
.blockeditor_content .wp-block-table table th,
.blockeditor_content .wp-block-table table td {
padding: 0.5em;
border: 1px solid #ddd;
line-height: 1.5em;
}
.blockeditor_content figcaption {
font-size: 0.9em!important;
display: table!important;
margin: auto!important;
opacity: 0.8!important;
margin-top: 0.4em!important;
}






.newspostheader {
margin-bottom: 2.4em;
}
.newspostheader h1 {
clear: both;
font-weight: 500;
font-weight: bold;
font-size: 1.8em;
line-height: 1.4;
margin-bottom: 0.3em;
margin-top: 0;
}
.newspostheaderinfo {
display: flex;
flex-wrap: wrap;
align-items: center;
}
.newspostheaderinfo>div {
margin-top: 3px;
margin-bottom: 3px;
}
.newspost_date {
color: #666;
margin-right: 10px;
line-height: 16px;
padding-bottom: 2px;
}

.newspostwrapper {
display: flex;
justify-content: space-between;
margin-top: -30px;
}
.newspost_content {
width: calc(100% - 290px);
}
.newspost_content article+.btn_back {
margin-top: 30px;
}
.newspost_content_innerwrapper {
padding: 3% 4% 10%;
background-color: #fff;
border-radius: 6px;
box-shadow: 0 0 10px 0 rgb(68 68 68 / 8%);
box-sizing: border-box;
}
.newspost_sidemenu {
width: 260px;
}
.newspost_sidemenu_newnewslist_header {
font-size: 1.2em;
line-height: 1.2;
margin-bottom: 0.6em;
font-weight: 500;
}
.newspost_sidemenu .postlist02 ul.postlist li>a {
padding: 10px 13px;
padding-right: 13px;
font-size: 14px;
}
.newspost_sidemenu .postlist02 ul.postlist li>a::after {
display: none;
}
.newspost_sidemenu .postlist02 ul.postlist li .postlist02_post_title {
font-size: 0.9em;
}
@media screen and (max-width: 940px) {
.newspostwrapper {
flex-direction: column;
}
.newspost_content ,
.newspost_sidemenu {
width: 100%;
}
}



.floating_banner_widget {
position: fixed;
right: 10px;
bottom: 10px;
z-index: 999;
max-width: 300px;
box-shadow: 0 0 10px 0 rgb(68 68 68 / 8%);
}
.floating_banner_widget>div {
position: relative;
}
.floating_banner_widget div.floating_banner_widget_close {
box-shadow: 0 0 10px 0 rgb(68 68 68 / 8%);
position: absolute;
right: -5px;
top: -10px;
font-size: 16px;
line-height: 1.2;
font-weight: bold;
color: #111;
background-color: #fff;
width: 30px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
border-radius: 15px;
cursor: pointer;
}
.floating_banner_widget a ,
.floating_banner_widget img {
display: block;
}
.floating_banner_widget img {
width: 100%;
height: auto;
}

.grecaptcha-badge { visibility: hidden; }
.form_bottom_note {
font-size: 0.8em;
color:#666;
line-height: 1.8;
}

.toform {
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
text-align:center;
padding:1.5em;
max-width:800px;
margin:auto;
border-radius:1.35em;
font-size:15px;
background-color: #fff;
color: #222;
border: 2px solid #e90615;
}
.toform span {
font:inherit;
letter-spacing:inherit;
line-height:inherit;
display:inline-block;
}
.toform_h {
font-size:1.5em;
letter-spacing:0.1em;
font-weight:bold;
line-height:1.3;
margin-bottom:0.9em;
display: inline;
padding: 0 2px;
}
.toform_p {
font-size:.95em !important;
line-height:1.4 !important;
text-align:center !important;
margin-bottom: 1em;
}
.toform_a {
font-size:1.3em;
font-weight:bold;
line-height:1.2;
padding:0.7em 2em 0.7em 1em;
text-decoration:none;
margin:0.3em auto 0.4em;
border-radius:6px;
position:relative;
background-image: linear-gradient(30deg, #e90615, #ec6b74 85%, #ed7b83);
color: #fff!important;
box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
}
.toform_a.is_fc {
    background-color: #30A88B;
    background-image: none;
}
.toform_a.is_system {
    background-color: #3060A8;
    background-image: none;
}
.toform_a::before ,
.toform_a::after {
content: '';
width: 3px;
height: 12px;
background-color: #fff;
position: absolute;
right: 0.9em;
transition: right .3s;
}
.toform_a::before {
bottom: 50%;
transform-origin: right bottom;
transform: rotate(-405deg);
}
.toform_a::after {
top: 50%;
transform-origin: right top;
transform: rotate(40deg);
}
.toform_a:hover::before ,
.toform_a:hover::after {
right: 0.7em;
}
@media screen and (max-width: 540px) {
.toform {
font-size:14px;
}
}
@media screen and (max-width: 413px) {
.toform {
font-size:13px;
}
.toform_p {
text-align:left !important;
}
.toform_a {
font-size:1.2em;
margin:0.1em auto 0.4em;
}
.toform_a::before ,
.toform_a::after {
width: 2px;
height: 10px;
right: 0.6em;
}

.toform_a:hover::before ,
.toform_a:hover::after {
right: 0.4em;
}}
@media screen and (max-width: 374px) {
.toform_a {
letter-spacing:0;
font-size:1.15em;
padding:0.9em 1.6em 0.9em 0.6em;
}
}

.hubspotform {
flex-direction:column;
justify-content:center;
align-items:center;
text-align:center;
background-color:#FFF;
padding:1.5em;
color:#000;
max-width:800px;
margin:auto;
border-radius:1.35em;
font-size:15px;
}
.hubspotform span {
font:inherit;
letter-spacing:inherit;
line-height:inherit;
display:inline-block;
}
.hubspotform_h {
font-size:1.5em;
letter-spacing:0.1em;
font-weight:bold;
line-height:1.3;
margin-bottom:0.9em;
}
.hubspotform_p {
font-size:.95em !important;
line-height:1.4 !important;
text-align:center !important;
}
.hubspotform_a {
font-size:1.3em;
font-weight:bold;
line-height:1.2;
padding:0.7em 2em 0.7em 1em;
background-color:#FDCB08;
color:#222!important;
text-decoration:none;
margin:0.3em auto 0.4em;
border-radius:6px;
position:relative;
}
.hubspotform_a::before ,
.hubspotform_a::after {
content: '';
width: 3px;
height: 12px;
background-color: #222;
position: absolute;
right: 0.9em;
transition: right .3s;
}
.hubspotform_a::before {
bottom: 50%;
transform-origin: right bottom;
transform: rotate(-405deg);
}
.hubspotform_a::after {
top: 50%;
transform-origin: right top;
transform: rotate(40deg);
}
.hubspotform_a:hover::before ,
.hubspotform_a:hover::after {
right: 0.7em;
}
@media screen and (max-width: 540px) {
.hubspotform {
font-size:14px;
}
}
@media screen and (max-width: 413px) {
.hubspotform {
font-size:13px;
}
.hubspotform_p {
text-align:left !important;
}
.hubspotform_p br {
display:none;
}
.hubspotform_a {
font-size:1.2em;
margin:0.1em auto 0.4em;
}
.hubspotform_a::before ,
.hubspotform_a::after {
width: 2px;
height: 10px;
right: 0.6em;
}

.hubspotform_a:hover::before ,
.hubspotform_a:hover::after {
right: 0.4em;
}}
@media screen and (max-width: 374px) {
.hubspotform_a {
letter-spacing:0;
font-size:1.15em;
padding:0.9em 1.6em 0.9em 0.6em;
}
}




@media screen and (min-width: 941px) {
.newspost_sidemenu_newnewslist.postlist01 ul.postlist li {
width: 100%;
margin-bottom: 6%;
}
.newspost_sidemenu_newnewslist .postlist01_txt {
font-size: 14px;
padding-top: 0.5em;
}
.newspost_sidemenu_newnewslist .postlist01_info {
margin-bottom: 0.3em;
}
}




.sys_servicelist {
font-size: 15px;
}
@media screen and (max-width: 600px) {
.sys_servicelist {
font-size: 14px;
}
}
@media screen and (max-width: 480px) {
.sys_servicelist {
font-size: 13px;
}
}
.sys_servicelist h2 {
margin: 3.4em 0 1.4em;
clear: both;
font-weight: 500;
font-size: 1.6em;
position: relative;
padding: 0.5em 0.7em;
color: #f8f8f8;
background-color: #222;
}
.sys_servicelist ul {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.sys_servicelist li {
width:24%;
margin-bottom: 1.33%;
order: 1;
}
.sys_servicelist ul::before ,
.sys_servicelist ul::after {
content: '';
order: 2;
height: 0;
width:24%;
}
.sys_servicelist li a {
width: 100%;
height: 10.4em;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
text-align: center;
text-decoration: none;
color: #222;
padding: 2% 5%;
background-color: #fff;
box-shadow: 0 0 10px 0 rgb(68 68 68 / 8%);
border-radius: 6px;
}
.sys_servicelist li h3 {
font-size: 1.466em;
font-weight: 900;
line-height: 1.1;
}
.sys_servicelist li h3 span {
display: block;
font-size: 0.5em;
font-weight: 500;
margin-top: 0.3em;
}
.sys_servicelist li p {
font-size: 0.85em;
font-weight: 500;
line-height: 1.4;
color: #666;
}
.sys_servicelist_item01 ,
.sys_servicelist_item02 ,
.sys_servicelist_item03 {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
text-align: center;
}
.sys_servicelist_item01 {
font-size: 12px;
font-weight: 900;
color: #222;
background-color: #FDCB08;
margin-top: 0.5em;
padding: 0.4em 1.2em;
height: 2em;
border-radius: 2em;
margin-bottom: 0.5em;
}
.sys_servicelist_item02 {
height: 3.8em;
}
.sys_servicelist_item03 {
height: 3em;
}
@media screen and (min-width: 1201px) and (max-width: 1300px) {
.sys_servicelist li ,
.sys_servicelist ul::before ,
.sys_servicelist ul::after {
width:32.5%;
}
}
@media screen and (max-width: 1023px) {
.sys_servicelist li ,
.sys_servicelist ul::before ,
.sys_servicelist ul::after {
width:32.5%;
}
}
@media screen and (max-width: 767px) {
.sys_servicelist li ,
.sys_servicelist ul::before ,
.sys_servicelist ul::after {
width:49.2%;
}
.sys_servicelist li a {
height: 9em;
}
}
@media screen and (max-width: 480px) {
.sys_servicelist li ,
.sys_servicelist ul::before ,
.sys_servicelist ul::after {
width:100%;
margin-bottom: 2%;
}
}


.sys_servicelist_l ul {
margin-bottom: -10px;
}
.sys_servicelist_l ul li {
margin-bottom: 10px;
}
.sys_servicelist_l ul li>a {
display: flex;
text-decoration: none;
color: inherit;
font-size: 15px;
line-height: 1.3;
padding: 20px;
background-color: #fff;
border-radius: 6px;
box-shadow: 0 0 10px 0 rgb(68 68 68 / 8%);
padding-right: 60px;
position: relative;
align-items: center;
}
.sys_servicelist_l ul li>a::after {
display: block;
content: '\3009';
position: absolute;
right: 25px;
top: 50%;
margin-top: -25px;
margin-right: 0;
font-size: 36px;
line-height: 50px;
opacity: 0;
transition: .2s;
}
.sys_servicelist_l ul li>a:hover::after {
margin-right: -5px;
opacity: 0.2;
}
.sys_servicelist_l ul li .sys_servicelist_l_l {
width: 260px;
}
.sys_servicelist_l ul li .sys_servicelist_l_r {
width: calc( 100% - 300px );
padding-left: 4%;
}
.sys_servicelist_l ul li .sys_servicelist_l_l {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.sys_servicelist_l ul li .sys_servicelist_l_l .sys_servicelist_item02 h3 {
font-size: 1.3em;
font-weight: 900;
line-height: 1.1;
}
.sys_servicelist_l ul li .sys_servicelist_l_l .sys_servicelist_item02 h3 span {
display: block;
font-weight: 500;
margin-top: 0.5em;
font-size: 0.5em;
}
.sys_servicelist_l ul li .sys_servicelist_l_l .sys_servicelist_item01  {
min-width: 70%;
}
.sys_servicelist_l ul li .sys_servicelist_l_r .sys_servicelist_item03 {
text-align: justify;
align-items: flex-start;
height: auto;
}
.sys_servicelist_l ul li .sys_servicelist_l_r .sys_servicelist_item03 h4 {
color: #222;
font-weight: bold;
margin-bottom: 0.8em;
}
.sys_servicelist_l ul li .sys_servicelist_l_r .sys_servicelist_item03 p {
color: #555;
font-size: 0.9em;
line-height: 1.5;
}
@media screen and (max-width:768px) {
.sys_servicelist_l ul li>a {
padding-right: 20px;
}
.sys_servicelist_l ul li>a::after {
display: none;
}
.sys_servicelist_l ul li .sys_servicelist_l_l {
width: 220px;
}
.sys_servicelist_l ul li .sys_servicelist_l_r {
width: calc( 100% - 240px );
}
}
@media screen and (max-width:599px) {
.sys_servicelist_l ul li>a {
flex-wrap: wrap;
}
.sys_servicelist_l ul li .sys_servicelist_l_l {
width: 100%;
flex-direction: column-reverse;
margin-bottom: 1.1em;
}
.sys_servicelist_l ul li .sys_servicelist_l_l .sys_servicelist_item01  {
min-width: 0;
}
.sys_servicelist_l ul li .sys_servicelist_l_r {
width: 100%;
padding-left: 0;
}
.sys_servicelist_l ul li .sys_servicelist_l_r .sys_servicelist_item03 h4 {
display: table;
margin-left: auto;
margin-right: auto;
}
}
@media screen and (max-width:480px) {
.sys_servicelist_l ul li>a {
padding: 14px;
padding-right: 14px;
}
}




.servicedetail .system_service {
    position: relative;
    width: 100%;
}
.servicedetail .system_service img {
    width: 100%;
}
.servicedetail .system_service ul {
    position: absolute;
    top: 0;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}
.servicedetail .system_service li img {
    box-shadow: 0 0 10px 0 rgb(68 68 68 / 8%);
}
.servicedetail .system_service p {
    text-align: center;
}
@media screen and (min-width:981px) {
    .service_img-sp { display: none; }
    .servicedetail .system_service li {
        width: calc(100% / 6.8);
        list-style: none;
        position: absolute;
    }
    .servicedetail .system_service li.is_1 { top: 68%; left: 1%; }
    .servicedetail .system_service li.is_2 { top: 68%; left: calc( 100% / 6.8 + 3% ); }
    .servicedetail .system_service li.is_3 { top: 80%; left: calc( 100% / 6.8 + 3% ); }
    .servicedetail .system_service li.is_4 { top: 68%; left: calc( 100% / 6.8 * 2 + 5% ); }
    .servicedetail .system_service li.is_5 { top: 68%; left: calc( 100% / 6.8 * 3 + 7% ); }
    .servicedetail .system_service li.is_6 { top: 80%; left: calc( 100% / 6.8 * 3 + 7% ); }
    .servicedetail .system_service li.is_7 { top: 68%; left: calc( 100% / 6.8 * 4 + 9% ); }
    .servicedetail .system_service li.is_8 { top: 80%; left: calc( 100% / 6.8 * 4 + 9% ); }
    .servicedetail .system_service li.is_9 { top: 68%; left: calc( 100% / 6.8 * 5 + 11% ); }
}
@media screen and (max-width:980px) {
    .service_img-pc, .service_btns-pc { display: none; }
    .service_img-sp {
        max-width: 600px;
        margin: auto;
    }
    .service_img-inr1, .service_img-inr2 {
        position: relative;
    }
    .service_img-inr2 {
        margin-top: 1em;
    }
    .servicedetail .system_service li {
        width: calc(100% / 3.4);
        list-style: none;
        position: absolute;
    }
    .servicedetail .system_service li.is_1 { top: 68.5%; left: 2%; }
    .servicedetail .system_service li.is_2 { top:68.5%; left: calc( 100% / 3.4 + 6% ); }
    .servicedetail .system_service li.is_3 { top: 83.5%; left: calc( 100% / 3.4 + 6% ); }
    .servicedetail .system_service li.is_4 { top: 68.5%; left: calc( 100% / 3.4 * 2 + 10% ); }

    .servicedetail .system_service li.is_5 { top: 71%; left: 2%; }
    .servicedetail .system_service li.is_6 { top: 85%; left: 2%; }
    .servicedetail .system_service li.is_7 { top: 71%; left: calc( 100% / 3.4 + 6% ); }
    .servicedetail .system_service li.is_8 { top: 85%; left: calc( 100% / 3.4 + 6% ); }
    .servicedetail .system_service li.is_9 { top: 71%; left: calc( 100% / 3.4 * 2 + 10% ); }
}


.servicedetail {
font-size: 15px;
color: #222;
line-height: 1.6;
word-wrap: break-word;
overflow-wrap: break-word;
}
.servicedetail>*:first-child {
margin-top: 0;
}
@media screen and (max-width: 600px) {
.servicedetail {
font-size: 14px;
}
}
@media screen and (max-width: 480px) {
.servicedetail {
font-size: 13px;
}
}
.servicedetail h1 {
font-weight: 900;
font-size: 2.2em;
margin-bottom: 1.2em;
}

.servicedetail01 {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.servicedetail01_l {
width: 48%;
}
.servicedetail01_l img {
display: block;
width: 100%;
height: auto;
}
.servicedetail01_r {
width: 48%;
}
.servicedetail01_r h2 {
font-weight: 900;
font-size: 1.6em;
line-height: 1.3;
margin-bottom: 1.2em;
}
.servicedetail01_r p {
line-height: 2;
text-align: justify;
padding-bottom: 2em;
}
@media screen and (max-width: 980px) {
.servicedetail01_l ,
.servicedetail01_r {
width: 100%;
}
.servicedetail01_r {
margin-top: 2em;
}
}


.servicedetail02 {
display: flex;
justify-content: space-between;
margin: 1em auto 6em;
flex-wrap: wrap;
}
.servicedetail02::after {
content: '';
height: 0;
width: 31.9%;
order: 2;
}

.servicedetail02 li {
width: 31.9%;
margin-top: 2%;
background-color: #fff;
border-radius: 6px;
padding: 2%;
box-sizing: border-box;
box-shadow: 0 0 10px 0 rgb(68 68 68 / 8%);
order: 1;
}
.servicedetail02_u {
display: flex;
align-items: center;
margin-bottom: 0.5em;
}
.servicedetail02_icon {
width: 50px;
}
.servicedetail02_icon img {
width: 40px;
height: 40px;
object-fit: contain;
object-position: center;
display: block;
}
.servicedetail02_u h3 {
width: calc( 100% - 50px );
font-weight: 900;
font-size: 0.95em;
line-height: 1.3;
}
.servicedetail02_r {
font-size: 0.85em;
line-height: 1.3;
}
@media screen and (max-width: 980px) {
.servicedetail02 li {
width: 49%;
}
}
@media screen and (max-width: 699px) {
.servicedetail02 {
max-width: 560px;
margin-left: auto;
margin-right: auto;
}
.servicedetail02 li {
width: 100%;
}
}

.servicedetail03 li {
display: flex;
flex-direction: row-reverse;
justify-content: space-between;
margin-bottom: 5em;
}
.servicedetail03 li:nth-child(even) {
flex-direction: row;
}
.servicedetail03_l {
width: 38%;
}
.servicedetail03_l img {
display: block;
width: 100%;
height: auto;
}
.servicedetail03_r {
width: 58%;
display: flex;
flex-direction: column;
justify-content: center;
padding-bottom: 2em;
}
.servicedetail03_r h3 {
font-weight: 900;
font-size: 1.3em;
line-height: 1.3;
margin-bottom: 1.2em;
}
.servicedetail03_r p {
line-height: 1.8;
text-align: justify;
}
@media screen and (max-width: 768px) {
.servicedetail03 {
max-width: 600px;
margin-left: auto;
margin-right: auto;
}
.servicedetail03 li {
flex-direction: column !important;
margin-bottom: 3em;
}
.servicedetail03_l ,
.servicedetail03_r {
width: 100%;
}
.servicedetail03_r {
margin-top: 1.8em;
}
}

.servicedetail_article-wrp h3 {
    font-weight: 900;
    font-size: 1.3em;
    line-height: 1.3;
    margin-bottom: 1.2em;
}
.servicedetail_article-lists {
    display: flex;
    flex-wrap: wrap;
}
.servicedetail_article-lists li {
    width: 31%;
    background-color: #fff;
    overflow: hidden;
    border-radius: 6px;
    box-shadow: 0 0 10px 0 rgb(68 68 68 / 8%);
    margin-bottom: 3.5%;
    order: 1;
}
.servicedetail_article-lists li:not(:last-child) {
    margin-right: 3.5%;
}
.servicedetail_article-lists li a {
    display: block;
    text-decoration: none;
}
.servicedetail_article-lists li a:hover .img_inr2 {
    transform: scale(1.05);
}
.servicedetail_article-lists li .img_inr1 {
    width: 100%;
    height: 0;
    padding-top: 56.25%;
    position: relative;
    overflow: hidden;
}
.servicedetail_article-lists li .img_inr2 {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transition: .2s;
}
.servicedetail_article-lists li img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}
.servicedetail_article-lists li .ttl {
    font-size: 15px;
    line-height: 1.4;
    padding: 0.8em;
    box-sizing: border-box;
    color: #222;
}
@media screen and (max-width: 767px) {
    .servicedetail_article-lists li {
        width: 100%;
    }
    .servicedetail_article-lists li:not(:last-child) {
        margin-right: 0;
    }
}






.faq_group_anchor_p {
    display: table;
    margin: auto;
    border-bottom: 1px solid #999;
    color: #555;
    font-weight: 600;
    font-size: 1.5em;
    line-height: 1.2;
    padding-bottom: 0.2em;
    margin-bottom: 0.7em;
    margin-top: 1.8em;
}
.faq_group_anchor {
display: flex;
flex-wrap: wrap;
justify-content: center;
border-radius: 6px;
margin-bottom: 48px;
    padding-bottom: 25px;
}
.faq_group_anchor li {
margin: 4px 6px;
}
.faq_group_anchor li a {
color: #444;
text-decoration: none;
font-weight: 500;
display: block;
font-size: 15px;
line-height: 1.2;
    padding: 8px 14px;
    border: 1px solid #888;
    border-radius: 6px;
    transition: 0.1s;
}
.faq_group_anchor li a:hover {
color: #333;
    border: 1px solid #FDCB08;
    background-color: #FDCB08;
}
@media screen and (max-width:840px) {
.faq_group_anchor {
margin-bottom: 25px;
}
}
@media screen and (max-width:500px) {
.faq_group_anchor li a {
font-size: 14px;
}
}

.faq_wrapper {
margin-top: -30px;
}
.faq_group {
margin-bottom: 50px;
padding-top: 50px;
font-size: 16px;
}
.faq_group h2 {
font-weight: 600;
color: #555;
font-size: 1.6em;
line-height: 1.2;
}
.faq_single {
margin-bottom: -1em;
}
.faq_single li {
margin-bottom: 1em;
line-height: 1.3;
padding: 1.8em 2.2em 2em;
background-color: #fff;
border-radius: 6px;
box-shadow: 0 0 10px 0 rgb(68 68 68 / 8%);
}
.faq_single h3 {
border-bottom: 1px dotted #ddd;
margin-bottom: 0.8em;
padding-bottom: 0.2em;
display: flex;
align-items: baseline;
}
.faq_single h3 span:first-child {
display: block;
font-size: 24px;
font-weight: 600;
color: #FDCB08;
line-height: 1.2;
width: 40px;
opacity: 0.8;
}
.faq_single h3 span:nth-child(2) {
display: block;
width: calc( 100% - 40px );
font-size: 1.2em;
line-height: 1.4;
font-weight: 600;
color: #444;
}
.faq_single>li>div {
display: flex;
align-items: baseline;
}
.faq_single>li>div>span {
display: block;
font-size: 24px;
font-weight: 600;
color: #E90615;
opacity: 0.8;
line-height: 1.2;
width: 40px;
}
.faq_single>li>div>div {
display: block;
width: calc( 100% - 40px );
line-height: 1.7;
font-weight: 400;
color: #555;
}
.faq_single>li>div>div p:last-child {
margin-bottom: 0;
}
@media screen and (max-width:1200px) {
.faq_group {
padding-top: 120px;
    margin-top: -70px;
}
}
@media screen and (max-width:680px) {
.faq_group {
padding-top: 100px;
    margin-top: -50px;
font-size: 14px;
}
.faq_single li {
padding: 1.4em 1.7em 1.6em;
}
}

.faq_group_addinfo {
    color: #777;
    font-size: 13px;
    margin-bottom: 20px;
}
.sysfaq_group_title {
    display: flex;
    flex-wrap: wrap;
margin-bottom: 22px;
    column-gap: 1.5em;
    flex-direction: column;
    align-items: center;
}
.sysfaq_group_link {
    white-space: nowrap;
    font-size: 12px;
    text-decoration: none;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 140px;
    height: 24px;
    line-height: 1.1;
    background-color: #DDDDDD;
    border-radius: 12px;
    color: #555;
    font-weight: bold;
    margin-top: 1.1em;
}
.sysfaq_group_link::before {
    content: '▶';
    font-size: 0.5em;
    display: inline-block;
    margin-right: 0.8em;
}

.wp-block-snow-monkey-blocks-alert  p:last-of-type,
.smb-balloon__body p:last-of-type {
	margin-bottom:0;
}

#ez-toc-container {
	box-sizing:border-box;
   margin: 3em 0;
   width:100%;
   border:none; /*囲い枠を非表示*/
   padding: 0px;/*余白いらない*/
   -webkit-box-shadow: 0 4px 4px rgba(0,0,0,.05);/*影*/
   box-shadow: 0 4px 4px rgba(0,0,0,.05);/*影*/
}
/*タイトル*/
div#ez-toc-container p.ez-toc-title {
   font-weight: 900;
   padding: 15px 0;
	margin-bottom:0!important;
}
/*タイトル全体*/
.ez-toc-title-container {
   background: powderblue;
}
/*タイトルを太文字&中央寄せ*/
div#ez-toc-container p.ez-toc-title {
   font-weight: 900;
   text-align: center;
}
/*FontAwesome*/
div#ez-toc-container p.ez-toc-title:before {
   font-family: Font Awesome\ 5 Free;
   content: "\f0ca";
   font-weight: 900;
   margin-right: .5em;
}
/*タイトル下の部分*/
#ez-toc-container nav {
   padding: 16px;
   background-image: linear-gradient(120deg, #fdfbfb 0%, #ebedee 100%);
}
#ez-toc-container nav ul {
	margin:0;
}
#ez-toc-container nav ul li a {
	text-decoration:none;
}

.recruit-banner {display:block; padding:10px; text-align:center; background-color:#fff; text-decoration:none;}
.recruit-banner img {max-width:160px; height:auto;}
.recruit-banner-text {font-size:80%; color:#222;}
@media screen and (max-width:767px) {
    .recruit-banner {margin:0 1em;}
    .footer0102 nav>ul>li:last-child {display:flex; flex-direction:column;}
}

/*ページトップへ戻るボタン*/
.pagetop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 15px;
    bottom: 20px;
    background: #222;
    border: solid 1px #fff;
    border-radius: 50%;
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 2;
    cursor: pointer;
}
.pagetop__arrow {
    display: block;
    height: 10px;
    width: 10px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    transform: translateY(20%) rotate(-45deg);
}
.pagetop:hover {
    opacity: 0.8;
}

/*右下の固定CVボタン*/
.fixedcv {
    height: auto;
    width: auto;
    position: fixed;
    right: 80px;
    bottom: 20px;
    background-image: linear-gradient(30deg, #e90615, #ec6b74 85%, #ed7b83);
    background-color: #fff;
    border-radius: 5px;
    padding: 10px 20px;
    color: #fff;
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 2;
    cursor: pointer;
    text-align: center;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
}
.fixedcv a {
    text-decoration: none;
}
.fixedcv:hover {
    opacity: 0.9;
}

/*ブログ記事下部バナー*/
.blog_bnr {
    margin-top: 60px;
}
.blog_bnr a {
    width: 100%;
    font-size: 1.4em;
    height: 110px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-decoration: none;
    margin-bottom: 20px;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
    background-size: cover;
    background-repeat: no-repeat;
}
.blog_bnr a:hover {
    opacity: 0.9;
}
.blog_bnr a span {
    background-color: rgba(255, 255, 255, 0.9);
    padding: 5px 15px;
    margin-left: 15px;
    font-weight: bold;
}
.blog_bnr a span::after {
    content: "";
    display: inline-block;
    height: 7px;
    width: 7px;
    border-top: 2px solid #222;
    border-right: 2px solid #222;
    transform: translateY(20%) rotate(45deg);
    margin-bottom: 5px;
    margin-left: 7px;
}
.blog_bnr a.blog_bnr-system_service {
    background-image: url("images/blog_bnr-system_service.png");
}
.blog_bnr a.blog_bnr-system_strengths {
    background-image: url("images/blog_bnr-system_strengths.png");
}



h3.fc_h3 {
    text-align: center;
    margin-bottom: 0.8em;
    position: relative;
    background-color:#F8F8F8;
    font-size: 1.3em;
}
h3.fc_h3::before {
    content: '';
    background-color: #999;
    width: 80%;
    height: 1px;
    top: 50%;
    left: 10%;
    position: absolute;
    z-index: 1;
}
h3.fc_h3 span {
    display: inline-block;
    font-weight: bold;
    background-color: #F8F8F8;
    color: #333 !important;
    position: relative;
    padding: 0 1.1em;
    z-index: 2;
}
.fc_top_point {
    display: flex;
    justify-content: center;
    gap: 4%;
    padding-top: 3%;
    margin-bottom: 3em;
}
.fc_top_point > div {
    width: 250px;
}
.fc_top_point.is_case > div {
    width: 20vw;
    max-width: 170px;
}
.fc_top_point > div img {
    width: 75%;
    height: auto;
    display: block;
    max-width: 140px;
    margin: auto;
}
.fc_top_point h4 {
    border-bottom: none;
    text-align: center;
    margin-top: 0.8em;
}

.fc_top_point.is_case h4 {
    font-size: 0.9em;
    white-space: nowrap;
}
.fc_top_btn {
     font-size: 0.9em;
     width: 250px;
}
@media screen and (max-width: 980px) {
    .fc_top_point h4 {
        font-size: 0.95em;
    }
    h3.fc_h3::before {
        width: 90%;
        left: 5%;
    }
}
@media screen and (max-width: 767px) {
    .fc_top_point {
        flex-direction: column;
        align-items: center;
        margin: 0 1em 1em 1em;
    }
    .fc_top_point.is_case {
        display: flex;
        flex-wrap: wrap;
        flex-direction: unset;
        align-items: flex-start;
        margin-bottom: 0;
    }
    .fc_top_point.is_case > div {
        width: 38vw;
        max-width: 38vw;
        display: flex;
        margin-bottom: 1em;
    }
    .fc_top_point > div {
        width: 90%;
        display: flex;
        max-width: 420px;
        margin-left: auto;
        margin-right: auto;
    }
    .fc_top_point.is_case > div img {
        width: 15vw;
        height: 15vw;
    }
    .fc_top_point > div + div {
        margin-top: 5%;
    }
    .fc_top_point.is_case > div + div {
        margin-top: 0;
    }
    .fc_top_point h4 {
        margin: auto;
        min-width: 200px;
    }
    .fc_top_point.is_case h4 {
        min-width: 0;
        padding-right: 0;
    }
}
@media screen and (max-width: 580px) {
    .fc_top_point.is_case > div {
        width: 50vw;
        max-width: 50vw;
        align-items: center;
    }
    .fc_top_point.is_case h4 {
        margin: 0 0 0 15px;
        text-align: left;
    }
}