@charset "UTF-8";
/*============================================================================================
      Header
=============================================================================================*/
/*    Navigation
=====================================================*/
.w_Header{
      position: fixed;
      width: 100%;
      top: 0;
      left: 0;
      z-index: 9999;
      transition: background .4s;
}
.w_Header.js_show{
      background-color: #000;
}
.header_nav{
      padding: 20px 25px;
      transition: padding .4s;
}
.w_Header.js_show .header_nav{
      padding: 10px 20px;
}
.header_logo{
      width: 100px;
}
.logo_wh{
      display: none !important;
}
.w_Header.js_show .logo_wh{
      display: block !important;
}
.w_Header.js_show .logo_bl{
      display: none !important;
}
.header_nav_lst_itm + .header_nav_lst_itm{
      margin-left: 25px;
}
.header_nav_lst_itm_inr{
      color: #fff;
      transition: color .2s;
}
.header_nav_lst_itm_inr:hover{
      color: #185F77;
}
.header_anchor_cont_inr{
      display: block;
      padding-right: 20px;
}
.header_anchor_cont_inr::after {
      content: "";
      position: absolute;
      display: inline-block;
      font-size: inherit;
      width: 5px;
      height: 5px;
      top: -1px;
      bottom: 0;
      right: 0;
      margin: auto;
      border-right: 2px solid #fff;
      border-bottom: 2px solid #fff;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg);
      -webkit-transform-origin: center;
      -ms-transform-origin: center;
      transform-origin: center;
}
.header_anchor_cont_inr:hover::after{
      border-right: 2px solid #185F77;
      border-bottom: 2px solid #185F77;
}

.header_anchor_lst{
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%);
      padding: 20px;
      background-color: #fff;
      box-shadow: 0 3px 6px #00000020;
      width: 200px;
      margin-top: 20px;
}
.header_anchor_lst::before{
      content: "";
      display: block;
      position: absolute;
      top: -20px;
      left: 0;
      width: 100%;
      height: 20px;
}
.header_anchor_lst::after{
      content: "";
      display: block;
      position: absolute;
      top: -9px;
      left: 50%;
      transform: translateX(-50%);
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 10px 10px 10px;
      border-color: transparent transparent #ffffff transparent;
}
.header_anchor_lst_itm + .header_anchor_lst_itm{
      margin-top: 20px;
}
.header_anchor_lst_itm_inr{
      font-size: 14px;
      transition: color .2s;
}
.header_anchor_lst_itm_inr:hover{
      color: #185F77;
}

.header_nav_cct_btn{
      margin-left: 25px;
}
.header_nav_cct_btn_inr{
      display: block;
      position: relative;
      padding: 10px 20px 10px 60px;
      background-color: #185F77;
      border-radius: 25px;
      transition: color .2s, background .2s;
	-webkit-transition: color .2s, background .2s;
      border: 1px solid #185F77;
      color: #fff;
}
.header_nav_cct_btn_inr::before{
      content: "";
      display: block;
      position: absolute;
      height: 30px;
      width: 26px;
      background: url(../img/common/mail.svg) no-repeat;
      background-size: contain;
      background-position: center;
      top: 0;
      bottom: 0;
      left: 20px;
      margin: auto;
}
.header_nav_cct_btn_inr:hover{
      color: #185F77;
      background-color: #fff;
}
.header_nav_cct_btn_inr:hover::before{
      background: url(../img/common/mail_bl.svg) no-repeat;
      background-size: contain;
      background-position: center;
}


/*    下層Navigation
=====================================================*/
.g_lower_header{
      background-color: #fff;
}
.g_lower_header .header_nav_lst_itm_inr{
      color: #222;
      transition: color .2s;
}
.g_lower_header .header_nav_lst_itm_inr:hover{
      color: #185F77;
}
.g_lower_header .g_hamb_inr div {
      background-color: #000;
}
.g_lower_header .header_anchor_cont_inr::after {
      border-right: 2px solid #000;
      border-bottom: 2px solid #000;
}
.g_lower_header.js_show .header_anchor_cont_inr::after {
      border-right: 2px solid #fff;
      border-bottom: 2px solid #fff;
}
.g_lower_header.js_show .header_nav_lst_itm_inr{
      color: #fff;
}
.g_lower_header.js_show .header_nav_lst_itm_inr:hover{
      color: #185F77;
}
.g_lower_header.js_show .g_hamb_inr div {
      background-color: #fff;
}
.g_lower_header .g_hamb.js_open .g_hamb_inr div {
      background-color: #000;
}

@media (max-width: 1080px){
      .header_nav_lst {
            display: none;
      }
}
@media (max-width: 576px){
      .header_nav_cct_btn_inr{
            padding: 0;
            padding: 22px;
      }
      .header_nav_cct_btn_inr::before{
            left:0;
            right: 0;
            width: 24px;
      }
}

/*    ハンバーガメニュー
=====================================================*/
.header_hamb_cont{
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      max-height: 100vh;
      overflow: scroll;
}
.header_hamb_cont_inr{
      width: 100%;
}
.hamb_cct_ttl_cont.l_clm2_md_1{
      margin-right: 0;
}
.hamb_cct_ttl_ja::before{
      background-color: #fff;
}
.hamb_cct_lst{
      margin-left: 5%;
      margin-right: 0;
      
}
.hamb_cct_lst::before{
      content: "";
      display: block;
      position: absolute;
      height: 100%;
      width: 1px;
      background-color: #fff;
      left: -7.5%;
      top: 0;
      bottom: 0;
      margin: auto;
}
.hamb_cct_lst_itm + .hamb_cct_lst_itm{
      margin-top: 30px;
}
.hamb_cct_lst_txt{
      padding-right: 20px;
      width: 50%;
}

.hamb_logo{
      width: 100%;
      max-width: 420px;
}
.hamb_copy{
      margin-top:auto;
}
.hamb_sitemap_top_lst_div{
      width: 30%;
      margin-right: 5%;
}
.hamb_sitemap_top_lst_div:nth-child(3n){
      margin-right: 0;
}
.hamb_sitemap_top_lst_dt{
      font-weight: bold;
}
.hamb_sitemap_top_lst_dd{
      padding-top: 20px;
}
.hamb_sitemap_top_lst_itm + .hamb_sitemap_top_lst_itm{
      margin-top: 15px;
}
.hamb_sitemap_top_lst_inr{
      font-size: 1.2rem;
      font-weight: 500;
      transition: color .2s;
      display: block;
      padding: 3px 0;
}
.hamb_sitemap_top_lst_inr:hover{
      color: #185F77;
}
.hamb_sitemap_btm_lst_itm{
      width: 30%;
      margin-right: 5%;
}
.hamb_sitemap_btm_lst_itm:nth-child(3n){
      margin-right: 0;
}
.hamb_sitemap_btm_lst_itm:nth-child(n+4){
      margin-top: 20px;
}
.hamb_sitemap_btm_lst_itm_inr{
      transition: color .2s;
}
.hamb_sitemap_btm_lst_itm_inr:hover{
      color: #185F77;
}
@media (max-width: 896px){
      .l_clm2_md_1.hamb_cct_lst{
            margin-top: 50px;
            margin-left: 0;
      }
      .hamb_cct_lst::before{
            display: none;
      }

}
@media (max-width: 576px){
      .hamb_sitemap_top_lst_div{
            width: 100%;
            margin-right: 0;
            cursor: pointer;
      }
      .hamb_sitemap_top_lst_div + .hamb_sitemap_top_lst_div{
            border-top: 1px solid #ccc;
            margin-top: 20px;
            padding-top: 20px;
      }
      .hamb_sitemap_top_lst_div.js_acd_hamb{
            position: relative;
      }
      .hamb_sitemap_top_lst_div.js_acd_hamb:first-child:before{
            top: 0;
      }
      .hamb_sitemap_top_lst_div.js_acd_hamb:first-child::after{
            top: 0;
      }
      .hamb_sitemap_top_lst_div.js_acd_hamb::before{
            content: "";
            display: block;
            position: absolute;
            height: 20px;
            width: 2px;
            background-color: #185F77;
            right: 9px;
            top: 20px;
            border-radius: 2px;
            transition: transform .2s;
      }
      .hamb_sitemap_top_lst_div.js_acd_hamb::after{
            content: "";
            display: block;
            position: absolute;
            height: 20px;
            width: 2px;
            background-color: #185F77;
            right: 9px;
            top: 20px;
            transform: rotate(90deg);
            border-radius: 2px;
            transition: transform .2s;
      }
      .hamb_sitemap_top_lst_div.js_acd_hamb.js_open::before{
            transform: rotate(90deg);
      }
      .hamb_sitemap_top_lst_dd{
            padding-top: 15px;
      }
      .hamb_sitemap_btm_lst_itm{
            width: 100%;
            margin-right: 0;
            border-top: 1px solid #ccc;
            margin-top: 20px;
            padding-top: 20px;
      }
      .hamb_sitemap_btm_lst_itm + .hamb_sitemap_btm_lst_itm{
            margin-top: 20px;
            padding-top: 20px;
      }
      .hamb_sitemap_btm_lst_itm:last-child{
            border-bottom: 1px solid #ccc;
            padding-bottom: 20px;
      }
      .hamb_sitemap_btm_lst_itm_inr{
            display: block;
            width: 100%;
      }

      .l_clm2_md_1.hamb_cct_lst{
            margin-top: 30px;
            padding-top: 30px;
            border-top: 1px solid #4D4D4D;
      }
      .hamb_cct_lst_txt{
            width: 100%;
      }
      .g_cct_lst_btn{
            width: 100%;
            margin-top: 20px;
      }
}

/*============================================================================================
      Footer
=============================================================================================*/
.footer_cct_ttl_cont.l_clm2_md_1{
      margin-right: 0;
}
.footer_cct_ttl_ja::before{
      background-color: #fff;
}
.footer_cct_lst{
      margin-left: 5%;
      margin-right: 0;
      
}
.footer_cct_lst::before{
      content: "";
      display: block;
      position: absolute;
      height: 100%;
      width: 1px;
      background-color: #fff;
      left: -7.5%;
      top: 0;
      bottom: 0;
      margin: auto;
}
.footer_cct_lst_itm + .footer_cct_lst_itm{
      margin-top: 30px;
}
.footer_cct_lst_txt{
      padding-right: 20px;
      width: 50%;
}

.footer_logo{
      width: 100%;
      max-width: 420px;
}
.footer_copy{
      margin-top:auto;
}
.footer_sitemap_top_lst_div{
      width: 30%;
      margin-right: 5%;
}
.footer_sitemap_top_lst_div:nth-child(3n){
      margin-right: 0;
}
.footer_sitemap_top_lst_dt{
      font-weight: bold;
}
.footer_sitemap_top_lst_dd{
      padding-top: 20px;
}
.footer_sitemap_top_lst_itm + .footer_sitemap_top_lst_itm{
      margin-top: 15px;
}
.footer_sitemap_top_lst_inr{
      font-size: 1.2rem;
      font-weight: 500;
      transition: color .2s;
      display: block;
      padding: 3px 0;
}
.footer_sitemap_top_lst_inr:hover{
      color: #185F77;
}
.footer_sitemap_btm_lst_itm{
      width: 30%;
      margin-right: 5%;
}
.footer_sitemap_btm_lst_itm:nth-child(3n){
      margin-right: 0;
}
.footer_sitemap_btm_lst_itm:nth-child(n+4){
      margin-top: 20px;
}
.footer_sitemap_btm_lst_itm_inr{
      transition: color .2s;
}
.footer_sitemap_btm_lst_itm_inr:hover{
      color: #185F77;
}

@media (max-width: 896px){
      .l_clm2_md_1.footer_cct_lst{
            margin-top: 50px;
            margin-left: 0;
      }
      .footer_cct_lst::before{
            display: none;
      }

}
@media (max-width: 576px){
      .footer_sitemap_top_lst_div{
            width: 100%;
            margin-right: 0;
            cursor: pointer;
      }
      .footer_sitemap_top_lst_div + .footer_sitemap_top_lst_div{
            border-top: 1px solid #ccc;
            margin-top: 20px;
            padding-top: 20px;
      }
      .footer_sitemap_top_lst_div.js_acd_footer{
            position: relative;
      }
      .footer_sitemap_top_lst_div.js_acd_footer:first-child:before{
            top: 0;
      }
      .footer_sitemap_top_lst_div.js_acd_footer:first-child::after{
            top: 0;
      }
      .footer_sitemap_top_lst_div.js_acd_footer::before{
            content: "";
            display: block;
            position: absolute;
            height: 20px;
            width: 2px;
            background-color: #185F77;
            right: 9px;
            top: 20px;
            border-radius: 2px;
            transition: transform .2s;
      }
      .footer_sitemap_top_lst_div.js_acd_footer::after{
            content: "";
            display: block;
            position: absolute;
            height: 20px;
            width: 2px;
            background-color: #185F77;
            right: 9px;
            top: 20px;
            transform: rotate(90deg);
            border-radius: 2px;
            transition: transform .2s;
      }
      .footer_sitemap_top_lst_div.js_acd_footer.js_open::before{
            transform: rotate(90deg);
      }
      .footer_sitemap_top_lst_dd{
            padding-top: 15px;
      }
      .footer_sitemap_btm_lst_itm{
            width: 100%;
            margin-right: 0;
            border-top: 1px solid #ccc;
            margin-top: 20px;
            padding-top: 20px;
      }
      .footer_sitemap_btm_lst_itm + .footer_sitemap_btm_lst_itm{
            margin-top: 20px;
            padding-top: 20px;
      }
      .footer_sitemap_btm_lst_itm:last-child{
            border-bottom: 1px solid #ccc;
            padding-bottom: 20px;
      }
      .footer_sitemap_btm_lst_itm_inr{
            display: block;
            width: 100%;
      }

      .l_clm2_md_1.footer_cct_lst{
            margin-top: 30px;
            padding-top: 30px;
            border-top: 1px solid #4D4D4D;
      }
      .footer_cct_lst_txt{
            width: 100%;
      }
      .g_cct_lst_btn{
            width: 100%;
            margin-top: 20px;
      }
}
/*============================================================================================
      Contents
=============================================================================================*/
/*    MV
=====================================================*/
.top_mv_sec{
      min-height: 100vh;
      padding-top: 160px;
}
.top_mv_sec::before{
      content: "";
      display: block;
      position: absolute;
      width: 65%;
      height: 100vh;
      right: 0;
      top: 0;
      background: url(../img/top/mv_bg_bl.svg) no-repeat;
      background-size: cover;
      background-position: left;
}
.top_mv_sec::after{
      content: "";
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      right: 0;
      top: 0;
      background: url(../img/top/mv_bg_line.svg) no-repeat;
      background-size: contain;
      background-position: right;
}
.top_mv_bg_txt{
      display: block;
      position: absolute;
      width: 60%;
      /* max-width: 660px; */
      height: 320px;
      right: 1.6vw;
      top: 160px;
      background: url(../img/top/mv_bg_txt_bl.svg) no-repeat;
      background-size: contain;
      background-position:top left;
      z-index: 1;
}
.top_mv_bg_txt::before{
      content: "";
      display: block;
      position: absolute;
      width: 100%;
      /* max-width: 660px; */
      height: 320px;
      right: -1px;
      top: 0px;
      background: url(../img/top/mv_bg_txt.svg) no-repeat;
      background-size: contain;
      background-position:top left;
      z-index: -1;
}
.top_mv_wrap_inr{
      width: 92vw;
      margin: auto;
}
.top_mv_ttl{
      font-size: 3rem;
}
.top_txt_cont{
      position: relative;
      width: 40vw;
      margin-left: 4vw;
      padding-right: 100px;
      z-index: 99999999999999999;
}
.top_mv_txt{
      max-width: 450px;
}
.top_slider_all{
      margin-left: 4vw;
}
@-webkit-keyframes top_under_line{
	0% {
		left: 0%;
	}
	34% {
		left: 100%;
	}
	35% {
		width: 0;
		left: 0;
	}
	70% {
		width: 100%;
	}
	100%{
		width: 100%;
	}
}
@keyframes top_under_line{
	0% {
		left: 0%;
	}
	34% {
		left: 100%;
	}
	35% {
		width: 0;
		left: 0;
	}
	70% {
		width: 100%;
	}
	100%{
		width: 100%;
	}
}
.g_inr_link::before{
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 1px;
      background-color: #222;
}
.g_inr_link:hover::before{
      -webkit-animation: top_under_line 1.5s ease infinite;
	animation: top_under_line 1.5s ease infinite;
}
.top_mv_lst{
      position: relative;
      z-index: 1;
      margin-left: 4vw;
}
.top_mv_lst_img{
      position: relative;
      width: 32vw;
      top: 0;
      transition: top .2s;
}
.top_mv_lst_img_sp{
      position: relative;
      width: 8vw;
      align-items: end;
      margin-left: -20px;
      margin-top: 70px;
      top: 0;
      transition: top .2s;
}
.top_mv_lst_img img{
      box-shadow: 0 3px 6px #00000020;
      margin-bottom: 6px;
}
.top_mv_lst_img_sp img{
      box-shadow: 0 3px 6px #00000020;
      margin-bottom: 6px;
}
.top_mv_lst_itm_inr:hover .top_mv_lst_img{
      top: 20px;
}
.top_mv_lst_itm_inr:hover .top_mv_lst_img_sp{
      top: -20px;
}
@media (max-width: 896px){
      .top_mv_sec{
            /* padding-top: 60vh; */
            padding-top: max(60vh, 560px);
            height: 100vh;
            min-height: 930px;
      }
      .top_mv_sec::before{
            content: "";
            display: block;
            position: absolute;
            width: 100%;
            height: 100%;
            right: 0;
            top: 0;
            background: url(../img/top/mv_bg_bl_sp.svg) no-repeat;
            background-size: contain;
            background-position: right top;
      }
      .top_mv_bg_txt{
            display: none;
      }
      .top_mv_bg_txt::before{
            display: none;
      }
      .top_mv_works_cont{
            /* top: max(20vh, 170px); */
            /* bottom: 58vh; */
            bottom: max(45vh, 400px);;
            position: absolute;
            width: 100%;
      }
      .top_mv_lst_img{
            width: 55vw;
            max-height: 300px;
            padding-bottom: 20px;
      }
      .top_mv_lst_img_sp{
            width: 16vw;
            max-height: 250px;
      }
      .top_mv_lst_img img{
            height: 100%;
            object-fit: cover;
      }
      .top_mv_lst_img_sp img{
            height: 100%;
            object-fit: cover;
      }
      .top_txt_cont{
            width: 85vw;
      }
}
@media (max-width: 576px){
      .top_mv_sec {
            padding-top: max(60vh, 405px);
            height: 100vh;
            min-height: initial;
      }
      .top_mv_sec::before{
            content: "";
            display: block;
            position: absolute;
            width: 100%;
            height: 100%;
            right: 0px;
            top: 0;
            background: url(../img/top/mv_bg_bl_sp.svg) no-repeat;
            background-size: contain;
            background-position: 110% top;
      }
      .top_mv_sec::after{
            background: url(../img/top/mv_bg_line.svg) no-repeat;
            background-size: contain;
            background-position: 120%;
      }
      .top_mv_works_cont {
            /* top: max(20vh, 140px); */
            bottom: 44vh;
            position: absolute;
            width: 100%;
      }
      .top_txt_cont {
            padding-right: 0px;
        }
      .top_mv_ttl{
            font-size: 2rem;
            padding-right: 90px;
      }
      .top_mv_txt{
            font-size: 1.2rem;
            padding-right: 60px;
      }
      .top_mv_lst_img {
            width: 60vw;
            max-height: 225px;
            padding-bottom: 20px;
      }
      .top_mv_lst_img_sp {
            width: 14vw;
            max-height: 150px;
      }
      @media (min-height: 700px){
            .top_mv_sec {
                  padding-top: max(48vh, 405px);
                  max-height: 700px;
                  min-height: initial;
            }
            .top_mv_works_cont {
                  bottom: 320px;
                  position: absolute;
                  width: 100%;
            }
      }
}
@media (max-width: 440px){
      .top_mv_sec::before{
            background: url(../img/top/mv_bg_bl_sp.svg) no-repeat;
            background-size: contain;
            background-position: 120% top;
      }
}

/*    お知らせ
=====================================================*/
.top_news_sec{
      padding-top: 60px;
}
.top_news_cont{
      padding: 20px;
}
.top_news_ttl_cont{
      padding: 20px;
      padding-right: 40px;
      border-right: 1px solid #185F77;
}
.top_news_ttl{
      line-height: 1;
}
.top_news_txt{
      margin-top: 20px;
}
.top_news_lst{
      padding: 20px;
      padding-left: 40px;
      padding-right: 0;
      width: calc(100% - 176px);
}
.top_news_lst_itm + .top_news_lst_itm{
      margin-top: 20px;
}
.top_news_lst_date{
      display: inline-block;
      padding-top: 3px;
      transition: color .2s;
}
.top_news_lst_txt{
      margin-left: 20px;
      width: calc(100% - 81px);
      transition: color .2s;
}
.top_news_lst_itm_inr:hover .top_news_lst_date{
      color: #185F77;
}
.top_news_lst_itm_inr:hover .top_news_lst_txt{
      color: #185F77;
}
@media (max-width: 896px){
      .top_news_sec{
            padding-top: 0;
            background-color: #f6f6f6;
      }
      .top_news_cont{}
}
@media (max-width: 576px){
      .top_news_ttl{
            font-size: 2.6rem;
      }
      .top_news_ttl_cont{
            width: 100%;
            border-right: none;
            padding: 0px;
            padding-top: 25px;
      }
      .top_news_lst{
            width: 100%;
            padding: 0;
            padding-top: 30px;
      }
      .top_news_lst_txt{
            margin-left: 0;
            width: 100%;
      }
      .top_news_lst_itm + .top_news_lst_itm {
            margin-top: 15px;
            padding-top: 15px;
            border-top: 1px solid #D0DFE4;
      }
      .top_news_txt{
            margin-top: 30px;
            margin-left: auto;
      }
}
/*    サービス
=====================================================*/
.top_service_lead_txt{
      max-width: 525px;
      width: 47.5%;
}

.top_strg_lst_itm{
      box-shadow: 0 0 10px #22222220;
      position: relative;
      z-index: 1;
}
.top_strg_lst_itm:nth-child(odd){
      margin-right: 0;
      margin-left: 5%;
      transform: translateY(-245px);
}
.top_strg_lst_itm:nth-child(even){
      margin-left: 0%;
}
.top_strg_lst_itm_inr{
      display: block;
      height: 100%;
}
.top_strg_lst_img{
      position: absolute;
      height: 100%;
      width: 100%;
      z-index: -1;
}
.top_strg_lst_img img{
      height: 100%;
      width: 100%;
      object-fit: cover;
}
.top_strg_lst_txtarea{
      top: 0;
      right: 0;
      width: 60%;
      height: 100%;
      margin-left: auto;
      padding: 30px 30px 30px 70px;
      background: url(../img/top/strg_bg.svg) no-repeat;
      background-size: cover;
}
.top_strg_lst_tag{
      padding-left: 25px;
      transition: color .2s;
      font-size: 1rem;
}
.top_strg_lst_ttl{
      padding-left: 10px;
      font-size: 2.6rem;
      line-height: 1.3;
}
.top_strg_lst_itm_inr:hover .top_strg_lst_tag{
      color: #185F77;
}
.top_strg_lst_itm_inr:hover .top_strg_link::before{
      -webkit-animation: top_under_line 1.5s ease infinite;
	animation: top_under_line 1.5s ease infinite;
}
.top_strg_link_cont{
      margin-top: auto;
}
.top_strg_btn{
      margin-top: -10px;
}

/* サービスが奇数の時 */
.top_strg_lst{
      margin-bottom: -245px;
}
/* サービスが偶数の時 */
/* .top_strg_btn{
      margin-left: auto;
} */

@media (max-width: 896px){
      .top_service_lead_txt{
            width: 100%;
            max-width: 100%;
      }
      .top_strg_lst{
            margin-bottom: 0;
      }
      .top_strg_lst_itm{
            width: 100%;
            margin: 0;
      }
      .top_strg_lst_itm+.top_strg_lst_itm{
            margin-top: 30px;
      }
      .top_strg_lst_txtarea{
            padding-left: 80px;
      }
      .top_strg_lst_itm:nth-child(odd){
            transform: none;
            margin-left: 0;
      }
}
@media (max-width: 576px){
      .top_strg_lst_txtarea{
            padding-left: 50px;
      }
      .top_strg_lst_itm+.top_strg_lst_itm{
      }
      .top_strg_lst_ttl{
            font-size: 1.8rem;
      }
      .top_strg_lst_txtarea {
            width: 75%;
            height: 100%;
            margin-left: auto;
            padding: 20px 20px 20px 16vw;
            background: url(../img/top/strg_bg.svg) no-repeat;
            background-size: cover;
      }
      .top_strg_lst_txt{
            font-size: 1.2rem;
      }
      .top_strg_link{
            font-size: 1.2rem;
      }
}


/*    課題解決サポート
=====================================================*/
.top_support_lst_itm{
      box-shadow: 0 3px 6px #00000020;
}
.top_support_lst_itm_inr{
      padding: 30px;
      border: 1px solid #185F77;
      height: 100%;
}
.top_support_lst_ttl{
      font-size: 1.8rem;
      height: 50px;
      padding-left: 75px;
      transition: color .2s;
}
.top_support_lst_ttl::before{
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      margin: auto;
      height: 100%;
      width: 100%;
      max-width: 55px;
      background: url(../img/top/article-support.svg) no-repeat;
      background-size: contain;
      background-position: left;
}
.top_support_lst_ttl_sns::before{
      background: url(../img/top/sns-support.svg) no-repeat;
      background-size: contain;
      background-position: left;
}
.top_support_lst_ttl_protect::before{
      background: url(../img/top/protect-support.svg) no-repeat;
      background-size: contain;
      background-position: left;
}
.top_support_lst_txt{
      transition: color .2s;
}
.top_support_link_cont{
      margin-top: auto;
}
.top_support_lst_itm_inr:hover .top_support_lst_ttl{
      color: #185F77;
}
.top_support_lst_itm_inr:hover .top_support_lst_txt{
      color: #185F77;
}
.top_support_lst_itm_inr:hover .top_support_link::before{
      -webkit-animation: top_under_line 1.5s ease infinite;
	animation: top_under_line 1.5s ease infinite;
}
@media (max-width: 896px){
      .top_support_lst_itm{
            width: 47.5%;
            margin-right: 5%;
      }
      .top_support_lst_itm + .top_support_lst_itm{
            width: 47.5%;
            margin-top: 0;
      }
      .top_support_lst_itm:nth-child(2n){
            margin-right: 0;
      }
      .top_support_lst_itm:nth-child(n+3){
            margin-top: 5%;
      }
}
@media (max-width: 576px){
      .top_support_lst_itm_inr{
            padding: 4vw;
      }
      .top_support_lst_ttl{
            font-size: 1.5rem;
            padding-left: 40px;
      }
      .top_support_lst_ttl::before{
            max-width: 30px;
      }
      .top_support_lst_txt{
            font-size: 1.2rem;
      }
      .top_support_link{
            font-size: 1.2rem;
      }
}
/*    制作実績
=====================================================*/
.top_works_lst_img{
      box-shadow: 0 3px 6px #00000020;
}
.top_works_lst_img img{
      height: 200px;
      object-fit: cover;
}
.top_works_tag{
      display: inline-block;
      color: #185F77;
      font-weight: 500;
      padding: 5px 10px;
      margin-top: 10px;
      font-size: 1.2rem;
      border: 1px solid #185F77;
      border-radius: 20px;
}
@media (max-width: 896px){
      .top_works_lst_itm:nth-child(3n){
            margin-right: 0%;
      }
      .top_works_lst_itm:nth-child(n+3){
            margin-top: 5%;
      }
      .top_works_lst .top_works_lst_itm{
            width: 47.5%;
            margin-right: 5%;
      }
      .top_works_lst_itm:nth-child(2n){
            margin-right: 0;
      }
}
@media (max-width: 576px){
      .top_works_lst_img img{
            height: 30vw;
      }
      .top_works_lst_tag{
            font-size: 1.5rem;
      }
}
/*    ウェブイントについて
=====================================================*/
.top_about_sec{
      margin-top: 250px;
}
.top_about_sec::before{
      content: "";
      position: absolute;
      display: block;
      bottom: 100%;
      left: 0;
      transform: translateY(5px);
      height: 100px;
      width: 60%;
      background: url(../img/common/section-cover.svg) no-repeat;
      background-size: cover;
      background-position: right;
}
.top_about_ttl_cont{
      overflow: hidden;
}
.top_about_img{
      margin-right: calc(50% - 50vw);
      width: 50vw;
      height:360px;
}
.top_about_img img{
      height: 100%;
      object-fit: cover;
      object-position: left;
}
.top_about_diff_img{
      margin-left: calc(50% - 50vw);
      width: 50vw;
      height:360px;
}
.top_about_diff_img img{
      height: 100%;
      object-fit: cover;
      object-position: right;
}
.top_about_diff_lead_txt{
      margin-right: 0;
      margin-left: 3%;
}


.top_strong_lst_itm{
      box-shadow: 0 0 10px #22222220;
      position: relative;
      z-index: 1;
}
.top_strong_lst_itm_inr{
      display: block;
      height: 100%;
}
.top_strong_lst_img{
      position: absolute;
      top: 0;
      right: 0;
      height: 100%;
      width: 100%;
      z-index: -1;
}
.top_strong_lst_img img{
      height: 100%;
      width: 100%;
      object-fit: cover;
}
.top_strong_lst_txtarea{
      top: 0;
      right: 0;
      width: 60%;
      height: 100%;
      min-height: 220px;
      padding: 20px;
      background: url(../img/top/about-lst_bg.svg) no-repeat;
      background-size: cover;
      background-position: right;
}
.top_strong_lst_tag{
      font-size: 3rem;
      color: #185F77;
}
.top_strong_lst_ttl{
      font-size: 1.8rem;
}
@media (max-width: 896px){
      .top_about_sec::before{
            height: 100px;
            width: 96vw;
      }
      .top_about_img{
            width: 100vw;
      }
      .top_about_diff_lead_txt{
            margin-left: 0;
      }
      .top_about_diff_img{
            width: 100vw;
      }
      .top_strong_lst_itm{
            max-width: 450px;
            margin: auto;
      }
      .top_strong_lst_itm + .top_strong_lst_itm{
            margin: auto;
            margin-top: 30px;
      }
      .top_strong_lst_txtarea{
            width: 45%;
      }
}
@media (max-width: 576px){
      .top_about_sec{
            margin-top: 200px;
      }
      .top_about_sec::before{
            height: 40px;
            width: 96vw;
      }
      .top_about_img{
            height: 200px;
      }
      .top_about_diff_img{
            height: 200px;
      }
      .top_strong_lst_txtarea{
            width: 55%;
      }
}
/*============================================================================================
      下層ページ
=============================================================================================*/
/*    サービス一覧
=====================================================*/
.service_strg_lst_itm{
      background-color: #EDF3F4;
      padding: 30px;
      box-shadow: 0 3px 6px #00000020;
}
.service_strg_lst_num{
      font-size: 4.6rem;
      color: #185F77;
}
.service_strg_lst_img{
      width: calc(100% - 63px);
}
.service_strg_lst_ttl{
      
}
.top_strg_lower_lst {
      margin-bottom: 0;
}
.top_strg_lower_lst .top_strg_lst_itm:nth-child(odd) {
      margin-right: 5%;
      margin-left: 0%;
      transform: translateY(0);
}
@media (max-width: 896px){
      .top_strg_lower_lst .top_strg_lst_itm:nth-child(odd){
            margin-right: 0;
      }
}
@media (max-width: 576px){
      .service_strg_lst_itm{
            padding: 4vw;
      }
      .service_strg_lst_num{
            font-size: 2.6rem;
      }
      .service_strg_lst_img{
            width: calc(100% - 40px);
      }
      .service_strg_lst_img img{
            height: 30vw;
            object-fit: cover;
            object-position: left;
      }
}

/*    制作実績一覧
=====================================================*/
.works_ct_lst_itm{
      margin-right: 15px;
      margin-top: 15px;
}
.works_ct_lst_itm_inr{
      background-color: #000;
      border-radius: 20px;
      padding: 8px 10px;
      border: 1px solid #000;
      transition: background .2s, color .2s;
}     
.works_ct_lst_itm_inr:hover{
      background-color: #fff;
      color: #222;
}
@media (max-width: 896px){}
@media (max-width: 576px){}

/*    制作実績詳細
=====================================================*/
.works_detail_link{
      display:inline-block;
      background-color: #000;
      border-radius: 20px;
      border: 1px solid #000;
      transition: background .2s, color .2s;
      width: auto;
      max-width: 100%;
}
.works_detail_link a{
      display: block;
      padding: 8px 15px;
      padding-right: 40px;
}
.works_detail_link:hover{
      background-color: #fff;
}
.works_detail_link:hover a{
      color: #222;
}
.works_detail_sec h2{
      display: inline-block;
      position: relative;
      font-size: 1.8rem;
      font-weight: bold;
      z-index: 2;
      padding: 15px 0;
      padding-right: 50px;
      margin-bottom: 30px;
}
.works_detail_sec h2:not(:first-of-type){
      margin-top: 50px;
}
.works_detail_sec h3{
      display: inline-block;
      position: relative;
      font-size: 1.8rem;
      font-weight: bold;
      z-index: 2;
      padding: 15px 0;
      padding-right: 50px;
}
.works_detail_sec h2::after{
      content: "";
      display: block;
      position: absolute;
      height: 100%;
      width: calc(100% + 30px - (50% - 50vw));
      top:0;
      left: 0;
      background: url(../img/works/works_detail_ttl_bg.svg) no-repeat;
      background-size: cover;
      background-position: right;
      z-index: -1;
      margin-left: calc(50% - 50vw);
}
.works_main_cont_thumbnail img{
      box-shadow: none !important;
}
.works_main_cont_thumbnail{
      width: 100%;
      max-width: 800px;
      margin: auto;
}

.works_detail_cont_img{
      padding: 0 20px;
}
.works_detail_cont_img_pc{
      display: inline-block;
      width: calc(70% - 10px);
      max-width: 420px;
}
.works_detail_cont_img_pc img{
      height: 1000px;
      object-fit: cover;
      object-position: top;
}
.works_detail_cont_img_sp{
      display: inline-block;
      width: calc(25% - 10px);
      max-width: 120px;
      margin-left: 5%;
}
.works_detail_cont_img_sp img{
      height: 1000px;
      object-fit: cover;
      object-position: top;
}
@media (max-width: 896px){
      
}
@media (max-width: 576px){
      .works_detail_sec h2{
      }
      .works_detail_cont_img_pc img{
            height: 500px;
      }
      .works_detail_cont_img_sp img{
            height: 500px;
      }
}

/*    ウェブイントについて
=====================================================*/
.about_ttl_ja{
      padding-right: 50px;
}

/*    制作の流れ
=====================================================*/
.flow_ttl{
      position: relative;
      padding-left: 50px;
}
.flow_ttl::before{
      content: "";
      display: block;
      position: absolute;
      top: 0;
      bottom:0;
      left: 0;
      margin: auto;
      height: 5px;
      width: 30px;
      background-color: #185F77;
}
.flow_lst_itm + .flow_lst_itm{
      padding-top: 30px;
}
.flow_lst_num{
      color: #185F77;
      font-weight: bold;
      font-size: 3rem;
      line-height: 1;
}
.flow_lst_txt{
      width: calc(100% - 40px);
      padding-left: 20px;
}
@media (max-width: 896px){
      .flow_ttl{
            font-size: 1.8rem;
      }
}
@media (max-width: 576px){}


/*    ブログ
=====================================================*/
.blog_main_cont{
      width:calc(100% - 390px) ;
}
.blog_side_cont{
      width:330px;
      margin-left: 60px;
}
.blog_side_ttl{
      background-color: #185F77;
      padding: 10px 15px;
}
.blog_side_img{
      max-width: 90px;
}
.blog_side_pro_txt{
      width: calc(100% - 90px);
      padding-left: 20px;
}
.blog_side_lst_itm{
      margin-right: 20px;
}
.blog_side_article_img img{
      height: 90px;
      object-fit: cover;
}
.blog_pick_lst_itm a{
      display: block;
	line-height: 0;
}
.blog_pick_lst_itm .wpp-post-title{
      display: block;
      width: calc(100% - 90px);
      padding-left: 20px;
      line-height: 1.75;
      transition: color .2s;
}
.blog_pick_lst_itm:hover .wpp-post-title{
      color: #185F77;
}
.blog_pick_lst_itm img{
      height: 90px;
      object-fit: cover;
}


@media (max-width: 896px){
      .blog_main_cont{
            width: 100%;
      }
      .blog_side_cont{
            width:100%;
            margin-left: 0px;
            margin-top: 50px;
      }
}

/*    ブログ詳細
=====================================================*/
.blog_detail_main_cont h2{
      /* font-size: 3.6rem;
      font-weight: bold; */
}

/*    個人情報保護方針
=====================================================*/
.policy_ttl {
      font-size: 2rem;
}
.policy_lead {
      margin-top: 50px;
}
.policy_sec {
      margin-top: 50px;
}

@media (max-width: 896px){
      .policy_main_ttl{
            font-size: 2.6rem;
      }
}

/*    お知らせ一覧
=====================================================*/
.news_lst_itm + .news_lst_itm{
      margin-top: 30px;
      padding-top: 30px;
      border-top: 1px solid #D0DFE4;
}
.news_lst_itm_inr{}

.news_lst_itm_inr:hover .news_lst_date,
.news_lst_itm_inr:hover .news_lst_ttl,
.news_lst_itm_inr:hover .news_lst_txt{
      color: #185F77;
}
.news_lst_date{
      transition: color .2s;
}
.news_lst_ttl{
      transition: color .2s;
}
.news_lst_txt{
      transition: color .2s;
}

/*    サービス詳細
=====================================================*/
.service_detail_point_tag{
      display: inline-block;
      padding: 5px 10px;
      background-color: #185F77;
      font-size: 1.2rem;
}
.service_detail_plan_total {
      margin-top: auto;
      padding-top: 20px;
      border-top: 1px solid #185F77;
}
.service_detail_flow_sec::before {
      height: calc(100% - 60px);
  }

@media (max-width: 896px){
      .service_g_h3{
            font-size: 2.2rem;
      }
      .service_g_h4{
            font-size: 1.8rem;
      }
      .service_detail_flow_sec::before {
            top: 120px;
            width: 76vw;
            height: calc(100% - 120px);
        }
}

/*    メンテナンス
=====================================================*/
.mainte_lst{
      padding: 30px;
}
@media (max-width: 576px){
      .mainte_lst{
            padding: 4vw;
      }
}

/*    お問い合わせ
=====================================================*/
.contact_txt_req{
      display: inline-block;
      padding: 0px 8px;
      border-radius: 5px;
      background-color: #185F77;
      margin-right: 5px;
      color: #fff;
      font-weight: bold;
}


/*ContactForm7カスタマイズ*/
/*    ContactForm7カスタマイズ
=====================================================*/
table.CF7_table{
	width:80%;
	margin:0 auto;
	/* border: 3px solid #e5e5e5; */
}

table.CF7_table tr{
	border-top: 1px solid #99999990;
}
table.CF7_table tr:last-child{
	border-bottom: 1px solid #99999990;
}
.contact_txtarea{
      padding-bottom: 0;
      position: relative;
      top: -198px;
}
/* @media screen and (-webkit-min-device-pixel-ratio:0){
      .contact_txtarea{
            padding-bottom: 0;
            position: relative;
            top: -198px;
      }
}
@supports (-ms-ime-align: auto){
      .contact_txtarea{
            padding-bottom: 0;
            position: relative;
            top: -198px;
      }
  } */

@-moz-document url-prefix() {
      .contact_txtarea{
            padding-bottom: 0;
            position: relative;
            top: 0px;
      }
}
::-webkit-full-page-media, :future, :root .contact_txtarea{
      padding-bottom: 0;
      position: relative;
      top: 0px;
}

table.CF7_table th{
      display: flex;
      width: 230px;
      height: 100%;
      justify-content: space-between;
      align-items: center;
      background-color: #fff;
      padding: 20px 0;
	/* border-top: 1px solid #e5e5e5; */
      vertical-align: top;
      font-weight: bold;
      margin-right: 20px;
}
table.CF7_table td{
      /* background-color: #fff; */
      border: none;
      padding: 20px 0;
	/* border-top: 1px solid #e5e5e5; */
}

.single .entry-content table.CF7_table,
.page .entry-content table.CF7_table{
	display:table;
}

/*入力欄*/
.CF7_table input, .CF7_table textarea {
	/* border: 1px solid #d8d8d8; */
}

.CF7_table ::placeholder {
	color:#797979;
}

.CF7_table th p{
      width: 100%;
      display: flex;
      justify-content: space-between;
}
/*「必須」文字*/
.CF7_req{
	font-size:.9em;
	padding: 3px 8px;
	background: #185F77;/*オレンジ*/
	color: #fff;
	margin-left:1em;
      border-radius: 5px;
}

/*「任意」文字*/
.CF7_unreq{
	font-size:.9em;
	padding: 3px 8px;
	background: #bdbdbd;/*グレー*/
	color: #fff;
	border-radius: 3px;
	margin-left:1em;
      border-radius: 5px;
}

.wpcf7-list-item{
      margin-left: 0;
      margin-right: 15px;
}
.has-free-text{
      display: block;
      margin-right: 0;
}

/* タイトル列 */
@media screen and (min-width: 768px){
	.CF7_table th{
	width:30%;/*横幅*/
	background-color:#ebedf5;/*ブルーグレー*/
	}
}

/* レスポンシブ */
@media screen and (max-width: 768px){
	table.CF7_table{
	width:95%;
	}
	.CF7_table tr, .CF7_table td, table.CF7_table th{
	display: block;
	width: 100%;
	line-height:2.5em;
	}
	.CF7_table th{
      display: block !important;
	background-color:#ebedf5;
      padding-bottom: 0 !important;
	}
      .contact_txtarea{
      position: static !important;
      top: 0 !important;
      }
      .CF7_table th p{
            width: auto;
            display: block;
      }
}

/* 「送信する」ボタン */
.wpcf7 input.wpcf7-submit {
	background-color:#185F77;/* オレンジ*/
      border: 1px solid #185F77 !important;
      width: 100%;
      max-width: 300px;
      padding: 22px 0;
      border-radius: 5px;
	border:0;
	font-size:1.2em;
	font-weight:bold;
	margin:0 auto;
      transition: color .2s, backGround .2s;
      color: #fff;

}
.wpcf7 input.wpcf7-submit:hover{
      color: #185F77;
      background-color: #fff;
}
.CF7_btn{
	text-align:center;
	margin-top:60px;
}

.wpcf7-spinner{
	width:0;
	margin:0;
}
.screen-reader-response p{
      text-align: center;
      margin-bottom: 20px;
}
.screen-reader-response ul{
      display: none;
}
.wpcf7-response-output{
      text-align: center;
      margin-top: 20px;
}
.wpcf7-textarea{
      color: #222;
}
.wpcf7-not-valid-tip{
      display: block;
      color: #D90A27;
}

.wpcf7-response-output{
      position: fixed;
      width: 92vw;
      max-width: 1110px;
      top: 100px;
      left: 50%;
      transform: translateX(-50%);
      background-color: #fff;
      z-index: 999;
      border-width: 4px !important;
      box-shadow: 0 3px 6px #00000020;
      margin: 0 !important;
}
@media screen and (max-width: 768px){
      .wpcf7-response-output{
            top: 100px;
      }
}

/*    ブログカスタマイズ
=====================================================*/
.single_ttl{
      font-weight: 500;
}
.single_thumbnail{
      width: 100%;
      margin: auto;
}
.single_thumbnail img{
      box-shadow: 0 3px 6px #00000020;
}
.news_main_cont a{
      color: #185F77;
      text-decoration: underline;
}
.single_content_default h2{
      font-size: 2.6rem;
      font-weight: 500;
      padding-bottom: 15px;
      text-align: left;
      border-bottom: #185F77 1px solid;
}

.single_content_default h3{
      position: relative;
      font-size: 2.2rem;
      font-weight: 500;
      padding-left: 50px;
}
.single_content_default h3::before {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      height: 5px;
      width: 30px;
      background-color: #185F77;
}
.single_content_default h4 {
      font-size: 1.8rem;
      font-weight: bold;
}
.single_content_default .quote{
      padding: 15px 20px;
      margin: 20px 0;
      background-color:#F6F6F6 ;
}
.single_content_default .quote a{
      color: #185F77;
	text-decoration: underline;
}
.single_content_default .quote a:hover{
	text-decoration: none;
}
.single_bg_bl{
      background-color: #EDF3F4;
      padding: 20px;
}
.single_checkbox_bl{
      position: relative;
      padding: 20px;
      border: 3px solid #185F77;
      border-radius: 10px;
      border-top-left-radius: 0px;
      margin-top: 50px;
}
.single_checkbox_bl::before{
      content: "CHECK";
      display: inline-block;
      position: absolute;
      bottom: 100%;
      left: -3px;
      background-color: #185F77;
      color: #fff;
      font-weight: bold;
      padding: 5px 20px;
      border-radius: 10px;
      border-bottom-left-radius: 0px;
      border-bottom-right-radius: 0px;
}

.single_checkbox_gr{
      position: relative;
      padding: 20px;
      border: 3px solid #4c826b;
      border-radius: 10px;
      border-top-left-radius: 0px;
      margin-top: 50px;
}
.single_checkbox_gr::before{
      content: "CHECK";
      display: inline-block;
      position: absolute;
      bottom: 100%;
      left: -3px;
      background-color: #4c826b;
      color: #fff;
      font-weight: bold;
      padding: 5px 20px;
      border-radius: 10px;
      border-bottom-left-radius: 0px;
      border-bottom-right-radius: 0px;
}


@media (max-width: 896px){
      .single_ttl{
            font-size: 2.6rem;
      }
      .single_content_default h2{
            font-size: 2.2rem;
      }
      .single_content_default h3{
            position: relative;
            font-size: 1.8rem;
            font-weight: 500;
            padding-left: 40px;
      }
      .single_content_default h3::before {
            height: 4px;
            width: 25px;
            background-color: #185F77;
      }
      .single_content_default h4 {
            font-size: 1.6rem;
            font-weight: bold;
      }
}
@media (max-width: 576px){}


/*    wp_pagenavi
=====================================================*/
.wp-pagenavi{
      display: flex;
      justify-content: center;
      margin-top: 60px;
}
.current{
      padding: 12px 15px;
      border: 1px solid #000;
      color: #222;
      margin: 0 5px;
      line-height: 1;
      font-weight: bold;
}
.page{
      padding: 12px 15px;
      border: 1px solid #000;
      color: #fff;
      background-color: #000;
      margin: 0 5px;
      line-height: 1;
      font-weight: bold;
}
@media (max-width: 896px){
      .wp-pagenavi{
            margin-top: 50px;
      }
}
@media (max-width: 576px){}

/*    目次
=====================================================*/
#toc_container{
      margin: auto;
      margin-bottom: 30px;
      margin-top: 30px;
      width: 100% !important;
      max-width: 540px !important;
}
