@charset "utf-8";
#wrapper{
	font-family: YuGothic, 'Yu Gothic', 游ゴシック体, 游ゴシック, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'MS ゴシック', 'MS Gothic', sans-serif, normal;
	font-size: 16px;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	overflow: hidden;
    color: #4b4948;
	}
#contens{
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    overflow: hidden;
    padding-bottom: 30px;
}

ul{
	list-style: none;
	padding: 0;
}

section{
	margin-bottom: 80px;
	width: 100%;
}
h3,h4{
	font-family: "Zen Old Mincho", serif,"ＭＳ Ｐ明朝", "MS PMincho";
    font-weight: 600;
}
a{text-decoration: none;
display: block;}
a img {
  border: none;
	transition: 0.6s ;
}
a img:hover{opacity: 0.6;}
a:hover,a:active,a:visited{text-decoration: none;
color: #4b4948;}

.font-e{
    /*font-family: 'Cutive Mono', monospace;*/
}
.red{color: red;}
.blue{color: #478A9E;}
.txt_b{
	font-size: 1.9rem;
	font-weight: bold;
}
.bold{font-weight: bold;}
.txt_s{
	font-size: 1.5rem;
}
a[href^="tel:"] {
    pointer-events: none;
}
footer{
    clear: both;
}
@media screen and (min-width: 480px){}
@media screen and (min-width:768px){}

/*--------------------------------------------
　header
--------------------------------------------*/

.h_line {
	background-color: #58C2DF;
	color: #fff;
	height: 46px;
	font-size: 1.4rem;
	vertical-align: bottom;

}
.h_line p{
	padding-top:5px; 
}
.h_btn {
	border-left: 2px solid #fff;
	border-right: 2px solid #fff;
	height: 46px;
	margin: 0;
	padding: 0;
	text-align: center;
}
.h_btn a{
	color: #fff;
	display: block;
	padding: 5px 0px;
	font-size: 1.3em;
}
.h_outer{
}
.h_logo img{
	vertical-align: bottom;
	margin-right: 2rem;
	margin-bottom: 10px;
	width: 100%;
	height: auto;
	max-width: 120px;
}

.h_logo img.logotyp{
	max-width: 103px;
}
@media screen and (max-width:768px){
    .h_logo img,.h_logo img.logotyp{
        max-width: 90px;
    }
}
.nav_pc{padding: 0;}
.nav_pc ul{

	margin-top: 60px;
	width: 100%;
}
.nav_pc ul li{
	text-align: right;
	display: inline-block;
	padding-left: 1.4em;
	float: right;
    margin-bottom: 10px;
}
div.borderXwidth a{
	    /*margin: 0px 10px;*/
    padding: 10px 0.2em;
    position: relative;
    z-index: 0;
    transition: all 0.3s;
}
div.borderXwidth a:hover{
	color: #58C2DF;
}
div.borderXwidth a:before, div.borderXwidth a:after{
    position: absolute;
    opacity: 0;
    width: 0%;
    height: 2px;
    content: '';
    background: #58C2DF;
    transition: all 0.3s;
}

div.borderXwidth a:before{
    left: 0px;
    top: 0px;
}

div.borderXwidth a:after{
    right: 0px;
    bottom: 0px;
}

div.borderXwidth a:hover:before, div.borderXwidth a:hover:after{
    opacity: 1;
    width: 100%;
}
/*--------------　ドロワーメニュー　--------------*/
.nav_smp{
    z-index: 500;
    position: relative;
}
/* drawer menu */
.drawer-menu {
    box-sizing: border-box;
    position: fixed;
    top: 0;
    /*left: 0;*/
	right: 0;
    width: 300px;
    height: 100%;
    padding: 120px 0;
    background: #151F36;
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: .5s;
    transition-duration: .5s;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transform-origin: right center;
    -ms-transform-origin: right center;
    transform-origin: right center;
    -webkit-transform: perspective(500px) rotateY(-90deg);
    transform: perspective(500px) rotateY(-90deg);
    opacity: 1;
}

.drawer-menu li {
    text-align: center;
}

.drawer-menu li a {
    display: block;
    height: 50px;
    line-height: 50px;
    font-size: 14px;
    color: #fff;
    -webkit-transition: all .8s;
    transition: all .8s;
	text-decoration: none;
}

.drawer-menu li a:hover {
    color: #1a1e24;
    background: #fff;
}

/* checkbox */
.check {
    display: none;
}

/* menu button - label tag */
.menu-btn {
    position: fixed;
    display: block;
    top: 66px;
    /*left: 40px;*/
	right: 20px;
    display: block;
    width: 40px;
    height: 40px;
    font-size: 10px;
    text-align: center;
    cursor: pointer;
    z-index: 300;
}

.bar {
    position: absolute;
    top: 0;
    /*left: 0;*/
	right: 0;
    display: block;
    width: 40px;
    height: 4px;
    background: #ccc;
    -webkit-transition: all .5s;
    transition: all .5s;
    -webkit-transform-origin: right top;
    -ms-transform-origin: right top;
    transform-origin: right top;
}

.bar.middle {
    top: 15px;
    opacity: 1;
}

.bar.bottom {
    top: 30px;
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
}

.menu-btn__text {
    position: absolute;
    bottom: -15px;
    left: 0;
    right: 0;
    margin: auto;
    color: #fff;
    -webkit-transition: all .5s;
    transition: all .5s;
    display: block;
    visibility: visible;
    opacity: 1;
}

.menu-btn:hover .bar {
    background: #999;
}

.menu-btn:hover .menu-btn__text {
    color: #999;
}

.close-menu {
    position: fixed;
    top: 0;
    /*left: 300px;*/
	right: 300px;
    width: 100%;
    height: 100vh;
    background: rgba(0,0,0,0);
    cursor: url(http://theorthodoxworks.com/demo/images/cross.svg),auto;
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    visibility: hidden;
    opacity: 0;
}

/* checked */
.check:checked ~ .drawer-menu {
    -webkit-transition-delay: .3s;
    transition-delay: .3s;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    opacity: 1;
    z-index: 200;
}

.check:checked ~ .contents {
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transform: translateX(300px);
    -ms-transform: translateX(300px);
    transform: translateX(300px);
}

.check:checked ~ .menu-btn .menu-btn__text {
    visibility: hidden;
    opacity: 0;
}

.check:checked ~ .menu-btn .bar.top {
    width: 56px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.check:checked ~ .menu-btn .bar.middle {
    opacity: 0;
}

.check:checked ~ .menu-btn .bar.bottom {
    width: 56px;
    top: 40px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.check:checked ~ .close-menu {
    -webkit-transition-duration: 1s;
    transition-duration: 1s;
    -webkit-transition-delay: .3s;
    transition-delay: .3s;
    background: rgba(0,0,0,.5);
    visibility: visible;
    opacity: 1;
    z-index: 300;
}
/*--------------　ここまでドロワーメニュー　--------------*/

@media screen and (min-width:768px){
	.h_line {height: 30px;}
	.h_btn {height: 30px;}
}
/*--------------------------------------------
　footer
--------------------------------------------*/

footer{
	background-color: #E1E6E9;
	padding: 20px 0px 10px;
	text-align: center;
}
footer .footer_r{
	line-height: 2.6rem;
	margin-bottom: 30px;
}
footer .footer_r a{
}
footer .footer_r a:hover{
	text-decoration: underline;
}
footer .footer_l p{
	margin: 10px 0px;
}
footer p.copy{
	text-align: center;
	font-size: 1.3rem;
	margin: 0;
	padding: 0;
}

@media screen and (min-width:768px){
	footer{text-align: left;}
}

footer img{
    max-width: 120px;
}
/*--------------------------------------------
　問い合わせボタン
--------------------------------------------*/
.contact-btn{
	text-align: center;
	margin: 60px auto;
    max-width: 1000px;
}
.contact-btn span{
	display: inline-block;
	/*width: 90%;*/
	margin: 0px 0.2em 10px;
}
.contact-btn span img{
	width: 100%;
	max-width: 390px;
}
.contact-btn h4{
	margin-bottom: 20px;
	position: relative;
}

.contact-btn h4:before{
	position: absolute;
	width: 80px;
    height: 3px;
    content: '';
    background: #478A9E;
    top: -30px;
    left: calc(50% - 40px);
}

.contact-btn h4 p{
	margin-top: 10px;
}
@media screen and (min-width:768px){
	.contact-btn span{
	display: inline-block;
	/*width: 48%;*/
	margin: 0px 0.2em;
}
}
/*--------------------------------------------
　ページタイトル部分
--------------------------------------------*/
.ttl-box{
	position: relative;
	margin-bottom: 70px;
}
.ttl-box .ttl-txt{
	position: absolute;
	bottom: 5%;
	left: 8%;
}
.ttl-box h2{
	color: #fff;
}

/*--------------------------------------------
　ページ内リンク部分
--------------------------------------------*/
.pagelink{
	border-bottom: 1px solid #708696;
	margin-bottom: 70px;
}
.pagelink ul{
	margin: 0 auto;
	text-align: center;
	margin-bottom: 10px;
    max-width: 1000px;
}
.pagelink ul li{
	display: inline-block;
}

.pagelink ul li a{
	padding: 10px 1em;
	border: 1px solid #708696;
	color: #708696;
	transition: 0.3s;
}
.pagelink ul li a:hover{
	color: #fff;
	background-color: #708696;
}
/*--------------------------------------------
　ページトップへ
--------------------------------------------*/
.pagetop {
	display: block;
	text-align: center;
	padding: 10px 0px;
}
.pagetop a{
	color: #478A9E;
	font-size: 2rem;
}
/*--------------------------------------------
　particles-js
--------------------------------------------*/
#particles-js{
	width: 100%;
	height: 300px;
}
.about #particles-js{background-color: #478A9E;}
.technology #particles-js{background-color: #162036;}
.equipment #particles-js{background-color: #728596;}