/*
Theme Name: naniwa
*/


/* Reset */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
display: block;
}

body {
line-height: 1;
}

ol, ul, li {
list-style: none;
}

strong {
font-weight: bold;
}

a:focus {
outline: none;
}

blockquote, q {
quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
content: '';
content: none;
}

table {
border-collapse: collapse;
border-spacing: 0;
}

body {
-webkit-text-size-adjust: none;
}

a[href^="tel:"] {pointer-events: none;}




/* 全体の設定 PC
---------------------------------------------------------------------------*/
* {-webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box
}
  
html, body {
background: #f5f3f2;
width: 100%;
height: 100%
}

html {
font-size: 100%;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
overflow-y: scroll;
}

body, input, select, textarea {
color: #555;
font-family: "Noto Sans JP", sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 1.6;
}

p {
margin: 0 0 10px 0;
}

img {
width: auto;
height: auto;
max-width: 100%;
vertical-align: middle;
border: 0;
-ms-interpolation-mode: bicubic;
}

a {
color: #90928f;
text-decoration: none;
}

a:hover {
color: #90928f;
}

a:focus {
outline: none;
}

a:hover, a:active {
outline: none;
}

em, i {
font-style: italic;
}

h1, h2, h3, h4, h5, h6 {
margin: 0;
padding: 0;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
color: inherit;
border: 0;
}

.clearfix {
*zoom: 1
}

.clearfix:before, .clearfix:after {
display: table;
line-height: 0;
content: ""
}

.clearfix:after {
clear: both
}

.clear {
float: none;
clear: both;
width: 100%;
height: 1px;
overflow: hidden;
}

.cf:after {
content: "."; 
display: block;
height: 0; 
clear: both; 
visibility: hidden;
font-size:0.1em;
line-height:0;
}

.btn_opa:hover {
filter: alpha(opacity=90);
opacity: 0.90;
}

small {
font-size: 85%
}

strong {
font-weight: bold
}

em {
font-style: italic
}

.text-left {
text-align: left
}

.text-right {
text-align: right
}

.text-center {
text-align: center
}

ul, ol {
padding: 0;
margin: 0;
}

ul ul, ul ol, ol ol, ol ul {
margin-bottom: 0
}

li {
line-height: 1.66;
}

dl {
margin-bottom: 20px
}

dt, dd {
line-height: 20px
}

dt {
font-weight: bold
}

dd {
margin-left: 10px
}

hr {
margin: 20px 0;
border: 0;
border-top: 1px solid #eeeeee;
border-bottom: 1px solid #ffffff
}


input, button, select, textarea {
font-family: "Noto Sans JP", sans-serif;
}

label.inline {
display: inline-block
}

.nowrap {
white-space: nowrap
}


.pc {
display: block !important;
}

.sp {
display: none !important;
}




/* 共通　PC
---------------------------------------------------------------------------*/
#wrapper {
overflow: hidden
}

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

.container02 {
margin: 0 auto;
}

.sec {
margin: 0 0 40px 0;
}

.row {
float: left;
}

.col {
float: left;
}

.col-r {
float: right;
margin: -20px 0 0 0;
}

.col-lg-12 {
  width: 100%;
  *width: 97%;
}
.col-lg-11 {
  width: 91.6666667%;
  *width: 90.2%;
}
.col-lg-10 {
  width: 83.3333333%;
  *width: 81.7%;
}
.col-lg-9 {
  width: 75%;
  *width: 73.2%;
}
.col-lg-8 {
  width: 66.6666667%;
  *width: 64.6%;
}
.col-lg-7 {
  width: 58.3333333%;
  *width: 56.1%;
}
.col-lg-6 {
  width: 50%;
  *width: 47.5%;
}
.col-lg-5 {
  width: 41.6666667%;
  *width: 39%;
}
.col-lg-4 {
  width: 33.3333333%;
  *width: 30.4%;
}
.col-lg-3 {
  width: 25%;
  *width: 22%;
}
.col-lg-2 {
  width: 16.6666667%;
  *width: 13.3%;
}
.col-lg-1 {
  width: 8.33333333%;
  *width: 4.8%;
}

.col-lg-8b {
  width: 66%;
}

.col-lg-4b {
  width: 32%;
}

@media (max-width: 980px) {
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-11 {
    width: 91.6666667%;
  }
  .col-sm-10 {
    width: 83.3333333%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-8 {
    width: 66.6666667%;
  }
  .col-sm-7 {
    width: 58.3333333%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-5 {
    width: 41.6666667%;
  }
  .col-sm-4 {
    width: 33.3333333%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-2 {
    width: 16.6666667%;
  }
  .col-sm-1 {
    width: 8.33333333%;
  }
  [class*="col-sm-"] {
    padding-right: 0%;
    padding-left: 0%;
    float: left;
    min-height: 1px;
    display: block;
    float: left;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
  }
}

.pad01 {
padding: 40px 0;
}

.pad02 {
padding: 80px 0;
}

.pad03 {
padding: 0 0 80px;
}

.pad04 {
padding: 20px;
}

@media (max-width: 980px) {
.pad01 {
padding: 32px 0;
}

.pad02 {
padding: 48px 0 64px;
}

.pad03 {
padding: 0 0 48px;
}

.pad04 {
padding: 16px;
}
}

p {
margin-bottom: 20px
}

p.noma {
margin-bottom: 5px
}

.uppercase {
text-transform: uppercase
}

.grid-item_image img {
margin: 0 0 20px 0;
border: 1px solid #000;
}

.grid-item_image img.wide300 {
width: 500px;
height: auto;
}

.grid-item_image img.wide450 {
width: 450px;
height: auto;
}

*{
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
-o-box-sizing: border-box;
}

.js-masonry{
width: 100%;
}

.width_33, .width_66 {
margin: 0 5px 10px 5px;
}

.width_33 img {
width: 300px;
height: auto;
}

.width_66 img{
width: 610px;
height: auto;
}

@media screen and (max-width: 480px) {
.width_33 img {
width: 100%;
height: auto;
}

.width_66 img{
width: 100%;
height: auto;
}
}




/* ヘッダー PC
---------------------------------------------------------------------------*/
#header.header {
display: none;
padding: 12px 0 16px;
}

@media (min-width: 981px) {
#header.header {
display: block;
width: 100%
}
}

.header_container {
width: 100%;
margin: auto;
padding: 0 15px;
box-sizing: border-box
}

.header_container h1 {
color: rgba(255,255,255,0.66);
font-family: "Noto Sans JP", sans-serif;
font-size: 13px;
font-weight: 500;
margin-bottom: 5px;
margin-left: 3px;
line-height: 1.33;
}

.header_container::after {
clear: both;
display: table;
line-height: 0;
content: ""
}

@media (min-width: 1200px) {
.header_container {
max-width: 1200px;
width: 100%;
padding: 0
}
}

#header.header-inverted {
background: rgba(0,0,0,0.66);
position: absolute;
top: 0;
left: 0;
border-bottom: 0;
z-index: 1000;
}

#header.header-inverted.n_scroll {
background: rgba(130,12,12,0.96);
position:fixed;
top:0;
-moz-box-shadow: 0px 2px 2px rgba(0,0,0,0.33);
-webkit-box-shadow: 0px 2px 2px rgba(0,0,0,0.33);
box-shadow: 0px 2px 2px rgba(0,0,0,0.33);
z-index: 1000;
}

.header_logo {
float: left;
max-width: 312px;
width: 100%;
margin-top: 5px;
margin-right: 35px;
}

a.header_logo img:hover {
filter: alpha(opacity=80);
opacity: 0.80;
}

.header_nav {
float: left;
margin-top: 0;
margin-bottom: 0;
}

.header_nav li {
display: inline-block;
height: auto;
list-style-type: none;
margin-right: 12px;
padding-top: 5px;
padding-bottom: 5px;
padding-right: 12px;
font-family: "Noto Sans JP", sans-serif;
font-size: 15px;
font-weight: 500;
text-align: center;
border-right: 1px dotted rgba(255,255,255,0.5);
line-height: 1.4;
}

.header_nav li:last-child {
margin-right: 0;
padding-right: 0;
border-right: none;
}

.header_nav li a {
color: #c30d23;
}

.header_nav li a:hover {
text-decoration: none;
filter: alpha(opacity=80);
opacity: 0.80;
}

.header_nav li span {
display: block;
font-family: 'Gentium Basic', serif;
color: rgba(255,255,255,0.66);
font-size: 90%;
}

.header_nav li a span, .header_nav li a:hover span, .header_nav li a:focus span,
.header_nav li a:active span {
display: block;
font-family: 'Gentium Basic', serif;
}

#header.header-inverted.n_scroll .header_nav li a {
color: #fff;
}

@media (min-width: 1200px) {
.header_nav li {
margin-right: 12px;
padding-right: 12px
}
}

.main_visual {
position: relative;
max-height: 950px;
height: 100vh;
color: #fff;
overflow: hidden;
}

.visual_image {
background-size: cover;
background-repeat: no-repeat;
background-position: 50% 50%;
}


.main_visual_overlay {
position: absolute;
top: 0;
width: 100%;
height: 100%;
}


.main_visual .bg_img {
position   : absolute;
top: 0;
left   : 0;
bottom : 0;
right  : 0;
opacity: 0;
animation  : bgAnime 10s infinite;
}

.main_visual .src1 {
  background-image : url(./img/13b.jpg);
  background-position: 50% 50%;
  background-size: cover;  
}

.main_visual .src2 {
  background-image : url(./img/15b.jpg);
  background-position: 50% 50%;
  background-size: cover;
  animation-delay  : 5s;
}

@media screen and (max-width: 980px) {
.main_visual .src1 {
  background-image : url(./img/sp_13b.jpg);
  background-size: cover;  
}

.main_visual .src2 {
  background-image : url(./img/sp_15b.jpg);
  background-size: cover;
}
}


/*
.main_visual .src4 {
  background-image : url(./img/15b.jpg);
  background-size: cover;
  animation-delay  : 15s;
}
*/

@keyframes bgAnime {
   0% { opacity: 1; transform: scale(1.05, 1.05); }
  50% { opacity: 1; transform: scale(1.0, 1.0); }
 100% { opacity: 0; }
}

.top_container {
max-width: 1200px;
margin: 150px auto 0;
padding: 0 20px;
}

@media (min-width: 981px) and (max-width: 1144px) {
.top_container {
max-width: 100%;
margin: 180px auto 0;
}
}

@media screen and (max-width: 980px) {
.top_container {
max-width: 100%;
margin: 90px auto 0;
padding: 0 4%;
}
}

.top_container h2.section-title {
font-family: "Noto Sans JP", sans-serif;
font-weight: 500;
margin-bottom: 20px;
font-size: 43px;
line-height: 40px;
}

@media screen and (max-width: 980px) {
.top_container h2.section-title {
margin-bottom: 0px;
font-size: 32px;
line-height: 40px;
}
}

img.workman {
position: absolute;
bottom: 0;
right: 0;
width: auto;
max-width: 100%;
height: 75%;
}

@media (min-width: 981px) and (max-width: 1110px) {
img.workman {
width: auto;
max-width: initial;
height: 60%;
}
}

@media (min-width: 481px) and (max-width: 980px) {
img.workman {
width: auto;
max-width: initial;
height: 50%;
}
}

@media screen and (max-width: 480px) {
img.workman {
width: 100%;
max-width: initial;
height: auto;
}
}

.sub_visual {
width: 100%;
height: 360px;
margin: 98px auto 40px;
text-align: center;
}

/*
.sub_visual_overlay {
width: 100%;
height: 280px;
background-image: url("./img/cv_bg_ptn01.png");
background-size: 48px
}
*/

.sub_visual .sv_tit {
display: table-cell;
text-align: center;
vertical-align: middle;
}

.sv_inner {
display: table;
width: 100%;
height: 360px;
margin: 0 auto;
text-align: center;
}

.sub_visual .sv_tit img {
margin: -30px 0 0 0;
width: 280px;
height: auto;
}

.sub_visual01 {
background: url(./img/sub_visual01.jpg) no-repeat;
background-position: 50% 50%;
background-size: cover;
}

.sub_visual02 {
background: url(./img/sub_visual02.jpg) no-repeat;
background-position: 50% 50%;
background-size: cover;
}

.sub_visual03 {
background: url(./img/sub_visual03.jpg) no-repeat;
background-position: 50% 50%;
background-size: cover;
}

.sub_visual04 {
background: url(./img/sub_visual04.jpg) no-repeat;
background-position: 50% 50%;
background-size: cover;
}

.sub_visual05 {
background: url(./img/sub_visual05.jpg) no-repeat;
background-position: 50% 50%;
background-size: cover;
}

.sub_visual06 {
background: url(./img/sub_visual06.jpg) no-repeat;
background-position: 50% 50%;
background-size: cover;
}

.sub_visual07 {
background: url(./img/sub_visual07.jpg) no-repeat;
background-position: 50% 100%;
background-size: cover;
}

.sub_visual08 {
background: url(./img/sub_visual08.jpg) no-repeat;
background-position: 50% 100%;
background-size: cover;
}

@media (min-width: 768px) and (max-width: 1110px) {
.sub_visual {
margin: 148px auto 40px;
}
}




/* フッター PC
---------------------------------------------------------------------------*/
.footer {
background: #333;
margin: 0;
padding: 30px 0 20px;
color: #fff;
background-image: url("./img/cv_bg_ptn01.png");
background-size: 60px;
font-size: 14px
}

.footer_box_l {
float: left;
width: 70%;
}

.footer_box_r {
float: left;
width: 30%;
padding: 0 0 20px;
}

.footer_logo {
margin-bottom: 10px
}

.footer_logo img {
width: 240px;
height: auto;
}

.f_nav li {
list-style-type: none;
margin-right: 15px;
padding-top: 4px;
padding-bottom: 4px;
padding-right: 15px;
padding-left: 12px;
font-family: "Noto Sans JP", sans-serif;
font-size: 15px;
font-weight: 500;
line-height: 1.4;
background: url(./img/g_arr01.png) no-repeat;
background-position: 0% 50%;
background-size:6px 8px;
}

.f_nav li:last-child {
margin-right: 0;
padding-right: 0;
border-right: none;
}

.f_nav li a {
color: #fff;
}

.f_nav li a:hover {
text-decoration: none;
filter: alpha(opacity=80);
opacity: 0.80;
}

.f_nav li span {
margin: 0 0 0 10px;
font-family: 'Gentium Basic', serif;
color: rgba(255,255,255,0.66);
font-size: 90%;
}

#pagetop {
position: fixed;
bottom: 3%;
right: 2.5%;
z-index: 100;
}

#pagetop img {
filter: alpha(opacity=96);
opacity: 0.96;
width:48px;
height: auto;
border: 1px solid #fff;
}

#pagetop:hover {
filter: alpha(opacity=80);
opacity: 0.8;
}




/* トップページ PC
---------------------------------------------------------------------------*/
h1.section-title {
font-family: "Noto Sans JP", sans-serif;
font-weight: 500;
margin-bottom: 20px;
font-size: 43pt;
line-height: 40pt
}

h2.sectionTitle {
margin-bottom: 20px;
font-family: "Noto Sans JP", sans-serif;
font-size: 32px;
font-weight: 500;
line-height: 40pt;
}

h3.sectionTitle {
margin-bottom: 0px;
color: #999;
font-family: 'Gentium Basic', serif;
font-size: 32px;
font-weight: 500;
line-height: 1;
}

h3.line {
width: 100%;
color: rgba(130,12,12,1);
font-size: 30px;
font-weight: 500;
text-align: center;
margin: 0 auto 30px;
padding: 0 0 6px 0;
border-bottom: 6px solid rgba(130,12,12,0.2);
position: relative;
line-height: 1.66;
}

h3.line::after {
position: absolute;
content: " ";
display: block;
border-bottom: 6px solid rgba(130,12,12,1);
bottom: -6px;
width: 30%;
}

h3.line span {
margin: 0 0 0 15px;
color: rgba(130,12,12,0.66);
font-family: 'Gentium Basic', serif;
font-size: 90%;
}

h3.line02 {
margin: 0 0 20px 0;
padding: 0.4em 1em;
color: #fff;
font-size: 24px;
font-weight: bold;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px;
background: linear-gradient(rgba(130,12,12,0.8) 0%, rgba(130,12,12,0.8) 50%, rgba(130,12,12,1) 50%, rgba(130,12,12,1) 100%);
text-align: center;
}

h3.tit01 {
margin: 0 0 10px 0;
font-size: 25px;
font-weight: 500;
text-align: center;
}

h3.tit02 {
margin: 0 0 80px 0;
font-size: 25px;
font-weight: 500;
text-align: center;
}

.fb {
font-size: 133%;
}

p.fb span {
border-bottom: 2px dotted #ddd;
line-height: 2;
}

h4.line {
width: 100%;
background: rgba(130,12,12,0.4);
color: #fff;
font-size: 18px;
font-weight: 500;
text-align: center;
margin: 0 auto 20px;
padding: 8px 0;
line-height: 1;
}

h4.line02 {
width: 100%;
background: rgba(130,12,12,0.66);
color: #fff;
font-size: 20px;
font-weight: 500;
text-align: center;
margin: 40px auto 20px;
padding: 16px 0;
line-height: 1;
-moz-border-radius: 8px; 
-webkit-border-radius: 8px;
border-radius: 8px; 
}

h4.tit01 {
color: #c30d23;
font-size: 105%;
font-weight: bold;
}

.t_center {
text-align: center;
}

p.t_left {
text-align: left;
}

.lead {
margin-bottom: 0px;
}

.lead p {
margin-top: 30px;
margin-bottom: 10px;
font-size: 34px;
font-weight: 500;
line-height: 1.33;
}

.lead p.note {
margin-bottom: 0px;
padding: 0px 4px;
font-size: 16px;
font-weight: 400;
line-height: 1.8;
}

.marker_y {
background: linear-gradient(transparent 40%, rgba(130,12,12,0.7) 40%);
padding: 0px 4px;
}

.displayTitle {
font-family: "Noto Sans JP", sans-serif;
font-size: 25px;
font-weight: 500;
line-height: 1.33;
}

.subheader {
margin-top: 20px;
padding: 0 10%;
color: #888;
font-size: 16px;
line-height: 1.5;
}

.top_field {
padding: 40px 10px 0 10px;
text-align: center;
}

.top_field p.icon {
margin-bottom: 10px;
}

p.icon img {
width: 80px;
height: auto;
}

.card_container {
display: block;
margin-top: 30px;
}

.card_wrapper {
display: inline-block;
margin: 0 10px 60px
}

.card {
width: 200px;
height: auto;
background: #fff;
border-radius: 0;
transition: box-shadow .5s ease;
box-shadow: 0 2px 6px #cecece
}

.card:hover {
box-shadow: 0 2px 8px #a2a2a2;
transition: box-shadow .2s ease
}

.card p {
margin: 0 0 10px 0;
padding: 5px 0 10px 0;
}

@media (max-width: 980px) {
.card_wrapper {
display: inline-block;
margin: 0 0 15px
}

.card {
width: 70%;
height: auto;
margin: 0 auto;
background: #fff;
}

.card img {
width: 100%;
height: auto;
}
}

.news_list {
width: 100%;
margin: 0 0 60px 0;
font-size: 14px;
overflow:auto;
}

.news_list dt{
clear:both;
width:7em;
float:left;
padding: 4px 3px;
color: rgba(130,12,12,0.8);
}

.news_list dd {
padding: 4px 3px 4px 7em;
text-align: left;
}

.news_list dd a {
color: #555;
}

.news_list dd a:hover {
text-decoration: underline;
}

.block3 {
display: block;
margin: 0 0 40px 0;
font-size: 0;
}

.block3 li {
display: inline-block;
width: 32%;
margin: 0 2% 30px 0;
padding: 0;
font-size: 14px;
vertical-align: top;
line-height: 1.5;
}

.block3 li.text_block {
width: 64%;
text-align: left;
padding: 0 30px 30px;
font-size: 17px;
line-height: 1.66;
}

.block3 li.text_block02 {
width: 32%;
text-align: left;
}

.block3 li.text_block a {
color: #006736;
font-weight: bold;
}

.block3 li.text_block a:hover {
color: rgba(0,103,54,0.6)
}

.block3 li.text_block span {
background: linear-gradient(transparent 60%, rgba(0,103,54,0.2) 60%);
padding: 0;
}

.block3 li:nth-child(3n) {
margin: 0 0 30px 0;
}

#story .block3 {
margin: 0 0 0 0;
}

#story .block3 li {
margin: 0 2% 20px 0;
}

#story .block3 li:nth-child(3n) {
margin: 0 0 20px 0;
}

.block3 li img {
width: 100%;
height: auto;
margin: 0 0 5px 0;
}

.block3 li p {
font-size: 14px;
}

.btn-primary {
border: none;
border-radius: 0;
box-shadow: none;
color: #fff;
display: inline-block;
font-size: 16px;
padding: 12px 60px;
text-shadow: none;
text-transform: uppercase;
transition: background .5s ease;
background: #c30d23;
}

.btn-primary:hover {
box-shadow: none;
color: #fff;
text-decoration: none;
transition: background .5s ease;
background: #ff0000;
}

a.btn-primary {
position: relative;
}

a.btn-primary::after {
border-right: 2px solid #FFF;
border-top: 2px solid #FFF;
border-radius: 1px;
content: "";
height: 0.4em;
width: 0.4em;
transform: rotate(45deg);
-webkit-transform: rotate(45deg);
position: absolute;
right: 0.9em;
top: 0;
bottom: 0;
margin: auto;
}

p.btn-recruit {
width: 100%;
border: none;
border-radius: 0;
box-shadow: none;
color: #fff;
display: inline-block;
font-size: 16px;
margin-bottom: 10px;
padding: 12px 0px;
text-shadow: none;
text-transform: uppercase;
transition: background .5s ease;
background: #c30d23;
}

p.btn-recruit a {
color: #fff;
}

p.btn-recruit:hover {
color: #fff;
text-decoration: none;
transition: background .5s ease;
background: #ff0000;
}

.recruit_link a {
color: #006736;
font-weight: bold;
}

.recruit_link a:hover {
color: rgba(0,103,54,0.6)
}

@media (max-width: 980px) {
p.btn-recruit {
width: 90%;
}
}

img.img_president {
float: left;
margin: 0 30px 20px 0;
width: 300px;
height: auto;
}

iframe {
margin: 0 0 15px 0;
}

.bod01 {
border-left: 8px solid rgba(130,12,12,0.2);
padding: 0 0 0 8px;
}


#wrapper {
position: relative;
padding: 0 0 70px 0;
}

#wrapper .man01 {
position: absolute;
bottom: 0;
right: 5%;
width: 380px;
height: auto;
z-index: 10;
}

@media (min-width: 981px) and (max-width: 1110px) {
}

@media (min-width: 481px) and (max-width: 980px) {
#wrapper {
padding: 0 0 70px 0;
}
 
#business #wrapper {
padding: 0 0 240px 0;
}

#equipment #wrapper {
padding: 0 0 210px 0;
}

#products #wrapper {
padding: 0 0 100px 0;
}

#activity #wrapper {
padding: 0 0 120px 0;
}

#wrapper .man01 {
width: 360px;
max-width: initial;
height: auto;
padding: 120px 0 0 0;
}
}

@media screen and (max-width: 480px) {
#wrapper {
padding: 0 0 70px 0;
}

#business #wrapper {
padding: 0 0 240px 0;
}

#equipment #wrapper {
padding: 0 0 210px 0;
}

#products #wrapper {
padding: 0 0 100px 0;
}

#activity #wrapper {
padding: 0 0 120px 0;
}

#wrapper .man01 {
right: 2.5%;
width: 60%;
max-width: initial;
height: auto;
padding: 120px 0 0 0;
}
}

.equipment {
width: 100%;
margin: 0;
overflow:auto;
}

.equipment dt{
clear:both;
width:15em;
float:left;
padding: 4px 3px;
font-weight: normal;
}

.equipment dd {
padding: 4px 3px 4px 7em;
text-align: left;
font-weight: normal;
}

.kes {
float: right;
margin: 0 0 0 30px;
}

.flow_box {
width: 1000px;
margin: 0 auto;
}

.flow_l {
float: left;
margin: 0 30px 0 0;
}

.flow_r {
float: right;
margin: 0 0 0 30px;
}

.img_center {
display: block;
margin: 0 auto;
}

img.wide320 {
width: 320px;
height: auto;
}

img.wide400 {
width: 400px;
height: auto;
}

img.wide480 {
width: 480px;
height: auto;
}

img.wide540 {
width: 540px;
height: auto;
}




/* テーブル PC
---------------------------------------------------------------------------*/
.tbl01 {
background: #fff;
width: 100%;
border-top: 1px dotted rgba(186,144,109,0.33);
margin: 0 auto 80px;
}

.tbl01 th,
.tbl01 td {
font-size: 15px;
border-bottom: 1px dotted rgba(186,144,109,0.66);
line-height: 1.5;
}

.tbl01 th {
background: #f0f1f3;
background: rgba(186,144,109,0.33);
background: rgba(130,12,12,0.15);
width: 25%;
padding: 18px 28px;
color: #555;
font-weight: normal;
text-align: left;
vertical-align: middle;
}

.tbl01 td {
width: 75%;
padding: 18px 28px;
text-align: left;
vertical-align: middle;
}

.tbl01.bg_c tr:nth-child(even) {
background: rgba(130,12,12,0.05);
}



/* フォーム PC
---------------------------------------------------------------------------*/
input, button, textarea, select {
outline: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}

input,
textarea,
select {
background: #fff;
margin: 0;
padding: 10px 0 10px 8px;
width: 94%;
font-size: 14px;
font-family: inherit;
-moz-border-radius: 2px; 
-webkit-border-radius: 2px;
border-radius: 2px;
border: 1px solid #ddd;
}

input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
filter: alpha(opacity=70);
-ms-filter: "alpha(opacity=70)";
opacity: 0.7;
}

input::-webkit-input-placeholder {
color: #999;
font-weight: normal;
}

input:-ms-input-placeholder {
color: #999;
font-weight: normal;
}

input::-moz-placeholder {
color: #999;
font-weight: normal;
}

.btn-submit input[type="submit"] {
display: block;
background: #ffe14d;
width: 100%;
max-width: 360px;
height: 60px;
margin: 40px auto 60px;
color: #000;
border: none;
-moz-border-radius: 2px; 
-webkit-border-radius: 2px;
border-radius: 2px;
-webkit-appearance: none;
}

.req {
color: rgb(255, 255, 255);
font-size: 80%;
background: rgb(255, 0, 0);
padding: 0px 2px;
}




/* お知らせ PC
---------------------------------------------------------------------------*/
.info_box_l {
float: left;
width: 840px;
margin: 0 0 120px;
}

h3.info_tit01 {
width: 100%;
margin: 0 0 10px 0;
padding: 3px 3px 6px;
color: rgba(130,12,12,1);
font-size: 20px;
font-weight: 500;
border-left: 0px solid rgba(56,134,89,0.5);
border-bottom: 3px dotted #ccc;
line-height: 1.2;
}

h3.info_tit02 {
width: 100%;
margin: 0 0 10px 0;
padding: 3px 0 3px 10px;
color: rgba(130,12,12,1);
font-size: 20px;
font-weight: 500;
border-left: 8px solid rgba(130,12,12,0.5);
line-height: 1.2;
}

.info_date {
margin: 0 0 15px 3px;
color: #999;
font-size: 90%;
}

.info_list {
width: 100%;
margin: 0 0 30px 0;
padding: 0;
font-size: 14px;
overflow: auto;
border-top: 1px dotted #ddd;
}

.info_list dt {
clear: both;
width: 7em;
float: left;
margin: 0;
padding: 12px 5px;
color: rgba(130,12,12,1);
font-size: 14px;
}

.info_list dd {
margin: 0;
padding: 12px 5px 12px 7em;
font-size: 14px;
text-align: left;
border-bottom: 1px dotted #ddd;
}

.info_box_r {
float: right;
width: 300px;
margin: 0 0 120px;
}

#side h3 {
background: rgba(130,12,12,1);
color: #fff;
font-size: 14px;
text-align: left;
margin: 0;
padding: 8px;
}

#side ul.side_menu01 {
list-style: none;
margin: 0 0 40px;
}

#side ul.side_menu01 li {
padding: 6px 4px;
font-size: 14px;
border-bottom: 1px dotted rgba(0,0,0,0.1);
}

#side ul.side_menu01 li a{color:#555;text-decoration:none;}
#side ul.side_menu01 li a:hover{color:#888;text-decoration:underline;}

.link_nav {
margin: 40px auto 0;
}

.link_nav .link_nav_l {
float: left;
width: 48%;
text-align: left;
}

.link_nav .link_nav_r {
float: right;
width: 48%;
text-align: right;
}

.wp-pagenavi {
text-align: center;
font-size: 90%;
}

.wp-pagenavi a:hover {
background: #388659;
color: #fff !important;
border-color: rgba(130,12,12,1) !important;
}

.wp-pagenavi span.current {
background: rgba(130,12,12,1);
color: #fff;
border-color: rgba(130,12,12,1) !important;
}




/* その他 PC
---------------------------------------------------------------------------*/
.scroll > a {
 display: block; 
 padding-top: 140px; 
 margin-top: -140px;
}

.mt20 {
margin-top: 20px;
}

.mt40 {
margin-top: 40px;
}

.mt60 {
margin-top: 60px;
}

.mt80 {
margin-top: 80px;
}

.mt120 {
margin-top: 120px;
}

.mt40b {
margin-top: -40px;
}



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

* {-webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
 box-sizing: border-box
}

.pc {
display: none !important;
}

.sp {
display: block !important;
}

body {
padding-right: 0;
padding-left: 0
}

.container {
width: auto;
max-width: 100%;
margin-left: 4%;
margin-right: 4%;
}
.row-fluid {
width: 100%
}

[class*="span"], .uneditable-input[class*="span"], .row-fluid [class*="span"] {
display: block;
float: none;
width: 100%;
margin-left: 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box
}
.span12, .row-fluid .span12 {
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box
}
.row-fluid [class*="offset"]:first-child {
margin-left: 0
}

a[href^="tel:"] {pointer-events: auto;}




/* ヘッダー SP
---------------------------------------------------------------------------*/
.h_box {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: auto;
z-index: 1000;
}

.h_box {
position: fixed;
background: #fff;
width: 100%;
height: 60px;
-moz-box-shadow: 0px 2px 2px rgba(0,0,0,0.33);
-webkit-box-shadow: 0px 2px 2px rgba(0,0,0,0.33);
box-shadow: 0px 2px 2px rgba(0,0,0,0.33);
}

.h_box p {
margin-bottom: 0px;
}

.h_box .h_navi {
display: none;
}

.h_box_in {
width: 100%;
height: auto;
margin: 0 auto;
}

.h_box .sp_logo {
float: left;
display: block;
width: calc(100% - 128px);
padding: 15px 0 0 5px;
text-align: left;
}

.h_box .sp_logo img {
width: auto;
height: 30px;
padding: 0;
}

.h_box .sp_logo img:hover {
filter: alpha(opacity=80);
opacity: 0.80;
}

.h_box .tel {
float: left;
width: 42px;
text-align: center;
}

.h_box .tel img {
width: auto;
height: 40px;
margin: 10px 0 0 0;
}

.h_box .mail {
float: left;
width: 42px;
text-align: center;
}

.h_box .mail img {
width: auto;
height: 40px;
margin: 10px 0 0 0;
}

.h_box #menuWrap {
float: right;
width: 44px;
}

nav {
background: #fff;
width: 100%;
height: 60px;
-moz-box-shadow: 0px 0px 0px rgba(0,0,0,0.33);
-webkit-box-shadow: 0px 0px 0px rgba(0,0,0,0.33);
box-shadow: 0px 0px 0px rgba(0,0,0,0.33);
}

a#menu{
display: inline-block;
position: relative;
width: 40px;
height: 40px;
margin: 10px 0 5px 0;
}

#menuBtn{
display: block;
position: absolute;
top: 50%;
left: 5px;
width: 22px;
height: 3px;
margin: -2px 0 0 0;
background: #c30d23;
transition: .2s;
}

#menuBtn:before, #menuBtn:after{
display: block;
content: "";
position: absolute;
top: 50%;
left: 0;
width: 22px;
height: 3px;
background: #c30d23;
transition: .3s;
}

#menuBtn:before{
margin-top: -8px;
}

#menuBtn:after{
margin-top: 5px;
}

a#menu .close{
background: transparent;
}

a#menu .close:before, a#menu .close:after{
margin-top: 0;
}

a#menu .close:before{
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
}

a#menu .close:after{
transform: rotate(-135deg);
-webkit-transform: rotate(-135deg);
}

.panel{
width: 100%;
display: none;
overflow: hidden;
position: relative;
left: 0;
top: -2px;
z-index: 100;
}

#mainnav{
width: 100%;
text-align: right;
}

#mainnav ul {
border-bottom: 0px solid #ddd;
background: rgba(195,13,35,0.96);
text-align: left;
}

#mainnav li a {
position: relative;
display: block;
padding: 15px 15px;
border-bottom: 1px dotted #ddd;
color: #fff;
font-size: 14px;
}

#mainnav li:last-child a {
border-bottom: 0px dotted #ddd;
}

#mainnav li a span {
padding: 0 0 0 10px;
color: rgba(255,255,255,0.5);
font-size: 12px;
}

#mainnav li a::before {
display: block;
content: "";
position: absolute;
top: 50%;
right: 15px;
width: 6px;
height: 6px;
margin: -4px 0 0 0;
border-top: solid 1px #fff;
border-right: solid 1px #fff;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

.main_visual {
position: relative;
max-height: initial;
height: calc(100vh - 100px);
color: #fff;
overflow: hidden;
}

.sub_visual {
width: 100%;
height: 160px;
margin: 60px auto 30px;
text-align: center;
}

.sub_visual_overlay {
width: 100%;
height: 160px;
background-size: 48px
}

.sub_visual .sv_tit {
display: table-cell;
text-align: center;
vertical-align: middle;
}

.sv_inner {
display: table;
width: 100%;
height: 160px;
margin: 0 auto;
text-align: center;
}

.sub_visual .sv_tit img {
margin: -15px 0 0 0;
width: 210px;
height: auto;
}




/* フッター SP
---------------------------------------------------------------------------*/
.footer_box_l {
float: none;
width: 100%;
margin: 0;
}

.footer_box_r {
float: none;
width: 100%;
margin: 0 0 30px;
}




/* トップページ SP
---------------------------------------------------------------------------*/
h1.section-title {
margin-bottom: 16px;
font-size: 32px;
line-height: 32pt;
}

h2.sectionTitle {
margin-bottom: 12px;
font-size: 24px;
line-height: 32pt;
}

h3.sectionTitle {
margin-bottom: 0px;
font-size: 22px;
font-weight: 400;
line-height: 1;
}

h3.line {
width: 100%;
color: rgba(130,12,12,1);
font-size: 20px;
font-weight: 500;
text-align: center;
margin: 0 auto 24px;
padding: 0;
border-bottom: 4px solid rgba(130,12,12,0.2);
position: relative;
line-height: 1.66;
}

h3.line::after {
position: absolute;
content: " ";
display: block;
border-bottom: 4px solid rgba(130,12,12,1);
bottom: -4px;
width: 30%;
}

h3.line span {
margin: 0 0 0 15px;
color: rgba(130,12,12,0.66);
font-family: 'Gentium Basic', serif;
font-size: 70%;
}

h3.line02 {
margin: 0 0 20px 0;
padding: 0.3em 1em;
color: #fff;
font-size: 18px;
font-weight: bold;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px;
background: linear-gradient(rgba(130,12,12,0.8) 0%, rgba(130,12,12,0.8) 50%, rgba(130,12,12,1) 50%, rgba(130,12,12,1) 100%);
text-align: center;
}

h3.tit01 {
margin: 0 0 10px 0;
font-size: 20px;
font-weight: bold;
text-align: center;
}

h3.tit02 {
margin: 0 0 40px 0;
font-size: 18px;
font-weight: bold;
text-align: center;
}

.fb {
font-size: 120%;
}

p.fb span {
border-bottom: 2px dotted #ddd;
line-height: 2;
}

p.fb span br {
display: none;
}

h4.line {
width: 100%;
background: rgba(130,12,12,0.4);
color: #fff;
font-size: 16px;
font-weight: 500;
text-align: center;
margin: 0 auto 20px;
padding: 8px 0;
line-height: 1;
}

h4.line02 {
width: 100%;
background: rgba(130,12,12,0.66);
color: #fff;
font-size: 18px;
font-weight: 500;
text-align: center;
margin: 40px auto 20px;
padding: 10px 0;
line-height: 1;
-moz-border-radius: 8px; 
-webkit-border-radius: 8px;
border-radius: 8px; 
}

h4.tit01 {
color: #c30d23;
font-size: 105%;
font-weight: bold;
}

h4.tit01 {
color: #c30d23;
font-size: 105%;
font-weight: bold;
}

.t_center {
text-align: center
}

.lead {
margin-bottom: 0px;
}

.lead p {
margin-top: 30px;
margin-bottom: 10px;
font-size: 34px;
font-weight: 500;
line-height: 1.33;
}

.lead p.note {
margin-bottom: 0px;
padding: 0px 4px;
font-size: 16px;
font-weight: 400;
line-height: 1.8;
}

.displayTitle {
font-size: 20px;
line-height: 1.33;
}

.displayTitle br {
display: none;
}

.subheader {
padding: 0;
color: #888;
font-size: 15px;
line-height: 1.5;
}

.subheader br {
display: none;
}

.lead {
margin-bottom: 0px;
}

.lead p {
margin-top: 30px;
margin-bottom: 10px;
font-size: 24px;
font-weight: 500;
line-height: 1.33;
}

.lead p.note {
margin-bottom: 0px;
padding: 0px 4px;
font-size: 15px;
font-weight: 400;
line-height: 1.8;
}

.lead br {
display: none;
}

.top_field {
padding: 40px 4% 60px 4%;
text-align: center;
}

p.icon img {
width: 64px;
height: auto;
}

.tile_icon {
margin: 0;
width: 60px;
height: auto;
}

p.tile_txt {
margin: 0 0 30px 0;
color: #888;
font-size: 14px;
}

.tile_info {
padding: 30px;
box-sizing: border-box
}

.news_list {
width: 100%;
font-size: 14px;
overflow:auto;
}

.news_list dt{
clear:both;
width:6em;
float:left;
padding: 4px 3px;
color: rgba(130,12,12,0.8);
}

.news_list dd {
padding: 4px 3px 4px 7em;
text-align: left;
}

.news_list dd a {
color: #555;
}

.news_list dd a:hover {
text-decoration: underline;
}

.block3 {
display: block;
margin: 0 0 40px 0;
font-size: 0;
}

.block3 li {
display: inline-block;
width: calc(50% - 10px);
margin: 0 10px 20px 0;
padding: 0;
font-size: 14px;
vertical-align: top;
}

.block3 li.text_block {
width: 100%;
text-align: left;
padding: 0 0 30px;
font-size: 16px;
line-height: 1.66;
}

.block3 li.text_block02 {
width: 100%;
text-align: left;
}

.block3 li:nth-child(3n) {
margin: 0 10px 20px 0;
}

.block3 li:nth-child(2n) {
margin: 0 0 20px 0;
}

.block3 li img {
width: 100%;
height: auto;
}

.block3 li p {
font-size: 14px;
}

.btn-primary {
width: 70%;
font-size: 14px;
padding: 12px 0px
}

img.img_president {
float: none;
display: block;
margin: 0 auto 20px;
width: 70%;
height: auto;
}

.kes {
float: right;
margin: 0 0 15px 15px;
width: 33%;
height: auto;
}

.flow_box {
width: 100%;
margin: 0 auto;
}

.flow_l {
float: none;
margin: 0;
}

.flow_r {
float: none;
margin: 0;
}

.img_center {
display: block;
margin: 0 auto;
}

img.wide320 {
width: 100%;
height: auto;
margin: 0 0 10px 0;
}

img.wide400 {
width: 100%;
height: auto;
margin: 0 0 10px 0;
}

img.wide480 {
width: 100%;
height: auto;
margin: 0 0 10px 0;
}

img.wide540 {
width: 100%;
height: auto;
margin: 0 0 10px 0;
}

.col-lg-8b {
  width: 100%;
}

.col-lg-4b {
  width: 100%;
}



/* テーブル SP
---------------------------------------------------------------------------*/
.tbl01 {
width: 100%;
border-top: 0px dotted #ddd;
margin: 0 auto 40px;
}

.tbl01 th,
.tbl01 td {
display: block;
width: 100%;
font-size: 14px;
border-bottom: 0px dotted #ddd;
}

.tbl01 th {
vertical-align: middle;
padding: 6px 8px;
font-weight: normal;
text-align: left;
}

.tbl01 td {
vertical-align: middle;
padding: 8px 8px;
text-align: left;
}

.tbl01 img {
width: 100%;
height: auto;
}

.tbl01.bg_c tr:nth-child(even) {
background: rgba(255,255,255,1);
}




/* フォーム SP
---------------------------------------------------------------------------*/
input, button, textarea, select {
outline: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}

input,
textarea,
select {
background: #fff;
margin: 0;
padding: 7px 0 7px 8px;
width: 100%;
font-size: 14px;
font-family: inherit;
-moz-border-radius: 2px; 
-webkit-border-radius: 2px;
border-radius: 2px;
border: 1px solid #ddd;
}

input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
filter: alpha(opacity=70);
-ms-filter: "alpha(opacity=70)";
opacity: 0.7;
}

input::-webkit-input-placeholder {
color: #999;
font-weight: normal;
}

input:-ms-input-placeholder {
color: #999;
font-weight: normal;
}

input::-moz-placeholder {
color: #999;
font-weight: normal;
}

.btn-submit input[type="submit"] {
display: block;
background: #ffe14d;
width: 100%;
height: 50px;
margin: 20px auto 60px;
font-size: 14px;
color: #000;
border: none;
-moz-border-radius: 2px; 
-webkit-border-radius: 2px;
border-radius: 2px;
-webkit-appearance: none;
}

.scroll > a {
 display: block; 
 padding-top: 90px; 
 margin-top: -90px;
}



/* お知らせ SP
---------------------------------------------------------------------------*/
.info_box_l {
float: none;
width: 100%;
margin: 0 0 90px;
}

h3.info_tit01 {
width: 100%;
margin: 0 0 10px 0;
padding: 3px 3px 6px;
color: rgba(130,12,12,1);
font-size: 20px;
font-weight: 500;
border-left: 0px solid rgba(56,134,89,0.5);
border-bottom: 3px dotted #ccc;
line-height: 1.2;
}

h3.info_tit02 {
width: 100%;
margin: 0 0 10px 0;
padding: 3px 0 3px 10px;
color: rgba(130,12,12,1);
font-size: 20px;
font-weight: 500;
border-left: 8px solid rgba(130,12,12,0.5);
line-height: 1.2;
}

.info_date {
margin: 0 0 15px 3px;
color: #999;
font-size: 90%;
}

.info_list {
width: 100%;
margin: 0 0 30px 0;
padding: 0;
font-size: 14px;
overflow: auto;
border-top: 1px dotted #ddd;
}

.info_list dt {
clear: both;
width: 7em;
float: left;
margin: 0;
padding: 12px 5px;
color: rgba(130,12,12,1);
font-size: 14px;
}

.info_list dd {
margin: 0;
padding: 12px 5px 12px 7em;
font-size: 14px;
text-align: left;
border-bottom: 1px dotted #ddd;
}

.info_box_r {
float: none;
width: 100%;
margin: 0 0 60px;
}

#side h3 {
background: rgba(130,12,12,1);
color: #fff;
font-size: 14px;
text-align: left;
margin: 0;
padding: 8px;
}

#side ul.side_menu01 {
list-style: none;
margin: 0 0 40px;
}

#side ul.side_menu01 li {
padding: 6px 4px;
font-size: 14px;
border-bottom: 1px dotted rgba(0,0,0,0.1);
}

}


@media (max-width: 480px) {
.top_field br {
display: none;
}
}


