/*
Theme Name: Tokyo Titanium
Template: lightning
Author: Tokyo Titanium
Version: 0.6.0
*/

/* ==========================
汎用
========================== */
body {
	font-family: YuGothic, Yu Gothic, "游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro W3", 'ヒラギノ角ゴ W3' ,Hiragino Kaku Gothic Pro, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Osaka, "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
}
a:hover {
	color:#000;
}
h3 {
	color: var(--vk-color-primary);
	font-size: 1.8rem;
}
.mincho {
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}
.t-c {text-align: center !important;}
.t-l {text-align: left !important;}
.t-r {text-align: right !important;}
.col-lg-15,
.col-md-15 {
	width: 100%;
	flex: 0 0 100%;
}
.caption {
	font-size: 0.8rem;
}
@media(min-width:992px){
	.col-lg-15 {
		width: 20%;
		flex: 0 0 20%;
	}
}
@media(min-width:768px){
	.col-md-15 {
		width: 20%;
		flex: 0 0 20%;
	}
}
@media(min-width:992px){
	.pc_off { display: none !important; }
}
@media(max-width:991px){
	.sm_off { display: none !important; }
}

/* スクロールフェードイン */
.element {
	opacity: 0;
	visibility: hidden;
	transform: translateY(30px);
	transition: opacity 1s, visibility 1s, transform 1s;
}
.is-fadein {
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
}
.attention {
	color: #f00;
}
/* ==========================
ヘッダー
========================== */
.site-header {
	background: none;
	position: fixed;
}
.vk-mobile-nav-menu-btn {
	border: none;
	width: 50px;
	height: 50px;
}
.vk-mobile-nav {
	padding: 55px 10px 45px;
}
#site-header-container {
	max-width: 100%;
	padding: 0;
}
.site-header-logo {
	padding-left: 1rem;
}
.global-nav-list {
	height: 100%;
}
.global-nav-list > li > a {
	transition: 0.2s;
}
.global-nav-list > li > a:hover {
	background-color: var(--vk-color-primary);
	color: #fff;
}
.global-nav-list #menu-item-45 a {
	background-color: var(--vk-color-primary);
	color: #fff;
}
.global-nav-list #menu-item-45 a:hover {
	background-color: #fff;
	color: var(--vk-color-primary);
}
.global-nav-list > li > a i {
	font-size: 2rem;
	margin-right: 0;
}
@media(max-width:767px){
	.site-header-logo {
		padding-left: 0;
	}
}

/* ==========================
フッター
========================== */
.site-body-bottom aside {
	margin-bottom: 0;
}
.btm_contact > div {
	margin: 0 calc(50% - 50vw);
	padding: 50px calc(50vw - 50%);
	background-color: #f2f2f2;
	text-align: center;
}
.btm_contact > div > div:nth-child(2) {
	margin-bottom: 1.7rem;
}
.btm_contact > div > div > a {
	display: inline-block;
	width: 300px;
	text-align: center;
	border: 1px solid var(--vk-color-primary);
	font-weight: 700;
	font-size: 1.2rem;
	padding: 20px;
	transition: 0.2s;
	background: #fff;
	color: var(--vk-color-primary);
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.btm_contact > div > div > a::after {
	background: var(--vk-color-primary);
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	transform: skewY(-10deg) scale(1, 0);
	height: 140px;
	transform-origin: left top;
	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
	z-index: -1;
}
.btm_contact > div > div > a:hover {
	color: #fff;
}
.btm_contact > div > div > a:hover::after {
	transform: skewY(-10deg) scale(1, 1);
}
@media(min-width:992px){
	.footer-nav {
		padding: 3em 0;
	}
	.footer-nav > .container {
		margin: 0;
		max-width: unset;
	}
	.footer-nav #menu-footer_nav {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.footer-nav #menu-footer_nav li {
		padding: 0;
	}
	.footer-nav #menu-footer_nav li a {
		height: 100%;
		display: flex;
		align-items: center;
		padding: 0 1.5em;
		min-height: 60px;
	}
	.footer-nav #menu-footer_nav li a > i {
		font-size: 2rem;
		margin-right: 0;
	}
}
.footer-nav #menu-footer_nav li a {
	transition: 0.2s;
}
.footer-nav #menu-footer_nav li a:hover {
	background-color: var(--vk-color-primary);
	color: #fff;
}
.footer-nav #menu-footer_nav li:last-child a {
	background-color: var(--vk-color-primary);
	color: #fff;
	border: 1px solid var(--vk-color-primary);
}
.footer-nav #menu-footer_nav li:first-child a:hover{
	background-color: #fff0;
	opacity: 0.8;
}
.footer-nav #menu-footer_nav li:last-child a:hover{
	background-color: #fff;
	color: var(--vk-color-primary);
}
.site-footer-copyright > p:last-child {
	display: none;
}
.site-footer {
	background-color: #f2f2f2;
}
@media(max-width:991px){
	.footer-nav #menu-footer_nav li {
		width: 100%;

	}
	.footer-nav #menu-footer_nav li:not(:first-child) a {
		padding: 1em 0 1em 1em;
		display: block;
	}
}


/* ==========================
swiperslider
========================== */
/* TOPページ */
.top_swiper {
	margin: 0 auto !important;
	position: relative;
}
.top_swiper .swiper {
	width: 100%;
}
.top_swiper .swiper-button-next,
.top_swiper .swiper-rtl .swiper-button-prev,
.top_swiper .swiper-button-prev,
.top_swiper .swiper-rtl .swiper-button-next {
	background-color: #ccc;
	border-radius: 50%;
	padding: 30px;
}
.top_swiper .swiper-button-next:focus,
.top_swiper .swiper-rtl .swiper-button-prev:focus,
.top_swiper .swiper-button-prev:focus,
.top_swiper .swiper-rtl .swiper-button-next:focus {
	outline: none;
}
.top_swiper .swiper-button-prev:after,
.top_swiper .swiper-rtl .swiper-button-next:after,
.top_swiper .swiper-button-next:after,
.top_swiper .swiper-rtl .swiper-button-prev:after {
	color: #fff;
	font-size: 24px;
}
.top_swiper .mySwiper .swiper-slide {
	opacity: 0.4;
	position: relative;
}
.top_swiper .mySwiper .swiper-slide > div > img {
	animation-name: zoomInAnime;
	animation-duration: 4s;
	animation-fill-mode: forwards;
}
@keyframes zoomInAnime {
  0% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.silver{
	display: inline-block;
	background: linear-gradient(45deg, #ffffff 0%, #acacac 45%, #ffffff 70%, #a3a3a3 85%, #ffffff 90% 100%);
	background-size: 800% 400%;
	animation: gradient 8s infinite cubic-bezier(.62, .28, .23, .99) both ;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
	font-weight: 700;
}
@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}
.top_swiper .mySwiper .swiper-slide > div > img.pc {
	display: block;
	width: 100%;
}
.top_swiper .mySwiper .swiper-slide > div > img.sp {
	display: none;
}
.top_swiper .mySwiper .swiper-slide-thumb-active {
	opacity: 1;
}
.top_swiper .swiper-horizontal>.swiper-pagination-bullets,
.top_swiper .swiper-pagination-bullets.swiper-pagination-horizontal,
.top_swiper .swiper-pagination-custom,
.top_swiper .swiper-pagination-fraction {
	bottom: -50px;
}
@media(max-width:767px){
	.top_swiper .mySwiper .swiper-slide > div > img.pc {
		display: none;
	}
	.top_swiper .mySwiper .swiper-slide > div > img.sp {
		display: block;
	}
}

/* ==========================
直線長方形のプログレスバー
========================== */
.top_swiper div.swiper-pagination-bullets.swiper-pagination-horizontal {
	top: 80%;
	bottom: auto;
	width: 70%;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
}
.top_swiper span.swiper-pagination-bullet {
	position: relative;
	width: 100%;
	height: 3px;
	border-radius: 0;
	background-color: rgba(255, 255, 255);
	opacity: 1;
}
.top_swiper .swiper-pagination-bullet::before {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	background-color: var(--vk-color-primary);
}
.top_swiper .swiper-pagination-bullet-active::before {
	animation: paginationActive 4s linear forwards;
}
@media(max-width:992px){
	.top_swiper div.swiper-pagination-bullets.swiper-pagination-horizontal {
		padding-left: 15px;
		padding-right: 15px;
		text-align: left;
	}
}
@keyframes paginationActive {
	100% {
		width: 100%;
		opacity: 1;
	}
}
@media(max-width:767px){
	.top_swiper div.swiper-pagination-bullets.swiper-pagination-horizontal {
		text-align: left;
		top: 70%;
		padding-left: 15px;
		padding-right: 15px;
	}
}

/* ==========================
コンテンツの中身
========================== */
/* .ly_inner {
width: 100%;
max-width: 1080px;
margin: 100px auto;
padding: 20px;
background-color: #ccc;
}
.ly_inner h2 {
font-size: 150%;
font-weight: bold;
margin-bottom: 30px;
}
.md_textblock>*+* {
margin-top: 10px;
} */

/* ==========================
スライダーテキスト
========================== */
/* テキストのスタイル */
.top_swiper div.swiper-text {
	color: #fff;
	font-size: 26px;
	font-weight: 100;
	position: absolute;
	width: 76%;
	xdisplay: flex;
	xflex-wrap: wrap;
	xalign-items: last baseline;
	height: 40%;
}
.top_swiper .swiper-slide.dad div.swiper-text {
	height: 50%;
}
/* 表示されているスライドのテキスト */
.top_swiper .swiper-slide-active div.swiper-text {
	animation-delay: 0.4s;
	animation-duration: 1s;
	animation-fill-mode: both;
	animation-name: fadeIn;
	font-style: italic;
}
.top_swiper div.swiper-text div {
	font-size: 7rem;
	font-size: min(8vw, 7rem);
	margin-right: 20px;
	margin-left: -8px;
	padding-right: 20px;
	line-height: 1;

}
.top_swiper div.swiper-text p {
	margin-bottom: 0;
	line-height: 3rem;
	font-size: 2vw;
	font-weight: 700;
}
.top_swiper div.swiper-text-right {
	color: #fff;
	font-size: 100px;
	font-weight: 700;
	position: absolute;
	width: 36%;
	display: flex;
	flex-wrap: wrap;
	align-items: last baseline;
	height: 55%;
	right: 0;
	top: 0;
}
.top_swiper div.swiper-text-right .white {
	color: #fff;
}
@keyframes fadeIn {
	from {
		opacity: 0;
		top: 55%;
		left: 50%;
		transform: translate(-50%, -55%);
	}
	to {
		opacity: 1;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
}
@media(max-width:991px){
	.top_swiper div.swiper-text {
		width: 100%;
		padding-left: 15px;
		padding-right: 15px;
		height: auto
	}
	.top_swiper div.swiper-text div,
	.top_swiper div.swiper-text p {
		width: 100%;
	}
	.top_swiper div.swiper-text div {
		font-size: 3rem;
	}
	.top_swiper div.swiper-text p {
		line-height: 2rem;
		font-size: 3vw;
	}
	.top_swiper .swiper-slide.dad div.swiper-text {
		height: 30%;
	}
}



/* ==========================
TOPページ
========================== */
.topSection h2 {
	font-family: 'Work Sans', sans-serif;
}
.home .entry-body {
	position: relative;
}
.top_btn {
	position: absolute;
	width: 100%;
	top: -7rem;
	z-index: 1;
	margin: 0;
}
.top_btn > div {
	padding-left: 2px;
	padding-right: 2px;
}
/* .top_btn > div > a {
text-align: center;
display: block;
padding: 30px 0;
border: 1px solid #000;
background-color: #000;
color: #fff;
font-size: 1.5rem;
transition: 0.2s;
font-weight: 700;
}
.top_btn > div > a:hover {
background-color: #fff;
color: #000;
} */

.top_btn > div > a {
	text-align: center;
	display: block;
	padding: 50px 0;
	border: 1px solid var(--vk-color-primary);
	background-color: var(--vk-color-primary);
	color: #fff;
	font-size: 1.5rem;
	transition: 0.2s;
	z-index: 0;
	position: relative;
}
.top_btn > div > a:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .7s cubic-bezier(.19, 1, .22, 1);
	background: #fff;
}
.top_btn > div > a:hover:before {
	transform: scaleX(1);
	transform-origin: left;
}
.top_btn > div > a .inner-text {
	position: absolute;
	z-index: 3;
	top: 50%;
	left: 0;
	display: block;
	width: 100%;
	transform: translatey(-50%);
	transition: 0.2s;
}
.top_btn > div > a:hover .inner-text {
	color: var(--vk-color-primary);
}
@media(max-width:767px){
	.top_btn {
		top: -5rem;
	}
	.top_btn > div > a {
		padding: 30px 0;
		font-size: 1rem;
		border-color: #fff;
	}
}


.topSection {
	padding-bottom: 6rem;
}
#top1 {
	xpadding-top: 4rem;
}
.topSection h2 {
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
	color: var(--vk-color-primary);
}
.topSection h2 span {
	display: block;
	font-size: 1.2rem;
	color: #666;
	line-height: 2rem;
}
#top1 .top_contents > div > div {
	margin-bottom: 30px;
}
#top1 .top_contents > div > div > div {
	border: 1px solid #ddd;
	text-align: center;
	display: flex;
	flex-direction: column;
	padding: 20px;
	height: 100%;
}
#top1 .top_contents > div > div:first-child > div > a {
	display:block;
	margin-top: auto;
	border: 1px solid var(--vk-color-primary);
	background-color: var(--vk-color-primary);
	color: #fff;
	transition: 0.2s;
	line-height: 50px;
}
#top1 .top_contents > div > div:first-child > div a:hover {
	color: var(--vk-color-primary);
	background-color: #fff;
}
.top_post_list {
	list-style: none;
	padding-left: 0;
	margin: 0;
}
.top_post_list li {
	text-align: left;
	border-bottom: 1px solid #bbb;
	padding-bottom: 10px;
}
.top_post_list li:last-child {
	border-bottom: none;
}
.top_post_list li p {
	margin-bottom: 5px;
}
.top_post_list li p span {
	font-size: 12px;
}
.top_post_list li p a {
	font-size: 12px;
	text-decoration: none;
	padding: 3px 10px;
	color: #fff;
	background-color: #333;
	margin-left: 10px;
	transition: 0.2s;
	border: 1px solid #333;
}
@media(max-width:767px){

}

#top2 .top_contents > div {
	margin: 0 calc(50% - 50vw) 0;
	padding: 50px calc(50vw - 50%);
}
#top2 .top_contents > div:nth-child(1) {
	background-color: #eee;
}
#top2 .top_contents > div:nth-child(2) {
	background-color: #eee;
}
#top2 .top_contents > div:nth-child(3) {
	background-color: #eee;
}
#top2 .top_contents > div .str_title > div {
	margin-bottom: 20px;
	font-size: 5rem;
	font-weight: 700;
	line-height: 5rem;
	color:#fff;
}
/*
display:inline-block;
padding:0.3em 0.6em;
background-color:rgba(0,0,0,0.4);
*/
#top2 {
	padding-top: 27rem;
}
#top2 .top_contents > div:nth-child(1) .str_title > div,
#top2 .top_contents > div:nth-child(3) .str_title > div {
	text-align: left;
}
#top2 .top_contents > div:nth-child(2) .str_title > div {
	text-align: right;
}
/* #top2 .top_contents > div .str_title > div:first-child {
font-size: 5rem;
font-weight: 700;
line-height: 6rem;
} */
#top2 .top_contents > div > ul {
	list-style: none;
	padding-left: 0;
	margin-bottom: 0;
}
#top2 .top_contents > div > ul li {
	margin-bottom: 0.5rem;
}
#top2 .top_contents > div > ul li:last-child {
	margin-bottom: 0;
}
#top2 .top_contents > div:nth-child(1) > ul li,
#top2 .top_contents > div:nth-child(3) > ul li {
	text-align: right;
}
#top2 .top_contents > div:nth-child(2) > ul li {
	text-align: left;
}
#top2 .top_contents > div > ul li > a {
	line-height: 1.5rem;
	font-size: 1.2rem;
	text-decoration: none;
	color: #000;
	padding-bottom: 3px;
	position: relative;
	display: inline-block;
	overflow: hidden;
}
#top2 .top_contents > div > ul li > a > i {
	margin: 0 0 0 15px;
}
/*#top2 .top_contents > div > ul li > a::after {
content: "";
display: block;
width: 100%;
height: 100%;
position: absolute;
border-bottom: 2px solid var(--vk-color-primary);
bottom: -5px;
transition:0.2s;
}*/
#top2 .top_contents > div > ul li > a:hover::after {
	bottom: 0;
}
@media(max-width:991px){
	#top2 {
		padding-top: 114rem;
	}
	#top2 .top_contents > div .str_title > div:first-child,
	#top2 .top_contents > div .str_title > div:last-child {
		width: 100%;
	}
	#top2 .top_contents > div .str_title > div:first-child {
		font-size: 4rem;
		line-height: 4rem;
	}
	#top2 .top_contents > div .str_title > div:last-child {
		margin-bottom: 0;
	}
	#top2 .top_contents > div > ul {
		margin-bottom: 0;
	}
	#top2 .top_contents > div > ul li:last-child {
		margin-bottom: 0;
	}
	#top2 .top_contents > div > ul li span:first-child,
	#top2 .top_contents > div > ul > li span:last-child {
		width: 100%;
	}
	#top2 .top_contents > div > ul li span:first-child {
		justify-content: unset;
	}
	/* 	#top2 .top_contents > div > ul li span:first-child::after {
	margin-left: 10px;
} */
	#top2 .top_contents > div > ul li span:first-child i {
		margin-left: 10px;
	}
}
@media(max-width:767px){
	#top2 {
		padding-top: 0rem;
	}
}
@media(max-width:575px){
	#top2 {
		xpadding-top: 100rem;
	}
}
.str_1,.str_2,.str_3{position:relative; overflow:hidden;}
.sub{position:absolute; bottom: -20px; left: -10px;font-size:120px; color:#fff; opacity:0.4; font-weight:bold; z-index: -20; line-height:1.0em;}
.str_1{background:url(/wp-content/uploads/2025/07/ttbg01.jpg) no-repeat; background-size:cover;}
.str_2{background:url(/wp-content/uploads/2023/11/ttbg02.jpg) no-repeat; background-position: top right; background-size:cover;}
.str_3{background:url(/wp-content/uploads/2023/11/ttbg03.jpg) no-repeat; background-size:cover;}
#top2 .top_contents > div > ul{margin-bottom:1em;}
#top2 .top_contents > div > ul li > a{display:inline-block; padding:.8em 3em; border:1px solid #003a80; background:rgba(29,79,173,.8); width:300px; text-align:center; color:#fff;}
#top2 .top_contents > div > ul li > a:hover{background-color:#fff; color:#003a80; transition:0.3s ease;}

#top3 {
    position: absolute;
    width: 100%;
    top: -7rem;
    z-index: 1;
    margin: 0;
}
.top_contents .info_row .info_box {
	background-color: #19356b;
	padding: 30px;
	display: flex;
	flex-direction: column;
}
.top_contents .info_row {
	box-shadow: 0px 4px 10px rgba(0,0,0, 0.4);
}
.top_contents .info_row .info_box > h3 {
	text-align: center;
	font-size: 2.4rem;
	color: #fff;
}
.top_contents .info_row .info_box .parts_row {
	margin-left: -5px;
	margin-right: -5px;
}
.top_contents .info_row .info_box .parts_row > div {
	padding-left: 5px;
	margin-bottom: 10px;
	padding-right: 5px;
}
.top_contents .info_row .info_box .parts_row > div > a {
	transition: 0.2s;
}
.top_contents .info_row .info_box:nth-child(1) .parts_row > div > a {
	background-color: #fff;
	text-align: center;
	position: relative;
	overflow: hidden;
	display: block;
	height: 100%;
	padding: 0px 10px;
}
/* .top_contents .info_row .info_box:nth-child(1) .parts_row > div > a::before {
display: block;
content: "";
padding-top: 100%;
}
.top_contents .info_row .info_box:nth-child(1) .parts_row > div > a img {
position: absolute;
top: 30%;
left: 50%;
transform: translate(-50%,-50%);
} */
/* .top_contents .info_row .info_box:nth-child(1) .parts_row > div > a span {
position: absolute;
padding: 10px;
left: 0;
width: 100%;
display: block;
bottom: 0;
font-weight: 700;
font-size: 14px;
line-height: 1.2rem;
} */
.top_contents .info_row .info_box:nth-child(1) .parts_row > div > a .square {
	width: 100%;
	position: relative;
	display: block;
}
.square::before {
	content: "";
	display: block;
	padding-top: 100%;
}
.top_contents .info_row .info_box:nth-child(1) .parts_row > div > a .square > span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
}
.top_contents .info_row .info_box:nth-child(1) .parts_row > div > a .square > span > img {
	display: block;
	margin: 0 auto;
}
.top_contents .info_row .info_box:nth-child(1) .parts_row > div > a .square > span > span {
	font-weight: 700;
	font-size: 0.9rem;
	line-height: 1rem;
	width: 100%;
	display: block;
}
.top_contents .info_row .info_box:nth-child(2) .parts_row {
	height: 100%;
}
.top_contents .info_row .info_box:nth-child(2) .parts_row > div > a {
	background-color: #fff;
	text-align: center;
	font-weight: 700;
	position: relative;
	height: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
/* .top_contents .info_row .info_box:nth-child(3) .parts_row {
position: relative;
}
.top_contents .info_row .info_box:nth-child(3) .parts_row > div:first-child {
position: absolute;
clip-path: polygon(100% 0, 0% 0%, 0 100%);
}
.top_contents .info_row .info_box:nth-child(3) .parts_row > div:last-child {
position: absolute;
top: 10px;
clip-path: polygon(100% 0, 0% 100%, 100% 100%);
} */
.top_contents .info_row .info_box:nth-child(3) .parts_row {
	height: 100%;
	position: relative;
}
.top_contents .info_row .info_box:nth-child(3) .parts_row > div > a {
	background-color: #fff;
	text-align: center;
	font-weight: 700;
	position: relative;
	height: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
/* .top_contents .info_row .info_box:nth-child(3) .parts_row > div:first-child > a {
height: calc(100% - 5px);
clip-path: polygon(100% 0, 0% 0%, 0 100%);
padding: 4rem;
}
.top_contents .info_row .info_box:nth-child(3) .parts_row > div:last-child > a {
height: calc(100% - 5px);
clip-path: polygon(100% 0, 0% 100%, 100% 100%);
} */
.top_contents .info_row .info_box .parts_row > div > a:hover:before,
.top_contents .info_row .info_box .parts_row > div > a:hover:after {
	width: 100%;
}
.top_contents .info_row .info_box .parts_row > div > a:hover .line:before,
.top_contents .info_row .info_box .parts_row > div > a:hover .line:after {
	height: 100%;
}
.top_contents .info_row .info_box .parts_row > div > a:before {
	background-color: var(--vk-color-primary);
	content: "";
	display: block;
	position: absolute;
	z-index: 10;
	transition: all 0.3s ease 0s;
	-webkit-transition: all 0.3s ease 0s;
	bottom: 0;
	height: 5px;
	right: 0;
	width: 0;
}
.top_contents .info_row .info_box .parts_row > div > a:after {
	background-color: var(--vk-color-primary);
	content: "";
	display: block;
	position: absolute;
	z-index: 10;
	transition: all 0.3s ease 0s;
	-webkit-transition: all 0.3s ease 0s;
	height: 5px;
	left: 0;
	top: 0;
	width: 0;
}
.top_contents .info_row .info_box .parts_row > div > a .line:before {
	background-color: var(--vk-color-primary);
	content: "";
	display: block;
	position: absolute;
	z-index: 10;
	transition: all 0.3s ease 0s;
	-webkit-transition: all 0.3s ease 0s;
	height: 0;
	right: 0;
	top: 0;
	width: 5px;
}
.top_contents .info_row .info_box .parts_row > div > a .line:after {
	background-color: var(--vk-color-primary);
	content: "";
	display: block;
	position: absolute;
	z-index: 10;
	transition: all 0.3s ease 0s;
	-webkit-transition: all 0.3s ease 0s;
	bottom: 0;
	height: 0;
	left: 0;
	width: 5px;
}
/* .top_contents .info_row .info_box > div:last-child {
margin-top: auto;
}
.top_contents .info_row .info_box > div:last-child a {
display: block;
text-align: center;
border: 1px solid #000;
font-weight: 700;
font-size: 1.2rem;
padding: 20px;
transition: 0.2s;
background: #fff;
color: #000;
overflow: hidden;
position: relative;
z-index: 1;
} */
/* .top_contents .info_row .info_box > div:last-child a::after {
background: #000;
position: absolute;
top: 0;
left: 0;
content: '';
width: 100%;
transform: skewY(-10deg) scale(1, 0);
height: 140px;
transform-origin: left top;
transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
z-index: -1;
}
.top_contents .info_row .info_box > div:last-child a:hover {
color: #fff;
}
.top_contents .info_row .info_box > div:last-child a:hover::after {
transform: skewY(-10deg) scale(1, 1);
} */

@media(max-width:1199px){
	.top_contents .info_row .info_box:nth-child(1) .parts_row > div > a {
		padding: 10px;
	}
	.top_contents .info_row .info_box:nth-child(2) .parts_row > div > a {
		line-height: 5.9rem;
	}
	.top_contents .info_row .info_box:nth-child(3) .parts_row > div > a {
		line-height: 9.5rem;
	}
}
@media(min-width:992px) and (max-width:1199px){
	.top_contents .info_row .info_box:nth-child(1) .parts_row > div > a .square > span > span {
		font-size: 0.7rem;
	}
}
@media(max-width:767px) {
	#top3 {
		position: unset;
	}
}
@media(min-width:992px) {
	.top_contents .info_row .info_box:nth-child(3) .parts_row > div:first-child {
		position: absolute;
		clip-path: polygon(98% 0, 0% 0%, 0 98%);
		height: 97%;
	}
	.top_contents .info_row .info_box:nth-child(3) .parts_row > div:last-child {
		position: absolute;
		clip-path: polygon(102% 0, 0% 102%, 100% 100%);
		height: 97%;
	}
	.top_contents .info_row .info_box:nth-child(3) .parts_row > div:first-child > a {
		padding: calc(25%);
		justify-content: start;
		align-items: start;
	}
	.top_contents .info_row .info_box:nth-child(3) .parts_row > div:last-child > a {
		padding: 25%;
		justify-content: end;
		align-items: end;
	}
}
/* @media(min-width:1200px){
.top_contents .info_row .info_box:nth-child(1) .parts_row > div > a .square > span {
height: 100%;
}
} */

#top4 .top_contents > div > div > a {
	display: flex;
	height: 300px;
	border: 1px solid var(--vk-color-primary);
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--vk-color-primary);
	margin: 0 10px;
	position: relative;
	/* 	z-index: 0; */
	transition: 0.2s;
	padding: 10px;
}
/* #top4 .top_contents > div > div > a:after {
transition: 0.2s;
content: "";
display: block;
}
#top4 .top_contents > div > div > a:hover {
color: #fff;
}
#top4 .top_contents > div > div > a:hover:after {
width: 100%;
height: 100%;
position: absolute;
background-color: #0000002e;
z-index: 1;
} */
@media(max-width:991px){
	#top4 .top_contents > div > div > a {
		height: 150px;
		margin-bottom: 10px;
	}
}

#top4 .top_contents > div > div > a:hover:before,
#top4 .top_contents > div > div > a:hover:after {
	width: 100%;
}
#top4 .top_contents > div > div > a:hover .line:before,
#top4 .top_contents > div > div > a:hover .line:after {
	height: 100%;
}
#top4 .top_contents > div > div > a:before {
	background-color: var(--vk-color-primary);
	content: "";
	display: block;
	position: absolute;
	z-index: 10;
	transition: all 0.3s ease 0s;
	-webkit-transition: all 0.3s ease 0s;
	bottom: 0;
	height: 5px;
	right: 0;
	width: 0;
}
#top4 .top_contents > div > div > a:after {
	background-color: var(--vk-color-primary);
	content: "";
	display: block;
	position: absolute;
	z-index: 10;
	transition: all 0.3s ease 0s;
	-webkit-transition: all 0.3s ease 0s;
	height: 5px;
	left: 0;
	top: 0;
	width: 0;
}
#top4 .top_contents > div > div > a .line:before {
	background-color: var(--vk-color-primary);
	content: "";
	display: block;
	position: absolute;
	z-index: 10;
	transition: all 0.3s ease 0s;
	-webkit-transition: all 0.3s ease 0s;
	height: 0;
	right: 0;
	top: 0;
	width: 5px;
}
#top4 .top_contents > div > div > a .line:after {
	background-color: var(--vk-color-primary);
	content: "";
	display: block;
	position: absolute;
	z-index: 10;
	transition: all 0.3s ease 0s;
	-webkit-transition: all 0.3s ease 0s;
	bottom: 0;
	height: 0;
	left: 0;
	width: 5px;
}





#top5 .top_contents > div > div {
	margin-bottom: 4rem;
}
#top5 .top_contents > div > div > h3 {
	font-weight: 700;
	font-size: 3rem;
	margin-bottom: 1rem;
}
#top5 .top_contents > div > div > p > strong {
	font-size: 1.4rem;
}
#top5 .top_contents > div > div > div {
	display: flex;
}
#top5 .top_contents > div > div > div > a {
	display: inline-block;
	background-color: var(--vk-color-primary);
	color: #fff;
	padding: 10px 40px;
	font-size: 1.2rem;
	border: 1px solid var(--vk-color-primary);
	transition: 0.2s;
}
#top5 .top_contents > div > div > div > a:hover {
	background-color: #fff;
	color: var(--vk-color-primary);
}
#top5 .top_contents > div > div:nth-child(2) > div > a {
	margin-left: auto;
}
#top5 .top_contents > div > div:nth-child(4) > div > a {
	margin-right: auto;
}
@media(max-width:991px){
	#top5 .top_contents > div > div:nth-child(1),
	#top5 .top_contents > div > div:nth-child(3) {
		margin-bottom: 1rem;
	}
	#top5 .top_contents > div > div:nth-child(4) > div > a {
		margin-left: auto;
		margin-right: 0;
	}
}
#top6 .top_contents > div > div {
	margin-bottom: 30px;
}
#top6 .top_contents > div > div > a {
	display: block;
	text-align: center;
	padding: 50px;
	background-color: #d5d5d5;
	border: 1px solid #f2f2f2;
	color: #fff;
}

/* #top7 .top_contents {
margin: 0 calc(50% - 50vw);
padding: 50px calc(50vw - 50%);
background-color: #f2f2f2;
text-align: center;
}
#top7 .top_contents > div:nth-child(2) {
margin-bottom: 1.7rem;
}
#top7 .top_contents > div > a {
display: inline-block;
background-color: #fff;
padding: 30px;
width: 300px;
border: 1px solid #000;
font-size: 1.2rem;
font-weight: 700;
color: #000;
transition: 0.2s;
}
#top7 .top_contents > div > a {
display: inline-block;
width: 300px;
text-align: center;
border: 1px solid #000;
font-weight: 700;
font-size: 1.2rem;
padding: 20px;
transition: 0.2s;
background: #fff;
color: #000;
overflow: hidden;
position: relative;
z-index: 1;
} 
#top7 .top_contents > div > a::after {
background: #000;
position: absolute;
top: 0;
left: 0;
content: '';
width: 100%;
transform: skewY(-10deg) scale(1, 0);
height: 140px;
transform-origin: left top;
transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
z-index: -1;
}
#top7 .top_contents > div > a:hover {
color: #fff;
}
#top7 .top_contents > div > a:hover::after {
transform: skewY(-10deg) scale(1, 1);
} */






/* ==========================
投稿ページ
========================== */
.entry-meta-item-updated,
.entry-meta-item-author {
	display: none;
}
.single .page-header-title,
.archive .page-header-title{color:#fff;}

/* ==========================
固定ページ
========================== */
.page-header {
	margin-top: 6rem;
}
.single .page-header,.archive .page-header,.titan_page {
	min-height: 300px;
	background-size: cover;
	background-position: center;
	align-items: unset;
	margin-top: 0;
}
.single .page-header .page-header-inner,.archive .page-header .page-header-inner,.titan_page .page-header-inner {
	margin: 7em auto 2.5em;
	display: flex;
	align-items: center;
}
.titan_page .page-header-inner > h1 {
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
}
@media(max-width:767px) {
	.titan_page,.single .page-header,.archive .page-header {
		min-height: 150px;
	}
	.titan_page .page-header-inner ,.single .page-header .page-header-inner ,.archive .page-header .page-header-inner{
		justify-content: center;
	}
}
.page_top {
	text-align: center;
	margin: 0 auto 4rem;
	max-width: 800px;
}
.page_top > p {
	font-size: 1.2rem;
}

/* ==========================
ネットワーク
========================== */
#network01 h3,
#network02 h3,
#network03 h3 {
	color: #fff;
}
#network01,
#network03 {
	margin: 0 auto 6rem calc(50% - 50vw);
	padding: 4rem 2rem 2rem calc(50vw - 50%);
	background-color: #f2f2f2;
}
#network02 {
	margin: 0 calc(50% - 50vw) 6rem auto;
	padding: 4rem calc(50vw - 50%) 2rem 2rem;
	background-color: #f2f2f2;
}
#network01 {
	background-image: url(/wp-content/uploads/2025/06/network_img01.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
#network02 {
	background-image: url(/wp-content/uploads/2023/11/network_img02.jpg);
	background-repeat: no-repeat;
	background-size: cover;	
}
#network03 {
	background-image: url(/wp-content/uploads/2023/11/network_img03.jpg);
	background-repeat: no-repeat;
	background-size: cover;
}
.network_section > div {
	width: 80%;
	padding: 60px 50px;
	border-radius: 10px;
	background: rgba(150,150,150,0.3);
	color: #fff;
}
#network02.network_section div {
	margin-left: auto;
}
.network_section div > a {
	display: block;
	background-color: #000;
	color: #fff;
	padding: 20px;
	max-width: 300px;
	text-align: center;
	text-decoration: none;
	transition: 0.2s;
}
.network_section div > a:hover {
	background-color: #666;
}
@media(max-width:767px){
	#network01,
	#network02,
	#network03 {
		margin: 0 auto 3rem;
		padding: 2rem;
	}
	.network_section div {
		width: 100%;
	}
}


/* ==========================
材料置場
========================== */
.material_box {
	margin: 0 calc( 50% - 50vw) 50px -15px;
}
.material_box > div:last-child {
	padding-right: 0;
}
.material_box > div:last-child > img {
	display: block;
}
.material_caption > p {
	text-align: center;
}
.material_type {
	border: 1px solid #333;
	width: 100px;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
.material_type > a {
	display: block;
    width: 100%;
    text-align: center;
    height: 100px;
	background-color: #fff;
    position: relative;
    overflow: hidden;
    padding: 10px;
}
.material_type > a:before {
    background-color: var(--vk-color-primary);
    content: "";
    display: block;
    position: absolute;
    z-index: 10;
    transition: all 0.3s ease 0s;
    -webkit-transition: all 0.3s ease 0s;
    bottom: 0;
    height: 5px;
    right: 0;
    width: 0;
}
.material_type > a > span.square > span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}
.material_type > a > span.square > span > span {
	font-size: 0.8rem;
}
.material_type > a > span.line::before {
background-color: var(--vk-color-primary);
    content: "";
    display: block;
    position: absolute;
    z-index: 10;
    transition: all 0.3s ease 0s;
    -webkit-transition: all 0.3s ease 0s;
    height: 0;
    right: 0;
    top: 0;
    width: 5px;	
}
.material_type > a > span.line::after {
	background-color: var(--vk-color-primary);
    content: "";
    display: block;
    position: absolute;
    z-index: 10;
    transition: all 0.3s ease 0s;
    -webkit-transition: all 0.3s ease 0s;
    bottom: 0;
    height: 0;
    left: 0;
    width: 5px;
}
.material_type > a::after {
	content: "";
	display: block;
	width: 100%;
}
.material_type > div {
	position: absolute;
}
.material_type > div p {
	margin-bottom: 0;
	font-weight: 700;
}

.material_type > a:hover:before,
.material_type > a:hover:after {
	width: 100%;
}
.material_type > a:hover .line:before,
.material_type > a:hover .line:after {
	height: 100%;
}
.material_type > a:before {
	background-color: var(--vk-color-primary);
	content: "";
	display: block;
	position: absolute;
	z-index: 10;
	transition: all 0.3s ease 0s;
	-webkit-transition: all 0.3s ease 0s;
	bottom: 0;
	height: 5px;
	right: 0;
	width: 0;
}
.material_type > a:after {
	background-color: var(--vk-color-primary);
	content: "";
	display: block;
	position: absolute;
	z-index: 10;
	transition: all 0.3s ease 0s;
	-webkit-transition: all 0.3s ease 0s;
	height: 5px;
	left: 0;
	top: 0;
	width: 0;
}

@media(max-width:991px){
	.material_type {
		flex: 0 0 30%;
		max-width: 30%;
		gap: 1%;
		margin-bottom: 1rem;
	}
}
/* スライダー */
.material_slider {
	position: relative;
	margin-bottom: 2rem;
}
.material_slider > .swiper-pagination {
	bottom: 1rem;
}
.material_slider .swiper-button-next::after, .swiper-button-prev::after {
	color: #000;
	background-color: #fff0;
}
.swiper-button-next, .swiper-button-prev {
	top: var(--swiper-navigation-top-offset, 36%);
}
@media(max-width:991px){
	.swiper-button-next, .swiper-button-prev {
		top: var(--swiper-navigation-top-offset, 19%);
	}
	.material_type > a > span.square > span > span {
		font-size: 1rem;
	}
}

/* ==========================
提案
========================== */
.suggestion_box {
	margin: 0 calc(50% - 50vw) 0 -15px;
}
.suggestion_box > div {
	margin-bottom: 4rem;
}
.suggestion_box > div:nth-child(2n) {
	padding-right: 0;
}
@media(max-width:991px){
	.suggestion_box > div:nth-child(2n) {
		margin-bottom: 1rem;
	}
	.suggestion_box {
		margin: 0 -15px;
	}
	.suggestion_box > div:nth-child(2n) {
		padding-right: 15px;
	}
}

/* ==========================
設計・開発
========================== */
.development_box {
	background-image: url(/wp-content/uploads/2023/08/dev_img.png);
	background-repeat: no-repeat;
	background-size: calc(50% - 30px);
}
.db01{
	background-image: url(/wp-content/uploads/2023/11/development_img01.jpg);
}
.db02{
	background-image: url(/wp-content/uploads/2024/03/development_img02.jpg);
}
.development_box:nth-child(2) {
	margin-left: calc(50% - 50vw);
	background-position: top left;
}
.development_box:last-child {
	margin-right: calc(50% - 50vw);
	background-position: top right;
}
.development_box > div:nth-child(1) {
	margin-bottom: 1rem;
}
.development_box > div:nth-child(2) {
	margin-bottom: 6rem;
}
@media(max-width:991px){
	.development_box {
		background: none;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

/* ==========================
資格
========================== */
.certification_box h2 {
	font-size: 1.5rem;
	border-left: 10px solid var(--vk-color-primary);
	padding-left: 15px;
	line-height: 3rem;
}
.certification_box > div {
	max-width: 90%;
	margin: 0 auto;
}
.certification_box > div > div {
	margin-bottom: 2rem;
}
/* .certification_box > div:nth-child(3) > div {
text-align: center;
} */

/* ==========================
設備
========================== */
.post-name-facility {
	overflow-x: unset;
}
.facility_nav {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	height: 100%;
	margin-left: calc(50% - 50vw);
}
.facility_nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	position: sticky;
	top: 100px;
}
.facility_nav ul li {
	margin: 0;
}
.facility_nav ul li a {
	writing-mode: vertical-lr;
	display: block;
	padding: 15px 20px;
	text-decoration: none;
	border: 1px solid #fff;
	background-color: var(--vk-color-primary);
	color: #fff;
	transition: 0.2s;
	font-size: 0.8rem;
	font-weight: 700;
}

.facility_nav ul li a:hover {
	border: 1px solid var(--vk-color-primary);;
	background-color: #fff;
	color: var(--vk-color-primary);;
}
.facility_nav ul li:not(:last-child) a,
.facility_nav ul li:not(:last-child) a:hover {
	border-bottom: 0;
}
.facility_box .facility_section > h3 {
	border-left: 10px solid var(--vk-color-primary);
	padding-left: 15px;
	line-height: 3rem;
}
.facility_box .facility_section > .facility_inner {
	xwidth: 90%;
	margin: 0 auto;
}
.facility_box .facility_section > .facility_inner h4 {
	border-bottom: 1px solid #000;
	padding-bottom: 5px;
}
.facility_box .facility_section > .facility_inner > div {
	margin-bottom: 1.5rem;
}
.facility_box .facility_section > .facility_inner dl {
	display: flex;
	flex-wrap: wrap;
}
.facility_box .facility_section > .facility_inner dl dt {
	width: 20%;
}
.facility_box .facility_section > .facility_inner dl dd {
	width: 80%;
}
.facility_section > div > div > .col-md-4 {
	flex: unset;
    max-width: unset;
}
.facility_section > div > div > div > div > div.col-4 > iframe {
	height: auto !important;
	width: 100%;
    aspect-ratio: 16 / 9;
}
.facilityTable tr:first-child th,
.facilityTable tr:first-child td {
	background: var(--vk-color-primary) !important;
	color: #fff !important;
	font-weight: 700 !important;
}
.su-table table.facilityTable th {
	padding: 0 !important;
}
@media(min-width:1380px) {
	.facility_nav ul li a {
		writing-mode: unset;
	}
}
@media(max-width:767px) {
	.facility_box .facility_section > .facility_inner dl dt {
		width: 40%;
	}
	.facility_box .facility_section > .facility_inner dl dd {
		width: 60%;
	}
	.facility_box .facility_section > .facility_inner {
		margin: 0px;
	}
	.facility_inner > .row > .col-md-4 {
		padding: 0px;
	}
	.facility_inner > .row > .col-md-4 > .row > .col-4 {
		flex: unset;
    	max-width: unset;
		width: 100%;
		padding-right: 32px;
		padding-left: 30px;
	}
	.facility_nav ul li a {
		padding: 15px 8px;
	}
}

/* .facility_box .facility_section > .facility_inner > div > div > div > div::after {
content: "+";
display: block;
position: absolute;
width: 25px;
height: 25px;
bottom: 10px;
right: 20px;
background-color: #000;
border-radius: 50%;
color: #fff;
line-height: 0.6rem;
font-weight: 700;
padding: 7px;
} */
.facility_box .facility_section > .facility_inner > div > div > div > div > a {
	display: block;
	position: relative;
}
.batsu_box {
	position: absolute;
	bottom: 15px;
	right: 10px;
}
.batsu {
	display: block;
	position: relative;
	width: 25px;
	height: 25px;
	background-color: #000;
	border-radius: 50%;
	bottom: 0;
	right: 0;
}
.batsu::before, .batsu::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 48%;
	width: 1px;
	height: 12px;
	background: #fff;
}
.batsu::before {
	transform: translate(-50%,-50%) rotate(90deg);
}
.batsu::after {
	transform: translate(-50%,-50%) rotate(0deg);
}
@media(max-width:767px){
	.facility_box {
		margin-left: 30px;
	}
}
/* .fixed {
position: fixed;
top: 15%;
} */



/* ==========================
加工
========================== */
.process_btn div {
	margin-bottom: 40px;
}
.process_btn div > a {
	display: block;
	text-align: center;
	background-color: #f2f2f2;
	padding: 20px;
	font-weight: 700;
}
.process_box {
	border: 1px solid #333;
	padding: 35px 50px;
	margin-bottom: 40px;
}
.process_box > h2 {
	font-size: 3rem;
	margin-bottom: 1rem;
}
.process_box > div > div {
	margin-bottom: 40px;
}
.process_inner {
	margin: 0 30px;
}
.process_inner dl {
	display: flex;
	flex-wrap: wrap;
}
.process_inner dl dt {
	width: 25%;
}
.process_inner dl dd {
	width: 70%;
	margin-bottom: 0.5em;
}

/* ==========================
強み
========================== */
.strength_box {
	margin: 0 calc(50% - 50vw) 20px;
	padding: 50px calc(50vw - 50%);
	margin-bottom: 0px;

	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.strength_box01 {
	background-image: url(/wp-content/uploads/2025/06/strength_bg01.jpg);
}
.strength_box02 {
	background-image: url(/wp-content/uploads/2023/11/strength_bg02.jpg);
}
.strength_box03 {
	background-image: url(/wp-content/uploads/2023/11/strength_bg03.jpg);
}
.strength_box > h2 {
	text-align: center;
	font-size: 3em;
	color: #fff;
}
.strength_box > div {
	background-color: rgba(255,255,255,0.9);
	padding: 50px;
	margin-bottom: 2rem;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.4);
}
.strength_box > div > h3 {
	font-size: 2em;
	color: var(--vk-color-primary);
}
.strength_box > div > p {
	font-size: 1.2rem;
}
.strength_btn {
	text-align: right;
	margin-top: auto;
}
.strength_btn a{
	display: inline-block;
	background-color:  #fff;
	color: #000;
	padding: 20px 100px;
	font-weight: 700;
	font-size: 1.2rem;
	border: 1px solid #000;
	transition: 0.2s;
}
.strength_btn a:hover{
	background-color:#000;
	color:#fff;
}
@media(max-width:767px) {
	.strength_box > div {
		padding: 30px 40px;
	}
	.strength_btn {
		text-align: center;
	}
	.strength_btn a {
		padding: 12px 70px;
	}
}

/* ==========================
分野
========================== */
.field_proportion {
	margin-bottom: 6rem;
}
.field_proportion svg {
	max-width: 80%;
	height: auto;
}
.field_box > div > div:nth-child(2n) {
	margin-bottom: 5rem;
}
.field_box > div > div  h3 {
	padding: 10px 30px;
	border: 1px solid #000;
	display: inline-block;
}


/* ==========================
資料ダウンロード
========================== */
.document_box {
	max-width:800px;
	margin:0 auto;
}
.document_box > div > div {
	margin-bottom: 5rem;
}
.document_box > div > div:nth-child(2n-1) > img {
	display: block;
	margin: 0 auto;
}
.document_box > div > div:nth-child(2n){
	display:flex;
	flex-direction: column;
}
.download_btn {
	margin-top: auto;
}
.download_btn a{
	display: inline-block;
	background-color: #000;
	color: #fff;
	padding: 20px 100px;
	font-weight: 600;
	font-size: 1.2rem;
	border: 1px solid #000;
	transition: 0.2s;
}
.download_btn a:hover{
	background-color: #fff;
	color: #000;
}
.document_box > .row{
	margin-bottom: 100px;
}
.download-message {
	text-align: center;
}
.su-image-carousel-slides-style-default .su-image-carousel-item-content span {
	text-align: center;
	background: rgba(0, 0, 0, .6) !important;
	text-shadow: none !important;
	font-size: 1.4em;
	font-weight: 700;
}
@media(max-width:767px) {
	.document_box {
		text-align: center;
	}
	.document_box > div > div:nth-child(2n-1) {
		margin-bottom: 2rem;
	}
}

/* ==========================
事業案内
========================== */
.information_box {
	margin: 0 calc(50% - 50vw);
	padding: 10rem 0 3rem calc(50vw - 50%);
	position: relative;
}
.information_box::after {
	content: "";
	display: block;
	width: 100%;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	height: calc(tan(60deg) * 7rem / 2);
	position: absolute;
	left: 0;
	bottom: -6rem;
	z-index: 1;
}
.information_box:last-of-type::after {
	display: none;
}
.information_box:nth-of-type(2n-1),
.information_box:nth-of-type(2n-1)::after {
	background: #f2f2f2;
}
.information_box:nth-of-type(2n),
.information_box:nth-of-type(2n)::after {
	background: #fff;
}
.information_box > div > div {
	margin-bottom: 2rem;
}
.information_box > div > div:first-child {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
}
.information_btn {
	margin-top: auto;
}
.information_btn a {
	display: block;
	background-color: #000;
	color: #fff;
	padding: 20px;
	font-weight: 600;
	font-size: 1.2rem;
	border: 1px solid #000;
	transition: 0.2s;
	max-width: 300px;
	text-align: center;
}
.information_btn a:hover{
	background-color: #fff;
	color: #000;
}
@media(max-width:767px){
	.information_btn a {
		margin: auto auto 0;
	}
	.information_box {
		padding: 10rem calc(50vw - 50%) 3rem;
	}
}

/*---GoogleMap・youtube------------------------------------------------------------------*/
.g-map,.y-tube {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
}
.g-map iframe,.y-tube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.scroll-logo{display:none;}
.header_scrolled .scroll-logo{display:inline-block;padding:12px 0 0 12px;}
@media(max-width:767px){
	.header_scrolled .scroll-logo,.site-header-logo {padding:20px 0 10px 10px;}
	.header_scrolled .scroll-logo img,.site-header-logo img{width:200px;}
	.site-header-logo{display:inline-block;}
}
table{table-layout: fixed;}
table.titanAboutTable-content{ margin-bottom: 10px;}
table.titanAboutTableCr-content{text-indent: initial; border-spacing: 2px; table-layout: fixed;}
table.titanAboutTable-content th,table.titanAboutTableCr-content th{font-size:12px; padding:10px; text-align:left; vertical-align:top; background: #f9f9f9;}
table.titanAboutTable-content td{font-size:12px; padding:10px; text-align:center; vertical-align:middle;}
table.titanAboutTable-content th,table.titanAboutTable-content td,table.titanAboutTableCr-content th,table.titanAboutTableCr-content td{}
.titanAboutTable-content td, .titanAboutTableCr-content td {padding: 10px;text-align: center;font-size: 12px;}
.titanAboutTableCr th {word-break: keep-all;}
table.titanAboutTable-content tr th span,.titanAboutTable-content td span, .titanAboutTableCr-content td span{font-size:10px !important; font-weight:normal;}
.titanAboutTableCr {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.titanAboutTable, .titanAboutTableCr {
	margin-bottom: 10px;
}
.titanAboutTableCr table {
	width: 48%;
}
@media(max-width:767px){
	.titanAboutTableCr table{width:100%;}
	.titanAboutTable{overflow-x:scroll;}
	table.titanAboutTable-content tr th,table.titanAboutTable-content tr td{width:100px;}
}
	
.Qa-Box {
	margin: 0 auto;
}

.Qa-Box .Qa dt,
.Qa-Box .Qa dd {
	display: flex;
	align-items: baseline;
	margin: 0;
	padding: 15px;
	font-weight: bold;
	font-size:1.3em;
}

.Qa-Box .Qa dt,.Qa-Box .Qa dd {
	background: #F5F5F5;
}

.Qa-Box .Qa dt p,
.Qa-Box .Qa dd p {
	margin: 0;
	padding-left: 15px;
	font-weight: bold;
	line-height:1.6em;
	width:calc(100% - 60px);
}

.Qa-Box .Qa dt::before {
	content: "お悩み";
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	background: #6699B7;
	font-size:14px;
	width: 60px;
	height: 40px;
}

.Qa-Box .Qa dd::before {
	content: "解決";
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	background: #D65556;
	font-size:14px;
	width: 60px;
	height: 40px;
}
.single-case table{table-layout: fixed;}
.single-case table tr th,.single-case table tr td{padding:1em; font-size:1em;}
.single-case table tr th{background:#005baa;color:#fff; width:20%; border-bottom:1px solid #989abc;}
.single-case tr:nth-child(2n) td { background: #FBFBF6;}
.single-case {font-size:16px;}
.ftBtn{
	display: inline-block;
	background-color: var(--vk-color-primary);
	color: #fff;
	padding: 10px 40px;
	font-size: 1.2rem;
	border: 1px solid var(--vk-color-primary);
	transition: 0.2s;
}
.main-section h4 {
	font-size: 1.1rem;
	border-bottom: 1px dotted #ccc;
	padding: 0.7em;
	background-color:#efefef;
	border-radius:5px 5px 0 0;
	line-height:1em;
	margin-bottom:5px;
}
.main-section h2.midashi {
	background-color:var(--vk-color-primary);
	padding: .6em .8em;
	color:#fff;
	font-size:1.3rem;
	margin-bottom:0.6rem;
}
.main-section h2.knTit{
	border-bottom:1px solid #ccc;
	padding: .6em 0;
}
.main-section h2.knTit span{float:right; display:inline-block; font-size:.5em; font-weight:normal; color:#999;}
table.aboutTitan{overflow-x:scroll; margin-bottom:10px;}
table.aboutTitan tr th{background:#dfe4f0;}
table.aboutTitan tr td{text-align:center;}
.attend{font-size:.8em;text-align:right; margin-bottom:20px;}

/* ==========================
会社概要・沿革
========================== */
.companyOutlineTable {
	margin-bottom: 20px;
}
table.companyOutlineTable-content th, table.companyOutlineTableCr-content th {
	width: 120px;
    padding: 10px;
    text-align: left;
    vertical-align: top;
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 1px solid var(--vk-color-primary);
}

table.companyOutlineTable-content, table.companyOutlineTableCr-content {
	border: none;
}
table.companyOutlineTable-content td, table.companyOutlineTableCr-content td {
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 1px solid #eee;
}
/* ==========================
企業理念
========================== */
.company_guideMission_box h2, .company_guideMission_box h3, .company_guideMission_box h4 {
	color: var(--vk-color-primary);
}
.company_guideMission_box h4 {
	border-bottom: none;
	border-radius: 5px;
}
.company_philosophy_presidentImg {
	text-align: right;
}

.company_philosophy_presidentText {
	margin-bottom: 0px;
	text-align: right;
	font-size: 20px;
	font-weight: 700;
}
.company_guideMission_policy p {
	padding: 10px 5px;
}
/* ==========================
アクセス・マップ
========================== */
.company_guideAccess_box h4 {
	border: none;
	border-radius: 0;
	border-left: 10px solid var(--vk-color-primary);
	background: none;
	text-align: left;
}
.company_guideAccess_guidance p {
	text-align: center;
}
.company_guideAccess_guidance p.updown {
	margin-bottom: 5px;
	padding: 10px 0 0 20px;
	text-align: left;
	font-size: 26px;
	font-weight: 700;
	color: var(--vk-color-primary);
}
/* ==========================
採用情報
========================== */
.companyRecruitTable {
	margin-bottom: 60px;
}
table.companyRecruitTable-content {
	margin-bottom: 40px;
}
table.companyRecruitTable-content th, table.companyRecruitTableCr-content th {
	width: 120px;
    padding: 10px;
    text-align: left;
    vertical-align: top;
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 1px solid var(--vk-color-primary);
}

table.companyRecruitTable-content, table.companyRecruitTableCr-content {
	border: none;
}
table.companyRecruitTable-content td, table.companyRecruitTableCr-content td {
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 1px solid #eee;
}
.companyRecruitTable p {
	margin-top: 20px;
	font-size: 20px;
	font-weight: 700;
}
/* ==========================
工場案内
========================== */
.factorySelectButton {
	margin: 5px;
	padding: 10px 16px;
	border: 1px solid #fff;
	border-radius: 2px;
	box-sizing: border-box;
	cursor: pointer;
	background: var(--vk-color-primary);
	color: #fff;
	font-weight: 700;
}
.factorySelectButton:hover {
	border: 1px solid var(--vk-color-primary);
	box-sizing: border-box;
	background: #fff;
	color: var(--vk-color-primary);
	transition: 0.3s ease;
}
.change_image {
	width: 60%;
	text-align: center;
}
/* モーダル本体 */
.modal__wrapper {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
}
.modal__layer {
  height: 100%;
  background: rgba(50, 50, 50, .85);
  cursor: pointer;
}
.modal__container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(calc(100% - 40px), 1100px);
  padding: 20px;
  background: #fff;
}
.modal__inner {
  position: relative;
  overflow-y: scroll;
  height: 100%;
  padding: 80px 20px 20px;
}
/* モーダルを閉じるボタン */
.modal__close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  background: rgba(50, 50, 50, 1);
  cursor: pointer;
  transition: opacity .6s;
}
.modal__close:hover {
  opacity: .6;
}
.modal__close:before,
.modal__close:after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 1px;
  background: #fff;
  content: '';
}
.modal__close:before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.modal__close:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
/* モーダル内のコンテンツ */
.modal__content {
}
.modal__title {
  background: var(--vk-color-primary);
  padding: 10px;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
}
.modal__text {
  margin-top: 30px;
}
.modal__img {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  gap: 10px;
}
.modal__img img {
	max-width: 30%;
}
@media(max-width:767px){
	.modal__container {
		height: calc(100% - 120px);
	}
	.modal__img img {
		max-width: 100%;
	}
	.modal__close {
		top: 0px;
		right: 0px;
  		  width: 34px;
  		  height: 34px;
	}
	.modal__inner {
		padding: 50px 0 0 0;
	}
}
/* ==========================
スタッフ紹介
========================== */
.companyStaffPerson {
	margin-bottom: 40px;
}
.companyStaffDepartment {
	margin-bottom: 50px;
	text-align: center;
}
.companyStaffDepartment span {
	display: block;
	margin: 10px;
	padding: 20px;
	text-align: center;
	background: var(--vk-color-primary);
	color: #fff;
	cursor: pointer;
}
.companyStaffName_box {
	align-items: center;
    justify-content: space-between;
    padding: 0 15px 15px;
}
.companyStaffPosition {
	margin: 0;
}
.companyStaffName {
	font-size: 26px;
	font-weight: 700;
}
.companyStaff_box .midashi {
	margin-bottom: 5px;
	padding: 5px 10px;
	border-radius: 2px;
	background: #eee;
	font-weight: 700;
}
.companyStaff_box .su-tabs-nav {
	display: flex;
    justify-content: space-evenly;
	align-items: center;
}
.companyStaff_box .su-tabs-nav span.su-tabs-current {
	display: block;
    margin: 10px 10px 50px 10px;
    padding: 20px;
    text-align: center;
    background: var(--vk-color-primary);
    color: #fff;
}
.companyStaff_box .su-tabs-nav span {
	display: block;
	flex: 0 0 33.33333333%;
    max-width: 30%;
	margin: 10px 10px 50px 10px;
	padding: 20px;
	border: 1px solid var(--vk-color-primary);
	border-radius: 2px;
    min-height: 40px;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	cursor: pointer;
    transition: all .2s;
	color: var(--vk-color-primary);
}
.companyStaff_box .su-tabs {
	margin: 0;
	padding: 0;
	border-radius: unset;
	background: none;
}
.companyStaff_box .su-tabs-pane {
	font-size: unset;
}

/* ==========================
協力企業一覧
========================== */
.su-table table.partner th {
	min-width: 20%;
	background: var(--vk-color-primary) !important;
	color: #fff !important;
	font-weight: 700 !important;
}

/* ==========================
素材個別
========================== */
.listItem-standard {
	padding-left: 10px;
	border-left: 10px solid var(--vk-color-primary);
}
.listItem_box thead td {
	font-weight: 700;
}
.listItem_box .su-tabs-nav {
	display: flex;
	xgap: 5px;
	font-weight: 700;
    flex-wrap: wrap;
    justify-content: space-between;
}
.list_table p.list_table-cap {
	text-align: right;
    font-size: 0.78rem;
}
.listItem_box .list_table table td {
	font-size: 0.9rem;
}
.listItem_box .list_table table thead td {
	background: var(--vk-color-primary);
	color: #fff;	
}
.listItem_box .list_table table thead td:hover {
	background: var(--vk-color-primary);
}
.listItem_box .list_table table.text-small td {
	padding: 1px;
	font-size: 0.7rem;
}
.listItem_box table.flow {
	table-layout: unset;
}
.listItem_box table td.fix {
    min-width: 50px;
}
.listItem_box table.mesh td:nth-child(even) {
	border-left: none;
}
.listItem_box table.mesh td:nth-child(odd) {
	border-right: none;
}
.list_box.pipng-box tr td:empty {
	xbackground-image: linear-gradient(to right top, transparent calc(50% - 0.5px), #eaeaea 50%, #eaeaea calc(50% + 1px), transparent calc(50% + 1px));
}
.su-tabs {
	background: #fff !important;
}
.su-tabs .su-tabs-nav span {
	width: 49%;
	margin-right: 0px;
	margin-bottom: 5px;
	border: 1px solid var(--vk-color-primary);
	border-radius: 0px;
	xborder-bottom: none;
	transition: 0.2s;
	background: #fff;
	color: var(--vk-color-primary);
	overflow: hidden;
	vertical-align: bottom;
	position: relative;
	z-index: 1;
	font-size: 12px;
}
.su-tabs .su-tabs-nav span:focus {
	outline: none;
}
.su-tabs .su-tabs-nav span::after {
	background: var(--vk-color-primary);
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	transform: skewY(-10deg) scale(1, 0);
	height: 140px;
	transform-origin: left top;
	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
	z-index: -1;
}
.su-tabs .su-tabs-nav span:hover {
	color: #fff;
}
.su-tabs .su-tabs-nav span:hover::after {
	transform: skewY(-10deg) scale(1, 1);
}
.su-tabs .su-tabs-nav span.su-tabs-current, .su-tabs .su-tabs-nav span.su-tabs-current::after {
	background: var(--vk-color-primary);
	color: #fff;
}
.su-tabs-panes {
	border: 1px solid #1d4fad;
}

@media(max-width:767px){
	.su-tabs .su-tabs-nav span {
		xmargin: 0px;
	}
	.su-tabs.su-tabs-mobile-stack {
		margin-top: 20px;
	}
	.su-button.su-button-style-flat {
		display: block !important;
		margin: 0 auto;
		width: 90%;
		padding: 10px 0px;
	}
	.su-button.su-button-style-flat span {
		font-size: 20px !important;
	}
}

.single-case .entry-title,.single-case .entry-header{margin-bottom:.5em;}
a.case-category{border:1px solid var(--vk-color-primary); background-color:var(--vk-color-primary); color:#fff; padding:.5em .8em;  margin:0 .5em .5em 0; display:inline-block; text-decoration:none;}
ul.caseBtnList,ul.archiveCat{list-style:none; margin:0 0 2em 0; padding:0;}
ul.caseBtnList li,ul.archiveCat li {display:inline-block; margin:0 .5em .5em 0; padding:0;}
ul.caseBtnList li a{display:block; border:1px solid var(--vk-color-primary); background-color:var(--vk-color-primary); color:#fff; padding:.5em .8em;  margin:0; text-decoration:none;}
a.case-category:hover,ul.caseBtnList li a:hover{background-color:#fff; color:var(--vk-color-primary); transition:0.4s ease;}
h3.caseTitle{font-size:1.3rem;}
.caseImg{display:block; border:1px solid #ccc; margin-bottom:10px;}
a.caseImg:hover{opacity:0.6; transition:0.4s ease;}
ul.archiveCat{
	font-size:10px !important;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
 	-webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
	margin-bottom:.5em;
}
ul.archiveCat li{width:32%; margin:0 0 1em 0;}
.archiveCat li a{text-align:center; background-color:#fff; color:var(--vk-color-primary);display:block; border:1px solid var(--vk-color-primary);padding:.5em .8em;  margin:0; text-decoration:none;}
.archiveCat li a:hover{background-color:var(--vk-color-primary); color:#fff; transition:0.4s ease;}

.wpcf7-form p {
	margin: 6px;
}
.wpcf7-form th {
	width: 30%;
	background: #ececec;
}
.wpcf7-spinner {
	display: block;
}
input[type=submit].wpcf7-submit {
	font-size: 1.4rem;
	padding: 0.8em 2em;
	border-radius: unset;
}

.global-nav-list>li>ul.sub-menu {
	display: flex;
	flex-wrap: wrap;
	width: 420px;
	background: rgba(0, 0, 0, .6);
}

.vk-menu-acc ul.sub-menu li a {
	width: 140px;
	color: #fff;
	font-weight: 700;
	border-right: 1px solid rgba(255, 255, 255, .15);
}
.vk-menu-acc ul.sub-menu li a:nth-of-type(3n) {
	border-right: none;
}

@media(max-width:767px){
.vk-menu-acc ul.sub-menu li a {
	width: auto;
	color: #333;
	font-weight: 100;
}	
}


.standard {
	position: fixed;
    left: 0px;
    bottom: 0px;
    margin: 0;
    padding: 10px 1% 10px 20px;
    background: rgba(255, 255, 255, 0.8);
    z-index: 9999;
    font-size: 12px;
    border-top: 1px solid #a5a5a5;
    transform: translateX(0%);
    transition: 0.8s all;
}
.standard::after {
    content: "<";
    width: 10%;
    height: 100%;
    display: block;
    position: absolute;
    right: -10%;
    top: -1px;
	padding: 68px 10px;
    border: 1px solid #a5a5a5;
	background: #a5a5a5;
	color: #fff;
    font-size: 28px;
    font-family: cursive;
	cursor: pointer;
}
.standard.open {
	transform: translateX(-100%);
}
.standard.open::after {
	transform: rotate(180deg);
	xpadding: 58px 10px;
}
.grecaptcha-badge { visibility: hidden; }