@charset "utf-8";

/*
Theme Name:     ★safeworks子テーマ★
Template:       safeworks
*/
 
@import url("../safeworks/style.css");

body {
font-family: 'Roboto','Noto Sans JP','Sawarabi Gothic',sans-serif;
font-size: 16px;
background:#fff;
color: #333;
line-height: 180%;
overflow-x: hidden;
}

p {
font-size: 16px;
color: #333;
line-height: 190%;
padding: 0;
}

.clear	{ clear: both; } 
.mT10	{ margin-top:10px; }
.mT20	{ margin-top:20px; }
.mB10	{ margin-bottom:10px; }
.mB20	{ margin-bottom:20px; }

#topcontrol { z-index:999; }

/* 画像拡大 */
img.grow {
	-webkit-transition:0.2s ease-in-out;
	-moz-transition:0.2s ease-in-out;
	-ms-transition:0.2s ease-in-out;
	-o-transition:0.2s ease-in-out;
	transition:0.2s ease-in-out;
}

img.grow:hover {
	-webkit-transform:scale(1.2,1.2);
	-moz-transform:scale(1.2,1.2);
	-ms-transform:scale(1.2,1.2);
	-o-transform:scale(1.2,1.2);
	transform:scale(1.2,1.2);
}

.topcontents-box {
width: 1260px;
max-width: 90%;
margin: 0 auto;
padding: 0;
position:relative;
}
.wrapper {
width: 1120px;
max-width: 90%;
margin: 0 auto;
padding: 50px 0;
position:relative;
}
.wrapper1120 {
width: 1120px;
max-width: 90%;
margin: 0 auto;
padding: 0;
position:relative;
}
.wrapper1260 {
width: 1260px;
max-width: 90%;
margin: 0 auto;
padding: 0;
overflow: hidden;
}
.wrapper960 {
width: 960px;
max-width: 90%;
margin: 0 auto;
padding: 50px 0;
overflow: hidden;
}
.contents-box { 
width: 100%;
margin: 0;
padding: 0;
position:relative;
z-index: 1;
-moz-box-shadow: 0px 2px 3px rgba(0,0,0,0.2);
-webkit-box-shadow: 0px 2px 3px rgba(0,0,0,0.2);
-o-box-shadow: 0px 2px 3px rgba(0,0,0,0.2);
-ms-box-shadow: 0px 2px 3px rgba(0,0,0,0.2);
box-shadow: 0px 2px 3px rgba(0,0,0,0.2);
}
.footericon{
position:absolute;
bottom:0;
right:25%;
z-index:999;
}
.footericon img{
width:85px;
vertical-align: bottom;
}

.row {
    margin-bottom: 0em;
}

/* リンク */
a{
color:#27a639;
text-decoration:none;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}
a:hover{
color:#333;
text-decoration:none;
}

li a{
color:#27a639;
text-decoration:underline;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}
li a:hover{
color:#333;
text-decoration:none;
}

p a {
color:#27a639;
}

/* 各ページ共通 */
.alllink { text-align: center; }
.alllink a{
color: #333;
background-color:#fff;
font-size: 18px;
display: inline-block;
padding: 15px 5vw 15px;
border: 1px solid #333;
text-decoration:none;
border-radius: 50vh; /* CSS3 */
 -webkit-border-radius: 50vh; /* Firefox */
 -moz-border-radius: 50vh; /* Safari,Chrome */
}
.alllink a:hover{
color: #fff;
border: 1px solid #333;
background-color:#333;
}
.alllink a::after{
position:relative;
top: 2px;
right: -15px;
content:"";
display:inline-block;
width:7px;
height:15px;
background:url("../safeworks/images/more-arrow.svg") no-repeat;
background-size:contain;
}
.alllink a:hover::after{
position:relative;
top: 2px;
right: -15px;
content:"";
display:inline-block;
width:7px;
height:15px;
background:url("../safeworks/images/more-arrow-mo.svg") no-repeat;
background-size:contain;
}

h3.block-title{
font-size: 30px;
margin: 0 0 70px 0;
padding: 0;
letter-spacing: 0.02em;
font-weight: 600;
position: relative;
line-height: 120%;
text-align: center;
font-weight: 500;
}
h3.block-title::after {
content: '';
width: 80px;
height: 5px;
background-color: #27a639;
position: absolute;
top: 50px;
left: 50%;
-webkit-transform: translate(-50%,-50%);
-moz-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
-o-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
}
h3.block-title-w{
font-size: 30px;
color: #fff;
margin: 0 0 70px 0;
padding: 0;
letter-spacing: 0.02em;
font-weight: 600;
position: relative;
line-height: 120%;
text-align: center;
font-weight: 500;
}
h3.block-title-w::after {
content: '';
width: 80px;
height: 5px;
background-color: #fff;
position: absolute;
top: 50px;
left: 50%;
-webkit-transform: translate(-50%,-50%);
-moz-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
-o-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
}


/*---------------------------------------------------------------------------------
エフェクト
--------------------------------------------------------------------------------- */
/* 画面外にいる状態 */
.effect {
  opacity : 0;
  transition : all 900ms 300ms ease-out;
  transform: translate(0,0);
}
/* 画面内に入った状態 */
.effect-on {
  opacity: 1.0;
  transform: translate(0,0px);
}


/* ************************************************ 
*	ヘッダー
* ************************************************ */
#header {
width: 100%;
margin: 0;
position: relative;
top:0;
left:0;
z-index: 99999;
}
.header-inner {
margin: 0 auto;
padding: 0;
width: 95%;
position: relative;
z-index:9;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
height: 100px;
align-items: center;
}

.logo-box {
margin: 0;
padding: 0;
width:25%;
max-width:300px;
}

.nav-box {
width: 75%;
margin: 0;
padding: 0;
display: flex;
justify-content: end;
align-items: center;
}

.tel-box {
width:20%;
margin: 0 0 0 25px;
padding: 0;
display: flex;
align-items: center;
}
.tel-box img{
max-width:175px;
}

#header-top h1.logo,
#header h1.logo {
width: 100%;
margin: 0;
padding: 0;
}
.logo img{ width: 100%;}

.logo-spbox {
text-align: left;
margin: 0;
padding: 0;
width: 60%;
position: relative;
z-index: 99999;
}
.logo-sp {
margin: 0;
padding: 0;
position:absolute;
top: 17px;
left: 15px;
font-weight: normal;
float: left;
}
.logo-sp img{
width: 100%;
}

.tel-spbox {
text-align: left;
margin: 0;
padding: 0;
position: relative;
z-index: 9999999;
}
.tel-sp {
margin: 0;
padding: 0;
position: absolute;
top: 20px;
right: 80px;
}
.tel-sp img{
width: 30px;
}


/* ************************************************ 
*	トップナビゲーション
* ************************************************ */	
#navDmy{
display:none !important;
}
#nav_bg {
width: 100%;
height: 100px;
padding: 0;
position:fixed;
top:0;
left:0;
z-index: 99999;
background-color:#fff;
-moz-box-shadow: 0px 2px 3px rgba(0,0,0,0.2);
-webkit-box-shadow: 0px 2px 3px rgba(0,0,0,0.2);
-o-box-shadow: 0px 2px 3px rgba(0,0,0,0.2);
-ms-box-shadow: 0px 2px 3px rgba(0,0,0,0.2);
box-shadow: 0px 2px 3px rgba(0,0,0,0.2);
}

#nav {
width: 100%;
margin: 0;
display: flex!important;
justify-content: end;
align-items: center;
}

.main-navigation {
clear: both;
margin: 0 auto;
position: relative;
}

ul.nav-menu,
div.nav-menu > ul {
margin: 0;
padding: 0;
}

.nav-menu li {
font-family: 'Noto Sans JP';
font-weight: 500;
display: inline-block;
position: relative;
margin: 0 15px;
padding: 0;
float: left; 
text-align:center;
letter-spacing: normal; /* 隙間を埋める追加 */
cursor: pointer;
cursor: hand;
}
.nav-menu li img{
vertical-align: bottom;
}

.nav-menu li a {
color: #333;
display: block;
font-size: 16px;
text-decoration: none;
margin: 0;
padding: 16px 0 0 0;
}

.nav-menu li:hover > a,
.nav-menu li a:hover {
color: #333;
}
.nav-menu li a:after {
	content: '';
	width: 0;
	transition: all 0.3s ease;
	border-bottom: 4px solid #27a639;
	display: block;
	padding-bottom:16px;
}
.nav-menu li a:hover:after {
  width: 100%;
}

.nav-menu .sub-menu,
.nav-menu .children {
background-color: rgba(255,255,255,0);
display:none;
position: absolute;
z-index: 99999;
padding: 0 0 0 0;
}

.nav-menu .sub-menu li {
width: 215px;
padding: 0;
margin: 0;
border-left: none;
}

.nav-menu .sub-menu li a {
background:rgba(108,187,99,0.8);
color: #fff;
display: block;
font-size: 15px;
text-decoration: none;
padding: 15px 0 15px 15px;
text-align: left;
width: 200px;
}
.nav-menu .sub-menu li a:after {
    content: '';
    width: 0;
    border-bottom: none;
    display: block;
    padding-bottom: 0;
}

.nav-menu .sub-menu ul {
}

ul.nav-menu ul a,
.nav-menu ul ul a {
color: #fff;
margin: 0;
}

ul.nav-menu ul a:hover,
.nav-menu ul ul a:hover {
background-color: rgba(255,255,255,0.9);
color: #333;
}

ul.nav-menu li:hover > ul,
.nav-menu ul li:hover > ul {
display: block;
}

.nav-menu .current_page_item > a,
.nav-menu .current_page_ancestor > a,
.nav-menu .current-menu-item > a,
.nav-menu .current-menu-ancestor > a {
}


/* ************************************************ 
*	メインイメージ
* ************************************************ */	
.main-img {
padding: 100px 0 0 0;
position: relative;
}
.main-img img{
vertical-align: bottom;
}
.main-text {
position: absolute;
z-index: 10;
bottom: 6%;
left: 3.5%;
}
.main-text h2{
white-space: nowrap;
letter-spacing: 0.05em;
font-size:3.2vw;
line-height: 1.3;
margin: 0 0 10px 0;
padding: 0;
color: #fff;
font-weight: 500;
text-shadow: 0px 0px 3px rgba(0,0,0,0.3);
}
.main-text h3{
white-space: nowrap;
letter-spacing: 0.05em;
font-size:1.6vw;
line-height: 1.3;
margin: 0;
padding: 0;
color: #fff;
font-weight: 500;
text-shadow: 0px 0px 3px rgba(0,0,0,0.3);
}


/* ************************************************ 
*	パンくずリスト
* ************************************************ */	
.breadcrumbs {
width: 1120px;
max-width: 90%;
margin: auto; 
padding: 15px 0;
text-align:left;
font-size: 14px;
}
.breadcrumbs a{
color:#333;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
text-decoration: none;
}
.breadcrumbs a:hover{
color: #000;
text-decoration: underline;
}


/* ************************************************ 
*	株式会社セーフワークスのご案内ブロック
* ************************************************ */
#topsafeworks-block {
width: 100%;
padding: 95px 0 120px 0;
margin: 0 auto;
position: relative;
z-index: 1;
-moz-box-shadow: 0px 2px 3px rgba(0,0,0,0.2);
-webkit-box-shadow: 0px 2px 3px rgba(0,0,0,0.2);
-o-box-shadow: 0px 2px 3px rgba(0,0,0,0.2);
-ms-box-shadow: 0px 2px 3px rgba(0,0,0,0.2);
box-shadow: 0px 2px 3px rgba(0,0,0,0.2);
}
.topsafeworks-inner{
width: 800px;
max-width: 90%;
margin: 0 auto;
padding: 0;
}
.topsafeworks-inner p{
font-size: 18px;
line-height: 2;
margin: 0;
padding: 0;
}
#topsafeworks-block .logo-box{
width: 300px;
margin: 0 auto 20px auto;
}
#topsafeworks-block h2{
font-size: 36px;
line-height: 1.6;
margin: 0 auto 50px auto;
text-align: center;
font-weight: 500;
}
#topsafeworks-block .icon-box{
width: 55px;
margin: 0 auto 20px auto;
}


/* ************************************************ 
*	ごあいさつブロック
* ************************************************ */
#topgreeting-block {
width: 100%;
padding: 120px 0;
margin: 0 auto;
position:relative;
bottom: 0;
left: 0;
display:inline-block;
background:url("../safeworks/images/top_greeting_bg.jpg") no-repeat;
background-size:cover;
z-index: 1;
box-shadow: 0px 2px 3px rgba(0,0,0,0.2);
}
#topgreeting-block::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background:rgba(0,0,0,0.4);
}
.topgreeting-inner{
width: 1000px;
max-width: 90%;
margin: 0 auto;
padding: 0;
position:relative;
z-index: 3;
}

.topgreeting-inner .box{
width: 100%;
display: flex;
justify-content: space-between;
}
.topgreeting-inner .left-box{
width: 70%;
}
.topgreeting-inner .left-box p{
color: #fff;
line-height: 2;
}
.topgreeting-inner .right-box{
width: 25%;
text-align: center;
}
.topgreeting-inner .right-box p{
font-size: 15px;
line-height: 1.5;
color: #fff;
}
.topgreeting-inner .right-box p span{
font-size: 18px;
color: #fff;
}


/* ************************************************ 
*	労働安全衛生の対策、教育指導のエキスパートです
* ************************************************ */
#topss-block {
width: 100%;
padding: 120px 0;
margin: 0 auto;
}
#topss-block h2{
margin: 0 auto 50px auto;
padding: 0;
font-size: 36px;
line-height: 1.6;
font-weight: 500;
text-align: center;
}
#topss-block .icon-box{
width: 60px;
margin: 0 auto 20px auto;
}

.topss-inner{
width: 1000px;
max-width: 90%;
margin: 0 auto;
padding: 0;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.topss-box{
width: 100%;
margin: 0 auto;
padding: 0;
text-align: center;
}
.topss-box img{
width: 640px;
margin: 0 auto 30px auto;
}
.topss-box h4.safety{
margin: 0;
padding: 0;
font-size: 24px;
line-height: 200%;
font-weight: 500;
display: inline;
background-image: linear-gradient(rgba(0,0,0,0) 65%, rgb(190,228,195) 50%);
}
.topss-box h4.security{
margin: 0;
padding: 0;
font-size: 24px;
line-height: 200%;
font-weight: 500;
display: inline;
background-image: linear-gradient(rgba(0,0,0,0) 65%, rgb(155,199,220) 50%);
}
.topss-box h4.end{
margin: 20px 0 0 0;
padding: 0;
font-size: 18px;
line-height: 1;
font-weight: 500;
}

.topss-box .subtext{
margin: 10px 0 0 0;
padding: 0;
}

.topss-box .triangle{
margin: 20px auto 30px auto;
text-align: center;
width: 0;
height: 0;
border-left: 25px solid transparent;
border-right: 25px solid transparent;
border-top: 25px solid #ffce38;
}

.topss-box .text-box{
margin: 0;
padding: 0;
text-align: center;
}
.topss-box .text-box p{
line-height: 150%;
font-size: 18px;
line-height: 1.8;
}


/* ************************************************ 
*	トップ無料相談
* ************************************************ */
#topsoudan-block {
width: 100%;
padding: 120px 0;
margin: 0;
background: linear-gradient(
    -45deg,
    #efefef 25%, #fff 25%,
    #fff 50%, #efefef 50%,
    #efefef 75%, #fff 75%,
    #fff
  );
background-size: 15px 15px;
}
.soudan-text {
margin: 0 auto 30px auto;
padding: 0;
text-align: center;
font-size: 18px;
}
.soudan-text2 {
margin: 0 auto;
padding: 0;
text-align: center;
font-size: 18px;
}
.topsoudan-inner{
width: 1120px;
max-width: 90%;
margin: 0 auto;
padding: 0;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.topsoudan-box{
width: calc(47.5% - 100px);
margin: 0 0 50px 0;
padding: 30px 50px;
text-align: center;
background-color: #fff;
border: 1px solid #27a639;
border-radius: 20px;
}
.topsoudan-box h4{
font-size: 24px;
font-weight: 600;
margin: 0 0 30px 0;
}
.topsoudan-box img{
width: 310px;
}

.topsoudan-box .alllink {
text-align: center;
margin: 0 auto 20px auto;
width: 350px;
max-width: 100%;
}
.topsoudan-box .alllink a{
color: #27a639;
background-color:#fff;
font-size: 21px;
display: block;
padding: 20px 0;
border: 2px solid #27a639;
text-decoration:none;
border-radius: 50vh; /* CSS3 */
}
.topsoudan-box .alllink a:hover{
color: #27a639;
border: 2px solid #27a639;
background-color:#efefef;
}
.topsoudan-box .alllink a::before{
position:relative;
top: 2px;
left: -15px;
content:"";
display:inline-block;
width:27px;
height:18px;
background:url("../safeworks/images/icon_mail.svg") no-repeat;
background-size:contain;
}
.topsoudan-box .alllink a::after{
position:relative;
top: 2px;
right: -15px;
content:"";
display:inline-block;
width:15px;
height:15px;
background:url("../safeworks/images/icon_arrow.svg") no-repeat;
background-size:contain;
}


/* ************************************************ 
*	トップ業務案内
* ************************************************ */
#topcompany-block {
width: 100%;
padding: 120px 0;
margin: 0;
}
.topcompany-inner{
width: 1120px;
max-width: 90%;
margin: 0 auto;
padding: 0;
}
.topcompany-inner table {
width: 100%;
margin: 0;
padding: 0;
border: none;
border-collapse: collapse;
border-spacing: 0;
border-top: 1px solid #999;
}
.topcompany-inner table tr {
border-bottom: 1px solid #999;
}
.topcompany-inner table th {
padding: 20px 0;
white-space: normal;
font-weight: normal;
vertical-align: top;
text-align: center;
width: 20%;
background-color: #efefef;
}
.topcompany-inner table td {
text-align: left;
padding: 20px;
white-space: normal;
vertical-align: top;
}


/* ************************************************ 
*	トップアクセス
* ************************************************ */
#topaccess-block {
width: 100%;
padding: 0;
margin: 0;
}

#topaccess-block .access-box {
margin: 0; 
padding: 20px 0;
width: 100%;
height: 80px;
border-top: 4px solid #27a639;
}
#topaccess-block .access-box .accessbox-inner{
width: 1120px;
max-width: 90%;
margin: 0 auto; 
position:relative;
}

#topaccess-block .access-box .accessbox-inner .map-text{
position:absolute;
top: 0;
left: 60px;
font-size: 18px;
}
#topaccess-block .access-box .accessbox-inner .map-text2{
position:absolute;
top: 13px;
left: 30px;
}
#topaccess-block .access-box .accessbox-inner .map-text2::before{
position:relative;
top: 23px;
left: -10px;
content:"";
display:inline-block;
width:30px;
height:40px;
background:url("../safeworks/images/icon_access.svg") no-repeat;
background-size:contain;
}
#topaccess-block .access-box .accessbox-inner .map-text3{
position:absolute;
top: 55px;
left: 60px;
}

#topaccess-block .map-box {
width: 100%;
height: 400px;
margin: 0;
padding: 0;
}


/* ************************************************ 
*	フッター
* ************************************************ */
#footer {
clear:both;
width:100%;
background: #fff;
margin: 0 auto;
padding: 0;
}
#footer .row{
margin-bottom: 0;
}
.footer-inner {
margin: 0 auto;
width: 1120px;
max-width: 90%;
padding: 70px 0;
position:relative;
z-index:0;
}

.footer-navbox {
margin: 0;
padding: 0;
}
#topbox{
margin: 0 0 0 0;
padding: 0 0 0 0;
}
#topbox .footerlist {
margin: 100px 0 0 0;
padding: 0 0 0 0;
}
#topbox .footerlist li{
margin: 0;
padding: 5px 0;
line-height: 200%;
list-style: none;
border-bottom: none;
}
#topbox .footerlist li a{
font-size:15px;
color: #333;
display:inline-block;
}
#topbox .footerlist li a:hover{
color: #000;
text-decoration: underline;
}

#topbox ul.sub-menu {
margin-bottom: 0;
display: block;
padding: 0 0 0 0;
}
#topbox ul.sub-menu li {
padding: 3px 0px 2px 1.5em;
}

#topbox .footername,
#topbox .footertel {
margin: 0;
padding: 0;
width: 320px;
}
#topbox .footername img{
width: 300px;
margin: 0 0 50px 0;
}
#topbox .footertel img{
width: 300px;
margin: 0 0 10px 0;
}
#topbox .footername p{
font-size:15px;
}

.foot-centerline {
border: 1px solid #333;
width: 60px;
text-align: center;
margin: 0 auto;
}

.footer-inner a{
font-size:15px;
color: #fff;
text-decoration: none;
}
.footer-inner a:hover{
color: #fff;
text-decoration: underline;
}

#copyright {
font-size:14px;
text-align:center;
position: relative;
margin: 0 0 0 0;
padding: 30px 0;
background-color: #fff;
}
#copyright a{
color:#333;
}
#copyright a:hover {
color: #000;
}


/* ************************************************ 
*	ウィジット
* ************************************************ */
.widget{
margin: 0 0 0 0;
}
.textwidget{
font-size: 13px;
color: #444;
line-height:170%;
margin: 0 0 0 0;
padding: 5px 0 0 0;
}
#topbox li a{
font-size:13px;
color:#444;
margin: 0 0 0 0;
padding: 3px 0px 2px 0px;
list-style: none;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}
#topbox li a:hover{
color:#45AAB8;
}


/* ************************************************ 
*	サイドバー　新着表示
* ************************************************ */
#sidebar {
width: 100%;
margin: 0px 0px 40px 0px;
padding: 0 0 0 0;
}
.sidebar-title{
color: #333;
font-size: 16px;
font-weight: bold;
letter-spacing: 0.05em;
font-style:normal;
margin: 0px 0px 10px 0px;
padding: 0 0 0 0;
border-bottom:3px solid #ccc;
}
#sidebar li{
font-size: 13px;
margin: 0 0 0 0;
padding: 15px 0;
list-style: none;
border-bottom: 1px dotted #999;
}
#sidebox-new {
margin: 0 0 50px 0 ;
padding: 0 0 0 0 ;
}
#sidebox-new li a:hover{
color:#27a639;
}
#sidebox-works {
margin: 0 0 50px 0 ;
padding: 0 0 0 0 ;
}
#sidebox-works li{
font-size: 13px;
margin: 0 0 0 0;
padding: 5px 0;
list-style: none;
border-bottom: 1px dotted #999;
}
#sidebox-works li a{
color:#333;
}
#sidebox-works li a:hover{
color:#27a639;
}
#sidebox-archives {
margin: 0 0 50px 0 ;
padding: 0 0 0 0 ;
}


/* ************************************************ 
*	レスポンシブ
* ************************************************ */
/* PC 画面の横幅が1160px以上 */
@media only screen and (min-width: 1160px) {
iframe { width: 100%; height:100%; max-width: 100%; }
.logo-spbox { display: none; }
.tel-spbox { display: none; }
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
.show_tb { display: none; }
.show_sp { display: none; }
}


/* Tablet (Portrait) 画面の横幅が768px〜1159pxまで */
@media only screen and (min-width: 768px) and (max-width: 1159px) {
body { font-size: 14px; }
p { font-size: 14px; }
iframe { width: 100%; height:100%; max-width: 100%; }
.logo-spbox { display: none; }
.tel-spbox { display: none; }

.logo-box {
width: 20%;
max-width: 200px;
}
.nav-box {
width: 80%;
}
.nav-menu li {
margin: 0 5px;
}
.nav-menu li a{ font-size: 12px; }

.tel-box {
width: 25%;
margin: 0 0 0 15px;
}

h3.block-title {
font-size: 24px;
margin: 0 0 50px 0;
}

#topgreeting-block { padding: 70px 0; }
#topgreeting-block h2 {
    font-size: 27px;
    margin: 0 auto 30px auto;
}
.topgreeting-inner {
width: 100%;
max-width: calc(90% - 80px);
padding: 60px 40px;
}
.topgreeting-inner .right-box p { font-size: 12px; }
.topgreeting-inner .right-box p span { font-size: 15px; }

#topss-block { padding: 70px 0; }
.topss-box h3 {
margin: 10px auto 20px auto;
font-size: 18px;
}
.topss-box h4.safety,
.topss-box h4.security { font-size: 15px; }

#topbusiness-block { padding: 70px 0; }
.topbusiness-title { font-size: 21px; }

#topsoudan-block { padding: 70px 0; }
.topsoudan-box {
width: calc(47.5% - 60px);
margin: 0 0 50px 0;
padding: 30px 30px;
}
.topsoudan-box h4 {
font-size: 18px;
}

.topsoudan-box .alllink a {
font-size: 15px;
padding: 10px 0;
}

#topcompany-block { padding: 70px 0; }

#topaccess-block .access-box { margin: 50px 0 0 0; }

#topaccess-block .access-box .accessbox-inner .map-text {
left: 40px;
font-size: 15px;
}
#topaccess-block .access-box .accessbox-inner .map-text2 {
top: 13px;
left: 10px;
font-size: 13px;
}
#topaccess-block .access-box .accessbox-inner .map-text3 {
top: 55px;
left: 40px;
font-size: 13px;
}

#topbox .footername p { font-size: 13px; }
.footer-inner { padding: 50px 0; }
#topbox .footerlist li { padding: 0px 0px 0px 0px; }
#topbox .footerlist li a{ font-size: 13px; }

#topbox .footername { width: 230px; }
#topbox .footertel { width: 230px; }

#copyright {
    font-size: 13px;
    padding: 20px 0;
}
.footer-inner a { font-size: 13px; }

a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
select {
  -webkit-appearance: none;
  appearance: none;
  border: 1px solid #333;
  border-radius: 0px;
background-color: #fff;
padding: 5px;
font-size:14px;
}

#topcontrol{
  bottom: 30px!important;
  right: 5%!important;
}
#topcontrol img{
  width:50px;
}

.show_sp { display: none; }
}


/* Mobile (Portrait) 画面の横幅が767pxまで */
@media only screen and (max-width: 767px) {
body { font-size: 4.5vw; }
p { font-size: 4.5vw; }
iframe { width: 100%; height:100%; max-width: 100%; }
.breadcrumbs { display: none; }
.head-leadbox { display: none; }
.header-inner { display: none; }
.logo-box { display:none; }
.tel-box { display:none; }
.main-img { padding: 70px 0 0 0; }
.main-text h2{
font-size:5.5vw;
margin: 0 0 5px 0;
}
.main-text h3{
font-size:3.5vw;
}


#navDmy{
display:none !important;
}
#nav_bg {
height: 70px;
padding: 0px;
background-color: #fff;
position: absolute;
}

.nav { float: none; text-align:center; width: 100%; padding: 0;}
.nav-menu li {
display: inline-block;
position: relative;
margin: 0 0;
padding: 0;
width: 100%;
z-index:99999;
text-align: left;
text-decoration: none;
border-bottom: none;
}
.nav-menu li a {
background:rgba(39,166,57,0.9);
color: #fff;
display: block;
font-size: 4.5vw;
text-decoration: none;
border-bottom: none;
}
.nav-menu li:hover > a,
.nav-menu li a:hover {
color: #fff;
border-bottom: none;
}
.nav-menu li a:after { display: none; }

.nav-menu .sub-menu {
display: block;
padding: 0;
position: relative;
z-index: 99999;
}
.nav-menu .sub-menu li {
width: 100%;
}
.nav-menu .sub-menu li a {
background:rgba(99,99,99,0.9);
color: #fff;
display: block;
font-size: 4.5vw;
text-decoration: none;
padding: 15px 0 13px 20px;
text-align: left;
width: calc(100% - 20px);
border-bottom: none;
}
.nav-menu .sub-menu li:hover > a,
.nav-menu .sub-menu li a:hover {
color: #fff;
}

h3.block-title,
h3.block-title-w {
font-size: 6vw;
margin: 0 0 60px 0;
}

#topsafeworks-block {
padding: 50px 0;
}
#topsafeworks-block h2 {
font-size: 5.5vw;
margin: 0 auto 30px auto;
}
#topsafeworks-block .icon-box {
width: 45px;
}
.topsafeworks-inner p {
font-size: 4.5vw;
}

#topgreeting-block { padding: 50px 0; }
#topgreeting-block h2 {
font-size: 5.5vw;
margin: 0 auto 30px auto;
}

.topgreeting-inner {
padding: 30px 0;
max-width: 90%;
}
.topgreeting-inner .box { display: block; }
.topgreeting-inner .left-box {
width: 100%;
margin: 0 0 30px 0;
}
.topgreeting-inner .right-box { width: 100%; }
.topgreeting-inner .right-box img{ width: 70%; }


#topss-block { padding: 50px 0 0 0; }
.topss-box { width: 100%; }
#topss-block h2 {
margin: 0 auto 30px auto;
font-size: 5.5vw;
}
#topss-block .icon-box{
width: 50px;
}
.topss-box h4.safety,
.topss-box h4.end { font-size: 5vw; }
.topss-box .text-box { margin: 0 0 50px 0; }
.topss-box .text-box p {
font-size: 4.5vw; 
}

#topbusiness-block { padding: 50px 0 25px 0; }
.topbusiness-box {
width: 100%;
margin: 0 0 25px 0;
}
.topbusiness-title { font-size: 5.5vw; }
.topbusiness-arrow img {
width: 25px;
height: 25px;
}

#topsoudan-block { padding: 50px 0; }
.soudan-text,
.soudan-text2 {
margin: 0 5% 10px 5%;
font-size: 4.5vw;
text-align: left;
}
.topsoudan-box {
    width: calc(100% - 40px);
    margin: 0 0 30px 0;
    padding: 30px 20px;
}
.topsoudan-box h4 {
font-size: 5.5vw;
}
.topsoudan-box .alllink {
margin: 0 auto 20px auto;
width: 100%;
}
.topsoudan-box .alllink a {
font-size: 4.5vw;
padding: 10px 0;
}


#topcompany-block { padding: 50px 0; }
.topcompany-inner table th {
padding: 10px;
text-align: left;
width: calc(100% - 20px);
display: block;
}
.topcompany-inner table td {
padding: 10px;
width: calc(100% - 20px);
display: block;
}

#topaccess-block { padding: 20px 0 0 0; }
#topaccess-block .access-box {
padding: 10px 0;
height: 80px;
}
#topaccess-block .access-box .accessbox-inner .map-text {
top: 0;
left: 40px;
font-size: 4.5vw;
}
#topaccess-block .access-box .accessbox-inner .map-text2 {
top: 10px;
left: 10px;
}
#topaccess-block .access-box .accessbox-inner .map-text3 {
top: 52px;
left: 40px;
}
#topaccess-block .access-box {
margin: 50px 0 0 0;
padding: 10px 0;
height: 80px;
}

#topaccess-block .map-box {
width: 100%;
height: 400px;
}

.alllink a{ display: block; }




.sidebar-title{ font-size: 4.5vw; }
table.similar-side td{ font-size: 4vw; }

.footer-inner { padding: 50px 0 25px 0; }
.footer-inner a {
font-size: 4vw;
}
#topbox .footerlist {
margin: 0 0 0 0;
}
#topbox .footerlist li a {
font-size: 4vw;
padding: 5px 0px 5px 0px;
}

#topbox .footername img {
width: 75%;
margin: 0;
}
#topbox .footertel img {
width: 75%;
}
#topbox .footername {
float: left;
width: 100%;
margin: 0 0 30px 0;
}

#copyright {
font-size: 3.5vw;
padding: 30px 0;
line-height: 150%;
}

/* topcontrol ====================*/
#topcontrol{
  bottom: 30px!important;
  right: 5%!important;
}
#topcontrol img{
  width:50px;
}

select {
  -webkit-appearance: none;
  appearance: none;
  border: 1px solid #333;
  border-radius: 0px;
background-color: #fff;
padding: 5px;
font-size:4vw;
}
.show_pc { display: none; }
.show_tb { display: none; }
}
