@charset "utf-8";

/* GenJyuufont set */

@font-face {
    font-family: 'GENJ';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/GenJyuuGothic-M.eot');
    src: url('../fonts/GenJyuuGothic-M.eot?#iefix') format('embedded-opentype'),
    url('../fonts/GenJyuuGothic-M.ttf') format('truetype'),
    url('../fonts/GenJyuuGothic-M.woff') format('woff');
}
@font-face {
    font-family: 'GENJ-B';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/GenJyuuGothic-B.eot');
    src: url('../fonts/GenJyuuGothic-B.eot?#iefix') format('embedded-opentype'),
    url('../fonts/GenJyuuGothic-B.ttf') format('truetype'),
    url('../fonts/GenJyuuGothic-B.woff') format('woff');
}

body {
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
    -webkit-overflow-scrolling: touch;
}

.row {
	margin:0 auto!important;
}
section, section.bgblue .row {
	width:998px;
	margin:0 auto;
	padding-top:2rem;
	padding-bottom:2rem;
}

.clearfix::after{
  content: "";
  display: block;
  clear: both;
}

a:hover {
	color:#e60012;
}
a img:hover {
	filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
}
h1, h2, h3, h4, h5, nav, footer, .lead, .individual-button, .cp_actab label, .cp_actab_g label, .button_border, section#faq_menu .col a, .contactinfo, .contactinfo a {
	font-family: GENJ;
	color:#333333;
}

img {
	max-width:100%;
}
.button, .button_service, .button_bgblue, .button_border, .button_contact, input[type="submit"], input[type="reset"], input[type="button"] {
	font-family: GENJ-B;
	color:#333333;
}

input[type="submit"], input[type="reset"], input[type="button"] {
    width:16rem;
	display: inline;
	border: none;
    padding: 1rem 1rem;
	margin: 2rem 1rem;
	font-size:1.2rem;
}

input[type="radio"] {
	margin-bottom: 1.6rem;
}
h1 {
	font-size:2.0rem;
	line-height:160%;
}
h2 {
	font-size:1.6rem;
}
h3 {
	font-size:1.4rem;
	line-height:160%;
	margin-top:1.6rem;
}
h4 {
	font-size:1.2rem;
}
h4 span {
    line-height:110%!important;
}
h5 {
	font-size:1.1rem;
    line-height:160%;
}
h2 {
	position: relative;
	text-align:center;
	padding-bottom:0.8em;
	margin:1rem auto 2rem;
}
h2:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	background:url("../images/bg_parts.png") top left repeat;
	height:6px;
	border-top:2px solid #727171;
}
h2.grayborder:after {
	background:url("../images/bg_footer.png") top left repeat;
	border-top:2px solid #717071;
}
h2.noborder {
	margin:1rem auto 0;
}
h2.noborder:after {
	content: none;
}

h3.border {
	width:50%;
	margin:2rem auto 1rem;
	padding-bottom:1rem;
	border-bottom:2px solid #717071;
}
h3.half-border {
	width:80%;
	margin:2rem auto 1rem;
	padding-bottom:1rem;
	border-bottom:2px solid #717071;
}
h3.full-border {
	width:100%;
	margin:2rem auto 1rem;
	padding-bottom:1rem;
	border-bottom:2px solid #717071;
}
h4.bg-yellow {
    background:#ffee00;
    padding:0.4rem 0;
}
h1 a, h2 a, h3 a, h4 a {
	color:#444;
}
a.bluelink {
	color:#3498DB;
}
a.loginlink {
	color:#e53928!important;
    /*color:#999!important;*/
}
p {
	line-height:180%;
}
.mb-1rem {
    margin-bottom:1rem!important;
}
.text-right {
    text-align:right;
}
.text-left {
    text-align:left;
}
.strong {
    font-weight:bold;
}
.large {
    font-size:1.3rem;
}
ul {
	list-style:none;
	margin-bottom:0!important;
	padding-left:0px!important;
}
ul li {
	list-style:none;
}
ul li a {
	line-height:2rem;
	color:#444;
}
ul li ul li{
	list-style:none;
}
ul li ul li a {
	line-height:2rem;
	color:#444;
}
ul li ul li:last-child {
	margin-bottom:1rem;
}
ul.sugu-file-list li a {
    color: #3498DB;
}

ul.date-year {
	padding-left:20px!important;
}
ul.date-year li {
	display:inline-block;
	font-family: GENJ-B;
	color:#333333;
	font-size:1.2rem;
	margin-right:2rem;
}

.numberlist ul {
	margin-bottom: 1rem!important;
    padding-left: 2rem!important;
}
.numberlist ul li{
	list-style-type: decimal;
	margin-bottom:0.8rem;
}
.forPC {
	display:block;
}
.forSP {
	display:none;
}

.table {
	width:90%;
	margin:0 auto;
}
.table th, .table td {
	border-top:none;
}
th {
	width:6rem;
}
#pricelist table {
    margin-bottom:3rem;
}
#pricelist table th, #pricelist table td {
    border-top:1px solid #d9dada;
    border-right:1px solid #d9dada;
}
#pricelist table th {
    background:#f3f3f3;
}
#pricelist table td {
    text-align:center;
}
#pricelist table .l-border {
    border-left:1px solid #d9dada;
}
#pricelist table .b-border {
    border-bottom:1px solid #d9dada;
}
#pricelist .pricelist-fig {
    display:block;
}
.contact th {
	width:10rem;
}

.caption p {
    font-size:0.8rem;
    margin-bottom: 0;
}
.yellowmarker {
    background:#fff100;
    width:fit-content;
    margin: 0 auto;
}
.border-dotted {
	width:100%;
	margin:1rem auto 2rem;
	padding-bottom:1rem;
	border-bottom:2px dotted #FFFFFF;
}
.red {
    color:#e53928;
    font-weight:bold;
}
a.red:hover {
    text-decoration: underline;
}
#page-top {
position: fixed;
z-index: 9999;
bottom: 50px;
right: 15px;
font-size: 25px;
}
#page-top a {
background: #665e53;
text-decoration: none;
color: #fff;
padding: 10px;
text-align: center;
display: block;
-moz-opacity: 0.3;
opacity: 0.3;
border-radius: 5px; 
}

#individual-menu {
    background: #000000;
    position: fixed;
    z-index: 9999;
    bottom: 0;
    left: 0;
    font-size: 25px;
    width: 100%;
}
.individual-button .col {
    background-color:#ffffff;
    text-align:center;
    padding-left:0!important;
    padding-right:0!important;
}
.individual-button a {
    background:#d7d7d8;
    color:#333;
    font-size:1.0rem;
    display:block;
    padding-top:1rem;
    padding-bottom:1rem;
    border-right:2px solid #fff;
    border-bottom:2px solid #fff;
}
.individual-button .col a:hover {
	filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
}
.individual-button .current a {
    background:#ffee00;
}

.individual-button .entry a {
    background:url(../images/bg_button.png) top left repeat;
}


header {
	position:fixed;
	z-index:2000;
}
.small-menu, button.drawer-toggle, .drawer-nav {
	display:none;
}
.small {
    font-size:0.9rem;
}
.x-small {
    font-size:0.6rem;
}


/* nav wide Menu */

nav.wide-menu{
	padding-bottom: 3rem;
	position: fixed;
	z-index: 999;
	height: 104px;
	width: 100%;
	background-color:#fff;
}

nav.wide-menu:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	background:url("../images/bg_footer.png") top left repeat;
	height:2px;
}
nav.wide-menu .waku {
	display:block;
	font-size:16px;
	max-width:100%;
	padding: 14px 0;
	margin:0 auto;
}
nav.wide-menu .md-4, nav.wide-menu .md-2 {
	padding:0px !important;
	text-align:center;
}

nav.wide-menu .md-2, nav.wide-menu .md-7{
	display: inline-block;
}
nav.wide-menu .md-2 a, nav.wide-menu .md-7 a{
	padding: 0.3em 0 0.6rem;
	display: block;
	text-transform: uppercase;
	color: #444;
    font-size: 0.96rem;
}
nav.wide-menu .md-2 span, nav.wide-menu .md-7 span{
	margin-left: 1.2em;
}
nav.wide-menu .md-2:hover > a, nav.wide-menu .md-7:hover > a{
	background-color: #f7f8f8;
	color: #444;
}

nav.wide-menu .md-2 ul, nav.wide-menu .md-7 ul{
	width: 12rem;
	position: absolute;
	top: 2.4rem;
	left: 0;
	padding:0;
}
nav.wide-menu .md-2 ul li, nav.wide-menu .md-7 ul li{
	display: block;
	width: 12rem;
	border-bottom: 2px solid #fff;
}
nav.wide-menu .md-2 ul li a, nav.wide-menu .md-7 ul li a{
	display: block;
	width: 12rem;
	padding: 0.2em 0;
	background-color: #f7f8f8;
	color: #444;
}
nav.wide-menu .md-2 ul li:last-child, nav.wide-menu .md-7 ul li:last-child{
	border-bottom: none;
}
nav.wide-menu .md-2 ul li a:hover, nav.wide-menu .md-7 ul li a:hover{
	background-color: #e6e6e6;
}

nav.wide-menu .md-2 ul, nav.wide-menu .md-7 ul{
	display: none;
}
nav.wide-menu .md-2:hover ul, nav.wide-menu .md-7:hover ul{
	width: 12rem;
	display: block;
}

nav.wide-menu .logo {
	text-align:left;
	padding-top:22px!important;
	padding-left:20px!important;
}
nav.wide-menu .logo img{
	height:3.4rem;
}
nav.wide-menu .local:hover {
	filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
}
nav.wide-menu .local a {
	display:block;
	color:#444;
    float:right;
}

nav.wide-menu .icofb a {
	padding:0!important;
	margin:0!important;
}

nav.wide-menu .icofb a:hover {
	background:none;
}
nav.wide-menu .icofb img {
	height:26px;
}

/* button */
.button, .button_service, .button_contact {
	display:block;
	margin: 1rem auto 2rem;
	text-align:center;
	width: 20rem;
	background:url("../images/bg_button.png") top left repeat;
	box-shadow: 4px 4px #dadadb;
}
.button_disable {
	background:url("../images/bg_button2.png") top left repeat;
}
.button_contact {
    width:70%;
    margin-bottom:0.6rem
}
.button:hover, .button_service:hover, .button_bgblue:hover, .button_contact:hover {
    filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
}
.button a, .button_bgblue a, .button_contact a {
	display:block;
	padding:1.4rem 1rem;
	font-size:1.4rem;
	color:#444;
}
.button_bgblue a.pre {
	font-size:1.2rem;
	color:#999;
}
.button_contact a {
    font-size:1.2rem;
}
.button_service a {
	display:block;
	padding: 0.6rem 1rem 1.6rem;
	font-size:1.2rem;
	color:#444;	
}
.button_border a {
	display:block;
	padding: 1rem 1rem;
	font-size:1.2rem;
	color:#444;	
}
.button_service a img {
	margin-bottom:-0.6rem;
}
.button_bgblue {
	display:block;
	margin: 1rem auto 2rem;
	text-align:center;
	width: 20rem;
	background:url("../images/bg_button2.png") top left repeat;
	box-shadow: 4px 4px #dadadb;
}

.button_border {
    display:block;
    margin: 1rem auto 2rem;
	text-align:center;
	border: 1px solid #999999;
    border-radius:4px;
    width:70%;
}
.separate {
	border-bottom:2px solid #dfdfdf;
	padding: 1rem 0;
    margin-bottom: 2rem;
}

/* footer */
footer {
	font-size:0.9rem;
	background:url("../images/bg_footer.png") top left repeat;
	margin-top:3rem;
}

footer ul {
	margin-bottom:1rem!important;
}
footer .information {
	margin:3rem 0 2rem;
}
footer .information img {
	height:1.6rem;
	width:auto;
}
footer .copy {
	padding:0.6rem 0;
	background-color:#FFF;
	font-size:0.8rem;
	text-align:center;
}
footer ul li ul li a {
	line-height:2rem;
}

/* index slide */
section#mainVisual {
    line-height: 0;
    position: relative;
    width: 100%;
    overflow: hidden;
	margin: 0!important;
	padding-bottom: 0!important;
	padding-top: 100px;
}
section#mainVisual * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	text-align:center;
}
section#mainVisual .slidearea {
    position:relative;
    z-index:0;
}
section#mainVisual h1 {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 25;
    margin: 0;
    width: 100%;
}
section#mainVisual #mainImage {
    position: relative;
    overflow: hidden;
}
section#mainVisual #mainImage::before {
    content: '';
    display: block;
    padding-top: 43.33%; /*56.25%*/
    overflow: hidden;
}
section#mainVisual #mainImage img {
    position: absolute;
    height: auto;
    width: 100%;
    max-width: none;
    top: 0;
    left: -50%;
    right: -50%;
    margin: auto;
    transition: transform 0s linear;
    transform: scale(1);
}

/* indexお知らせバナー */
section#mainVisual .newsarea {
    position: absolute;
    top:8rem;
    left:74%;
    z-index:5;
}
section#mainVisual .newsbnn{
	font-family: GENJ;
	color:#333333;
    width: 200px;
	height: 200px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	background-color: #FFF100;
    box-shadow:2px 2px 2px 0px #898989;
}
section#mainVisual .newsbnn {
    padding-top:1.2rem;
}

section#mainVisual .newsbnn p {
    margin-bottom: 0em!important;
    line-height: 1.6rem!important;
    padding-top: 1em;
}

section#mainVisual .newsbnn img {
    height: 2rem;
    vertical-align: middle;
}

section.newsline {
    background: #fdf003;
    width: 100%;
    padding-top: 0;
    margin-top:0;
    text-align: center;
}
section.newsline div{
    padding: 0.2rem;
    margin: 0 auto;
}
section.newsline div li {
    list-style:none;
}
section.newsline div li a {
    color:#333;
}
section#firstsection, section#paint {
	padding-top:110px;
}
section#finalsection {
    padding-bottom:200px;
}
section.bggray {
	background:url("../images/bg_footer.png") top left repeat;
	width:100%;
	padding:0 4% 1rem;
	margin-bottom: 0;
}
section.bgblue {
	background-color:#d2ecfa;
	width:100%;
	padding-top:0;
	padding-bottom:1rem;
	margin-bottom: 0;
}
.bgwhite {
	width: 96%!important;
	background:#FFF;
}
section.project_lead {
	background:url("../images/bg_project.jpg") top center no-repeat;
	background-size: cover;
	height:30rem;
	width:100%;
	color:#FFF;
	margin-top:2rem;
}
section.project_lead h2 {
	max-width:100%;
	margin:0 auto;
	padding-top:10px;
}

section.project_lead .button {
	background: transparent;
	box-shadow: none;
	border: 2px solid #FFF;
}
section.project_lead .button a {
	color:#FFF;
	padding: 1.0rem 1rem;
}

section.work {
	margin-bottom:200px;
}

section.work .md-9 {
	height:200px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
	align-items: center; /* 縦方向中央揃え */
	-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
	justify-content: center; /* 横方向中央揃え */
}
/* 固定ナビの高さ分のネガティブマージン */
#member, #access, #equipment, #safety, #sec2017, #sec2018, #sec2019,  #sec2020, #education, #sports, #welfare, #industry, #future {
	margin-top: -110px!important; 
	padding-top: 110px!important;
}

.pagetitle {
	width:100%;
	height:20%;
}

.tit_gray {
	background:url("../images/bg_footer.png") top left repeat;
}

.tit_gray h1 {
	font-size:1.6rem;
}

.tit_about {
	background:url("../images/tit_about.jpg") center center no-repeat;
	background-size: cover;
}
.tit_about h1 {
	width: 90%;
    margin: 0 auto;
    padding: 3rem;
}
.tit_interview {
	background:url("../images/tit_interview.jpg") left 100px no-repeat;
	background-size: cover;
}

.lead h1, .lead p {
	text-align:center;
	line-height:2.0rem!important;
}

.comment img {
	max-width:90%;
	margin-bottom:1rem;
}

.crient {
	position:relative;
	height:370px;
	padding:20px;
	margin-bottom:1.6rem;
	background:url("../images/bg_parts.png") top left repeat;
	text-align:center;
}
.crient a {
	position: absolute;
    width: 100%;
    height: 100%;
	right:6px;
	bottom:6px;
	padding:0.8rem;
	background-color: #dedede;
	color:#444;
}
.crient:hover {
    filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;	
}
.crient img {
	position: absolute;
    top: 0;
    left: 0;
    max-width: 100%;
    height: auto;
    padding: 0.8rem;
}
.crient h4 {
	position: relative;
    top: 79%;
    background: url(../images/bg_parts.png) top left repeat;
    padding: 0.6rem;
    margin-top: 0.6rem;
    margin-bottom: 0;
	letter-spacing:-0.1rem;
}
.voice_info {
	background-color:#fffde5;
	margin-top:2rem;
	padding:1rem 1.6rem 0.6rem;
}
ul.chart li {
	width:21%;
	display:inline-block;
	vertical-align: top;
}

ul.chart li.chart_arrow{
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 20px 0 20px;
	border-color: #555555 transparent transparent transparent;
	transform:rotate(-90deg);
	margin-top: 6.6rem;
}
.oneline {
	padding:1.1rem 0;
}
.about {
	background:url("../images/bg_parts.png") top left repeat;
	padding:1rem;
	margin:1rem auto;
	width:60%;
}
.interview {
	background:url("../images/bg_parts2.png") top left repeat;
	padding:1rem;
	margin:1rem auto;
	width:60%;
}
.corporate {
	background:url("../images/bg_parts.png") top left repeat;
	padding:1rem;
	margin:1rem auto;
	width:16rem;
}
.member {
	width:80%;
	margin:0 auto 3rem;
	padding:1rem;
	background:url("../images/bg_parts.png") top left repeat;
}
.member img {
    margin-top: -40px;
    margin-left: -40px;
    margin-bottom: -40px;
    max-width: 160%;
}
.advisor img {
	width:160px;
	-webkit-border-radius: 50%;
    -moz-border-radius: 50%;
	border-radius: 50%;
}
.news a img {
	border:2px solid #7ecef4;
}
.interview_member {
	color:#be9c6d;
}
.forward img {
	padding-top:100%;
}
.forward-90 img {
	transform:rotate(90deg)
}
.head {
	font-size:1rem;
	line-height:100%;
}
.head p {
	text-align:center;
	margin-bottom:0;
}
.feature img {
	max-width:80%;
	margin:1rem 0 0.5rem;
}
.bfaf {
	border:4px solid #f2f2f2;
	margin:5rem auto 2rem;
	text-align:center;
}
.bfaf h3 {
	width:10rem;
	height:10rem;
	padding-top:4rem;
	text-align:center;
	color:#FFF;
	background-color:#686767;
	border-radius:5rem;
	margin:-5rem auto 0rem;
}
.case {
	margin-top:7rem!important;
}
.case h2 {
	border:none;
	width:14rem;
	height:14rem;
	text-align:center;
	color:#FFF;
	background-color:#686767;
	border-radius:7rem;
	margin: -7rem auto 0rem;
	padding-top: 4rem;
	position: absolute;
    right: 0;
    left: 0;
}
.case h2::after {
	content:none;
}
.case .row {
	padding-top: 10rem!important;
}
.case .row.row-second {
	padding-top: 0rem!important;
}
.case h3 {
	padding-top: 1.6rem;
}
.case-tit {
	display:block;
	padding:2rem 0;
	margin-bottom:2rem;
	height:9rem;
	border-right:1px solid #686767;
	border-bottom:1px solid #686767;
}

.indivi {
	display:flex;
    width:100%;
    margin:0 auto 2rem;
    padding:0;
}
.indivi_tit {
	width:25%;
	background-color:#c9c9ca;
	color:#fff;
	float:left;
	text-align:center;
}
.indivi_titimage {
	width:75%;
	float:left;
}
.indivi_titimage img {
	display: block;
}
.plogo {
	text-align:center;
	vertical-align:middle;
}
.plogo img {
	max-width:130px;
}
.plogo img.highlogo {
	max-width:auto;
	max-height:8rem;
}
.redframe {
    border: 2px solid #e53928;
    padding:0 2rem 1rem;
    margin-top:2rem;
}
.redframe h3, .redframe h4 {
    text-align:center;
}
.redframe h4 {
    width:18rem;
    border-radius:10px;
    background:#e53928;
    color:#fff;
    margin-left:auto;
    margin-right:auto;
    padding:0.6rem;
}
section#future {
	background:url("../images/bg_futurehead.jpg") top center no-repeat;
	background-size: 110rem;
    height: auto;
	width:100%;
	color:#FFF;
	margin:2rem auto ;
}
section#future h2 {
	max-width:100%;
	margin: -60px auto 40px;
	padding-top:10px;
	padding-bottom: 8rem;
}

section#future .future_text {
	background:url("../images/bg_future.png") top center no-repeat;
	background-size: 130%;
	height:auto;
	width:100%;
	color:#555555;
}
section#future .future_text .row {
	width:860px;
	margin:20px auto;
}

section#individual-1 {
    background:url("../images/bgphoto_individual.jpg") top left repeat;
    background-size:cover; 
}
section#individual-2 ul li {
    margin-left:1.4rem;
}
section#individual-2 ul li::before {
    margin-left:-1.4rem;
    content: "● ";
    color:#ffee00;
}

section#individual-pricemenu .bggray {
    width:100%;
    background-color:#f1f1f1;
    margin-bottom:1rem;
}
section#individual-pricemenu .bggray td {
    padding:2%;
    width:28%;
}

section#policyfiles .col {
    display:block;
    background: #99999c;
    padding:0.6rem 0;
    margin-bottom:0.6rem;
    border-right:4px solid #fff;
    border-left:4px solid #fff;
}
section#policyfiles .col a {
    color:#fff;
}

section#faq_menu .col {
    background:url(../images/bg_button.png) top left repeat;
    padding:1.3rem 0;
    margin-bottom:0.6rem;
    border-right:4px solid #fff;
    border-left:4px solid #fff;
    height: 4rem;
}
section#faq_menu .l-2 {
    padding-top:0.6rem;
}

.arrow_box, .arrow_box_b {
	position: relative;
	background: #ffee00;
}
.arrow_box:after {
	top: 100%;
	left: 20%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-top-color: #ffee00;
	border-width: 20px;
	margin-left: -20px;
}
.arrow_box_b:before {
	bottom: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-bottom-color: #ffee00;
	border-width: 20px;
	margin-left: -20px;
}

.contactinfo {
    font-size:1.6rem;
    margin-bottom:1.2rem;
}
.contactinfo .tit_gray {
    padding:1rem 0;
    line-height:1.6;
}

/*折りたたみコンテンツ*/
.cp_actab, .cp_actab_g {
position: relative;
overflow: hidden;
width: 100%;
margin: 0 auto;
}
.cp_actab input, .cp_actab_g input {
position: absolute;
z-index: -1;
opacity: 0;
}
.cp_actab label {
background:url(../images/bg_button.png) top left repeat;
text-align:center;
font-size:1.4rem;
line-height: 1.2;
position: relative;
display: block;
padding: 1rem 0;
cursor: pointer;
margin: 0 0 1rem 0;
}
.cp_actab_g label {
background:#f1f1f1;
text-align:left;
font-size:1.2rem;
line-height: 1.2;
position: relative;
display: block;
padding: 1rem;
cursor: pointer;
margin: 0 0 1rem 0;
}

.cp_actab .cp_actab-content, .cp_actab_g .cp_actab-content {
overflow: hidden;
max-height: 0;
-webkit-transition: max-height 0.35s;
transition: max-height 0.35s;
color: #333333;
}
.cp_actab .cp_actab-content p, .cp_actab_g .cp_actab-content p {
margin: 0em 1rem 1rem!important;
}

/* :checked */
.cp_actab input:checked ~ .cp_actab-content,
.cp_actab_g input:checked ~ .cp_actab-content {
max-height: 9999px;
}
/* Icon */
.cp_actab label::after,
.cp_actab_g label::after{
line-height: 1.2;
position: absolute;
top: 0;
right: 0;
display: block;
width: 1.4em;
height: 1.2em;
-webkit-transition: all 0.35s;
transition: all 0.35s;
text-align: center;
}
.cp_actab input[type=checkbox] + label::after,
.cp_actab_g input[type=checkbox] + label::after {
font-family: 'Pe-icon-7-stroke';
content: '\e688';
color:#333;
font-size:3rem;
}
.cp_actab input[type=checkbox]:checked + label::after,
.cp_actab_g input[type=checkbox]:checked + label::after {
transform: rotateX(180deg);
}

/*news*/
.sugu-article div.text-center {
    text-align:center!important;
}
.sugu-article div img {
    max-width: 600px;
    max-height: 60vh;
}


@media screen and (min-width: 1280px) {
section#future .future_text {
	background-size: cover;
}
} /*wide end*/

@media screen and (max-width: 1280px) {
.small-menu, button.drawer-toggle, .drawer-nav {
		display:block;
	}
	header {
		height:4rem;
		width:100%;
		position: fixed;
		z-index: 2000;
		background-color:#fff;
	}
	.small-menu img {
		height:3.6rem;
		padding:0.6rem 0 0.6rem 0.4rem;
	}
	.wide-menu {
		display:none;
	}
}
/*1024px end*/

@media screen and (max-width: 1023px) {
	h1 {
		font-size:1.8rem;
	}
	h2 {
		font-size:1.4rem;
	}
	h3 {
		font-size:1.3rem;
	}
	h4 {
		font-size:1.0rem;
		letter-spacing: -1px;
	}
	h2:after {
		position:absolute;
		left:0;
		right:0;
		width: 100%;
	}
	section, section.bgblue .row, .bgwhite {
		width:94%;
		margin: 2rem auto;
	}
	
	section#mainVisual .newsarea {
    left:72%;
    }
    section.newsline div{
        overflow-x: scroll;
        word-break: keep-all;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }
    section#firstsection, section#paint {
		margin-top:2rem!important;
	}

	.firstcontents {
  		padding: 3rem 0 0 0;
	}
	.read h1, .read p {
		text-align:left;
	}
	.tit_about h1 {
		width: 100%;
    	padding: 2rem 1rem;
	}
	.crient {
		height: 300px;
	}
	.crient h4 {
		position: absolute;
    	top: unset;
		bottom: 12px;
    	width: 89%;
    	border-top: 12px solid #dedede;
	}
} /*1023 end*/

@media screen and (min-width: 768px) {
.md-7{
        width:14.2857%;
        float:left;
        display: inline-block;
        padding: 0px !important;
        text-align: center;
    }
.md-7-2{
        width:28.57%;
        float:left;
        display: inline-block;
        padding: 0px !important;
        text-align: center;
    }
.float-right-2 {
        float:right!important;
    }
}

@media screen and (max-width: 768px) {
h3.border {
    width: 80%;
}

.table {
	width:100%;
	}
	
.drawer-menu-item {
    padding: .25em .75rem!important;
}
.drawer-dropdown-menu-item {
    line-height: 2.5rem!important;
}
/* index slide */
section#mainVisual {
	padding-top: 4rem;
	width:auto!important;
	height:500px!important;
}
section#mainVisual h1 {
    position: absolute;
    left: -50%;
	right:-50%;
    bottom: 0;
    z-index: 25;
    margin: 0;
	width:auto;
    height: 100%;
	padding-bottom: 0rem!important;
}
section#mainVisual h1 img {
	width:auto;
    height: 100%;
}
section#mainVisual #mainImage {
    position: relative;
    overflow: hidden;
	height:500px;
}
section#mainVisual #mainImage img {
	width:auto!important;
	height:100%!important;
}
section#mainVisual #mainImage::before {
    content: '';
    display: block;
    padding-top: 43.33%; /*56.25%*/
    overflow: hidden;
}
section#mainVisual .newsarea {
    top: 5rem;
}
	
section#firstsection, section#paint {
	margin-top:0rem!important;
	padding-top: 3rem!important;
    padding-bottom: 1rem!important;
}

/* 固定ナビの高さ分のネガティブマージン */
#member, #access, #equipment, #safety, #sec2017, #sec2018, #sec2019, #sec2020, #education, #sports, #welfare, #industry, #future {
  margin-top: -4rem; 
  padding-top: 4rem;
}

section.project_lead {
	height:auto;
}
section.project_lead p {
	max-width:90%;
	padding-top:20px;
}
.comment img {
	max-width:100%;
}
.crient h4 {
	width:87%;
}
ul.chart li {
	width:100%;
	display:block;
	text-align:center;
}

ul.chart li.chart_arrow{
	transform:none;
	margin: 2rem auto;
}
.oneline {
	padding:0;
}

.twoline {
	padding:1.3rem 0.6rem!important;
}
.member img {
    max-width: 230%;
}
.bgwhite, .button_bgblue {
	width:100%;
}
.about, .corporate, .interview {
	width:90%;
}
.head {
	font-size:0.8rem;	
}

section#future h2 {
	height:26rem;
	padding-top:0;
}

section#future .future_text {
	background:url("../images/bg_future_SP.png") top center no-repeat;
	background-size: cover;
	height:auto;
	width:100%;
	color:#555555;
}
section#future .future_text .row {
	width:auto;
}
.individual-button a {
    font-size: 0.8rem;
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
}
section#individual-pricemenu .bggray td.sm-hidden {
    display:none;
}
.button_contact {
    width:100%;
    }
.cp_actab label {
    text-align: left;
    font-size:1.2rem;
    padding: 1rem 2.4rem 1rem 1rem;
    }
.cp_actab label::after, .cp_actab_g label::after {
    width:1.2em;
    }
    
} /*768 end*/

@media screen and (max-width: 480px) {
    
    section#firstsection {
        margin-bottom: -3rem;
    }
    section#firstrsection img {
        width:70%;
        height:auto;
    }
    section.newsline {
        padding: 0 0.4em;
    }
    h1 {
		font-size:1.4rem;
		padding: 2rem 0rem!important;
	}
    .large {
    font-size:1.0rem;
    }
	.tit_gray h1 {
		font-size:1.4rem;
		padding:0!important;
	}
	.lead h1 {
		padding-top:0!important;
	}
	h3.border, h3.half-border {
	width:100%;
	}
	.forPC {
		display:none;
	}
	.forSP {
		display:block;
	}
	table {
  		border-collapse: collapse;
	}
	table td, table th, .contact th {
		display:block;
  		padding: 10px;
		width: 100%;
	}
	footer .information img {
		height:1.4rem;
		width:auto;
	}
	/* button */
	.button, .button_service, input[type="submit"], input[type="reset"], input[type="button"] {
		width: 90%;
		margin: 1rem auto;
	}
	.button a, .button_service, .button_bgblue a {
	font-size:1.2rem;
	color:#444;
	}
	
/* index slide */
section#mainVisual {
	height:300px!important;
}
section#mainVisual #mainImage {
	height:300px;
}
section#mainVisual .newsarea {
    top:4.5rem;
    left: 64%;
}
section#mainVisual .newsbnn {
    width: 140px;
    height: 140px;
    padding-top:1.5rem;
}
section#mainVisual .newsbnn p {
    padding-top:0;
}
section#mainVisual .newsbnn p.txtPC {
   display:none;     
}
.twoline {
	padding :0.6rem!important;
}
.member {
	width:100%;
}
.member img {
    max-width: 80%;
    margin: -40px auto 20px;
    padding-left: 20%;
}
.forward, .forward-90 {
	text-align:center;
}
.forward img, .forward-90 img {
	max-width:40%;
	padding-top:1rem;
	transform: rotate(90deg);
}
.head p{
	text-align:right;
}
.head img {
	height:2.5rem;
	margin:0 auto!important;
}
.case h3 {
	padding-top: 0rem;
}
.case-tit {
	margin-bottom:0rem;
}
.per80 img {
	max-width:60%;
}
.indivi {
	display:block;
}
.indivi_tit {
	width:100%;
	float:none;
	text-align:center;
}
.indivi_titimage {
	width:100%;
	float:none;
}
.comment img {
	max-width:80%;
}
.crient {
	height:370px;
}
.crient h4 {
	width:92.5%;
}
.redframe h4 {
    width:100%;
}
section.work {
    margin-bottom: 100px;
}
section#future {
    background-size: 50rem auto;
    height: auto;
}
section#future h2 {
    height: auto;
    padding-top: 0;
}
section#future h2 {
    max-width: 100%;
    margin: -110px auto 0;
    padding-top: 10px;
    padding-bottom: 4rem;
}
section#future .future_text {
    background: url(../images/bg_future_SP.png) top center repeat-y;
    background-size: auto;
}

.plogo img.highlogo {
	margin-bottom:40px;
	}

.individual-button a {
    font-size: 1.0rem;
}
section#individual-pricemenu .bggray td {
    width:100%;
    text-align:center!important;
}
#pricelist table {
    display:none;
}
#pricelist .pricelist-fig {
    display:block;
    margin-bottom:2rem;
}
section#mainVisual .newsbnn p {
    margin-bottom: 0em!important;
    line-height: 1.1rem!important;
}
    
} /*480 end*/

@media screen and (max-width: 320px) {
	.crient {
	height:340px;
	}
	.crient h4 {
	top: 76%;
}

} /*320 end*/