@charset "utf-8";

.header_box {
background-color:#FFF;
z-index:1;
}

.banner_box {
background-color:#ab0000;
background-image:url(../images/main_bg.svg);
background-position:center;
background-repeat:no-repeat;
background-size:cover;
}

.banner_box .row {
padding:3em 0;
}

.footer_box {
background-color:#232425;
}

.header_box .row {
align-items:center;
padding:10px 0;
}

.footer_box .row {
padding:2em 0;
}

.main_site {
padding:4em 0;
}

.bg_gray {
background-color:#f9f9f9;
}

.address_box {
color:#FFF;
}

.address_box_row {
margin-bottom:20px;
padding-left:40px;
padding-right:20px;
word-break:break-word;
}

.address_box_row a:link,.address_box_row a:visited {
color:#FFF;
}

.address_box_row img {
height:18px;
left:0;
position:absolute;
top:7px;
width:auto;
}

.partner_box {
line-height:normal;
}

.top_logo {
height:50px;
width:auto;
}

.footer_logo {
margin-bottom:20px;
}

.footer_logo img {
height:30px;
width:auto;
}

.partner_box ul {
display:flex;
flex-wrap:wrap;
list-style:none;
margin:0 -10px;
padding:0;
}

.partner_box li {
box-sizing:border-box;
margin-bottom:20px;
padding:0 10px;
text-align:center;
width:33.33%;
}

.partner_box li a {
color:#FFF;
display:block;
font-size:12px;
}

.partner_box li a img {
display:block;
height:auto;
margin:0 auto 10px;
width:auto;
}

.footer_menu {
color:#999;
font-size:12px;
font-weight:400;
line-height:24px;
margin-top:20px;
}

.footer_menu a:link,.footer_menu a:visited {
color:#999;
text-decoration:none;
}

.footer_box .copyright {
border-top:1px solid #999;
color:#ccc;
font-size:14px;
line-height:20px;
padding:20px 0;
text-align:center;
}

.topmenu {
float:right;
}

.phone-link {
float:right;
margin-bottom:10px;
}

.topmenu ul {
align-items:center;
display:flex;
float:right;
list-style:none;
margin:0;
padding:0;
}

.topmenu li {
line-height:0;
margin-left:30px;
}

.topmenu li:first-child {
margin-left:0;
}

.topmenu img {
height:16px;
margin-right:5px;
position:relative;
top:-1px;
width:auto;
}

.heading {
color:#000;
font-size:26px;
line-height:1.75em;
margin:0 0 2em;
text-align:center;
word-break:break-word;
}

.subheading {
color:#777;
font-size:16px;
font-weight:400;
line-height:1.75em;
margin:10px 0 0;
text-align:center;
}

.txt_red {
color:#c00;
}

.txt_bold {
font-weight:700;
}

.seodetail {
border:1px solid #e0e0e0;
padding:20px 10px 60px;
text-align:left;
width:100%;
}

.seodetail img {
display:block;
height:auto;
margin:20px auto 40px;
max-height:50px!important;
min-height:50px;
width:auto;
}

.normal_list {
margin:0;
padding:0;
}

.normal_list li {
margin-left:20px;
text-align:left;
}

.topic {
color:#000;
font-weight:700;
height:auto;
margin:0 0 10px!important;
overflow:hidden;
text-align:center;
text-overflow:ellipsis;
}

.link_more {
bottom:20px;
font-size:16px;
line-height:normal;
padding-right:20px;
position:absolute;
right:10px;
}

.link_more:before {
background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyNS40LjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAyOTEuOSA1MTIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI5MS45IDUxMjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6Izc3Nzc3Nzt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTTM1LjksNTEyYy00LjksMC05LjYtMS45LTEzLTUuNEw1LjQsNDg5LjFjLTMuNS0zLjQtNS40LTgtNS40LTEyLjljMC00LjksMS45LTkuNCw1LjQtMTIuOWwyMDcuNC0yMDcuNA0KCUw1LjYsNDguOGMtMy41LTMuNS01LjQtOC4xLTUuNC0xM2MwLTQuOSwxLjktOS41LDUuNC0xM0wyMy40LDUuM0MyNi43LDEuOSwzMS4zLDAsMzYuMiwwYzQuOSwwLDkuNCwxLjksMTIuOSw1LjRsMjM3LjUsMjM3LjUNCgljMy40LDMuNCw1LjMsOC4xLDUuMywxM2MwLDQuOS0xLjksOS42LTUuMywxMy4xTDQ4LjgsNTA2LjdDNDUuNCw1MTAuMSw0MC44LDUxMiwzNS45LDUxMnoiLz4NCjwvc3ZnPg0K);
background-repeat:no-repeat;
background-size:contain;
content:"";
height:9px;
position:absolute;
right:0;
top:7px;
width:9px;
}

.content {
padding:0;
text-align:center;
width:100%;
}

.content p {
margin:0;
}

.content img {
display:block;
height:auto;
margin:0 auto 40px;
max-height:50px;
width:auto;
}

ul.special_list_content {
float:left;
margin:0;
padding:0 40px 0 0;
width:75%;
}

.special_list_content dt {
color:#000;
font-size:20px;
font-weight:700;
margin-bottom:20px;
}

.special_list_content li {
list-style:disc;
margin:0 0 0 20px;
padding:0;
}

.special_list_content li ul li {
margin-left:0;
padding:0;
}

.special_list_img {
float:right;
text-align:right;
width:25%;
}

.special_list_img ul {
display:flex;
flex-wrap:wrap;
list-style:none;
margin:0 -2px;
padding:0;
}

.special_list_img li {
padding:0 2px 4px;
width:50%;
}

.special_list_img li img {
height:auto;
width:auto;
}

.client {
line-height:normal;
}

.client .row .col3 {
font-size:14px;
margin-bottom:10px;
margin-top:20px;
text-align:center;
width:20%;
}

.client .row .col3 .seodetail {
border:0;
padding:0;
text-align:center;
}

.client .row .col3 span {
color:#000;
display:block;
line-height:normal;
margin-bottom:10px;
word-break:break-word;
}

.client .row .col3 .main_img_scale {
border:1px solid #e0e0e0;
}

ul.faq_list {
list-style:none;
margin:0;
padding:0;
}

.faq_list li {
border-bottom:1px solid #e0e0e0;
margin:0;
padding:15px 0;
position:relative;
}

.faq_list li:first-child {
padding-top:0;
}

.faq_list li:last-child {
border-bottom:0;
padding-bottom:0;
}

.faq_list li p {
margin:0;
padding:0 35px 0 0;
}

.btn_toggle {
position:relative;
}

.btn_toggle:hover {
cursor:pointer;
}

.btn_toggle::before {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyNS40LjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIg0KCSBpZD0iTGF5ZXJfMSIgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIiB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzIgMzIiDQoJIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDojNzc3Nzc3O30NCjwvc3R5bGU+DQo8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLC05NTIuMzYyMTgpIj4NCgk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTYuMiw5NzYuOWMwLjQtMC4xLDAuNy0wLjIsMC45LTAuNWwxNC4yLTEzLjdjMC43LTAuNiwwLjgtMS43LDAuMi0yLjRjLTAuNi0wLjctMS43LTAuOC0yLjQtMC4yDQoJCWMtMC4xLDAtMC4xLDAuMS0wLjEsMC4xbC0xMywxMi41TDMsOTYwLjNjLTAuNi0wLjctMS43LTAuNy0yLjQtMC4xcy0wLjcsMS43LTAuMSwyLjRjMCwwLDAuMSwwLjEsMC4xLDAuMWwxNC4yLDEzLjcNCgkJQzE1LjIsOTc2LjgsMTUuNyw5NzcsMTYuMiw5NzYuOXoiLz4NCjwvZz4NCjwvc3ZnPg0K);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    height: 12px;
    position: absolute;
    right: 10px;
    top: 11px;
    width: 12px;
}

.btn_toggle.active::before {
background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyNS40LjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIg0KCSBpZD0iTGF5ZXJfMSIgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIiB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzIgMzIiDQoJIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDojNzc3Nzc3O30NCjwvc3R5bGU+DQo8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLC05NTIuMzYyMTgpIj4NCgk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTUuOCw5NTkuOGMtMC40LDAuMS0wLjcsMC4yLTAuOSwwLjVMMC42LDk3My45Yy0wLjcsMC42LTAuOCwxLjctMC4yLDIuNHMxLjcsMC44LDIuNCwwLjINCgkJYzAuMSwwLDAuMS0wLjEsMC4xLTAuMWwxMy0xMi41bDEzLDEyLjVjMC42LDAuNywxLjcsMC43LDIuNCwwLjFjMC43LTAuNiwwLjctMS43LDAuMS0yLjRjMCwwLTAuMS0wLjEtMC4xLTAuMWwtMTQuMi0xMy43DQoJCUMxNi44LDk1OS45LDE2LjMsOTU5LjcsMTUuOCw5NTkuOHoiLz4NCjwvZz4NCjwvc3ZnPg0K);
}

.faq_list li p.hidecontent {
display:none;
margin-left:20px;
margin-top:10px;
opacity:1;
}

.main_img {
cursor:default;
height:auto!important;
margin:0;
overflow:hidden;
position:relative;
text-align:center;
width:100%;
}

.main_img_scale {
bottom:0;
height:auto!important;
left:0;
position:absolute;
right:0;
top:0;
z-index:0;
}

.main_img_scale img {
-webkit-transform-origin-x:center;
-webkit-transform-origin-y:center;
height:100%;
left:0;
margin:0 auto;
max-height:100%;
max-width:100%;
object-fit:contain;
position:absolute;
right:0;
top:50%;
transform:translateY(-50%);
width:auto;
}

.img_scale_banner {
padding-top:21%;
}
.img_scale_banner_txt{
padding-top:21%;
}

.img_scale_content {
margin:25px auto 30px;
max-height:50px;
min-height:50px;
overflow:hidden;
}

.img_scale_client {
margin-bottom:20px;
padding-top:56.25%;
}

.img_scale_banner img {
display:block;
height:auto;
margin:0 auto;
top:0;
transform:none;
width:auto;
}

.img_scale_client img {
display:block;
height:100%;
margin:0 auto;
max-height:90px!important;
position:absolute;
width:auto;
}

.seo_info .col3 {
display:flex;
padding:0 10px;
position:relative;
}

.whyseo .col4,.ourservice .col4 {
margin-top:2.5em;
}

.whyseo .col4:nth-child(-n+3),.ourservice .col4:nth-child(-n+3) {
margin-top:0;
}

.topic_content {
max-height:175px;
overflow:hidden;
}

.btn_showcontent {
display:none;
}
.mhidecontent{
  display: block;
}

.seo_info.slider {
margin:50px -10px 0;
}
.banner_txt {
    color: #CCC;
    text-align: center;
    white-space: pre;
    position: absolute;
    line-height: 26px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0 auto;
    left: 0;
    right: 0;
}
.banner_txt.txt_contact{
  top: 30%;
  transform: translateY(-30%);
}
.banner_txt p:first-child{
    font-size: 40px;
    margin: 0;
}
.banner_txt p:last-child{
    font-size: 30px;
    margin: 0;
}
.footer_menu li.mobile img.mobile_img {
    display: none!important;
}