/*
Theme Name:Template-theme
Author:更新システム
Description:更新システム専用テーマ
Version: 2.4.1
*/


/* YUI 3.5.0 reset.css (http://developer.yahoo.com/yui/3/cssreset/) - http://cssreset.com */

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0; box-sizing: border-box;}
table{border-collapse:collapse;border-spacing:0}
fieldset,img{border:0}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}
ol,ul{list-style:none}
caption,th{text-align:left}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}
q:before,q:after{content:''}
abbr,acronym{border:0;font-variant:normal}
sup{vertical-align:text-top}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}
input,textarea,select{*font-size:100%}
legend{color:#000}
#yui3-css-stamp.cssreset{display:none}

a { }

a:hover { text-decoration: none; }

a:hover img {
	opacity: 0.8;
	filter: alpha(opacity=80);
}

body {
	font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
	margin: 0;
	font-size:14px;
	color: #494F5C;
}

body .sans{
	font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
}

body .serif{
	font-family:  "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

body .chakra {
  font-family: "Chakra Petch", sans-serif;
  font-weight: 600;
  font-style: normal;
}

#body-inside{
	overflow-x: hidden;
}

img{width: auto; height: auto;}
img.objectfit{width: 100%;height: 100%;object-fit: cover;}

.imgbox img{
	width: 100%;
	margin: 20px auto;
}

.bold{
	font-weight: bold;
}

/* -------------------------------------------
	CLEAR-FIX
---------------------------------------------- */
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.clearfix { display: inline-block; }

/* Hides from IE-mac \*/
* html.clearfix { height: 1%; }

.clearfix { display: block; }

/* -------------------------------------------
	Utility
---------------------------------------------- */

/* Margin
-------------*/
.m0 { margin: 0 }
.m10 { margin: 10px }
.m15 { margin: 15px; }
.m20 { margin: 20px; }
.mg5 { margin: 5px; }
.mg10 { margin: 10px; }
.mg15 { margin: 15px; }
.mg20 { margin: 20px; }
.mt5 { margin-top: 5px; }
.mt10 { margin-top: 10px; }
.mt15 { margin-top: 15px; }
.mt20 { margin-top: 20px; }
.mt30 { margin-top: 30px; }
.mt50 { margin-top: 50px; }
.mt100 { margin-top: 100px; }
.ml5 { margin-left: 5px; }
.ml8 { margin-left: 8px; }
.ml10 { margin-left: 10px; }
.ml15 { margin-left: 15px; }
.ml20 { margin-left: 20px; }
.ml30 { margin-left: 30px; }
.ml40 { margin-left: 40px; }
.ml50 { margin-left: 50px; }
.mr5 { margin-right: 5px; }
.mr10 { margin-right: 10px; }
.mr15 { margin-right: 15px; }
.mr20 { margin-right: 20px; }
.mb5 { margin-bottom: 5px; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb50 { margin-bottom: 50px; }
.mb100 { margin-bottom: 100px; }

/* padding
---------------------*/
#wrapper .p5 { padding: 5px; }
#wrapper .p10 { padding: 10px; }
#wrapper .pt10 { padding-top: 10px; }
#wrapper .pt20 { padding-top: 20px; }
#wrapper .pb20 { padding-bottom: 20px; }

/* Float
---------------------*/
.fl { float: left }
.fr { float: right; }
.cl { clear: both; }

/* cursor
-------------------*/
.cp { cursor: pointer; }

.fcr { color: #fff; }

.attention {
	color: #f00;
	font-weight: bold;
}

.link-arrow {
	padding-left: 20px;
	background: url(images/common/bg_side-list.png) left center no-repeat;
}

/* width
--------------------*/
.w50 { width: 50px; }
.w100 { width: 100px; }
.w130 { width: 130px; }
.w200 { width: 200px; }
.w220 { width: 220px; }
.w245 { width: 245px; }
.w270 { width: 270px; }
.w300 { width: 300px; }
.w330 { width: 330px; }
.w400 { width: 400px; }
.w500 { width: 500px; }
.w570 { width: 570px; }

.w90 input, .w90 textarea { width: 90%; }

/* align
------------------- */
.tac { text-align: center }
.tal { text-align: left }
.tar { text-align: right }

/* Link Button
------------------- */
.button a {
	/* サイトごとに変更 */
	display: block;
	width: 80%;
	margin: 10px auto;
	text-align: center;
	padding: 10px 0;
	border-radius: 5px;
	text-decoration: none;
}
.flexbox-base{
	display: -webkit-box;/* Android4.3以前ブラウザ用 */
	display: -webkit-flex;/* iOS8以前Safari用 */
	display: flex;
	-webkit-flex-wrap:wrap;/*--- safari（PC）用 ---*/
	flex-wrap:wrap;
	justify-content: space-around;
	align-items: center;
}

.flexbox-base img{
	width: 100%;
}

.flexbox-base .w30{
	width: 30%;
	padding: 10px;
}

.flexbox-base .w70{
	width: 70%;
	padding: 10px;
}

/* -------------------------------------------
	WordPress Editor
---------------------------------------------- */

img.size-auto, img.size-large, img.size-full, img.size-medium {
	max-width: 100%;
	height: auto;
}

.alignleft, img.alignleft {
	display: inline;
	float: left;
	margin-right: 15px;
	margin-top: 4px;
}

.alignright, img.alignright {
	display: inline;
	float: right;
	margin-left: 15px;
	margin-top: 4px;
}

.aligncenter, img.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

img.alignleft, img.alignright, img.aligncenter { margin-bottom: 12px; }

.wp-caption {
	border: none;
	-khtml-border-radius: 0;
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	border-radius: 0;
	font-size: 12px;
	line-height: 18px;
	margin-bottom: 20px;
	padding: 4px;
	text-align: center;
}

.wp-caption img { margin: 5px; }

.wp-caption p.wp-caption-text { margin: 0 0 4px; }

.wp-smiley { margin: 0; }

#main .post-content h1 {
	font-size: 48px;
	font-weight: bold;
	line-height:150%;
}

#main .post-content h2 {
	font-size: 36px;
	font-weight: bold;
	line-height:150%;
}

#main .post-content h3 {
	font-size: 24px;
	font-weight: bold;
	line-height:150%;
}

#main .post-content h4 {
	font-size: 18px;
	font-weight: bold;
	line-height:150%;
}

#main .post-content h5 {
	font-size: 14px;
	font-weight: bold;
	line-height:150%;
}

#main .post-content h6 {
	font-size: 12px;
	font-weight: bold;
	line-height:150%;
}

#main .post-content h7 {
	font-size: 10px;
	font-weight: bold;
	line-height:150%;
}


.post-content img {
	width: auto;
    max-width: 100%;
    height: auto;
}

#main .post-content ul, #main ul.default, #main .post-content ol { padding: 10px 0 10px 20px; }

#main ul.default li, #main .post-content ul li { list-style: disc; }

#main .post-content ol li { list-style: decimal; }

#main .post-content blockquote {
	margin: 10px 20px;
	font-style: italic;
}

#wrapper img {
	max-width: 100%;
	height: auto;
}

#wrapper #galleria img { max-width: none; }

.mobile { display: none; }

.pr-content { margin-bottom: 30px; }


/* ------------------------------------------
	PC用のスタイル記述
--------------------------------------------- */

:target:before {
   height: 100px;/* ヘッダの高さ */
   margin: -100px 0 0;/* ヘッダの高さ */
   content:””;
   display:block;
}

a[href^="tel:"] {
	text-decoration: none;
}

p{
	margin: 10px auto;
}

.pc_block{
	display: block;
}

.sp_block{
	display: none;
}

body {
	font-size: 100%;
	line-height: 1.6;
}

#wrapper {
	margin: 0 auto;
	width: 100%;
}







/* Header */
#pagehead{
	display: block;
	content: "";
	height: 0;
	width: 100%;
}

header {
	position:fixed;
	width: 100%;
	z-index: 101;
	background: rgba(0,0,0,0.5);
}

.head_contents	{/*width: 960px;*/margin:0;display: flex;justify-content: space-between;align-items: center;}

.head-left{display: flex;align-items: center;}
.head_logo {margin-right: 15px;margin-top: 10px;margin-left: 15px;}
.head_logo img{height: 50px;}
.head_logo a {text-decoration: none;}
.head_logo h1{font-size: 1.8rem;}
.head_logo h1 span{display: block;font-size: 0.9rem;margin-top: -5px;}

.head-right{display: flex;align-items: center;height: 70px;}

/* Navigation
------------------------------------ */
#navigation{}
#navigation ul{display: flex;justify-content: center;}
#navigation li{margin: 10px 15px;display: block;text-align: center;}
#navigation li a{display:block;font-size:1rem;font-weight: bold;text-decoration: none;color: #fff;}
#navigation li .sub-menu{width: 150px;position: absolute;font-size:0.8rem;text-align: center;display: block;}
#navigation li .sub-menu li a{width: 150px;display: none;padding: 8px 0;height: auto;background-color: #fff;}
#navigation li:hover .sub-menu li a{display: block;}
#navigation li .sub-menu li a:hover{background-color: #eee;}
.nav-mail{height: 100%;display: flex;justify-content: center;align-items: center;}
.nav-mail a{padding: 5px 30px;border:1px solid;color: #fff;text-decoration: none;font-weight: bold;margin: auto 10px;}
.nav-mail a:hover{background: #eee;}


/* Menu Btn
------------------------------------ */
.btn-wrap{display: flex;}

#btn-menu {z-index: 99;}
#btn-menu p {color: #fff;margin: 10px;display: inline-block;padding:0;border-radius: 5px;text-decoration: none;text-align: center;line-height: 0.9;}
#btn-menu span {font-size: 0.7rem;}

#btn-mail {z-index: 99;}
#btn-mail a {color: #fff;margin: 10px;display: block;padding:0;border-radius: 5px;text-decoration: none;text-align: center;line-height: 0.2;font-size: 1.9rem;}
#btn-mail span {font-size: 0.7rem;}

/* Contents
------------------------------------ */
#breadcrumb {position: relative;margin: 20px auto 10px;width: 960px;font-size: 0.9rem;z-index: 10;}

.container {
	margin: auto;
	max-width: 1200px;
}

.contents-box{
	padding: 15px 3%;
}

.contents-box img{
	max-width: 100%;
}

.main-text{max-width: 960px;margin: auto;}

.contents-box h2{font-size: 2.5rem;font-weight: bold;}
.contents-box h3{font-size: 2rem;font-weight: bold;}
.contents-box h4{font-size: 1.2rem;font-weight: bold;}
.contents-box h5{font-size: 1.1rem;font-weight: bold;}
.contents-box p{
	line-height: 1.8rem;
	padding: 5px;
}

.section-title{}
.section-title h2{font-size: 1.5rem;}
.section-title h2 span{display: block;font-size: 5rem;line-height: 5.3rem;}
.section-title h2:before{content: "■";display: inline-block;margin-right: 10px;color: #236E8C;}
.section-title p{font-size: 1rem;}

.section-base{padding: 50px 0;position: relative;border-bottom: 1px solid #494F5C;}

.borderline{border-bottom: 1px solid #D0D1D5;}

.btn_basic{margin: 30px auto;text-align: center;}
.btn_basic a{position: relative;display: inline-block;text-decoration: none;padding: 15px 50px 15px 15px;min-width: 200px;color: #000;border: 1px solid;font-weight: bold;text-align: left;}
.btn_basic a:after{display: block;content: "";width: 8px;height: 8px;border-right: 2px solid #000;border-bottom: 2px solid #000;transform: rotate(-45deg);position: absolute;top:0;bottom:0;right:20px;margin: auto;}
.btn_basic a:hover{color: #fff!important;background: #aaa!important;}
.btn_basic a:hover:after{border-right: 2px solid #fff;border-bottom: 2px solid #fff;}
.btn_basic.white-btn a{color: #fff;}
.btn_basic.white-btn a:after{border-right: 2px solid #fff;border-bottom: 2px solid #fff;}
.btn_basic.two-btn{display: flex;justify-content: center;}
.btn_basic.two-btn a{max-width: calc(49% - 30px);margin: 15px;}
.btn_basic.one-btn a{width: calc(98% - 30px);}

.sns-links{display: flex;}
.sns-links li{margin: auto 5px;}
.sns-links li a{height: 40px;width: 40px;border-radius: 20px;background: #C1679A;color: #fff;display: flex;justify-content: center;align-items: center;text-decoration: none;font-size: 1.5rem;}
.sns-links li a:hover{color: #fff;background: #aaa;}

.flex-two{display: flex;flex-wrap: wrap;margin: 50px auto;}
.flex-two.flex-rev{flex-direction: row-reverse;}
.flex-two .image{width: 50%;}
.flex-two .image img{vertical-align: middle;}
.flex-two .text{width: 46%;margin: 0 2%;}


/* Sidebar
------------------------------------ */

.sidebar { }

.sidebar p { margin-bottom: 20px; }

.sidebar .widget { margin-bottom: 30px; }

.sidebar .widget li a {
	/* サイトごとに変更 */
	text-decoration: none;
	display: block;
	padding: 8px;
}


/* Footer
------------------------------------ */
footer {background: #494F5C;color: #fff;padding-top: 50px;}
footer .logo img{width: 50%;min-width: 250px;}
footer .flex-two{align-items: flex-end;}
footer .footer-left{width: 46%;margin: 0 auto;}
footer .footer-right{width: 46%;margin: 0 auto;}
footer .f-nav{margin: 30px auto;}
footer .f-nav ul{}
footer .f-nav li{margin: 10px 0;}
footer .f-nav li a{color: #fff;text-decoration: none;}
footer .f-access{text-align: right;}
footer .f-links{text-align: right;}
footer .f-links img{width: 150px;}
footer .btn_basic{text-align: right;}

.copyright {padding: 15px;font-size: 0.8rem;text-align: center;}



/* pagetop button */
#pageTop {
  position: fixed;
  bottom: 90px;
  right: 20px;
  z-index: 999;
}

#pageTop img{
	width: 120px;
}

#pageTop i {
  padding-top: 6px
}



#pageTop a {
  display: block;
  background-color: rgba(255,255,255,0.50);
  color: #777;
  border-radius: 10px;
  padding: 10px;
  line-height: 16px;
  text-align: center;
}

#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}

/* TOPコンテンツ */
#first_view{position: relative;width: 100%;margin: 0 auto;aspect-ratio: 16 / 9;
overflow: hidden;}
#first_view .swiper-container,#first_view .swiper-wrapper,#first_view .swiper-slide {height: 100%;}/*swiperを使用してアスペクトレシオが動くようにする設定*/
@keyframes zoomUp {
  0% {transform: scale(1);}
  100% {transform: scale(1.15);}
}
#first_view .swiper-slide-active img,
#first_view .swiper-slide-duplicate-active img,
#first_view .swiper-slide-prev img {
  animation: zoomUp 7s linear 0s normal both;
}
#first_view .swiper-slide img {height: 100%;width: 100%;object-fit: cover;display: block;transform-origin: center;}
#first_view:after{background: rgba(0,0,0,0.2);position: absolute;top:0;left: 0;width: 100%;height: 100%;display: block;content: "";z-index: 2;}
#first_view .title{position: absolute;top:40%;left: 5%;width: 35%;z-index: 3;}
#first_view .title img{width: 100%;}
#first_view .title h1{color: #fff;font-weight: bold;font-size: 1.8vw;}

#home-news .flex-two .section-title{width: 40%;}
#home-news .flex-two .section-title .btn_basic{text-align: left;}
#home-news .flex-two .news-wrap{width: 60%;}

.news-wrap .news-list{}
.news-wrap .news-list li{margin: 15px auto;list-style: none;}
.news-wrap .news-list li a{text-decoration: none;color: #494F5C;display: flex;border-bottom:1px solid;padding: 10px 5px;margin: 10px auto;align-items: flex-start;}
.news-wrap .news-list li a:hover{background: #ccc;}
.news-wrap .news-list li p{margin: 3px 15px 3px 0;padding: 0;}
.news-wrap .news-list li .category{display: inline-block;padding: 0 10px;border:1px solid;border-radius: 15px;min-width: 120px;text-align: center;}
.news-wrap .news-list li .title{font-weight: bold;font-size: 1.1rem;}

#home-product{position: relative;}
#home-product .container{position: relative;z-index: 2;}
#home-product .bg-img{position: absolute;top:0;right: 0;width: 50%;}
#home-product .bg-img img{width: 100%;}
#home-product .product-list{display: flex;flex-wrap: wrap;justify-content: space-between;margin: 50px auto;}
#home-product .product-list li{border:1px solid #494F5C;background: #fff;width: 32%;margin: 15px auto;}
#home-product .product-list li h3{padding: 15px 10px;}
#home-product .product-list li .img-wrap{aspect-ratio: 3 / 2;border-top: 1px solid #494F5C;border-bottom: 1px solid #494F5C;}
#home-product .product-list li .img-wrap img{object-fit: cover;width: 100%;height: 100%;vertical-align: middle;}
#home-product .product-list li p{padding: 15px 10px;}
#home-product .btn_basic{text-align: right;}

#home-technology{position: relative;}
#home-technology .container{position: relative;z-index: 2;}
#home-technology .bg-img{position: absolute;top:0;right: 0;width: 50%;}
#home-technology .bg-img img{width: 100%;}
#home-technology .pickup-wrap{margin: 50px auto;}
#home-technology .tech-box{border:1px solid #494F5C;margin: 30px auto;}
#home-technology .tech-box .img-wrap{width: 35%;}
#home-technology .tech-box .img-wrap img{object-fit: cover;width: 100%;height: 100%;vertical-align: middle;}
#home-technology .tech-box .text{width: 65%;margin: 0;}
#home-technology .tech-box .text h3{padding: 5px 15px;border-bottom: 1px solid;}
#home-technology .tech-box .text p{padding: 10px 15px;}
#home-technology .btn_basic{text-align: right;}

#home-quality{background: #F7F7F7;}
#home-quality .section-title{width: 48%;}
#home-quality .flex-two .image{width: 50%;}
#home-quality .flex-two{justify-content: space-between;}
#home-quality .image-flex{max-width: 1920px;width: 100%;margin: 100px auto 0 auto;display: flex;max-height: 500px;}
#home-quality .image-flex .img-wrap{}
#home-quality .image-flex .img-wrap img{object-fit: cover;width: 100%;height: 100%;vertical-align: middle;}

/* 下層ページ
----------------------------- */
.childhead{padding:50px 0 15px 0;background: #494F5C;color: #fff;margin-bottom: 50px;}
.childhead .flex-two .section-title{width: 46%;margin-right: 4%;}
.childhead .flex-two .image{width: 50%;}

.page-basic{padding-bottom: 30px;}
.page-basic strong{font-weight: bold;}
.page-basic .contents-box h2{border-bottom: 1px solid;margin: 15px auto;}
.page-basic .contents-box h2:before{content: "■";display: inline-block;margin-right: 10px;color: #236E8C;}
.page-basic .contents-box h3{margin: 15px auto;border-bottom:1px solid;}
.page-basic .contents-box h4{margin-top: 15px;}
.page-basic .contents-box h5{margin-top: 15px;}
.page-basic .section-title h2{border:none;}
.page-basic .section-title.subtype h2{text-align: center;}
.page-basic .section-title.subtype h2:before{display: none;}
.page-basic .contents-box .border-box{border:1px solid #005AB6;padding: 10px 15px;margin: 15px auto;}
.page-basic .contents-box .border-box h4{margin-top: 0;}
.page-basic .contents-box .wp-block-separator{margin: 50px auto;}
.page-basic .bnr-section{text-align: center;margin: 50px auto;}
.page-basic ul,.page-basic ol{margin: 15px 5px;}
.page-basic li{list-style: disc;margin: 5px 15px 5px 30px;}
.page-basic .qa-box{padding: 15px 0;border-bottom: 1px dotted #777;}
.page-basic .qa-box h5{color: #DE73AF;position: relative;margin-left: 40px;font-size: 1.3rem;}
.page-basic .qa-box h5:before{display: block;position: absolute;content:"Q.";top:0;left: -40px;font-size: 1.3rem;background: #DE73AF;color: #fff;padding: 0 5px;}
.page-basic .qa-box p{position: relative;margin-left: 40px;}
.page-basic .qa-box p:before{display: block;position: absolute;content:"A.";top:5px;left: -40px;font-size: 1.5rem;color: #DE73AF;border:1px solid;padding: 0 4px;}

.basic-table{margin: 30px auto;}
.basic-table th{padding: 10px 5px;vertical-align: top;border:none!important;border-bottom:1px solid #aaa!important;font-weight: bold;}
.basic-table td{padding: 10px 5px;vertical-align: top;border:none!important;border-bottom:1px solid #aaa!important;}

.page-basic .googlemap{max-width: 100%;}

/* 会社紹介
----------------------------- */
#page-company .childhead{margin-bottom: 0;}
#company-history{background: #F7F7F7;}
.basic-table.history{margin: 30px auto;}
.basic-table.history th{padding: 15px 5px!important;width: 150px;vertical-align:top;background:none!important;}
.basic-table.history td{padding: 15px 5px!important;background:none!important;}
.basic-table.history td.month{width: 70px;text-align:right;padding-right:30px;vertical-align:top;}

/* 求人情報
----------------------------- */
#page-recruit .childhead{position: relative;margin-bottom: 0;}
#page-recruit .childhead .image{position: absolute;top:0;left: 0;width:100%;height: 100%;z-index: 1;}
#page-recruit .childhead .image img{width: 100%;height: 100%;object-fit: cover;}
#page-recruit .childhead .image:after{position: absolute;top:0;left: 0;width:100%;height: 100%;z-index: 2;display: block;content: "";background: rgba(0,0,0,0.4);}
#page-recruit .childhead .section-title{position: relative;z-index: 3;margin: 30px auto;}
#page-recruit .childhead .section-title p{font-size: 4rem;padding: 50px 0;}

#recruit-news{background: #494F5C;padding: 30px 0;color: #fff;}
#recruit-news a{color: #fff;}
#recruit-news .flex-two .section-title{width: 40%;}
#recruit-news .flex-two .section-title h2{border-bottom: none;}
#recruit-news .flex-two .section-title h2 span{font-size: 3.5rem;}
#recruit-news .flex-two .section-title .btn_basic{text-align: left;}
#recruit-news .flex-two .news-wrap{width: 60%;}

#recruit-movie .movie-wrap {position: relative;width: 100%;padding-top: 56.25%;overflow: hidden;}
#recruit-movie .movie-wrap iframe {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}

#recruit-message2{position: relative;padding: 50px 0;}
#recruit-message2 .bgimg{position: absolute;top:0;left: 0;width: 100%;height: 100%;z-index: 1}
#recruit-message2 .bgimg:after{position: absolute;top:0;left: 0;width: 100%;height: 100%;z-index: 2;display: block;content: "";background: rgba(0,0,0,0.5);}
#recruit-message2 .container{position: relative;z-index: 3;color: #fff;}

#recruit-youkou .youkou-link{background: #494F5C;align-items: center;}
#recruit-youkou .youkou-link .image{aspect-ratio:16 / 9;}
#recruit-youkou .youkou-link .image img{width: 100%;height: 100%;object-fit: cover;}
#recruit-youkou .youkou-link h3{color: #fff;text-align: center;border:none;}


/* 問い合わせフォーム
----------------------------- */
.mailform-tbl {margin: 30px auto;}
.mailform-tbl table{margin-bottom: 20px;width: 100%;}
.mailform-tbl th,.mailform-tbl td {padding: 10px;text-align: left;vertical-align: top;}
.mailform-tbl th { width: 30%;font-weight: bold;}
.mailform-tbl td { width: 70%;}
.mailform-tbl .hissu{color: #fff;display: inline-block;padding: 0 10px;border-radius: 5px;background: #141B52;margin-right: 5px;}
.mailform-tbl .form-age{width: 5em;}
.mailform-tbl input, .mailform-tbl select { margin-right: 3px; padding: 5px;}
textarea { outline: 1px solid #ccc; }
.mailform-tbl input,.mailform-tbl textarea{width: 100%;}
.mailform-tbl .radio input{width: auto;outline:none;margin: 0;padding: 0;}
.mailform-tbl .wpcf7-list-item input{width: auto;outline:none;margin: 0;padding: 0;}

#submit-button{text-align: center;}
#submit-button input {text-decoration: none;background: #141B52;color: #fff;padding: 10px 100px;border-radius: 5px;display: block;margin: 0 auto;}
#submit-button input:hover {background: #999;}
#submit-button input:after{content: "";display: block;}



/* アーカイブページ
----------------------------- */
/* news一覧 */
.news-box{display: flex;flex-wrap: wrap;}

.news-box li{width: 18%;border:1px solid #102f65;margin: 15px 1%;}
.news-box li img{width: 100%;}
.news-box li p{margin: 0;}
.news-box li .title{font-weight: bold;}

/* ブログ
----------------------------- */
/*
#page-main-image {  メイン画像
	margin-bottom:20px;
}
*/

.blogtitle{
	font-size:2rem;
	padding: 10px;
	font-weight: bold;
	color:#0e184d;
	line-height: normal;
}

.cat-list{
	margin:0 0 20px;
	overflow:hidden;
}
.cat-list a{
	margin:0 10px;
	padding:10px;
	float:left;
	border:1px solid #666;
	border-radius:5px;
	display:block;
	background-color:#999;
	color:#fff;
	text-decoration:none;
	font-weight:bold;
}
.cat-list a:hover{
	background-color:#666;
}
#blog-top { /* ブログトップページフリーエリア */ margin-bottom: 20px; }

.article { /* 記事ボックス */
	padding: 20px;
	margin-bottom: 50px;
	border-radius: 5px;
}

.article .post-title { /* 記事タイトル */ margin-bottom: 20px; font-size:1.5rem;font-weight: bold;}

.article .post-title a{ color: #573C33;text-decoration: none;}

.article .post-content { /* 記事本文 */
	margin-bottom: 10px;
	padding-bottom: 50px;
	position: relative;
}

.article .post-content strong{font-weight: bold;}
.page-defaultblog .article .post-content { /* 記事本文 */
	overflow:hidden;
}

.blog-thumbnail img{width: 100%;max-width: 800px;}

.wp_social_bookmarking_light {
	position: absolute;
	right: 0;
	bottom: 10px;
}

.article .post-meta { /* 記事メタ情報 */
	text-align: right;
	font-size: 0.85rem;
}

.wp-pagenavi { /* ページ送り */
	margin: 50px 0 20px;
	text-align: center;
	font-size: 0.8rem;
}

#single-paging {/* 詳細ページ送り */ }

#signature-block { /* ブログ署名欄 */
	clear: both;
	padding: 50px 0 0;
}

/* コメント部分
----------------------------- */
.blog .comment-area {
	margin: 10px;
	text-align: left;
}

#com h3 {/* コメントタイトル */
	margin: 10px 0;
	padding: 5px;
}

#com .compost { /* コメント本文 */
	margin: 10px;
	padding: 10px;
	line-height: 1.5rem;
}

#comment { /* テキストエリア */
	width: 60%;
	height: 80px;
}

#commentform p { margin: 10px; }

.cominfo { /* コメントメタ */
	text-align: right;
	margin-top: 30px;
	font-size: 0.85rem;
}
/* ブログリスト型 */

#bloglistwrap .article{
	margin:0 5px 10px 5px;
	width:205px;
	padding:10px;
}
#bloglistwrap .post-meta{
	text-align:left;
}
#bloglistwrap .post-content{
	padding-bottom:0;
}
/* ブログ1行型 */
.page-lined-blog {
}
.page-lined-blog .article{
	margin:0 5px 20px;
	padding:15px;
	display: -webkit-box;/* Android4.3以前ブラウザ用 */
	display: -webkit-flex;/* iOS8以前Safari用 */
	display: flex;
	-webkit-flex-wrap:wrap;/*--- safari（PC）用 ---*/
	flex-wrap:wrap;
	-webkit-justify-content:space-between;/*--- safari（PC）用 ---*/
	justify-content:space-between;

}
.page-lined-blog .article-left{
	width: 30%;
}
.page-lined-blog .article-right{
	width: 68%;
}
.page-lined-blog .post-meta{
	text-align:left;
}
.page-lined-blog .post-content{
	padding-bottom:0;
}





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

/* ------------------------------------------
	タブレット用ポートレート表示のスタイル記述
--------------------------------------------- */
body { }

#first_view{

}

/* Navigation
------------------------------------ */

#header .inner {
	margin: 0 auto 20px;
	width: 100%;
}

#breadcrumb {
	margin: 20px auto 10px;
	width: 96%;
}

.container { width: 98%; margin: 30px 1%; }

.column-right #main, .column-left #main {
	margin: 0 auto;
	float: none;
	width: 96%;
}

.column-right .sidebar, .column-left .sidebar {
	margin: 0 auto;
	width: 96%;
	float: none;
}

#pagetop {
	margin: 30px auto;
	width: 96%;
	text-align: right;
}

.side-banner {
	margin: 20px 0;
	overflow: hidden;
}

.side-banner p {
	float: left;
	margin: 0 1%;
	max-width: 30%;
	height: auto;
}

/* index */
.cont03 {
	margin-bottom: 20px;
	overflow: hidden;
}

.cont03 li {
	margin-right: 5%;
	width: 30%;
	padding-bottom: 50px;
	float: left;
	position: relative;
}

.cont03 li:last-child { margin-right: 0; }

.cont02>ul>li {
	margin-right: 5%;
	width: 47.5%;
	padding-bottom: 50px;
	float: left;
	position: relative;
}

/* 1カラム用スタイル */
.column-one .cont02 { width: 100%; }

.column-one .cont02>ul>li {
	margin: 0 2%;
	width: 46%;
}

.column-one .cont02>ul>li .inner-cont02 {
	width: 100%;
	overflow: hidden;
}

.column-one .cont02>ul>li .inner-cont02>li { width: 100%; }

.column-one .cont04 { overflow: hidden; }

.column-one .cont04>ul { width: 100%; }

.column-one .cont04>ul>li {
	margin: 0 1%;
	width: 23%;
	float: left;
}
}

@media screen and (max-width:1200px) {
	footer .container{flex-direction: column;}
}

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

.pc_block{
	display: none;
}

.sp_block{
	display: block;
}

/* ------------------------------------------
	スマホ用のスタイル記述
--------------------------------------------- */
.pc { display: none; }
.mobile { display: block; }

.m-ctr {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 15px;
	text-align: center;
}



/* Header */
/*#pagehead{height: 70px;}*/

header {height: 70px;}

.head_contents	{
	/*width: 960px;*/
	margin:0 2%;
}



.head_logo {}
.head_logo img{height: 40px;}

.head-info{display: none;}

/* Navigation
------------------------------------ */
#navigation{float: none;display: none;position: fixed;background:rgba(0,0,0, 0.95);width: 100%;height: 100%;top:0;right: 0;z-index: 100;padding: 100px 15px 15px 15px;box-shadow: 0 0 5px #aaa;}
#navigation.open_menu {display: block;z-index: 90;}
#navigation ul{display: flex;flex-wrap: wrap;}
#navigation li{margin: 10px 10px;min-width: 100%;}
#navigation li a{font-size:1rem;}
#navigation li .sub-menu li{margin: 5px 5px 5px 30px;}
#navigation li .sub-menu li a{font-size:0.9rem;}
#navigation .nav-container{margin: 15px auto;flex-direction: column;}
#navigation .nav-container .menu-wrap{padding: 0;}


body {

}


#body-inside{

}

#breadcrumb {
	margin: 10px 3%;
	width: 94%;
	font-size: 0.8rem;
}

.top_margin {
	height: 80px;
	width: auto;
}


/* FlexSlider */
.flexslider {
	padding: 10px;
	background: none;
	height: 150px;
}

.container {
	margin: 0 2%;
	width: 96%;
}

.contents-box{
	padding: 30px 2%;
}

.contents-box h2{font-size:2rem;}
.contents-box h3{font-size: 1.5rem;}
.contents-box h4{font-size: 1.3rem;}
.contents-box h5{font-size: 1.1rem;}
.contents-box p{line-height: 1.8rem;}

.section-title{}
.section-title h2{font-size: 1.3rem;}
.section-title h2 span{display: block;font-size: 3.5rem;line-height: 3.8rem;}
.section-title p{font-size: 1rem;}

.section-base{padding: 50px 0;}

.bnr-list{display: flex;flex-direction: column;}
.bnr-list li{width: 94%;margin: 5px 3%;}

.btn_basic.two-btn{flex-wrap: wrap;}
.btn_basic.two-btn a{width: calc(98% - 30px);max-width: none;margin: 5px auto;}
.btn_basic.one-btn a{width: calc(98% - 45px);margin: 15px auto;}

.flex-two{display: flex;flex-wrap: wrap;margin: 30px auto;}
.flex-two.flex-rev{flex-direction: row;}
.flex-two .image{width: 100%;}
.flex-two .text{width: 96%;margin: auto 2%;}


/* Footer
------------------------------------ */
footer {padding-top: 30px;padding-bottom: 65px}
footer .flex-two{}
footer .footer-left{width: 98%;margin: 0 auto;}
footer .footer-right{width: 98%;margin: 0 auto;}
footer .logo img{height: auto;width: 250px;}
footer .f-nav{margin: 30px auto;}
footer .f-nav li{margin: 10px 0;}

.copyright {padding: 15px;font-size: 0.8rem;}



/* pagetop button */
#pageTop {position: fixed;bottom: 90px;right: 20px;z-index: 999;}
#pageTop img{width: 80px;}
#pageTop i {padding-top: 6px}
#pageTop a {display: block;background-color: rgba(255,255,255,0.50);border-radius: 10px;}
#pageTop a:hover {text-decoration: none;opacity: 0.7;}

/* mobile btn */
#footer-btn{height: 65px;background: #494F5C;position: fixed;bottom: 0;left: 0;right: 0;z-index: 99;padding: 5px;}
#footer-btn .btn-box{display: flex;justify-content: space-between;}
#footer-btn .btn-box a{display: flex;border: 1px solid;color: #fff;text-decoration: none;width: 49%;justify-content: center;align-items: center;}
#footer-btn .btn-box a .mail{letter-spacing: -0.1rem;font-size: 0.9rem;}

/* TOPコンテンツ */
#first_view{position: relative;width: 100%;margin: 0 auto;aspect-ratio: 2 / 3;
overflow: hidden;}
#first_view .title{position: absolute;top:40%;left: 5%;width: 80%;}
#first_view .title h1{font-size: 4vw;}

#home-news .flex-two .section-title{width: 100%;}
#home-news .flex-two .section-title .btn_basic{text-align: left;}
#home-news .flex-two .news-wrap{width: 100%;}

.news-wrap .news-list{}
.news-wrap .news-list li{margin: 15px auto;}
.news-wrap .news-list li a{flex-wrap:wrap;}
.news-wrap .news-list li .title{width: 100%;}

#home-product{}
#home-product .bg-img{width: 80%;}
#home-product .product-list{margin: 30px auto;}
#home-product .product-list li{width: 100%;}

#home-technology{}
#home-technology .bg-img{width: 80%;}
#home-technology .pickup-wrap{margin: 50px auto;}
#home-technology .tech-box .img-wrap{width: 100%;}
#home-technology .tech-box .text{width: 100%;}
#home-technology .tech-box .text h3{border-bottom: 1px solid;border-top: 1px solid;}

#home-quality{}
#home-quality .section-title{width: 100%;}
#home-quality .flex-two .image{width: 100%;}
#home-quality .image-flex{flex-direction: column;margin: 100px auto 0 auto;max-height: 100%;}
#home-quality .image-flex .img-wrap{}
#home-quality .image-flex .img-wrap img{object-fit: cover;width: 100%;height: 100%;vertical-align: middle;}

/* 下層ページ
----------------------------- */
.childhead{}

.childhead{padding:70px 0 15px 0;margin-bottom: 50px;}
.childhead .flex-two .section-title{width: 100%;margin-right: 0;}
.childhead .flex-two .image{width: 100%;}

.page-basic .contents-box h2{font-size: 1.8rem;}

.basic-table{margin: 30px auto;}
.basic-table th{padding: 10px 5px;vertical-align: top;border-bottom:1px solid #aaa;font-weight: bold;}
.basic-table td{padding: 10px 5px;vertical-align: top;border-bottom:1px solid #aaa;}

/* 会社紹介
----------------------------- */
#page-company .childhead{margin-bottom: 0;}
.basic-table.history{margin: 30px auto;}
.basic-table.history tr{display: flex;flex-wrap: wrap;}
.basic-table.history th{padding: 25px 5px 5px 5px!important;width: 100%;display: block;}
.basic-table.history td{padding: 10px 5px!important;border: none!important;}
.basic-table.history td.month{width: 50px;}
.basic-table.history td.text{width: calc(100% - 50px);}

/* 求人情報
----------------------------- */
#page-recruit .childhead .section-title p{font-size: 2.5rem;padding: 50px 0;}

#recruit-news .flex-two .section-title{width: 100%;}
#recruit-news .flex-two .section-title .btn_basic{text-align: left;}
#recruit-news .flex-two .news-wrap{width: 100%;}


/* 問い合わせ
----------------------------- */
#contact-tel,#mailform{margin: 50px auto;}

.mailform-tbl {padding: 15px 10px;margin: 10px auto;}
.mailform-tbl table{clear: both;	margin-bottom: 20px;width: 100%;border-spacing: 0 10px;}
.mailform-tbl caption{font-size: 1.5rem;font-weight: bold;}
.mailform-tbl th, .mailform-tbl td {display: block;pa}
.mailform-tbl th { width: 100%;padding: 5px 0 0 0;}
.mailform-tbl td { width: 100%;padding: 0 0 5px 0;}
.mailform-tbl .form-age{width: 5em;}
input, select { margin-right: 3px; outline: 1px solid #ccc;padding: 3px 5px;}
textarea { outline: 1px solid #ccc; }


#submit-button {text-align: center;width: 100%;}
#submit-button input {padding: 10px 50px;display:block;width: 80%;margin: auto 10%;}

.wpcf7cp-btns {text-align: center;width: 100%;}
.wpcf7cp-btns button {color: #fff;padding: 10px 50px;border-radius: 10px;display:block;width: 80%;margin: auto 10%;}
.wpcf7cp-btns button:hover {opacity: 0.9;}



/* ブログ
----------------------------- */
.contents-box .blogtitle{
	font-size:1.5rem;
	padding: 10px;
	font-weight: bold;
	color:#333;
	line-height: normal;
}

.article {
	padding: 20px;
	margin-bottom: 50px;
	border-radius: 5px;
}

.ddcatlist select{
	display: block;
	width: 90%;
	margin: 20px auto;
	border: 1px solid #777;
}

.article .post-meta { /* 記事メタ情報 */
	text-align: left;
	font-size: 0.8rem;
}

.article .post-content { word-wrap: break-word; }

.wp-pagenavi { /* ページ送り */
	margin: 50px 0 20px;
	text-align: center;
	font-size: 0.8rem;
}

#single-paging {/* 詳細ページ送り */ }

#signature-block { /* ブログ署名欄 */
	clear: both;
	padding: 50px 0 0;
}
	.article-left{
		text-align: center;
	}




}

/*モーダルウィンドウ*/
.s_img_modal{
  cursor: pointer;
}
#simple_modal_outer{
	z-index: 99;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, .5);
}
#simple_modal_inner{
  box-sizing: border-box;
  max-width: 90%;
  max-height: 90%;
  border: 5px solid white;
}
#loading_mes{
  color: white;
  font-size: 1.2rem;
}
.flex{
  display: flex;
}
.hide{
  display: none;
}


@media all and (max-width:1200px) {

}

.spbr{display: none;}
@media screen and (max-width:768px) {
    .spbr{display: block;}
}


.tab-btn{}
.tab-panel{display: none;opacity: 0;padding: 10px 0;background: #fff;}
.tab-panel.active{display: block;animation-name: fadein;animation-duration: 1s;animation-timing-function: ease-out;animation-fill-mode: forwards;}
@keyframes fadein {
  0% {opacity: 0;}
  100% {opacity: 1;}
}
