@charset "utf-8";

/* TOP CSS */

/* --------------------------------------

Base settings

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

@font-face {
font-family: 'cengo';
  src: url('../font/GOTHIC.TTF') format('truetype');
}

body{
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W6", "HIragino Kaku Gothic Pro W6", "HIragino Kaku Gothic Pro",メイリオ, Meiryo ,sans-serif;
	text-align:left;
	color:#313131;
	font-size:14px;
	line-height:1.8;
	position:relative;
	width:100%;
	overflow-x:hidden;
}

img,video{width:100%; height:auto;}


.iframe
{
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

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


.sp-hyde{display:none;}
.pc-hyde,#toggle{display:block;}
.en{font-family:'cengo',Arial, Helvetica, sans-serif;}
.line0{line-height:0;}
::selection{background:#ffd6d6;}
.mustcenter{ margin:0 auto!important;}
.gray{font-size:12px;}
.bk{ color:#313131;}

.btn
{
	display:block;
	line-height:46px;
	color:#fff;
	text-align:center;
	width:100%;
	font-weight:bold;
	font-size:16px;
	background:#a81a20;
	position:relative;
}

.btn:hover
{
	background:#fda0a0;
	opacity:0.7;
}

.btn:after
{
	content:"";
	position:absolute;
	display:block;
	width:8px;
	height:12px;
	background:url(../img/arrow-w.png) no-repeat;
	background-size:contain;
	bottom: 4px;
	right:6px;
}

/*-------- box --------*/


.box
{
	clear:both;
	padding:20px 0;
}

.box-mini
{
	clear:both;
	padding:20px 0;
}
.wrapper
{
	width:100%;
	clear:both;
	margin:0 auto;
	position:relative;
	padding-right:4%;
	padding-left:4%;
}

.bottom30
{
	clear:both;
	margin-bottom:10px;
}



.bottom40,
.bottom50,
.bottom60
{
	clear:both;
	padding-bottom:20px;
	margin:0;
}



/*-------- col --------*/

.col2.flexbox,
.col3.flexbox,
.col5.flexbox,
header .flexbox,
#main #content .bg-tile.recruit .flexbox,
footer .flexbox,
.sub.recruit #main #content .box-border,
.sub.recruit #main #content .bg-red .flexbox,
.sub.recruit.voice #main #content .box-border .profile,
.sub.contact #main #content .tel
{
	-webkit-justify-content: space-between; /* Safari */
	justify-content:         space-between;
	-webkit-flex-wrap: wrap; /* Safari */
  flex-wrap:         wrap;
}

.col2.flexbox .item
{
	width:100%;
	margin-bottom:10px;
}


.col2.flexbox .item:last-of-type
{
	margin-bottom:0;}






/* --------------------------------------

header

---------------------------------------*/

header .wrapper
{
	padding:0;
}

header #htop
{
	padding:4px 4%;
	font-size:10px;
	line-height:normal;
}

header #htop .title, header #htop p
{
	line-height:normal;}

.logo
{
	background:#c91c23;
	padding:0 4%;
	width:100%;
	text-align:left;
	left:0;
}


.logo a
{
	line-height:50px;
}

.logo img
{
	height:32px;
	width:auto;
	margin:0;
}

header .gnav
{
	display:none;
	border-top:4px solid #282828;
	width:100%;
}

header .gnav ul
{
	width:100%;}

header .gnav ul li
{
	width:25%;
	border-right:1px dotted #ddd;
}

header .gnav ul li:last-child
{
    width:100%;
	border-right:none;
    border-top:1px dotted #ddd; }

header .gnav ul li a
{
	display:block;
}

header .gnav ul li a strong
{
	font-size:14px;
}

header .tel
{
	display:block;
}



/* square-tel */

header .tel-square
{
	position:absolute;
	width:50px;
	height:50px;
	right:50px;
	top:0;
	background:#fff;
	color:#282828;
}

header .tel-square a
{
	display:block;
	line-height:50px;
	color:#282828;
	text-align:center;
	font-size:20px;
}

header .tel-square .fa
{
	display:block;
	line-height:50px;
	color:#282828;
}




/* Hamburger */

header .square
{
	position:absolute;
	width:50px;
	height:50px;
	right:0;
	top:0;
	background:#282828;
}

header #toggle
{
    position:absolute;
    width:20px!important;
    top:0px;
    right:16px;
    display:block;
    height: 30px;
}

.menu-trigger,
.menu-trigger span {
    display: block;
    transition: all .4s;
    box-sizing: border-box;
}
.menu-trigger {
    position: relative;
    width: 100%;
    height: 100%;
}
.menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
    border-radius: 2px;
}
.menu-trigger span:nth-of-type(1) {
    top: 16px;
}
.menu-trigger span:nth-of-type(2) {
    top: 22px;
}
.menu-trigger span:nth-of-type(3) {
    top: 28px;
}

/* custom */

.menu-trigger::after {
    position: absolute;
    left: 0;
    bottom: -22px;
    /*content: 'MENU';*/
    display: block;
    width: 100%;
    color: #fff;
    font-size: 11px;
    text-decoration: none;
    text-align: center;
    transition: all .4s;
}
.menu-trigger.active::after {
    /*content: 'CLOSE';*/
    bottom: -22px;
}
.menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(6px) rotate(-45deg);
    transform: translateY(6px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-6px) rotate(45deg);
    transform: translateY(-6px) rotate(45deg);
}

/* --------------------------------------

mainvisual

---------------------------------------*/


#mainvisual
{
	margin-top:79px;
	height:80vh;
	overflow:hidden;
}

#mainvisual .line0
{
	position:relative;
	width:100%;
	height:100%;
}


#mainvisual img
{
	position:absolute;
	height:100%;
	width:auto;
	max-width:none;
	bottom:0;
	margin:0 auto;
}

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

#mainvisual img
{
	right:-120%;
}

}


#mainvisual .slide01 .wrapper,
#mainvisual .slide02 .wrapper,
#mainvisual .slide03 .wrapper
{
	position:static;}

#mainvisual .slide01 .wrapper .txt,
#mainvisual .slide02 .wrapper .txt,
#mainvisual .slide03 .wrapper .txt
 {
    position: absolute;
    right: auto;
	left:0;
    text-align: center;
	z-index:99999;
	width:100%;
	top: 50%;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
	color:#fff;
	padding-bottom:50px;
}

#mainvisual #news {
    padding: 8px 0;
    color: #fff;
    font-size: 12px;
    font-weight: normal;
    z-index: 999999999;
}

/* -------------- sub  ---------------*/

.sub #mainvisual
{
	padding:22px 0 18px;
	height:auto;
	font-size:14px;
}

@media all and (max-width: 375px) {
.sub.about #mainvisual
{
	background:url(../img/photo/banar-about.jpg) no-repeat right -50px center;
	background-size:cover;
}

.sub.service #mainvisual
{
	background:url(../img/photo/banar-service.jpg) no-repeat right -80px center;
	background-size:cover;
}

.sub.mobile #mainvisual
{
	background:url(../img/photo/banar-mobile.jpg) no-repeat right -50px center;
	background-size:cover;
}

.sub.access #mainvisual
{
	background:url(../img/photo/banar-access.jpg) no-repeat right -50px center;
	background-size:cover;
}

.sub.user #mainvisual
{
	background:url(../img/photo/banar-user.jpg) no-repeat right -50px center;
	background-size:cover;
}

.sub.access  #mainvisual h1 span,
.sub.user  #mainvisual h1 span
{
	font-size:16px;
	display:inline-block;
	vertical-align:middle;
}

.sub.environment #mainvisual
{
	background:url(../img/photo/banar-environment.jpg) no-repeat right -50px center;
	background-size:cover;
}

.sub.contact #mainvisual
{
	background:url(../img/photo/banar-contact.jpg) no-repeat right -80px center;
	background-size:cover;
}
}

.sub #mainvisual .bk
{
	text-shadow:#fff 1px 1px 4px, #fff -1px 1px 4px,
    			#fff 1px -1px 4px, #fff -1px -1px 4px;
}
.sub #mainvisual h1
{
	font-size:24px;
	line-height:1;
}

.sub #main #content .service-item .item .btn
{
	width:100%;}



/* -------------- sub-recruit  ---------------*/

.sub.recruit.voice #mainvisual
{
	height:auto;
	padding:10px 0;}

.sub.recruit.voice #mainvisual .vmiddle
{
	position:relative;
	top: auto;
    -webkit-transform: none;
    transform: none;
}

.sub.recruit.voice #mainvisual .vmiddle h1 img
{
	height:24px;
	width:auto;
}

.sub.recruit #main #content .box-border h3
{
	padding-top:0;}

.sub.recruit #main #content .info .box-border h3
{
	padding-top:10px;}

.sub.recruit .col2 .item.click:after
{
	display:none;
}

.sub.recruit.voice #main #content .info
{
	background:url(../img/recruit/crystal.png);
	background-repeat:repeat ;
	background-size:auto;
	
	 -webkit-animation: bgscroll2 25s linear infinite;
	 animation: bgscroll2 25s linear infinite;
}


@-webkit-keyframes bgscroll2 {
 0% {background-position: 0 0;}
 100% {background-position: 700px 0;}
}

@keyframes bgscroll2 {
 0% {background-position: 0 0;}
 100% {background-position: 700px 0;}
}

/* --------------------------------------

breadcrumb

---------------------------------------*/

#breadcrumb {
    padding: 4px 0;
    font-size: 11px;
}

/* --------------------------------------

main

---------------------------------------*/

#main #content h2
{
	font-size:26px;
	padding-bottom:14px;

}

#main #content h2 span
{
	font-size:14px;
}

#main #content .text-center
{
	text-align:left;
}

#main #content .panelarea.flexbox
{
	-webkit-flex-wrap: wrap; /* Safari */
  flex-wrap:         wrap;
}
#main #content .panelarea .item {
    width: 50%;
	position:relative;
}


#main #content .panelarea .item .detail
{
    position: absolute;
    top: 50%;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
}

#main #content .panelarea .item .detail h2
{
	padding:0 4%;
	font-size:18px;
}

#main #content .panelarea .item .btn {
    width: 92%;
    line-height: 36px;
    position: absolute;
    bottom: 10px;
	font-size:12px;
	color:#fff;
	background:none;
    left: auto;
    opacity: 1;
	border: 1px solid #fff;
	margin:0 4%;
}


#main #content .bg-tile.recruit
{
	background: url(../img/bg-tile.gif);
	padding:20px 4%;
}

#main #content .bg-tile.recruit .item
{
	width:100%;
}

#main #content .col2 h2
{
	text-align:center;
}

/* ------------- sub --------------*/

.sub #main #content .title-line
{
	padding-bottom:10px;}

.sub #main table td,
.sub #main table th
{
	padding-top:16px;
	padding-bottom:16px;
	font-size:14px;
}

.sub #main table th
{
	width:24%;}

.sub #main #content h2
{
	font-size:20px;}


.sub #main #content h3
{
	font-size:18px;}

.sub #main #content aside.bg-tile .col2 .item:first-of-type .btn
{
	margin-bottom:10px;}

.sub #main #content .box-border h3
{
	font-size:18px;
	padding:4px;
	margin-bottom:16px;
}

.sub #main #content .bg-bk h2.vmiddle
{
	position:relative;
}

.sub #main #content .faq-item h3
{
    font-size: 16px;
    padding: 10px 10px 10px 40px;
    position: relative;
}

.sub #main #content .faq-item h3 br
{
	display:none;}


.sub #main #content .faq-item h3:before {
    content: "Q";
    font-size: 20px;
    font-family: "Book Antiqua",serif;
    display: block;
    position: absolute;
    left: 10px;
    top: 6px;
}

.sub #main #content .faq-item .box-border {
    background: #fff;
    padding: 10px 10px 10px 38px;
    position: relative;
    margin-bottom: 10px;
}
.sub #main #content .faq-item .box-border:before {
    content: "A";
    color: #a81a20;
    font-size: 20px;
    font-family: "Book Antiqua",serif;
    display: block;
    position: absolute;
    left: 10px;
    top: 6px;
}


@-webkit-keyframes bgscroll {
 0% {background-position: 0 0,left 20% top;}
 100% {background-position: 700px 0,left 20% top;}
}

@keyframes bgscroll {
 0% {background-position: 0 0,left 20% top;}
 100% {background-position: 700px 0,left 20% top;}
}


.sub #main #content .sign br
{
	display:none;
}

.sub #main #content .sign img
{
	height:38px;
	width:auto;
	vertical-align:middle;
	margin-top:-4px;
	margin-left:4px;
}




.sub.contact #main #content .tel
{
	padding:20px 10px;
	font-size:14px;
	text-align:center;
}

.sub.contact #main #content .tel h2
{
	font-size:18px;
	padding-right:0px;
	padding-bottom:0;
	padding-top:0px;
	width:100%;
}

.sub.contact #main #content .tel p
{
	width:100%;}

.sub.contact #main #content .tel a
{
	display:block;
	vertical-align:middle;
	width:100%;
	font-size:40px;
	font-weight:bold;
	margin-right:6px;
}






.sub.recruit #mainvisual .vmiddle
{
	padding:10px 4%;
}



.sub.recruit #mainvisual .vmiddle .big
{
	font-size:28px;
	padding:2vh 0;
	text-align:center;
}

.sub.recruit #mainvisual h1
{
	width:100%;
	text-align:center;
}

.sub.recruit #mainvisual .vmiddle h1 img
{
	right:auto;
	left:auto;
	position:relative;
	max-width:100%;
	width:auto;
	height:auto;
}

.sub.recruit #mainvisual .vmiddle p
{
	text-align:left;
	font-size:12px;}

.sub.recruit #mainvisual .vmiddle p br
{
	display:none;}

.sub.recruit .recnav ul li:before
{
	display:none;}

.sub.recruit .recnav ul li.item
{
	width:25%;
	text-align:left;
	margin-bottom:00px;
	margin-left:0;
	margin-right:0;
}

.sub.recruit .recnav ul li.item a
{
	text-align:center;
	font-size:12px;
}

.sub.recruit .recnav ul li img {
    height: auto;
    max-width: 90%;
    margin-bottom: 4px;
	margin-right:0px;
	vertical-align:middle;
}

.sub.recruit .recnav .wrapper
{
	padding:0 2%;}

.sub.recruit .recnav ul li a:after {
    display: none
}

.sub.recruit .recnav
{
	padding:10px 0;}

.sub.recruit #main #content .col2 h2
{
	padding-bottom:0px;
	}

.sub.recruit #main #content h2 img,
.sub.recruit #main #content .col2 h2 img
{
	height:30px;
	width:auto;
	margin-bottom:10px;
}


.sub.recruit #main #content .box-border
{
	padding:10px 4%;}


.sub.recruit #main #content .box-border .field
{
	width:100%;
	margin:0;
	padding-bottom:10px;
	text-align:center;
}

.sub.recruit #main #content .box-border .field img
{
	width:80%;
	height:auto;
}

.sub.recruit #main #content .box-border .detail
{
	width:100%;
}

.sub.recruit #main #content .box-border .detail h3
{
	text-align:center;}


.sub.recruit #main #content .bg-red .flexbox h2
{
	width:100%;
	line-height:1.5;
	font-size:18px;
}

.sub.recruit #main #content .bg-red .btn
{
	width:100%;}

.sub.recruit #main #content .bg-red p
{
	width:100%;
}

.sub.recruit #main #content h2.bottom30
{
	margin-bottom:0;
}

.sub.recruit #main #content h3
{
	font-size:20px;
}

.sub.recruit #main #content .info h2 img
{
	max-width:100%;
	height:auto;}


.sub.recruit #main #content .info
{
	background:url(../img/recruit/crystal.png);
	background-repeat:repeat ;
	background-size:auto;
	
	 -webkit-animation: bgscroll2 25s linear infinite;
	 animation: bgscroll2 25s linear infinite;
}


@-webkit-keyframes bgscroll2 {
 0% {background-position: 0 0;}
 100% {background-position: 700px 0;}
}

@keyframes bgscroll2 {
 0% {background-position: 0 0;}
 100% {background-position: 700px 0;}
}

.sub.recruit #main #content h2.bottom30
{
	font-size:28px;
	padding-top:10px;
}

.sub.recruit #main #content .form .bg-white
{
	padding:20px 4%;
}


.sub.recruit #main #content .voice-item .item .detail
{
	padding:8px 2%;}

.sub.recruit #main #content .voice-item .item .detail h3,
.sub.recruit.voice #main #content .box-border .voice-item .detail h1
{
	font-size:16px;}

.sub.recruit.voice #main #content #voice01.box-border .voice-item .detail,
.sub.recruit.voice #main #content #voice02.box-border .voice-item .detail,
.sub.recruit.voice #main #content #voice03.box-border .voice-item .detail,
.sub.recruit.voice #main #content #voice04.box-border .voice-item .detail
{
	width:100%;
	padding:8px 2%;
	bottom:0;
	top:auto;
}

.sub.recruit.voice #main #content .box-border .profile .title
{
	width:100%;
	position:relative;
	top: auto;
    -webkit-transform: none;
    transform: none;
	text-align:left
}

.sub.recruit.voice #main #content .box-border .profile .title img
{
	height:20px;
	width:auto;
}

.sub.recruit.voice #main #content .box-border .profile .detail
{
	font-size:12px;
	width:100%;
	padding:0;
}

.sub.recruit.voice  #main #content h2
{
	text-align:left;
}



/* --------------------------------------

footer

---------------------------------------*/

footer .fnav,
footer .fnav .wrapper
{
	padding:0;
}



footer .fnav ul li
{
	display:block;
	border-bottom:1px dotted #555;
}

footer .fnav ul li:after
{
	display:none;
}

footer .fnav ul li a
{
	display:block;
	font-size:12px;
	color:#999;
	text-align:left;
	line-height:46px;
	padding:0 4%;
}

footer #map-canvas
{
	height:50vh!important;
}


footer .bg-red .col2.flexbox .item
{
	width:100%;
}

footer #fbottom.flexbox
{
	padding:0;
}

footer #fbottom.flexbox .flexbox
{
	background:#c91c23;
	padding:10px 4%;
	width:100%;
}

footer #fbottom.flexbox address
{
	color:#fff;
	font-size:12px;
	padding-top:8px;
}

footer #fbottom.flexbox .flexbox .logo
{
	padding:0;}

footer small
{
	font-size:11px;
	text-align:center;
	color:#282828;
	width:100%;
	line-height:46px;
}

.bottom90
{
    margin-bottom: 40px;
}

/* 220720 add*/
.csr .box-case-inner.detail {
    padding-bottom: 15px;
}

.csr .box-case-inner .wrapper {
    padding: 15px 0;
	margin-right: 4%;
    margin-left: 4%;
    width: 92%;
}

.csr .box-case-inner.detail .wrapper {
    padding-top: 5px;
}

.csr .box-case-inner.detail .slick-slide {
    height: auto;
}

.csr .box-case-inner.detail .box-case-slider .box-case-slider-inner {
    margin: 5px;
    max-width: 100% !important;
}

.csr .box-case-inner.detail .box-case-slider .slick-next:before,
.csr .box-case-inner.detail .box-case-slider .slick-arrow  {
    width: 30px;
    height: 48px;
}

.csr .box-case-inner.detail .box-case-slider .slick-prev:before {
    width: 30px;
    height: 48px;
}
.csr .box-case-inner .ttl-sideLine{
	margin-bottom: 15px;
}

.heading-bg-gray{
    font-size: 16px;
}