@charset "utf-8";
/*
Theme Name: Lightning Child Sample
Theme URI: ★ テーマの公式サイトなどのURL（空欄でも可） ★
Template: lightning
Description: ★ テーマの説明（空欄でも可） ★
Author: ★ テーマ作成者の名前（空欄でも可） ★
Tags: 
Version: 0.1.2
*/


body{
	font-size:18px;
	line-height:180%;
	color:#2a2c2d;
	letter-spacing:0.75px;
}

a{
	text-decoration:none;
	transition:0.8s ease;
}

a:hover{
	opacity:0.8;
}

img{
	vertical-align:top;
}

.flex_between{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}

.pc{display:block;}
.sp{display:none;}

@media(max-width:767px){
body{
	font-size:15px;
}
	
.pc{display:none;}
.sp{display:block;}
}

/****ヘッダー******/

#header-top {
    display: none;
}

strong.global-nav-name {
    color: #fff;
}

.global-nav-list>li:before{
	border-bottom-color:#fff;
}

.site-header {
    background-color: #246493!important;
}

.site-header--layout--nav-float .site-header-logo {
	width: 260px;
}

.home.header_scrolled .site-header{
	background:#246493;
}

/****トップページ******/

.about_right {
    width: 50%;
}

.about_left {
    width: 45%;
}


ul.service_link {
    padding: 0;
    margin: 0;
}

ul.service_link li{
    list-style-type:none;
	width:32%;
	margin:0;
}

ul.service_link li a{
    display:block;
	position:relative;
	overflow:hidden;
	height:23rem;
}

ul.service_link li a .service_link_img{
	width:100%;
	height:100%;
}

ul.service_link li a .service_link_img img{
	object-fit:cover;
	width:100%;
	height:100%;
	transition:0.8s ease;
}

ul.service_link li a:hover .service_link_img img{
	transform:scale(1.05);
}

ul.service_link li a:after{
    content:"";
	width:100%;
	height:100%;
	display:block;
	position:absolute;
	top:0;
	left:0;
	transition:0.8s ease;
	background:rgba(145,145,145,0.8);
	mix-blend-mode:multiply;
	z-index:2;
}

ul.service_link li a h3{
    color:#fff;
	text-align:center;
	width:100%;
	padding:0;
	margin:0;
	z-index:3;
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	border:none;
	font-size: 1.6rem;
    letter-spacing: 1px;
}

ul.service_link li a h3:after{
	display:none;
}

ul.service_link li a:hover{
	opacity:1;
}

ul.service_link li a:hover:after{
	background:rgba(145,145,145,0.3);
}

h2.main_h2 {
    border: none;
    text-align: center;
    padding: 0;
    margin: 0 0 3rem!important;
	font-size:40px;
}

h2.main_h2 span{
    color:#246493;
	display: block;
	font-size:25px;
	line-height:150%;
}

a.normal_btn {
    background: #246493;
    display: block;
    color: #fff;
    position: relative;
    max-width: 280px;
    margin: 3rem auto 0 !important;
    text-align: center;
    font-size: 18px;
    padding: 1rem 1rem;
    line-height: 150%;
}

a.normal_btn:hover {
    opacity:1;
	background:#134563;
}

a.normal_btn:after{
	content:"▷";
	color:#fff;
	font-size:15px;
	position:absolute;
	top:50%;
	right:0.8rem;
	transform:translatey(-50%);
	transition:0.8s ease;
}

a.normal_btn:hover:after{
	right:0.5rem;
}

h2.about_h2 {
    padding: 0;
    color: #246493;
    border: none;
    line-height: 180%;
    margin: 0 0 1.5rem;
    font-size: 2.3rem;
}

.normal_txt p{
	font-size:18px;
	margin:0 0 18px;
}

.normal_txt p:last-of-type{
	margin:0;
}

.top_company .normal_txt p{
	text-align:center;
}

h3.company_catch {
    color: #246493;
    text-align: center;
    padding: 0;
    border: none;
    font-size: 2.2rem;
    margin: 0 0 1.5rem!important;
}

h3.company_catch:after {
    display:none;
}

.mapArea {
    width: 100%;
    height: 25rem;
    margin-bottom: 3rem;
}

.mapArea iframe{
     -webkit-filter: grayscale(100%);
     -moz-filter: grayscale(100%);
     -o-filter: grayscale(100%);
     -ms-filter: grayscale(100%);
     filter: grayscale(100%);
}

.access_logo {
    width: 250px;
	height:100%;
    text-align: center;
}

.access_txtbox {
    width: calc(100% - 250px);
	border-left:1px solid #9b9b9b;
	padding-left:2.5rem;
}

.item_center{
	align-items:center;
}

.access_add{
    margin-bottom: 1rem;
}

p.access_Btxt {
    font-size: 20px;
}

.access_add p {
    margin: 0;
}

.access_info {
    font-size: 16px;
    line-height: 180%;
	letter-spacing:2px;
}

.access_txt {
    background: #f5f5f5;
    padding: 1rem 2rem;
    margin-top: 1rem;
}

.access_txt p{
    margin:0;
	font-size:15px;
}

.accessArea{
	margin-bottom:5rem;
}

.contactArea {
    display: flex;
    flex-wrap: wrap;
	align-items:center;
	justify-content:space-between;
	border-bottom:1px solid rgba(245,245,245,0.5);
	padding-bottom:3.5rem;
	margin-bottom:3.5rem;
}

.contact_left {
    width: 46%;
}

.contact_right {
    width: 50%;
	text-align:right;
}

.contact_left h2 {
    font-size: 1.8rem;
    padding: 0;
    border: none;
    margin: 0 0 1.5rem;
}

.contact_telBox span {
    display: block;
    font-size: 16px;
    line-height: 160%;
}

.contact_telBox{
	margin-bottom:1rem;
}

a.tel_link {
    font-size: 40px;
    font-weight: bold;
    display: inline-block;
}

a.tel_link {
    font-size: 40px;
    font-weight: bold;
    display: inline-block;
	letter-spacing:2px;
	transition:0.5s ease;
}

a.tel_link:hover {
    color:#eff42a;
	opacity:1;
}

a.tel_link i {
    transform: scale(-1, -1) rotate(-65deg);
    margin: 0;
}

a.mail_btn {
    border: 1px solid #fff;
	font-size:16px;
    display: block;
    padding: 10px 50px 10px 20px;
	position:relative;
	max-width:360px;
	width:90%;
	margin-left:auto;
}

a.mail_btn:after {
    content: "▷";
    color: #fff;
    font-size: 11px;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translatey(-50%);
    transition: 0.8s ease;
}

a.mail_btn:hover{
	background:#fff;
	color:#246493;
	opacity:1;
}

a.mail_btn:hover:after{
	right:5px;
	color:#246493;
}

.footer_logo {
    text-align: center;
}

.footer_logo img{
    display:inline-block;
	width:230px;
}

ul.footer_nuv {
    padding: 0;
    margin: 3rem 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

ul.footer_nuv li{
    list-style-type:none;
	margin:0 2rem 0 0;
	padding-right:2rem;
	border-right:1px solid #fff;
	line-height:150%;
}


ul.footer_nuv li:last-of-type{
	border-right:none;
	padding-right:0;
}

ul.footer_nuv li a{
    font-size:14px;
	line-height:150%;
}

ul.footer_nuv li a:hover{
    opacity:0.5;
}

/****会社概要*****/

.greeting_ttl {
    text-align: center;
    color: #246493;
    font-weight: bold;
    font-size: 2.2rem;
    margin-bottom: 2rem !important;
	line-height:160%;
}

.greeting_txt {
	max-width:900px;
	margin:0 auto;
	width:100%;
	text-align:left;
}

.greeting_txt p{
	font-size:17px;
}

p.ceo_name {
    text-align: center;
}

p.ceo_name img{
    height: 26px;
}

table.company_table th, table.company_table td{
	font-size:15px;
	padding:1.5rem;
	line-height:160%;
}

table.company_table th{
	background:#246493;
	color:#fff;
	text-align:center;
	font-weight:normal;
	width:200px;
}

table.company_table td{
	background:#fff;
}

table.company_table td ul{
	margin:0;
}

table.company_table td ul li{
	margin-top:0;
	line-height:160%;
}

:where(:not(.wp-block-table))>table :is(thead,tbody,tfoot,th,td) {
    border-color: #e0e0e0;
}

/****事業案内*****/

.service_img, .service_txt {
    width: 48%;
}

.service_child {
    margin-bottom: 5rem;
}

.service_box{
	margin-top:5rem!important;
}

.service_box .service_child:last-of-type {
    margin-bottom: 0;
}

.service_box .service_child:nth-of-type(odd) {
    flex-direction:row-reverse;
}

.service_child p{
	line-height:200%;
}

p.s_txt {
    font-size: 14px;
    margin-bottom: 0;
    background: #fff;
    padding: 15px;
	line-height:180%;
}

.service_txt h3 {
    color: #246493;
    padding: 0 0 0.5rem;
    line-height: 160%;
    margin-bottom: 1rem;
    font-size: 1.8rem;
	letter-spacing:1.5px;
}

.service_txt h3:after {
    display:none;
}

.home .site-header {
    background-color: transparent !important;
}

#service01, #service02, #service03{
	padding-top:100px;
	margin-top:-100px;
}

.header_scrolled.admin-bar .site-header {
	background-color: #246493 !important;
}

h2.service_catch {
    color: #246493;
    padding: 0;
    border: none;
    margin: 2rem 0 1rem !important;
}

.service_mainBox {
	margin-bottom:4rem!important;
}
    

/****投稿*****/

span.vk_post_title_new {
    display: none;
}

.vk_post_imgOuter_singleTermLabel {
    line-height: 160%;
}

.vk_post_body.card-body {
    padding-top: 1rem;
}

.vk_post .vk_post_date {
    line-height: 150%;
}

.vk_posts.vk_posts-postType-works.vk_postList {
    display: flex;
    flex-wrap: wrap;
}

.home .vk_posts.vk_posts-postType-works .vk_post-col-lg-3 {
	width: 24%;
	margin: 0 1.333% 0 0;
}

.home .vk_posts.vk_posts-postType-works .vk_post-col-lg-3:nth-of-type(4) {
	margin-right:0;
}

h2.side_h2 {
    padding: 0;
    border-top: none;
    font-size: 1.3rem;
	font-weight:normal;
    padding-bottom: 0.5rem;
    position: relative;
    margin: 0 !important;
}

h2.side_h2:after {
    content:"";
	width:20px;
	height:4px;
	display:block;
	position:absolute;
	bottom:-2px;
	left:0;
	background:#246493;
}

.sub-section .vk_post_imgOuter_singleTermLabel {
    padding: .7em 1em;
    font-size: 9px;
}

.sub-section .vk_post .vk_post_title {
    font-size: 13px;
}

.vk_post .vk_post_title a:hover{
	color:#246493;
	opacity:1;
}

/****アニメ*****/

.effect{
	opacity:0;
	transform:translatey(100px);
}

.effect.active{
	animation:block_anime 1s ease 1 forwards;
}

@keyframes block_anime{
	0%{
		opacity:0;
		transform:translatey(100px);
	}
	100%{
		opacity:1;
		transform:translatey(0);
	}
}

@media(max-width:991.98px){
.home .vk_posts.vk_posts-postType-works .vk_post-col-lg-3 {
	width: 48%;
	margin: 0 4% 35px 0;
}

.home .vk_posts.vk_posts-postType-works .vk_post-col-lg-3:nth-of-type(4) {
	margin-right:4%;
	margin-bottom:0;
}

.home .vk_posts.vk_posts-postType-works .vk_post-col-lg-3:nth-of-type(3) {
	margin-bottom:0;
}
	
.home .vk_posts.vk_posts-postType-works .vk_post-col-lg-3:nth-of-type(even) {
	margin-right:0;
}

.site-header--layout--nav-float .site-header-logo {
    margin: 0 auto;
}
	
.contact_left {
    width: 100%;
	margin-bottom:2rem;
}
	
.contact_right {
    width: 100%;
	text-align:center;
}
	
a.mail_btn {
    margin: 2rem auto 0;
}
	
.contact_left h2 {
    text-align: center;
}

.contact_left .normal_txt{
	text-align:center;
}
	
.site-header--layout--nav-float .site-header-logo {
	margin: 10px auto;
}
	
.page-header {
	text-align: center;
}

}

@media(max-width:767px){
.about_right, .about_left{
    width: 100%;
}
	
.about_right{
	margin-bottom:20px;
}
	
.sp_column_r {
	flex-direction:column-reverse;
}
	
h2.about_h2 {
    text-align: center;
}
	
ul.service_link li {
    width: 100%;
	margin-bottom:20px;
}
	
ul.service_link li a {
    height: 15rem;
}
	
ul.service_link li:last-of-type {
	margin-bottom:0;
}
	
h2.about_h2 {
    margin: 0 0 20px;
    font-size: 23px;
}
	
.normal_txt p {
    font-size: 15px;
    margin: 0 0 15px;
    padding-left: 20px;
    padding-right: 20px;
    line-height: 180%;
}
	
.vk_outer-paddingVertical-use {
    padding-top: 45px;
    padding-bottom: 45px;
}
	
h2.main_h2 {
    margin: 0 0 25px !important;
    font-size: 25px;
}

h2.main_h2 span {
    font-size: 20px;
}
	
ul.service_link li a h3 {
	font-size:18px;
}
	
a.normal_btn {
    margin: 30px auto 0 !important;
    font-size: 15px;
    padding: 18px 15px;
	max-width:245px;
}
	
.vk_post .vk_post_title {
    font-size: 16px;
}
	
.vk_post .vk_post_date {
    font-size: 15px;
}
	
.vk_post_imgOuter_singleTermLabel {
    font-size: 14px;
}
	
a.normal_btn:after {
    font-size: 10px;
}
	
.access_add p {
    font-size: 14px;
}
	
h3.company_catch {
    font-size: 24px;
    margin: 0 0 20px !important;
}
	
.top_company .normal_txt p {
    text-align: left;
}
	
.mapArea {
    height: 20rem;
    margin-bottom: 30px;
}
	
.access_logo {
    width: 100%;
}
	
.access_logo img {
    width: 180px;
	margin:0 auto;
}
	
.access_txtbox {
    width: 100%;
    border-left: none;
    padding-left: 0;
    margin-top: 20px;
}
	
.access_add {
    margin-bottom: 15px;
	text-align:center;
}
	
p.access_Btxt {
    font-size: 16px;
	margin-top:5px;
	font-weight:bold;
}
	
.access_info {
    font-size: 13px;
    text-align: center;
}
	
.access_txt {
	padding:25px;
	margin-top:25px;
}
	
.access_txt p {
    font-size: 13px;
}
	
.contact_left {
	margin-bottom:35px;
}
	
.contact_left h2 {
    font-size: 24px;
    margin: 0 0 20px;
    text-align: center;
}
	

a.mail_btn {
    font-size: 14px;
    margin: 25px auto 0;
	padding:10px 15px;
}
	
a.mail_btn:after {
    font-size: 9px;
}
	
a.tel_link {
    font-size: 33px;
}
	
ul.footer_nuv li {
    list-style-type: none;
    margin: 0;
    padding-right: 0;
    border-right: none;
    line-height: 150%;
    width: 100%;
    border-bottom: 1px solid rgba(245, 245, 245, 0.3);
}
	
ul.footer_nuv li a{
	display:block;
	width:100%;
	text-align:center;
	padding:15px;
}

ul.footer_nuv li:first-of-type {
    border-top: 1px solid rgba(245, 245, 245, 0.3);
}
		
.footer_logo img {
    width: 190px;
}
	
ul.footer_nuv {
    margin: 30px 0;
}
	
.contact_telBox span{
	font-size:15px;
}
	
.greeting_ttl {
    font-size: 23px;
    margin-bottom: 20px!important;
}
	
p.ceo_name img {
    height: 22px;
}
	
table.company_table th, table.company_table td{
    font-size:13px;
}

table.company_table th{
	width:100px;
	padding: 15px 5px;
}
	
table.company_table td{
	padding: 15px;
}
	
.service_img, .service_txt {
    width: 100%;
}
	
.service_img {
    margin-bottom:20px;
}
	
h2.service_catch {
    text-align: center;
    margin: 20px 0 20px !important;
	font-size:23px;
	line-height:180%;
}
	
.service_mainBox {
    margin-bottom: 0 !important;
}
	
.service_box {
    margin-top: 30px !important;
}
	
.service_txt h3 {
    font-size: 22px;
    text-align: center;
}
	
.service_txt {
    padding-left: 15px;
    padding-right: 15px;
}
	
p.s_txt {
    font-size: 13px;
}

.service_child {
    margin-bottom: 40px;
}
	
#service01, #service02, #service03 {
    padding-top: 80px;
    margin-top: -80px;
}
	
.page-header-title, h1.page-header-title {
    font-size: 22px;
}
	
.page-header {
    min-height: 90px;
}
}

@media(max-width:576px){
.home .vk_posts.vk_posts-postType-works{
	padding-left:15px;
	padding-right:15px;
}	
	
.home .vk_posts.vk_posts-postType-works .vk_post-col-lg-3 {
	width: 100%;
	margin: 0 0 30px 0;
}

.home .vk_posts.vk_posts-postType-works .vk_post-col-lg-3:nth-of-type(4) {
	margin-right:0;
	margin-bottom:0;
}

.home .vk_posts.vk_posts-postType-works .vk_post-col-lg-3:nth-of-type(3) {
	margin-bottom:30px;
}
	
.home .vk_posts.vk_posts-postType-works .vk_post-col-lg-3:nth-of-type(even) {
	margin-right:0;
}
	
ul.service_link li a {
	height: 160px;
}

.site-header--layout--nav-float .site-header-logo {
    width: 200px;
}	
	
h2.side_h2 {
    font-size: 17px;
}
	
}