@charset "UTF-8";

/* =============================================
	mobile menu settings
=============================================　*/
/* Mobile Menu Button */
#menu-button{
	visibility:hidden;
	opacity:0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: fixed;
	z-index: 900;
	top: 0;
	right: 0;
	width: 48px;
	height: 48px;
	background-color: #fafafa;
}
#menu-button.nav-on {
	visibility:visible;
	opacity:1;
}
#menu-button .ham-lines {
	position: relative;
	margin: 0 auto;
	width: 38px;
	height: 14px;
}
#menu-button .ham-lines span,
#menu-button .ham-lines::before,
#menu-button .ham-lines::after {
	position: absolute;
	display: block;
	right: 0;
	left: 0;
	margin: 0 auto;
	width: 38px;
	height: 2px;
	background-color: #111;
	border-radius: 1px;
}
#menu-button .ham-lines span {
	bottom: 15px;
	transition: all .25s .25s;
	opacity: 1;
}
#menu-button .ham-lines::before,
#menu-button .ham-lines::after {
	content: "";
}
#menu-button .ham-lines::before{
	bottom: 10px;
	animation: menu-bar01 .75s forwards;
}
#menu-button .ham-lines::after {
	bottom: 2px;
	animation: menu-bar03 .75s forwards;
}
#menu-button .ham-text {
	font-size: max(0.625vw, 12px);
	line-height: 1;
}
#menu-button.is-active .ham-lines span {
	opacity: 0;
}
#menu-button.is-active .ham-lines::before {
	animation: active-menu-bar01 .5s forwards;
}
#menu-button.is-active .ham-lines::after {
	animation: active-menu-bar03 .5s forwards;
}
@keyframes menu-bar01 {
	0% {
		transform: translateY(4px) rotate(45deg);
	}
	50% {
		transform: translateY(4px) rotate(0);
	}
	100% {
		transform: translateY(0) rotate(0);
	}
}
@keyframes menu-bar03 {
	0% {
		transform: translateY(-4px) rotate(-45deg);
	}
	50% {
		transform: translateY(-4px) rotate(0);
	}
	100% {
		transform: translateY(0) rotate(0);
	}
}
@keyframes active-menu-bar01 {
	0% {
		transform: translateY(0) rotate(0);
	}
	50% {
		transform: translateY(4px) rotate(0);
	}
	100% {
		transform: translateY(4px) rotate(45deg);
	}
}
@keyframes active-menu-bar03 {
	0% {
		transform: translateY(0) rotate(0);
	}
	50% {
		transform: translateY(-4px) rotate(0);
	}
	100% {
		transform: translateY(-4px) rotate(-45deg);
	}
}
/* Mobile Menu Button end */

/* =============================================

	Common settings

============================================= */
/* table border and paddings */
table th,
table td{
	border: 1px solid #424242;
	padding: 10px;
}

/* =============================================

	Media Query

============================================= */
@media screen and (max-width: 1400px) { /* for iPad pro landscapes */

}

@media screen and (max-width: 1180px) { /* for tablet landscapes */

	#pagewrap {
		position: relative;
		padding-bottom: 0px;
	}

	#header.header {
		padding-top: 0;
	}

	/* module menu button visible */
	#menu-button{
		visibility:visible;
		opacity:1;
	}
	
	/* Mobile Menu Container ここを調整すると、メニューボタンクリック後の動作を調整できる */
	#main-menu-container {
		position: fixed;
		z-index: 700;
		top: 0;
		left: -100vw;
		right: auto;
		bottom: auto;
		overflow-y: auto;
		background-color: #f1f1f1;
		display:block;
		width: 100vw;
		height: 100vh;
		transition: .3s linear;
	}
	#main-menu-container.is-active{
		left: 0;	
	}
	/* Mobile Menu Container ここを調整すると、メニューボタンクリック後の動作を調整できる */

}

@media screen and (max-width: 1024px) { /* for tablet landscape */

	/* style for contact forms, if do not use to delete please
	コンタクフォームのテーブル調整　不要なら消す*/
	.wpcf7 table tr th,
	.wpcf7 table tr td{
		width:100%;
		display:block;
		padding: 10px 0px;
	}
	.wpcf7 table tr th{
		padding-bottom:0;
	}
	/* style for contact forms, if do not use to delete please
	コンタクフォームのテーブル調整　不要なら消す*/
	body .v_company3.module .module-title:after{
/* 		left: 17vw; */
	}
	body #pagewrap .fixed_txt_over{
	position: relative;
    margin-left: auto;
}

}

@media screen and (max-width: 980px) { /* for mobile landscape */
	#pc-backtop {
		display: none;
	}
	#footer .sp-footer-icons-container {
		display: flex;
	}
}

@media screen and (max-width: 820px) { /* for tablet portrate */
	#pc-backtop {

	}
	#footer .sp-footer-icons-container {

	}
}

@media screen and (max-width: 768px) { /* for mobile  */
	

}

@media screen and (max-width: 460px) { /* for mobile small  */
	

}





#pagewrap .pagenav,
.row_top_greeting .row_inner{
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: -o-flex;
	display: flex;
}
.row_top_main > .row_inner,
.module.slider_works .module_row .tb-column{
	-webkit-align-content: flex-end; 
    -moz-align-content: flex-end; 
    -ms-align-content: flex-end; 
	align-content: flex-end;
}
.row_top_main > .row_inner,
.module.slider_works .module_row .tb-column{
	-webkit-align-items: flex-end; 
    -moz-align-items: flex-end; 
    -ms-align-items: flex-end; 
	align-items: flex-end;
}
#pagewrap .pagenav{
    -webkit-align-items: center; 
    -moz-align-items: center; 
    -ms-align-items: center; 
	align-items: center;
}
#pagewrap .pagenav{
	-webkit-justify-content: center;
	-moz-justify-content: center;
	-ms-justify-content: center;
	justify-content: center;
}
.row_top_greeting .row_inner{
	-webkit-justify-content: space-between;
	-moz-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
}
#pagewrap .pagenav{
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
/*--------------------------------- PAGE ---------------------------------*/
*{box-sizing: border-box;}
#pagewrap .pagewidth .module_row:not(.submain){
    width:1200px;
	max-width:94%;
	margin-left:auto;
	margin-right:auto;
	width: max(62.500vw, 1100px);
}
body #pagewrap .pagewidth:not(.header) {
    width:100%;
	max-width:100%;
	margin-left:auto;
	margin-right:auto;
}
/* #pagewrap .pagewidth{
    width:1200px;
	max-width:94%;
	margin-left:auto;
	margin-right:auto;
	width: max(62.500vw, 1200px);
} */
body:not(.home) #pagewrap .pagewidth .module_row.fullwidth .row_inner,
body #pagewrap .pagewidth .module_row.fullwidth_row_container .row_inner {
    width: max(62.500vw, 1100px);
}
#pagewrap .pagewidth .module_row.fullwidth_row_container.row_top_recruit .row_inner {
	width: 45%;
}
body.home #pagewrap .pagewidth .module_row.fullwidth,
body #pagewrap .pagewidth .module_row.fullwidth_row_container {
    width: 100%;
    max-width: 100%;
}
#header.pagewidth{
	width:auto;
	max-width:none;
}
#footer.pagewidth{
    width: max(62.500vw, 1200px);
}
#pagewrap{
	background:#fff;
	color:#242424;
}
img{vertical-align:top;}

.module .image-wrap > a{
	display:inline-block;
	vertical-align:top;
}
#pagewrap a img,
#pagewrap a,
#pagewrap a:hover,
#pagewrap a:active,
#pagewrap a:visited,
.main-menu-container #main-menu > li > a:before,
.main-menu-container #main-menu > li > a:after,
.main-menu-container #main-menu ul,
#pagewrap .pagenav a:before,
#pagewrap .pagenav a:after,
body .module .wpcf7 input[type=submit],
#pagewrap #main-menu-container,
#pagewrap .row_top_about .sub_column{
	transition: all 0.5s cubic-bezier(.165,.84,.44,1);
}
a:hover img:not(.module .image-wrap img),
.module .image-wrap > a:hover{
	opacity:0.7;
}
#pagewrap a,
#pagewrap a:hover,
#pagewrap a:active,
#pagewrap a:visited{
	text-decoration:underline;
	color:#242424;
}
#pagewrap a:hover{
	text-decoration:none;
}
#pagewrap a:focus{outline: none;}

#main-menu:before,
#main-menu:after,
#content:before,
#content:after,
.module .wpcf7:before,
.module .wpcf7:after{
    content:'';
    display:table;
    clear:both;
}

/*--------------------------------- END PAGE ---------------------------------*/
/*--------------------------------- HEADER ---------------------------------*/
#headerwrap{
/* 	width:1100px; */
	width: 100%;
	max-width:94%;
	margin:0 auto;
	position:relative;
	z-index:999;
}
#headerwrap #header.header{
    padding:35px 0 0;
/* 	position:absolute; */
	position: fixed;
	top:0;
	left:3%;
}
.header-brand-container{}
#header #site-logo{
    margin:0;
    line-height:1;
}
#header #site-logo a{
    display:inline-block;
    vertical-align: top;
}
@media screen and (min-width: 1181px) {

    .main-menu-container #main-menu{
		padding:22px 0 0;
        margin:0;
    }
    .main-menu-container #main-menu > li{
        display:block;
        margin: 0;
        position: relative;
    }
    .main-menu-container #main-menu > li > a{
        display:block;
		font-size: max(0.781vw,15px);
		line-height:2.1;
		text-decoration:none;
		color:#fff;
		font-weight:500;
    }
    .main-menu-container #main-menu > li:hover > a{
		opacity:0.7;
    }

}



/*--------------------------------- END HEADER ---------------------------------*/
/*--------------------------------- FOOTER ---------------------------------*/
#footerwrap{
	background:#007CC3;
}
#nendebcopy{
	display:none;
}
#footerwrap .widget{
    margin-bottom: 0;
}
.footer_nav ul.ui.nav{
	display:block;
	max-width: max(19.270vw, 370px);
	column-count:2;
	column-gap:30px;
}
.footer_nav ul.ui.nav li{
	display:block;
	font-size: max(0.833vw, 16px);
	line-height:2.1;
	margin:0 0 7px;
}
#pagewrap .footer_nav ul.ui.nav li a{
	display:inline-block;
	vertical-align:top;
	line-height:inherit;
	text-decoration:none;
	border-radius:0;
	padding:0;
}
.footer_nav ul.ui.nav li a:hover{
	opacity:0.7;
}
.copyright-container{
    padding:15px 0 33px;
	max-width: max(62.50vw, 1200px);
    margin: 0 auto;
}
.copyright-container .copyright{
	display:block;
    font-size: max(0.469vw, 9px);
	letter-spacing:0.05em;
	color:#fff;
}
.copyright-container span:not(.copyright){
	line-height:1;
}
body #pc-backtop{
	bottom:40px;
	right:40px;
	width:auto;height:auto;
}
body #pc-backtop.is-visible:hover{
	opacity:1;
}
#pagewrap #pc-backtop a{
	width:auto;
	border:1px solid #fff;
	border-width: max(0.052vw, 1px);
	border-radius:50%;
	color:#fff;
	text-decoration:none;
	font-size: max(0.625vw, 12px);
	font-family: "altivo", sans-serif;
	width:max(6.250vw, 120px);
	height:max(6.250vw, 120px);
	display:flex;
	align-items:center;
	justify-content:center;
}
body.tb_responsive_mode #footerwrap .f-con{
    position: fixed;
    bottom:0;
    width:100%;
}

/*--------------------------------- END FOOTER ---------------------------------*/
body .module.fc_en_mid .sub-head:before,
.module.fc_service .main-head:before,
.row_top_about .sub_column:before,
.module.slider_works .tf_carousel_nav_wrap:before{
	content:'';
	display:block;
	position:absolute;
	top:0;bottom:0;
	left:0;right:0;
	pointer-events:none;
}





/*--------------------------------------------------
- TITLE -
--------------------------------------------------*/
.module.tit_0 .module-title{margin-bottom: 0;}
.module.tit_5 .module-title{margin-bottom: 5px;}
.module.tit_10 .module-title{margin-bottom: 10px;}
.module.tit_15 .module-title{margin-bottom: 15px;}
.module.tit_20 .module-title{margin-bottom: 20px;}

#pagewrap .m_fff a,
#pagewrap .m_fff a:hover,
#pagewrap .m_fff a:active,
#pagewrap .m_fff a:visited,
#pagewrap .m_fff,
#pagewrap .m_fff .module-title,
#pagewrap .m_fff .fancy-heading,
#pagewrap .tit_fff .module-title,
#pagewrap .tit_fff .fancy-heading{
	color:#fff;
}

.module .module-title,
body .module .fancy-heading{
    font-size: max(0.729vw,14px);
    line-height:1.4;
	letter-spacing:0;
	font-weight:normal;
    color:#242424;
	margin-bottom: 0;
}
.module .fancy-heading{
	margin:0;
}

.module.top_main_tit .module-title{
	font-size: max(1.1979vw, 23px);
	letter-spacing:0.06em;
	padding:0 10px;
}
.module.fc_en_mid .fancy-heading{
	color:#007CC3;
}
.module.fc_en_mid .main-head{
    font-size: max(3.958vw, 76px);
	line-height:1;
	letter-spacing:0.01em;
	font-family: "open-sans", sans-serif;
	padding:0 0 12px;
	font-weight:bold;
}
.module.fc_en_mid .sub-head{
    font-size: max(0.833vw, 16px);
	letter-spacing:0.1em;
    padding:0 0 0 max(4%, 50px);
	margin:0;
	position:relative;
	font-weight:bold;
}
body .module.fc_en_mid .sub-head:before{
	width: max(2.08vw, 40px);
	max-width:100%;
	border-top:1px solid #007CC3;
	border-top-width: max(0.052vw, 1px);
	padding:0;
	top:auto;bottom:50%;
	right:auto;
}
body .m_fff .module.fc_en_mid .sub-head:before,
body .module.fc_en_mid.tit_fff .sub-head:before{
	border-color:#fff;
}
.module.tit_c_en .module-title{
	font-size: max(3.688vw, 71px);
	line-height:1;
	text-align:center;
	font-family: "open-sans", sans-serif;
}
.module.fc_en .main-head{
    font-size: max(5.781vw, 111px);
	line-height:1;
	font-family: "open-sans", sans-serif;
	text-shadow: 4px 6px 10px #333;
}
.module.fc_en .sub-head{
    font-size: max(1.1979vw, 23px);
	letter-spacing:0.05em;
    padding: max(4%, 20px) 0 0;
	margin:0;
	font-weight:500;
}
.module.fc_en_s .main-head{
    font-size: max(5.208vw, 100px);
	line-height:1;
	letter-spacing:0.05em;
	font-family: "open-sans", sans-serif;
}
.module.fc_en_s .sub-head{
    font-size: max(0.833vw, 16px);
	letter-spacing:0.05em;
    padding:10px 0 0;
	margin:0;
}
.module.fc_service .fancy-heading{
/* 	max-width:max(45.313vw, 870px); */
	overflow:hidden;
}
.module.fc_service .main-head,
.module.fc_service .sub-head{
    font-size:max(4.427vw, 85px);
	line-height:1;
	font-family: "open-sans", sans-serif;
	font-weight:bold;
}
.module.fc_service .main-head{
	display:inline-block;
	vertical-align:top;
	position:relative;
	z-index:1;
	margin-right:35%;
	margin-bottom:2%;
}
.module.fc_service .main-head:before{
	z-index:1;
	top:66%;
	left:64%;
	width:min(32.81%,183px);
	height:77px;
	background:url(../../uploads/top_service_andbbb.png)right bottom no-repeat;
	background-size:contain;
/* 	content:none; */
}
.module.fc_service .sub-head{
/* 	float:right; */
	padding:0;
	margin-left: 10%;
/* 	margin:max(-1.171875,-9px) 0 0; */
}
.module.tit_fc .main-head{
    font-size: max(0.573vw, 11px);
	font-family: "altivo", sans-serif;
}
.module.tit_fc .sub-head{
    font-size: max(1.1979vw, 23px);
	letter-spacing:0.1em;
    padding: max(0.5%, 3px) 0 0;
	margin:0;
}
/*0911修正分*/
body .row_top_recruit .top_txt_r{
	font-weight:500;
}

/*--------------------------------------------------
- TEXT -
--------------------------------------------------*/
.module p{
	overflow:hidden;
}
.module p:last-child,
.module ul:last-child,
.module ul li:last-child,
.module .ui.module-accordion,
#pagewrap .module .module-accordion > li:last-child{
    margin-bottom: 0;
}
.module.module-buttons .module-buttons-item{
	max-width:100%;
	vertical-align: top;
}
/* .module-buttons a.ui.builder_button:hover{opacity:0.7;} */
.module-buttons a span{
	margin:0;
	vertical-align:top;
	font-size: 100%;
}
.module ul{
 	margin-top:0;
}
.module.anchor_load ul{
	text-align:center;
	line-height:1;
	margin:0;
}
.module.anchor_load ul li{
	display:inline-block;
	vertical-align:top;
	line-height:1;
	margin:0 0 10px;
	border-right:1px solid #000;
}
.module.anchor_load ul li:last-child{
	border:none;
}
.module.anchor_load ul li a{
	padding:0 10px;
}
#pagewrap .pagenav{
    padding: 0;
	text-align:center;
}
#pagewrap .pagenav a,
#pagewrap .pagenav span{
	padding: 10px 0 0;
	text-decoration: none;
	color:#000;
	min-width:50px;
	min-height:50px;
	border:1px solid #000;
	background:none;
	border-radius:0;
	margin:0 0 0 0px;
}
#pagewrap .pagenav .current,
#pagewrap .pagenav a:hover{
	background:#000;
	color:#fff;
}
#pagewrap .pagenav a:hover:before,
#pagewrap .pagenav a:hover:after{
	border-top-color:#fff;
}
#pagewrap .pagenav a.firstp:hover:before,
#pagewrap .pagenav a.firstp:hover:after,
#pagewrap .pagenav a.prevp:hover:before{
	border-left-color:#fff;
}
#pagewrap .pagenav a.lastp:hover:before,
#pagewrap .pagenav a.lastp:hover:after,
#pagewrap .pagenav a.nextp:hover:before{
	border-right-color:#fff;
}

.module.top_main_tit{
	font-size: max(5.469vw, 105px);
	line-height:1;
	letter-spacing:0.03em;
	font-family: "open-sans", sans-serif;
	padding-right:calc(21px + 3vw);
}
.module.btn_scroll .module-buttons-item{
    width:auto;
}
#pagewrap .module.btn_scroll a.ui.builder_button{
    display:block;
	font-size: max(0.781vw, 15px);
    line-height:1;
	letter-spacing:0.05em;
    color:#fff;
    text-align: end;
	font-family: "altivo", sans-serif;
	text-decoration:none;
	writing-mode: tb-lr;
    -moz-writing-mode: vertical-lr;
    -o-writing-mode: vertical-lr;
    -webkit-writing-mode: vertical-lr;
    writing-mode: vertical-lr;
/* 	border-left:1px solid #fff; */
	padding: max(2vw, 45px) 0 0 max(0.5vw, 5px);
	position: relative;
	overflow: hidden;
}



.module.top_greeting_tit{
	font-size: max(2.344vw, 36px);
	line-height:1.6;
	letter-spacing:0.06em;
}
.module[class*="btn_arrow_"] .module-buttons-item{
    width:max(7.552vw, 145px);
}
#pagewrap .module[class*="btn_arrow_"] a.ui.builder_button{
    display:block;
	font-size: max(0.625vw, 12px);
    line-height:2.1;
	letter-spacing:0.05em;
    color:#242424;
    text-align:center;
	font-family: "altivo", sans-serif;
	text-decoration:none;
	background:#fcfcfc;
	border:1px solid #dadcde;
	border-radius:50px;
	padding: max(6%, 8px) max(21%, 45px) max(5%, 7px) max(2%, 15px);
	transition: color 0.1s ease;
}
#pagewrap .module.btn_arrow_blue a.ui.builder_button{
	color:#fff;
	background:#007cc3;
	border-color:#007cc3;
}
.module[class*="btn_arrow_"] a.ui.builder_button:before{
	content:'';
	display:block;
	width:25px;height:24px;
	background:url(../../uploads/btn_more.png)center center no-repeat;
	border-radius:50%;
	position:absolute;
	top:50%;
	right:10px;
	margin-top:-12px;
}
.module.btn_arrow_blue a.ui.builder_button:before{
	width:23px;height:22px;
	background-image:url(../../uploads/btn_more_blue.png);
	border:1px solid #fff;
}
.module.top_service_tit{
	padding:38% 4% calc(4px + 38%);
	margin-right:max(-8.333vw,-10%);
}
#pagewrap .module.btn_banner,
#pagewrap .module.btn_banner a.ui.builder_button{
	display:block;
	position:absolute;
	z-index:1;
	top:0;bottom:0;
	left:0;right:0;
	opacity:0;
}

/*--------------------------------------------------
- IMAGE -
--------------------------------------------------*/
.module .image-wrap{
    display: block;
    line-height:1;
}
.module:not(.auto_fullwidth) .image-wrap img{
	width:auto;
	max-width:100%;
}
.row_top_fv.row_top_greeting .row_inner .image-wrap img {
	width:100%;
}
.module.img_right,
.module.img_r{
    text-align: right;
}
#pagewrap .module-image .image-content{
	padding:0;
	margin:0;
}
#pagewrap .gallery .module-gallery-grid{
	grid-column-gap: 1.5%;
	grid-row-gap:0;
	margin-bottom:-1.5%;
}
.gallery,
#pagewrap .themify_builder_slider .slide-image{margin-bottom:0;}
#pagewrap .gallery .gallery-item{margin-bottom:1.5%;}
#pagewrap .gallery-columns-2 .gallery-item{margin-bottom:3.046%;}
#pagewrap .gallery-columns-3 .gallery-item{margin-bottom:4.64%;}
#pagewrap .gallery-columns-4 .gallery-item{margin-bottom:6.283%;}
#pagewrap .gallery-columns-5 .gallery-item{margin-bottom:7.98%;}
#pagewrap .gallery-columns-6 .gallery-item{margin-bottom:9.73%;}
#pagewrap .gallery-columns-7 .gallery-item{margin-bottom:11.54%;}
#pagewrap .gallery-columns-8 .gallery-item{margin-bottom:13.408%;}
#pagewrap .gallery-columns-9 .gallery-item{margin-bottom:15.34%;}
.module.module-gallery .gallery-icon{cursor:auto;}
.module.module-gallery .gallery-icon img{width:auto;}
#pagewrap .gallery .gallery-caption{
	font-size:100%;
	line-height:2.15;
	font-weight:bold;
	margin:12px 0 -9px;
}
#pagewrap .row_top_fv{
	padding:10% 0 9%;
}
.module.top_greeting_img01{
	width:79.23%;
	margin-bottom:15.7%;
}
.module.top_greeting_img02{
	width:62.6%;
	margin-left:auto;
}
.module.slider_works .slide-content{
	font-size: max(0.781vw, 15px);
	letter-spacing:0.1em;
	padding:0;
	position:relative;
	font-weight:400;
}
.module.slider_works .slide-content:before,
.module.slider_works .themify_builder_slider:before{
	display:block;
	position:absolute;
	z-index:1;
	bottom:50%;
	left:0;right:0;
	width:100%;
/* 	max-width:94%; */
/* 	margin:0 auto 17px; */
	font-size:max(3.906vw, 75px);
	line-height:1;
	font-family: "open-sans", sans-serif;
	font-weight:bold;
	text-align:center;
}
.module.slider_works .themify_builder_slider:before{
	content:'';
}
#pagewrap #content .module.slider_works .module_row > .row_inner{
	width:100%;
/* 	max-width:94%; */
	margin:0 auto;
}
.module.slider_works .module_row .tb-column{
	align-items: center;
    justify-content: center;
    display: flex;
}
.module.slider_works .tf_carousel_nav_wrap{
	margin:0;
}
/* .module.slider_works .tf_carousel_nav_wrap:before{
	top:auto;bottom:50%;
	max-width:max(5.208vw, 65px);
	border-top:1px solid #fff;
	border-top-width: max(0.052vw, 1px);
	margin:0 auto;
	transform: translateX(0%);
} */
#pagewrap .module.slider_works .carousel-prev, 
#pagewrap .module.slider_works .carousel-next{
	z-index:2;
	left:auto;right:50%;
	font-size: max(0.521vw, 10px);
	background:none;
	padding:17px 17px 19px;
	margin:0px 3.5% 0 0;
	transform:none;
}
#pagewrap .module.slider_works .carousel-next{
	left:50%;right:auto;
	margin-left: 3.5%;
	margin-right:0;
}
/* #pagewrap .module.slider_works .carousel-prev:hover, 
#pagewrap .module.slider_works .carousel-next:hover{
	background:#242424;
} */
.module.slider_works .carousel-prev:before, 
.module.slider_works .carousel-next:before{
	width:max(0.417vw, 8px);height:max(0.417vw, 8px);
	border-width:0 2px 2px 0;
	border-width: 0 max(0.10vw, 2px) max(0.10vw, 2px) 0;
	margin-left:5px;
	box-shadow: 1px 1px 1px #555;
}
.module.slider_works .carousel-next:before{
	margin-left:0;
	margin-right:5px;
}
.module.slider_works .tf_carousel_bullets{
	position:absolute;
	z-index:2;
	bottom: calc(60px + 30px + 33px);
	left:3%;right:3%;
	font-size: max(0.521vw, 10px);
	line-height:1;
}
.module.slider_works .tf_carousel_bullets .tf_carousel_bullet{
	width:max(0.625vw, 12px);height:max(0.625vw, 12px);
	margin: 0 max(0.4%, 5px);
	border-width: max(0.052vw, 1px);
	box-shadow: 1px 1px 3px #333;
}
.module.slider_works .tf_carousel_bullets .tf_carousel_bullet:hover, 
.module.slider_works .tf_carousel_bullets a.selected{
	border-width: max(0.313vw, 6px);
}
.top_fade_slider{
	height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.top_fade_slider .module-title{
    font-size: max(3.906vw, 63px);
    display: flex;
    flex-direction: column;
    font-weight: 600;
	font-family: "DIN Alternate Bold";
	justify-content: center;
    align-items: center;
	line-height:1;
	text-shadow: 1px 1px 1px #333;
}
.top_fade_slider .module-title span{
	font-size: max(1.302vw, 20px);
	letter-spacing: 0.05em;
	border-top:1px solid #fff;
	width:fit-content;
	padding-top: 21px;
	border-top-width: max(0.052vw, 1px);
}
.top_fade_slider .tb_text_wrap{
	position:absolute;
	left:0;
	right:0;
	bottom: calc(60px + 30px + 33px + 33px);
}
body .slider_service_txt .tb_text_wrap{
	position: relative;
    bottom: auto;
    font-size: max(1.458vw, 28px);
    font-family: "Noto Sans JP", sans-serif;
    font-weight: bold;
    line-height: 1.5;
}
.top_fade_slider.slider_service_txt .module-title{
    font-size: max(3.688vw, 37px);
    display: flex;
    flex-direction: column;
    font-weight: 600;
	font-family: "open-sans", sans-serif;
	padding-bottom:5px;
	margin-bottom:21px;
	text-shadow: 4px 6px 10px #333;
}
.row_top_works h3.slide-title{
	display:none;
}

/*--------------------------------------------------
- MODULE - BACKGROUND - BORDER -
--------------------------------------------------*/
.module iframe{display:block;margin:0 auto;}
#pagewrap .module_column:not(.top_fvfix).first{margin-left:0;}
#pagewrap .module-layout-part .module_column{min-height:auto;}
.row_overflow{
	overflow:hidden;
}
.module_row .row_inner{
	width:100%;
	max-width:100%;
}

.bg_dark{background-color:#242424;}
.bg_blue{background-color:#007CC3;}

.row_top_main{
/* 	min-height:min(66.67vw,800px); */
	height:100vh;
}
#pagewrap #content .row_top_main > .row_inner{
	width:94%;
/* 	max-width:1100px; */
	margin:0 auto;
}
#pagewrap .row_top_main .btn_scroll{
	position:absolute;
	z-index:1;
	bottom:60px;
	right:0;
}
.row_top_greeting .tb-column.first{
	width: calc(50vw / 1.5);
    margin: 0 0 0 10.5vw;
}
#pagewrap .row_top_fv .row_inner{
	width: 100vw;
    justify-content: center;
    align-items: flex-start;
    gap: calc(25vw / 5);
}
.row_top_greeting .tb-column.last{
	width: calc(50vw / 1.5);
    padding: 0 10.5vw 0 0;
	margin-left: 0%;
}
#pagewrap .row_top_greeting{
	background:linear-gradient(to top,#fff,#2e95cf 447px,#0162b3 1718px);
}
#pagewrap .row_top_news{
	background:linear-gradient(to bottom,#fff,#53a7d6 365px,#017cc2 857px);
}
.row_top_recruit > .row_inner{
/* 	width:490px; */
	width: max(25.521vw, 490px);
	margin-right:0;
}
.row_top_about .module_subrow{
	width:auto;
}
.row_top_about .sub_column{
	padding:61.56% 58px 21px 30px;
}
.row_top_about .sub_column:hover{
	opacity:0.7;
}
.row_top_about .sub_column:before{
	top:auto;bottom:25px;
	left:auto;right:15px;
	width:28px;height:28px;
	background:url(../../uploads/arrow.png)center center no-repeat;
	border-radius:50%;
	height: max(1.46vw, 28px);
	width: max(1.46vw, 28px);
	background-size: cover;
	bottom: 5%;
    right: 3%;
}
#pagewrap .row_top_works .module[class*="btn_arrow_"]{
	position:absolute;
	z-index:1;
	bottom:60px;
	left:0;right:0;
}
#pagewrap .row_top_works_tit .module[class*="btn_arrow_"]{
	position:absolute;
	z-index:1;
	bottom:0;
	left:0;right:0;
	width:500px;
	max-width:50%;
	margin-left:auto;
}
.row_top_works_tit .module[class*="btn_arrow_"]{
/* 	padding:0 min(3vw,20px) 0 0;
	margin-right:max(-8.333vw,-20%); */
}

/*--------------------------------------------------
- TABLE -
--------------------------------------------------*/
.module table{
	width:100%;
    border-collapse: collapse;
}
.module table tr td,
.module table tr th,
.module .wpcf7 table tr td,
.module .wpcf7 table tr th{
	display:table-cell;
	width:auto;
	border:1px solid #000;
	padding:10px;
}
.module table tr th{
	text-align:left;
}
.module table tr th:first-child{
    width:200px;
}
body .module .wpcf7 input[type=submit]{
	font-size: max(1.042vw, 20px);
	line-height:1.4;
	color:#fff;
	background:#ee4815;
	border-radius:0;
	margin:40px auto 5px;
	display:block;
	font-family: 'YuGothic', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', 'Meiryo', 'ＭＳ ゴシック', sans-serif;
}
.module .wpcf7 .wpcf7-spinner{
	display:block;
	margin:0 auto;
}
.module .wpcf7 form .wpcf7-response-output{
	margin:0 0 30px;
}
.module .wpcf7 input[type=submit]:focus{outline:none;}
.module .wpcf7 input[type=submit]:hover{opacity:0.7;}
.module .wpcf7-form > p{display:block;margin:0;}
.module .wpcf7-form .ajax-loader{display:block;margin:0 auto;}
.module .wpcf7-response-output{margin:0;}
.module .wpcf7-validation-errors{border-color:#333;margin-bottom:25px;}

/*--------------------------------------------------
- POST -
--------------------------------------------------*/
.module .post-date,
.module .post-title{
    line-height: 2.1;
}
.module-post .post-title a{text-decoration: underline;}
.module-post .post-title a:hover{text-decoration: none;}
.post .entry-content > p:last-child,
.post .entry-content > img:last-child,
.module .accordion-content > img:last-child,
.module.post_news .builder-posts-wrap .post:last-of-type{
    margin-bottom:0;
}
.post .entry-content > .themify_builder_content{
	margin-bottom:-1.2em;
}

.post .entry-content img:not(.gallery img),
.module .accordion-content img:not(.gallery img){
	padding:8px 0 9px;
}
.post .entry-content img,
.module .accordion-content img{
	margin-bottom:0;
}
.post .entry-content > img,
.module .accordion-content > img{
	margin-bottom:1.2em;
}

.post .gallery {
    --galn: 1;
    --galN: 1;
    --galg: 1.5%;
    --galG: 1.5%;
    display: grid;
    column-gap: 1.5%;
    row-gap: 0;
	grid-template-columns: repeat(var(--galN),1fr);
}
.post .gallery-columns-2 {
    --galn: 2;
    --galN: 2;
}
.post .gallery-columns-3 {
    --galn: 3;
    --galN: 3;
}
.post .gallery .gallery-item{
	float:none;
	width:100%;
	text-align:center;
}
.post .gallery .gallery-item img{
	padding:0;
}

.module.post_top .builder-posts-wrap .post{
    padding:32px 0 31px;
    margin-bottom:0;
	border:1px solid #fff;
	border-width:0 0 1px;
}
.module.post_top .builder-posts-wrap .post:first-child{
	border-width:max(0.052vw, 1px) 0;
}
.module.post_top .post-date{
    float:left;
    color:#fff;
    margin:0 11.5% 0 0;
}
#pagewrap .module.post_top .post-title{
    font-size: max(0.729vw,14px);
	font-weight:normal;
    color:#fff;
    margin-bottom:0;
    overflow:hidden;
}
.home #pagewrap .module.post_top .post-title{
    font-size: max(0.781vw, 15px);
	font-weight:500;
}
#pagewrap .module.post_top .post-title a{
	text-decoration:none;
	color:#fff;
}
.module.post_top .post-title a:hover{
	opacity:0.7;
}





body.single .post{
	padding:45px 0 0;
	margin:0 0 60px;
}
body.single .post-image{
	text-align:center;
	margin:0 0 50px;
}
body.single .post-date{
	display:block;
}
body.single #pagewrap .post-title{
	line-height: 1.4;
	margin-bottom:0px;
}
body.single #pagewrap .history-back-button{
	display:block;
	text-align:center;
	width:200px;
	max-width:100%;
	margin:0 auto 100px;
	text-decoration:none;
}
body.single .history-back-button:hover{
	opacity:0.7;
}



.top_fade_slider .tb_text_wrap p{
	font-weight:500;
	text-shadow: 1px 1px 3px #333;
}

/************************************************
***************** Media Query *******************
*************************************************/
#pagewrap #menu-button,
body #pagewrap .sp-footer-icons-container a{
	color:#fff;
	background:#007cc3;
	border:none;
	text-decoration:none;
}
#pagewrap #menu-button{
	background:none;
}
body #pagewrap .sp-footer-icons-container a{
	border-top:1px solid #fff;
}
body #pagewrap .sp-footer-icons-container a span{
	font-size: max(0.833vw, 16px);
}
body #pagewrap .sp-footer-icons-container a svg{
	fill:#fff;
}
#pagewrap #menu-button{
	top:20px;
	right:20px;
	width:50px;height:50px;
}
#pagewrap #menu-button .ham-lines span,
#pagewrap #menu-button .ham-lines::before,
#pagewrap #menu-button .ham-lines::after{
	background:#fff;
}



/* scroll animation */
#pagewrap .module.btn_scroll a.ui.builder_button:before {
    content: "";
    background: #4a4848;
    display: block;
    margin-right: 8px;
    width: max(0.1vw ,2px);
    animation: scroll 2.5s linear 2s forwards infinite;
    position: absolute;
    top:0;
    left: 0;
	z-index:1;
    transform : translateX(-50%);
    height: max(7vw, 90px);
}
@keyframes scroll{
	0%   {top:-100%;}
	100% {top: 100%;}
}
#pagewrap .module.btn_scroll a.ui.builder_button:after {
    content: "";
    background: #fff;
    width: max(0.1vw ,2px);
    height: max(7vw, 90px);
	margin-right: 8px;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
	transform : translateX(-50%);
}

/* navi backtop color */
.header.light-text .main-menu-container #main-menu > li > a{
	color:#fff;
}
#pagewrap .light-text #menu-button .ham-lines::before,
#pagewrap .light-text #menu-button .ham-lines::after{
	background:#fff;
}
.header.dark-text .main-menu-container #main-menu > li > a{
	color:#007CC3;
}
#pagewrap .dark-text #menu-button .ham-lines::before,
#pagewrap .dark-text #menu-button .ham-lines::after{
	background:#1F84C6;
}
/* .header.dark-text #site-logo a, */
#pc-backtop.img_dark a{
    filter: brightness(0%) saturate(44%) invert(40%) sepia(100%) saturate(500%) hue-rotate(170deg);
}


/* main animation */
#pagewrap .module.top_main_tit .module-title.fadetxt .font-23{
	font-size: max(1.1979vw, 23px);
    letter-spacing: 0.06em;
	line-height: 1.4;
	margin-bottom:15px;
    padding: 0 10px;
}

#pagewrap .fadetxt{
	font-size: calc(15vw / 2);
	font-family: "open-sans", sans-serif;
    line-height: 1;
    letter-spacing: 0.03em;
	margin-bottom:0;
	opacity:0;
	padding:0;
	transform: translate3d(0, 0, 0);
}
.fadetxt span{
	opacity: 0;
}

/* fadeup */
#pagewrap .fadeUp .sub_column, #pagewrap .fadeUp .image-wrap, #pagewrap .fadeUp .module-text {
    visibility: hidden;
}
body.themify_builder_active #pagewrap .fadeUp .sub_column, 
body.themify_builder_active #pagewrap .fadeUp .image-wrap,
body.themify_builder_active #pagewrap .fadeUp .module-text{
    visibility: visible;
	opacity: 1;
}
#pagewrap .fadeUp .sub_column.active,
#pagewrap .fadeUp .image-wrap.active,
#pagewrap .fadeUp .module-text.active{
    animation:FadeUp 1.5s forwards;
	animation-delay:0s;
	visibility: visible;
	opacity:1;
}
@keyframes FadeUp{
	0%{
		opacity:0;
		transform: translateY(120px);
	}
	100%{
		opacity:1;
		transform: translateY(0);
	}
}



/* button hidden */
#pagewrap .module.slider_works .carousel-prev.btn_hide,
#pagewrap .module.slider_works .carousel-next.btn_hide{
	display: none;
}
.sp-br{
	display: none;
}
.module.v_post1 .post img {
    width: 100%;
}
body.archive #loops-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 31.2%);
    grid-column-gap: 3.2%;
}
body.archive #content {
    max-width: 94%;
    margin-left: auto;
    margin-right: auto;
	padding-bottom: 3%;
    padding-top: 8.5%;
    width: max(62.500vw, 1100px);
}
body.archive #loops-wrapper .post-title a {
    font-family: "Noto Sans JP", sans-serif;
    font-size: max(0.78vw, 15px);
    font-weight: 500;
    line-height: max(1.67vw, 32px);
    text-decoration: none;
}
body.archive #loops-wrapper .post-content {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}
body.archive #loops-wrapper .post-content .post-meta {
    order: 0;
}
body.archive #loops-wrapper .post-content .post-title {
    order: 1;
}
body.archive #loops-wrapper .post-content .entry-content {
    order: 2;
}
body.archive #loops-wrapper .post-content .edit-button {
    order: 3;
}
body.archive #loops-wrapper .post-content .post-meta .post-author {
    display: none;
}
body.archive #content .page-title{
	display: none;
}
body #pagewrap .menu-item a:visited{
	color:#fff;
}





@media screen and (max-width: 1180px) {
	
/* 	body #pc-backtop {
		display: none;
	} */
	#footer .sp-footer-icons-container {
		display: flex;
	}
	body #pc-backtop{
		position: static;
		margin-bottom: 50px;
		display: flex;
        justify-content: center;
	}
	body #pc-backtop img{
		margin: 0 auto;
	}
	#pagewrap #main-menu-container{
		background:#fff;
		position: fixed;
		z-index: 700;
		top: 0;
		left: 0;
		right: auto;
		bottom: auto;
		overflow-y: auto;
		display:block;
		width: 100vw;
		height: 100vh;
		opacity:0;
		visibility:hidden;
	}
	#pagewrap #main-menu-container.is-active{
		opacity:1;
		visibility:visible;
	}
	#headerwrap #main-menu-container #main-menu{
		width:100%;
		max-width:94%;
		padding:60px 0;
		margin:auto;
	}
	#pagewrap #main-menu-container .main-menu{
		text-align:left;
	}
	#pagewrap #main-menu-container .main-menu li{
		padding:0;
		margin:0;
		border-color: #333;
		float:none;
		display:block;
		text-align:left;
		line-height:1.7;
	}
	#pagewrap #main-menu-container .main-menu ul{
		margin:0 0 0 3%;
	}
	#pagewrap #main-menu-container .main-menu li a{
		display: block;
		padding: 8px 3%;
		text-decoration:none;
		color:#000;
		width: 100%;
		background: none;
		text-indent: unset;
		white-space: normal;
		height: auto;
	}
	/* --- styling --- */
	#pagewrap #main-menu-container{
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flexbox;
		display: -o-flex;
		display: flex;
		background:#007cc3;
	}
	#pagewrap #main-menu-container #main-menu{
		
	}
	#pagewrap #main-menu-container .main-menu li{
		font-size: max(0.833vw, 16px);
		line-height:2.1;
		text-align:center;
	}
	#pagewrap #main-menu-container .main-menu li a{
		color:#fff;
		padding: 10px 0;
	}
	#pagewrap #main-menu-container .main-menu ul{
		margin:0;
	}
body .module.fc_service .main-head:before {
	left: 40%;
}
	body .module.fc_service .main-head {
    margin-bottom: 5%;
}
}





@media screen and (max-width: 1200px) {
	
	.module.top_service_tit,
	.row_top_about .module_subrow,
	.row_top_works_tit .module[class*="btn_arrow_"]{
		margin-right:-3vw;
	}
	.v_company3.module .module-title:before {
		top: 2vw;
	}
}





@media screen and (max-width: 980px) {
	
	#pagewrap .module_row > .row_inner{
		max-width:100%;
	}
	/*murata*/
	
	.service-slider .slide-content{
		position: absolute;
		top: 50%;
		right: 0;
		left:0;
		padding:0;
	}
	.service-slider .slide-content .slide-title{
		color: #fff;
		font-family: "open-sans", sans-serif;
		font-size: 2.2rem;
	}
	#pagewrap .row_top_greeting .module_column{
		padding-left:0;
		padding-right:0;
	}
	#pagewrap .row_top_greeting .top_txt_r {
		padding-right:0;
	}
	body #pagewrap .row_top_fv .row_inner {
    width: 100%;
    margin: auto;
}
}





@media screen and (max-width: 768px) {

	#pagewrap .gallery .module-gallery-grid:not(.gallery-columns-1),
	.post .gallery .module-gallery-grid:not(.gallery-columns-1){
		--galn: 2;
		--galN: 2;
	}
	#pagewrap .gallery .gallery-item{
		margin-bottom:3.045%;
	}
	#pagewrap #content .gallery .gallery-item:nth-of-type(odd){
		clear:left;
	}
	#pagewrap #content .gallery .gallery-item:nth-of-type(even){
		margin-right:0;
	}
	#pagewrap .module:not(.table_scroll) > .tb_text_wrap > table:not(.shikaku) tr th,
	#pagewrap .module:not(.table_scroll) > .tb_text_wrap > table:not(.shikaku) tr td,
	#pagewrap .module .wpcf7 table tr th,
	#pagewrap .module .wpcf7 table tr td{
		display:block;
		width:100%;
	}
	#pagewrap .module:not(.table_scroll) > .tb_text_wrap > table tr th,
	#pagewrap .module:not(.table_scroll) > .tb_text_wrap > table tr:not(:last-child) td,
	#pagewrap .module:not(.table_scroll) > .tb_text_wrap > table tr:last-child td:not(:last-child){
		border-bottom:none;
	}
	.module.table_price table tr td:last-child{
		width:auto;
		white-space:unset;
	}
	.module.table_scroll:before {
		content: "※表を横に動かせます";
		display:block;
		margin:0;
		color: #f00;
	}
	.module.table_scroll .tb_text_wrap{
		overflow:auto;
	}
	.module.table_scroll table{
		width:721px;
	}
	.module.fc_service .main-head, 
	.module.fc_service .sub-head{
		font-size: min(10.3125vw,46px);
	}
	.module.fc_service .fancy-heading {
		max-width: 478px;
	}
	#pagewrap .row_top_greeting {
		background:linear-gradient(to bottom, #fff -100px, #2e95cf 140px, #0162b3 1688px);
	}
	#pagewrap .row_top_news {
		background: linear-gradient(to bottom, #fff -100px, #53a7d6 227px, #017cc2 719px);
	}
	
	
	
	/* font-size - SP */
	.module.top_greeting_tit{
		font-size: max(1.875vw, 28px);
        text-align: left;
	}
	.module.fc_en_mid .main-head,
	.module.tit_c_en .module-title{
		font-size: max(2.396vw, 46px);
	}
/* 	.module.fc_en_s .main-head{
		font-size:60px;
	} */
	.module.top_main_tit{
		font-size: max(3.125vw, 63px);
	}
	.module.fc_en_s .main-head,
	.module.fc_en .main-head{
		font-size:4rem;
/* 		font-size: clamp(30px, 50vw, 84px); */
	}
	
}





@media screen and (max-width: 680px) {
	
	#pagewrap .module_column{
		width:100%;
		margin-left:0;
	}
    #pagewrap .module.img_right .image-wrap,
    #pagewrap .module.img_left .image-wrap,
	#pagewrap .module.sp_c{
        text-align: center;
    }
	
	.row_top_greeting .row_inner{
		display:grid;
	}
	.row_top_greeting .tb-column.first > .tb-column-inner{
		max-width:414px;
		margin-left:auto;
		margin-right:auto;
	}
	.row_top_greeting .tb-column.last{
		max-width:100%;
	}
	.module.top_service_tit,
	.row_top_about .module_subrow{
		margin-left:-3vw;
	}
	#pagewrap .module.top_service_tit{
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flexbox;
		display: -o-flex;
		display: flex;
		-webkit-align-items: center; 
		-moz-align-items: center; 
		-ms-align-items: center; 
		align-items: center;
		-webkit-justify-content: center;
		-moz-justify-content: center;
		-ms-justify-content: center;
		justify-content: center;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		min-height:150vw;
		background:url(../../uploads/top_service_img_sp.jpg)center center no-repeat;
		padding-top:0;
		padding-bottom:3px;
	}
	.row_top_about .sub_column{
		padding-top:30%;
	}
	.footer_nav ul.ui.nav{
		column-count: 1;
		text-align:center;
		max-width:none;
		padding:35px 8% 35px;
		display: grid;
    	grid-template-columns: 1fr 1fr;
		grid-template-areas:
        "a e"
        "b f"
        "c g"
        "d h";
		grid-column-gap:0;
	}
	.footer_nav ul.ui.nav li{
		display:inline-block;
		vertical-align:top;
		padding:0 10px;
	}
	.footer_nav ul.ui.nav li:first-child{
		grid-area: a;
	}
	.footer_nav ul.ui.nav li:nth-child(2){
		grid-area: b;
	}
	.footer_nav ul.ui.nav li:nth-child(3){
		grid-area: c;
	}
	.footer_nav ul.ui.nav li:nth-child(4){
		grid-area: d;
	}
	.footer_nav ul.ui.nav li:nth-child(5){
		grid-area: e;
	}
	.footer_nav ul.ui.nav li:nth-child(6){
		grid-area: f;
	}
	.footer_nav ul.ui.nav li:nth-child(7){
		grid-area: g;
	}
	.footer_nav ul.ui.nav li:nth-child(8){
		grid-area: h;
	}
	.copyright-container .copyright{
		text-align:center;
	}
	.module.slider_works .module_row .tb-column{
		-webkit-align-content: flex-start; 
		-moz-align-content: flex-start; 
		-ms-align-content: flex-start; 
		align-content: flex-start;
		-webkit-align-items: flex-start; 
		-moz-align-items: flex-start; 
		-ms-align-items: flex-start; 
		align-items: flex-start;
		min-height:min(90vw,380px);
		padding-bottom:173px;
	}
	.module.slider_works .tf_carousel_bullets{
		bottom:120px;
	}
	.row_top_recruit > .row_inner{
		margin-right:auto;
	}
	#pagewrap .module.top_main_tit .module-title.fadetxt .font-23 {
		font-size: max(1.146vw, 22px);
	}
	#pagewrap .fadetxt {
		font-size: max(3.542vw, 68px);
		line-height: 75px;
	}
	#pagewrap .module_row.row_top_main{
		padding-top: unset !important;
		height: calc(100vh - 80px);
	}
	#pagewrap .row_top_main .btn_scroll{
		right: 10px;
	}
	#header #site-logo{
		width: 80%;
	}
	.module.top_main_tit{
		padding-right: 0;
        padding-left: 15px;
	}
	.module.top_greeting_img01{
		margin-bottom:0;
		width: 70%;
	}
	.module.top_greeting_img02{
		margin-top:-50px;
	}
	#headerwrap #header.header{
		left: 20px;
		padding-top: 20px;
	}
	.sp-br{
		display: block;
	}
	body .module.fc_service .main-head:before {
	height: 38px;
}
	body #pagewrap .row_top_fv {
    padding: 10% 5% 80px;
}
	body #pagewrap .row_top_fv .row_inner{
		gap:0;
	}
}

/*murata vtへ*/

body .module[class*="btn_arrow_"] a.ui.builder_button {
  display: inline-block;
  text-decoration: none;
  color: #000;
  position: relative;
  background-color: #fff;
  overflow: hidden;
  transition: background-color 0.1s ease, color 0.1s ease;
}

body .module[class*="btn_arrow_"] a.ui.builder_button::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: max(10.417vw, 200px);
  height: 200px;
  background-color: #007cc3;
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: transform .5s, background-color 0.1s ease, filter .5s;
  filter: blur(10px);
  z-index: 0;
}

body .module[class*="btn_arrow_"] a.ui.builder_button:hover::after {
  transform: translate(-50%, -50%) scale(1);
  filter: blur(0);
}

body .module[class*="btn_arrow_"] a.ui.builder_button span {
  display: inline-block;
  position: relative;
  z-index: 1;
  transition: color 0.1s ease;
}

body #pagewrap .module[class*="btn_arrow_"] a.ui.builder_button:hover {
  color: #fff;
	border:1px solid #007cc3;
	border-width: max(0.052px, 1px);
	transition: color 0.1s ease;
}

body .module[class*="btn_arrow_"] a.ui.builder_button::before {
  content: '';
  display: block;
  width: 25px;
  height: 24px;
  height: max(1.25vw, 24px);
  width: max(1.30vw, 25px);
  background: url(../../uploads/more_btn.png) center center no-repeat;
  background-size: cover;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 8%;
  margin-top: 0;
  transition: background .5s ease;
	border:1px solid #dadcde;
	border-width: max(0.052px, 1px);
	transform: translate(0, -50%);
}

body .module[class*="btn_arrow_"] a.ui.builder_button:hover::before {
	background: url(../../uploads/btn_more_blue-1.png) center center no-repeat;
	background-size: cover;
	border: 1px solid #fff;
	border-width: max(0.052px, 1px);
	transition: background .5s ease;
	z-index:1;
}
.sc-wrap{
	display:flex;
}
#fixed-container .lax-wrap{
	width:max(57.292vw, 1100px);
/* 	width:100vw; */
	height:100vh;
	margin:auto;
}
#fixed-container{
	width:max(57.292vw, 1100px);
/* 	width:100vw; */
	height:100vh;
	margin:auto;
}
.right-wrap,
.left-wrap{
	position:absolute;
	top:0px;
}
.lax-wrap .text{
	font-size: max(3.688vw, 71px);
    line-height: 1;
    text-align: center;
	color:#fff;
    font-family: "open-sans", sans-serif;
	position:absolute;
	top:0;
	width:100%;
}
.js-laxtxt{
	z-index:8;
	position:relative;
}
.js-laxtxt2{
	z-index:6;
	position:relative;
}
.js-laxtxt3{
	z-index:4;
	position:relative;
}
body  .lax-wrap .js-laxtxt4{
	z-index:2;
	position:relative;
	top:calc(27.5vh + max(3.688vw, 71px));
}
.sv-wrap .js-lax{
	background:url(../../uploads/electrical_img_l.jpg) no-repeat;
	background-size:cover;
	z-index:7;
	position:relative;
}
.sv-wrap .js-lax2{
	background:url(../../uploads/electrical_img_r.jpg) no-repeat;
	background-size:cover;
	z-index:7;
	position:relative;
}
.sv-wrap .js-lax3{
	background:url(../../uploads/communication_img_l.jpg) no-repeat;
	background-size:cover;
	z-index:5;
	position:relative;
}
.sv-wrap .js-lax4{
	background:url(../../uploads/communication_img_r.jpg) no-repeat;
	background-size:cover;
	z-index:5;
	position:relative;
}
.sv-wrap .js-lax5{
	background:url(../../uploads/civil_img_l.jpg) no-repeat;
	background-size:cover;
	z-index:3;
	position:relative;
}
.sv-wrap .js-lax6{
	background:url(../../uploads/civil_img_r.jpg) no-repeat;
	background-size:cover;
	z-index:3;
	position:relative;
}
.sv-wrap .image-half.js-lax7{
	background:url(../../uploads/solar_panel_img.jpg) no-repeat;
	background-size:cover;
	width: max(57.292vw, 1100px);
	z-index:1;
	position:relative;
}
.sv-wrap .image-half{
	width: max(28.645vw, 550px);
/* 	width:50vw; */
	height:100vh;
}
.para-inner.sv-wrap{
	width: max(57.292vw, 1100px);
    height: max(45.313vw, 870px);
    overflow: hidden;
}
#pagewrap .fixed_txt_over{
	position: relative;
}
/* *{outline:1px solid #0000FF} */
/*spのlaxjsの挙動スライダーで良ければいらない*/
.sp-sc-wrap{
	display:flex;
}
.sp-sc-wrap .right-wrap{
	position:absolute;
	top:276px;
}
#sp-fixed-container .lax-wrap{
	max-width:350px;
	height:100vh;
	overflow:hidden;
	margin:auto;
}
#sp-fixed-container{
	max-width:350px;
	height:100vh;
	overflow:hidden;
	margin:auto;
}
#sp-fixed-container .image-half{
	width:369px;
	height:276px;
	background-repeat:no-repeat;
	background-size:cover;
}
.sp-js-laxtxt{
	z-index:8;
	position:relative;
}
.sp-js-lax,
.sp-js-lax2{
	z-index:7;
	position:relative;
}
.sp-js-laxtxt2{
	z-index:6;
	position:relative;
}
.sp-js-lax3,
.sp-js-lax4{
	z-index:5;
	position:relative;
}
.sp-js-laxtxt3{
	z-index:4;
	position:relative;
}
.sp-js-lax5,
.sp-js-lax6{
	z-index:3;
	position:relative;
}
.sp-js-laxtxt4{
	z-index:2;
	position:relative;
	top:201px;
}
.sp-js-lax7,
.sp-js-lax8{
	z-index:1;
	position:relative;
}
#sp-fixed-container .lax-wrap .text{
	font-size: calc(100vw / 10);
}
.sp-js-lax{
	background:url(../../uploads/sp-sozai1.jpg);
}
.sp-js-lax2{
	background:url(../../uploads/sp-sozai2.jpg);
}
.sp-js-lax3{
	background:url(../../uploads/sp-sozai3.jpg);
}
.sp-js-lax4{
	background:url(../../uploads/sp-sozai4.jpg);
}
.sp-js-lax5{
	background:url(../../uploads/sp-sozai5.jpg);
}
.sp-js-lax6{
	background:url(../../uploads/sp-sozai6.jpg);
}
#sp-fixed-container .image-half.sp-js-lax7{
	background:url(../../uploads/sp-sozailast.jpg);
	height:552px;
}





/*
 * vuong
*/
.submain{
	text-align: center;
	padding-top: 335px;
	padding-bottom: 335px;
	position: relative;
}
.submain:before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,0.3);
}
.submain .module .module-title{
	font-family: "open-sans", sans-serif;
	font-weight: 600;
	font-size: max(3.9583vw, 76px);
	line-height: 104px;
	letter-spacing: 0.76px;
	color: white;
}
.submain .module .tb_text_wrap{
	font: normal normal normal 16px/25px Hiragino Sans;
    font-size: max(0.833vw, 16px);
	letter-spacing: 1.6px;
	color: white;
}
.v_service1.module .module-title{
	font: normal normal bold 19px/20px Noto Sans CJK JP;
    font-size: max(0.990vw, 19px);
	letter-spacing: 0.95px;
	color: #007CC3;
	margin-bottom: 20px;
	border-left: 5px solid #007CC3;
	padding-left: 10px;
}
.v_service1.module .tb_text_wrap{
	font-family: noto-sans-cjk-jp, sans-serif;
}
body.single .cat-10 .post-date,
body.single .cat-10 .post-title{
	display: none;
}
body.single .post.cat-10{
	max-width: max(41.67vw, 800px);
	margin: 0 auto;
	padding: 100px 0 0 0;
}
body.single .module .gallery-showcase-image{
	margin-bottom: 40px;
}
body.single .module.layout-showcase .gallery-images img{
	max-width: max(6.77vw, 130px);
	max-height: max(5.21vw, 100px);
}
body.single #pagewrap #content .module table tr td{
	border: 0;
	border-bottom: 1px solid #c9d3d9;
	padding: 18px 0 18px 30px;
}
body.single #pagewrap #content .module table tr td:first-child{
	font: normal normal normal 15px/30px Hiragino Sans;
    font-size: max(0.781vw, 15px);
	letter-spacing: 0px;
	color: #007CC3;
	border-color: #56c2ff;
	width: 160px;
	padding-left: 0;
}

#pagewrap .v_post1.module .post{
	margin-bottom: 50px;
}
#pagewrap .v_post1.module .post .post-date{
	font: normal normal 600 11px/15px Open Sans;
    font-size: max(0.75vw, 11px);
	letter-spacing: 0.55px;
	color: #007CC3;
	margin-top: 30px;
}
#pagewrap .v_post1.module .post .post-title{
/* 	font: normal normal normal 18px/36px Noto Sans Javanese; */
/*     font-size: max(0.938vw, 18px);
	line-height: calc(max(0.938vw, 18px) * 2);
	letter-spacing: 0.9px; */
	padding-top: max(7%, 25px);
	font-family: "Noto Sans JP", sans-serif;
    line-height: max(1.67vw, 32px);
	font-size: max(0.78vw, 15px);
	font-weight: 400;
}
#pagewrap .v_post1.module .post .post-title a{
	color: #007CC3;
	text-decoration: none;
}
body.archive #pagewrap .pagenav,
#pagewrap .v_post1 .pagenav,
#pagewrap .v_post2 .pagenav{
	padding: max(4%, 50px) 0;
}
body.archive #pagewrap .pagenav .number,
#pagewrap .v_post1 .pagenav .number,
#pagewrap .v_post2 .pagenav .number{
	padding: 0;
	background: #007CC3;
	min-width: max(1.88vw, 36px);
	min-height: auto;
	line-height: 1;
	font: normal normal bold 11px/36px Open Sans;
    font-size: max(0.75vw, 11px);
	line-height: max(1.88vw, 36px);
	letter-spacing: 1.1px;
	color: #FFFFFF;
	border: 0;
	margin: 0 7px;
}
.v_post1.module .post-image{
	margin: 0;
	text-align: center;
}
#pagewrap .v_post2.module .post-date{
	color: #007CC3;
	font-weight: 600;
}
#pagewrap .v_post2.module .post-title a{
	color: #242424;
	font-weight: 600;
}
#pagewrap .v_post2.module .post{
	border-bottom: 1px solid #c9d3d9;
}
#pagewrap .v_post2.module .post:first-child{
	border-top: 1px solid #c9d3d9;
}
.v_btn1.module{
	text-align: center;
}
#pagewrap .v_btn1 a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	font-size: max(0.625vw, 12px);
	line-height :1;
	letter-spacing: 0.6px;
	color: #FFFFFF;
	background: #007CC3;
	padding: 10px 17px;
	text-decoration: none;
	border-radius: 50px;
	font-family: "altivo", sans-serif;
}
#pagewrap .v_btn1 a:after{
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	background: url(../../uploads/back_btn.png) center no-repeat;
	border-radius: 100%;
	border: 1px solid white;
	margin: 0 0 0 20px;
}
body.single .v_btn1{
	padding: 60px 0 100px 0;
}
body.single .post.cat-9{
	max-width: 800px;
	margin: 0 auto;
	padding: 100px 0 0 0;
}
body.single .cat-9 .post-date{
	letter-spacing: 0.7px;
	color: #007CC3;
	font-size: max(0.729vw,14px);
	line-height: 1;
	font-weight: 600;
	font-family: "open-sans", sans-serif;
}
body.single #pagewrap .cat-9 .post-title{
	letter-spacing: 1.25px;
	color: #101010;
	font-size: max(1.302vw, 25px);
	line-height: max(1.563vw, 30px);
	font-weight: normal;
	margin: 0 0 25px 0;
	padding: 20px 0;
	border-bottom: 1px solid #C9D3D9;
}
body.single .post:not(.cat-9) figure.post-image{
	display: none;
}
.v_sdg1.module{
	text-align: center;
	font-size: max(1.8229vw,35px);
	line-height: 1.4;
	letter-spacing: 1.75px;
	color: #007CC3;
	font-weight: 500;
}
.v_sdg2.module .tb_text_wrap{
	line-height: 20px;
	font-size: max(0.781vw, 15px);
	color: #EC6A07;
	font-family: "open-sans", sans-serif;
	display: inline-block;
	padding: 0 15px;
	border: 2px solid #EC6A07;
}

.v_sdg_row1 .v_sdg2.module .tb_text_wrap{
	border-color: #F5A20B;
	color: #F5A20B;
}
.v_sdg_row2 .v_sdg2.module .tb_text_wrap{
	border-color: #D39206;
	color: #D39206;
}

.v_company1.module{
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.v_company1.module .module-title{
	margin: 0 15px 0 0;
	letter-spacing: 0.75px;
	color: #007CC3;
	font-size: max(0.781vw, 15px);
	line-height: 1;
}
.v_company1.module .tb_text_wrap{
	letter-spacing: 1.75px;
	color: #101010;
	font-size: max(1.8229vw,35px);
	line-height: 1;
	font-family: 'ackaisyo';
}
.v_company2.module table tr td{
	border: 0;
	border-bottom: 1px solid #c9d3d9;
	padding: 18px 0;
	vertical-align: top;
}
.v_company2.module table tr td:first-child{
	font: normal normal normal 15px/30px;
    font-size: max(0.781vw, 15px);
	letter-spacing: 0px;
	color: #007CC3;
	border-color: #56c2ff;
	width: 180px;
}
.v_company3.module{
	display: flex;
	position: relative;
	align-items: flex-start;
	padding-bottom: 40px;
	max-width: 700px;
	margin: 0 auto;
}
.v_company3.module .module-title:before{
	content: "";
	display: block;
	width: 1px;
	background: #01456D;
	position: absolute;
	top: 20px;
	left: 142px;
	bottom: -30px;
}
.v_company3.module .module-title{
	line-height: 1;
	position: relative;
	letter-spacing: 0.8px;
	font-size: max(2.083vw, 40px);
	color: #9AD8E8;
	font-weight: bold;
	margin: 0 45px 0 0;
	padding: 0 45px 0 0;
	white-space: nowrap;
}
.v_company3.module .module-title:after{
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	background: #01456D;
	border-radius: 100%;
	position: absolute;
	top:50%;
	right: 0;
	transform: translate(50%, -50%);
}
.v_company3.module .tb_text_wrap{
	flex: 1;
}
.v_company3.module table tr td{
	border: 0;
	padding: 8px 0;
	vertical-align: top;
}
.v_company3.module table tr td:first-child{
	width: 60px;
}
.v_company3_1.module:before{
	bottom: 0;
}

#pagewrap #content .v_company4.module table tr td{
	border: 0;
	border-bottom: 1px solid #c9d3d9;
	color: #101010;
	font-size: max(0.938vw, 18px);
	padding: 15px 0;
	font-weight: 500;
}
.v_company4.module table tr td:last-child{
	text-align: right;
}
body:not(.home){
	font-size: max(0.781vw, 15px);
}
.recruit_row1{
	padding-top: 55px;
}
.recruit_row1 .row_inner{
	padding: 40px 0 0 0;
	background: url(../../uploads/Untitled-1-3.png) top no-repeat;
	background-size: 50% 100%;
}
.recruit_row1 .module-text{
	max-width: max(52.08vw, 1000px);
	margin-left: auto;
	margin-right: auto;
}
.recruit_row1 .module-gallery{
	max-width: max(62.500vw, 1100px);
	margin-left: auto;
	margin-right: auto;
}
.recruit_row2{
	padding-top: 100px;
	padding-bottom: 100px;
}
.recruit_row2 .row_inner{
	background: #F7FCFF;
	padding-top: max(5%, 60px);
    padding-left: max(4.2%, 50px);
    padding-right: max(4.2%, 50px);
    padding-bottom: max(2.5%, 30px);
}

.recruit1.module ul{
	display: block;
	margin: 0;
}
.recruit1.module ul li{
	margin: 0 0 30px 0;
	display: block;
	background: url(../../uploads/Untitled-1-1-1.png) top 2px left no-repeat;
	    background-size: auto 80%;
	color: #101010;
	padding: 0 0 0 30px;
}
.recruit2.module .module-title{
 	letter-spacing: 1.15px;
	color: #101010;
	font-size: max(1.1979vw, 23px);
	line-height: max(1.82vw, 35px);
	text-align: center;
	margin: 0 0 20px 0;
	margin-bottom: max(6%, 20px);
}
.recruit_row3 .col3-1{
	border: 3px solid #BEE6FF;
	margin-bottom: 10%;
	border-width: max(0.16vw, 3px);
	padding: max(6.5%, 25px);
	
}
.v_anchor.module ul{
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
}
.v_anchor.module ul li{
	display: block;
	margin: 0;
	padding-left: max(2.5%, 30px);
    padding-right: max(2.5%, 30px);
	border-left: 1px solid #c9d3d9;
	border-width: 0.052vw;
	font-size: max(0.938vw, 18px);
	line-height: 1; 
	font-weight: 500;
}
.v_anchor.module ul li:first-child{
	border: 0;
}
.recruit3.module .module-title{
	text-align: center;
	color: #101010;
	font-size: max(1.4583vw,28px);
	font-weight: bold;
}
.recruit3.module .module-title:after{
	content: "";
	display: block;
	margin: 20px auto 0 auto;
	background: #9AD8E8;
	height: max(0.26vw, 5px);
    width: max(1.25vw, 24px);
	
}
#pagewrap #content .recruit4.module table tr td{
	border: 0;
	border-bottom: 1px solid #c9d3d9;
	box-sizing: border-box;
	vertical-align: top;
	padding: max(1.6%, 20px);
	border-width: max(0.052vw, 1px);
}
#pagewrap #content .recruit4.module table tr td:first-child{
/* 	width: 180px; */
	color: #007CC3;
	font-size: max(0.781vw, 16px);
	background: #F7FCFF;
	width: max(9.38vw, 180px);
}
#pagewrap #content .recruit4.module table tr:first-child td{
	border-top: 1px solid #c9d3d9;
	border-width: max(0.052vw, 1px);
}
.recruit5.module{
	margin-bottom: 30px;
}
.recruit5.module img{
/* 	height: 125px; */
}
/* 
.contact1.module strong{
	color: #004E9D07;
} */
.contactform.module{
	border-top: 1px solid #c9d3d9;
	border-top-width: max(0.052vw, 1px);
}
.contactform.module table tr th,
.contactform.module table tr td{
	vertical-align: top;
/* 	padding: 25px 40px; */
	padding: 2.1% 2.7%;
	box-sizing: border-box;
	border: 0;
	border-bottom: 1px solid #c9d3d9;
	border-width: max(0.052vw, 1px);
}
.contactform.module table tr th{
/* 	width: 240px; */
	width: max(12.50vw, 240px);
	background: #F7FCFF;
	color: #007CC3;
	letter-spacing: max(0.0234vw, 0.45px);
	font-weight: normal;
}
.contactform.module table tr th span{
	color: #FF2700;
}
.contactform.module table tr th p{
	margin: 0;
}
#content .contactform input,
#content .contactform textarea{
	border: 1px solid #D4D4D4;
	border-radius: 0;
	background: white;
}
/* #content .contactform input.wpcf7-submit{
	display: block;
	line-height: max(2.24vw, 43px);
    font-size: max(0.625vw, 12px);
    letter-spacing: max(0.0313vw, 0.6px);
    color: #FFFFFF;
    padding: 0 0 0 30px;
    text-decoration: none;
    border-radius: max(2.60vw, 50px);
    font-family: "altivo", sans-serif;
	width: max(5.73vw, 110px);
	background: url(../../uploads/Untitled-1-2.png) right 12% center no-repeat #007CC3;
	text-align: left;
	background-size: 22%;
	    margin: max(5%, 60px) auto 0 auto;
} */
#content .contactform .fa.submit_btn {
    display: block;
    color: #FFFFFF;
    text-decoration: none;
    border-radius: max(2.60vw, 50px);
    width: max(5.73vw, 110px);
    background: #007CC3;
    text-align: left;
    background-size: 22%;
    margin: max(5%, 60px) auto 0 auto;
	position: relative;
}
#content .contactform .fa.submit_btn input.wpcf7-submit {
    background: none;
    border: none;
    font-size: max(0.625vw, 12px);
    font-family: "altivo", sans-serif;
    line-height: max(2.24vw, 43px);
    letter-spacing: max(0.0313vw, 0.6px);
    margin: 0;
    padding: 0 0 0 18%;
    text-align: left;
}
#content .contactform .fa.submit_btn span {
    display: flex;
}
#content .contactform .fa.submit_btn:before{
	content: '';
    display: block;
    height: max(1.25vw, 24px);
    width: max(1.30vw, 25px);
    background: url(../../uploads/back_btn.png) center center no-repeat;
    background-size: cover;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 14%;
    margin-top: 0;
    transition: background .5s ease;
    border: 1px solid #dadcde;
    border-width: max(0.052px, 1px);
    transform: translate(0, -50%);
}
#content .contactform .fa.submit_btn:hover:before{
	background: url(../../uploads/more_btn.png) center center no-repeat;
    background-size: cover;
    border: 1px solid #fff;
    border-width: max(0.052px, 1px);
    transition: background .5s ease;
    z-index: 1;
}
#content .contactform .fa.submit_btn:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: max(10.417vw, 200px);
    height: max(10.42vw, 200px);
    background-color: #fff;
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    transition: transform .5s, background-color 0.1s ease, filter .5s;
    filter: blur(10px);
    z-index: 0;
}
#content .contactform .fa.submit_btn:hover:after {
    transform: translate(-50%, -50%) scale(1);
    filter: blur(0);
}
#content .contactform .fa.submit_btn:hover {
    border: 1px solid #dadcde;
    border-width: max(0.052px, 1px);
    transition: color 0.1s ease;
}
#content .contactform .fa.submit_btn:hover input{
	color: #242424;
    position: relative;
    z-index: 1;
}



.contact2.module .module-title{
	color: #007CC3;
    font-size: max(1.302vw, 25px);
    line-height: 1;
    font-weight: bold;
    border-left: 5px solid #0060B2;
	margin-bottom: 3%;
    border-width: max(0.26vw, 5px);
    padding-left: 1.5%;
}
.contact2.module .tb_text_wrap{
	overflow-y: scroll;
	height: max(16.67vw, 320px);
    padding-right: 2%;
}
.contact2.module .tb_text_wrap strong{
	color: #007CC3;
	font-weight: normal;
}
body .post-meta .post-category:after{
	display: none;
}
body.archive #pagewrap .post-meta .post-category a {
    background: #007cc3;
    border-radius: 50px;
    color: #fff!important;
    padding: 2px 15px;
    text-decoration: none;
}
body.archive #pagewrap .post-image{
	margin-bottom: 25px;
}
body #pagewrap .module-menu-container #menu-works_cat a {
    background: #007cc3;
    border-radius: 50px;
    color: #fff !important;
    margin-right: 15px;
	margin-bottom: 10px;
    padding: 2px 15px;
    text-decoration: none;
	text-align: center;
	width: max(5.21vw, 100px);
}
body.archive #pagewrap .module.module-menu.works_cat_menu {
    display: flex;
    align-items: center;
    gap: 20px;
	flex-wrap: wrap;
    margin-bottom: 30px;
}
body.archive #pagewrap .module.module-menu.works_cat_menu .module-title{
	font-family: "Noto Sans JP", sans-serif;
    font-size: max(0.78vw, 15px);
    font-weight: 500;
    line-height: max(1.67vw, 32px);
}
body.archive #pagewrap .pagewidth .themify_builder_content-4509 .module_row {
    max-width: 100%;
}






@media screen and ( max-width: 768px ){
	.submain{
		padding-top: 150px;
		padding-bottom: 150px;
	}
	body.single #pagewrap #content .module table tr td:first-child{
		width: 100%;
	}
	.recruit_row2 .row_inner{
		padding: 50px 20px 30px;
	}
	#pagewrap #content .recruit4.module table tr td:first-child{
		width: 100%;
	}
	#pagewrap #content .recruit4.module table tr:first-child td:last-child{
		border-top: 0;
	}
	.contact2.module .tb_text_wrap{
		padding-right: 0;
	}
	body .module.fc_service .sub-head{
		 margin-left: 0%;
		text-align:right;
	}
}

@media screen and ( max-width: 680px ){
	
	.v_company3.module .module-title{
		    margin: 0 25px 0 0;
    padding: 0 25px 0 0;
	}
	.v_company3.module:before{
		left: 123px;
	}
	#pagewrap .module_row.recruit_row1.bg_dot,
	#pagewrap .module_row.recruit_row2.bg_dot {
    background-size: auto;
} 
	body.archive #loops-wrapper {
		grid-template-columns: 1fr;
		grid-column-gap: 0;
	}
	body.archive #content {
		max-width: 94%!important;
	}
}
/*5120調整用*/

.module_row.row_top_works .module_row {
    height: calc(100vh - 7.552vw);
}
.submain .module .tb_text_wrap{
line-height: 1.302vw;
letter-spacing: 0.0833vw;
}
.submain .module .module-title{
line-height: 5.42vw;
letter-spacing: 0.0396vw;
}
.v_service1.module .module-title{
line-height: 1.04vw;
letter-spacing: 0.0495vw;
margin-bottom: 4%;
padding-left: 2%;
}



.submain .module .tb_text_wrap{
	line-height: max(1.302vw, 25px);
	letter-spacing: max(0.0833vw, 1.6px);
}
.submain .module .module-title{
	line-height: max(5.42vw, 104px);
	letter-spacing: max(0.0396vw, 0.76px);
}
.v_service1.module .module-title{
	line-height: max(1.04vw, 20px);
	margin-bottom: 4%;
	padding-left: 2%;
	border-left-width: max(0.26vw, 5px);
	font-weight: 500;
	font-family: "Noto Sans JP", sans-serif;
}
#pagewrap .v_post1.module .post .post-date{
	letter-spacing: max(0.0286vw, 0.55px);
}
/* #pagewrap .v_post1.module .post .post-title{
	letter-spacing: max(0.0469vw, 0.9px);
} */
#pagewrap .v_post1.module .post .post-date{
	margin-top: 8%;
}
body.single #pagewrap #content .module table tr td{
	border-left-width: max(0.052vw, 1px);
	padding: 2.3% 0 2.3% 4%;
}
body.single .post.cat-10{
	padding-top: 8.5%;
}
body.single .v_btn1{
	padding: 5% 0 8.5% 0;
}
.module.module-image.img_center {
    margin: 0 auto 8.5%;
}
.v_company1.module .module-title{
	margin-right: 3%;
	letter-spacing: max(0.0391vw, 0.75px);
}
.module iframe.map_size{
	height: max(23.44vw, 450px);
}
.v_company2.module table tr td:first-child{
	width: max(9.38vw, 180px);
}
.v_company3.module{
	max-width: 36.46vw;
	padding-bottom: 3.35%;
}
.v_company3.module .module-title {
    letter-spacing: 0.0417vw;
    padding-right: 7%;
    margin-right: 6.5%;
}
.v_company3.module .module-title:after{
	width: max(0.52vw, 10px);
    height: max(0.52vw, 10px);
}
.v_company3.module .module-title:before{
	top: 1.04vw;
    /* left: 7.6vw; */
    left: auto;
    bottom: 0;
    width: max(0.052vw, 1px);
    right: 0;
    height: 100vh;
}
.module_row.row_company3 .row_inner{
	overflow: hidden;
}
.v_company3_1.module:before {
    bottom: 0;
}
.v_company3.module table tr td:first-child{
	width: 3.13vw;
}
.v_company2.module table tr td,
.v_company3.module table tr td{
	padding: 1.6% 0;
}
#pagewrap #content .v_company4.module table tr td{
	padding: 2.6% 0;
}
.v_sdg2.module .tb_text_wrap{
	line-height: max(1.04vw, 20px);
	padding: 0 1.6%;
}
#pagewrap .module-divider.solid{
	border-width: max(0.052vw, 1px)!important;
	margin-bottom: 4.5%!important;
}
#pagewrap .v_post2.module .post,
body:not(.home) .module.post_top .builder-posts-wrap .post:first-child{
	border-width: max(0.052vw, 1px);
}
.module.post_top .builder-posts-wrap .post{
	padding: 2.7% 0 2.8%;
}
#pagewrap .v_btn1 a {
    position: relative;
    display: block;
    font-size: max(0.625vw, 12px);
    letter-spacing: 0.05em;
    text-align: left;
    font-family: "altivo", sans-serif;
    text-decoration: none;
    background: #007cc3;
    color: #fff;
/* 	width: max(5.73vw, 140px); */
	width: max(7.81vw, 150px);
    margin: 0 auto;
    border: 1px solid #007cc3;
    border-width: max(0.052px, 1px);
    overflow: hidden;
    transition: background-color 0.1s ease, color 0.1s ease;
	border-radius: max(2.60vw, 50px);
	padding: 1.32% 1.4%;
}
.single #pagewrap .v_btn1 a{
	width: max(5.73vw, 110px);	
	padding: 1%;
}

#pagewrap .v_btn1 a:before {
    content: '';
    display: block;
    height: max(1.25vw, 24px);
    width: max(1.30vw, 25px);
    background: url(../../uploads/back_btn.png) center center no-repeat;
    background-size: cover;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 14%;
    margin-top: 0;
    transition: background .5s ease;
    border: 1px solid #dadcde;
    border-width: max(0.052px, 1px);
    transform: translate(0, -50%);
}
#pagewrap .v_btn1 a:hover:before {
    background: url(../../uploads/more_btn.png) center center no-repeat;
    background-size: cover;
    border: 1px solid #fff;
    border-width: max(0.052px, 1px);
    transition: background .5s ease;
    z-index: 1;
}
#pagewrap .v_btn1 a:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: max(10.417vw, 200px);
    height: max(10.42vw, 200px);
    background-color: #fff;
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    transition: transform .5s, background-color 0.1s ease, filter .5s;
    filter: blur(10px);
    z-index: 0;
}
#pagewrap .v_btn1 a:hover:after {
    transform: translate(-50%, -50%) scale(1);
    filter: blur(0);
}
#pagewrap .v_btn1 a:hover {
    color: #242424;
    border: 1px solid #dadcde;
    border-width: max(0.052px, 1px);
    transition: color 0.1s ease;
}
#pagewrap .v_btn1 a span {
    position: relative;
    z-index: 1;
}

body.single .post.cat-9{
	max-width: max(41.67vw, 800px);
	padding-top: max(8.5vw, 80px);
}
body.single .cat-9 .post-date{
	letter-spacing: max(0.0365vw, 0.7px);
}
body.single .post-image{
	margin-bottom: max(6%, 50px);
}
body.single #pagewrap .cat-9 .post-title{
	border-width: max(0.052vw, 1px);
	padding-top: max(2.5%, 20px);
	padding-bottom: max(2.5%, 20px);
    margin-bottom: max(3%, 25px);
	letter-spacing: max(0.0651vw, 1.25px);
}
.recruit_row2 {
    padding-bottom: max(8.5%, 80px);
    padding-top: max(8.5%, 80px);
}
.recruit_row1 {
    padding-top: max(4.6%, 55px);
}
.recruit_row1 .row_inner {
    padding-top: max(3%, 40px);
}
.recruit_row1 .module-text {
    max-width: max(52.08vw, 1000px);
}
.recruit_row1 .module-gallery {
    max-width: 100%;
}
.module.module-gallery .gallery-icon img {
    width: 100%;
}
.module.font_50 .tb_text_wrap {
    font-size: max(2.6vw, 50px);
	letter-spacing: max(0.1302vw, 2.5px);
	line-height: max(2.60vw, 50px);
}
.module.font-35 .tb_text_wrap {
    font-size: max(1.82vw, 35px);
}
.recruit1.module ul li {
    margin-bottom: max(5.5%, 30px);
    padding-left: max(5.5%, 30px);
}
#content .contactform tr td span[data-name="your-addnum"] input, 
#content .contactform tr td span[data-name="your-city"] input, 
#content .contactform tr td span[data-name="your-pref"] input, 
#content .contactform tr td span[data-name="postcode"] input {
    margin-top: max(0.52vw, 10px);
}
#pagewrap .module_row.recruit_row1.bg_dot,
#pagewrap .module_row.recruit_row2.bg_dot {
    background-size: 74.5%;
}
.submain {
    padding-top: max(17%, 335px);
    padding-bottom: max(17%, 335px);
}
#pagewrap .module_row.tb_z0r3389 .module .tb_text_wrap {
    font-size: max(0.63vw, 12px);
	line-height: max(0.94vw, 18px);
}




@media screen and (max-width: 1200px) {
	.v_company3.module .module-title:before {
		top: 2vw;
	}
}

@media screen and ( max-width: 1024px ){
	.v_company3.module{
		max-width: 100%;
	}
	.v_company3.module:before{
		top: 20px;
		 left: calc(17vw + 9.5px);
		bottom: -30px;
	}
	body #pagewrap .pagewidth .module_row.fullwidth_row_container .row_inner{
		max-width: 94%;
	}
	body.single .post {
		max-width: 94% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	.single #pagewrap .v_btn1 a,
	#pagewrap .v_btn1 a {
        padding: 15px 17px;
    }
	body #pagewrap .pagewidth .module_row.fullwidth_row_container.row_top_recruit .row_inner {
    width: 100%;
}
}


@media screen and ( max-width: 680px ){
	#pagewrap #footerwrap .module.module-image.sp_c {
		margin: 0 auto 42px;
	}
	body.single #pagewrap #content .module table tr td {
		padding-left: 0;
	}
	body.single #pagewrap #content .module table tr td:first-child {
		border: none;
	}
	body.single .v_btn1 {
		padding: 50px 0 70px 0;
	}
	.v_company3.module .module-title{
		font-size: 20px;
	}
	.v_company3.module:before{
		top: 10px;
        bottom: -10px;
	}
	#pagewrap #content .v_company4.module table tr td {
		padding: 20px 0;
		display: table-cell;
		width: auto;
	}
	#pagewrap .module-divider.solid{
		margin-bottom: 50px!important;
	}

	#pagewrap .v_btn1 a:after{
		margin-left: 20px;
	}
	.module.font_50 .tb_text_wrap {
		font-size: 35px;
	}
	.module.font-35 .tb_text_wrap {
		font-size: 30px;
	}
	.recruit3.module .module-title{
		font-size: 24px;
	}
	.recruit1.module ul li{
		background-size: auto 18px;
	}
	.recruit_row1 {
		padding-top: 60px;
	}
	.recruit_row1 .row_inner {
		background-size: 80% 90%;
		padding-top: 20px;
	}
	.recruit_row3 .col3-1 {
		padding: 15px;
	}
	body #pagewrap .row_top_works .module[class*="btn_arrow_"]{
		bottom:30px;
	}
	.module.slider_works .slide-content:before, .module.slider_works .themify_builder_slider:before{
		font-size: 55px;
	}
	.module.slider_works .themify_builder_slider:before{
		font-size: 20px;
	}
	#pagewrap .module.slider_works .carousel-prev{
		margin-right: 30px;
	}
	#pagewrap .module.slider_works .carousel-next{
		margin-left: 30px;
	}
	.row_top_about .sub_column:before{
		right: 12%;
		bottom: 1.25rem;
	}
	#pagewrap .slider_works .module_column{
		height:100vh;
	}
	#pagewrap .slider_works .module_column .module-text{
		position:absolute;
		bottom:0;
		left:0;
		right:0;
	}
	body .module.slider_works .tf_carousel_bullets{
		bottom: calc(30px + 45px + 2%);
	}
	body .top_fade_slider .tb_text_wrap{
	bottom: calc(30px + 45px + 2% + 2%);
}
	body .top_fade_slider .module-title span {
    padding-top: 5px;
}
	.row_top_about .module_subrow{
		margin-left: 0;
		margin-right: 0;
	}
	.module.module-image.tb_5sxz68.sp_c.image-center {
		margin: 8px auto 40px;
	}
	.submain{
		padding-top: 100px;
		padding-bottom: 100px;
	}
	.submain .module .module-title{
		font-size: max(2.6042vw, 50px);
		line-height: 80px;
	}
	#pagewrap .module_row.recruit_row1.bg_dot, #pagewrap .module_row.recruit_row2.bg_dot {
		background-size: auto;
	}
	.contactform.module table tr th {
		border-bottom: none;
	}
	body.single .post.cat-10,body.archive #content {
		padding-top: 80px;
	}
	#pagewrap .gallery .module-gallery-grid:not(.gallery-columns-1) {
		--galn: 3;
		--galN: 3;
	}
	.recruit_row2 {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.recruit_row2 .row_inner {
		padding-top: 40px;
		padding-bottom: 10px;
	}
	.recruit_row3 .col3-1.last {
		margin-bottom: 0;
	}
	#pagewrap #content .recruit4.module table tr td {
		padding: 20px 10px;
	}
}
.img-wrap {
  overflow: hidden;
  position: relative;
}
.slider_works{
	overflow:hidden;
}
.slider_works:before{
	content:"";
	background:#fff;
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	z-index:3;
	opacity:1;
}
.slider_works:after{
	content:"";
	background:#fff;
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	right:0;
	z-index:3;
	opacity:1;
}
.slider_works.is-inview:before{
	animation:fadeLeft 1s forwards;
}
.slider_works.is-inview:after{
	animation:fadeRight 1s forwards;
}
@keyframes fadeLeft{
	100%{
		width:0%;
	}
}
@keyframes fadeRight{
	100%{
		width:0%;
	}
}
.module_row.row_top_recruit:before {
	content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgb(0 0 0 / 20%);
}
body.archive #pagewrap .post-image img {
    height: 255px;
    object-fit: cover;
}