@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Roboto&display=swap');
/* CSS Document */

/*-------------------------------------------------------------
記事の日付　色変更
--------------------------------------------------*/
.bg01 {
	background: #c70000;
}

.bg02 {
	background: #c70000;
}

.bg03 {
	background: #097046;
}

.under-title {
	text-align: center;
}
.under-title h3 {
	font-size: 44px;
	font-weight: bold;
	position: relative;
}

.under-title h3:before {
  content: '';
	background: #c70000;/*-------------ここを変更----------*/
	height: 1px;
	width: 24px;
	position: absolute;
	bottom: 0;
	left: 0;
	margin: 0 auto;
	right: 0;
	display: inline-block;
}

.under-title p {
	font-size: 18px;
	margin-top: 10px;
}


/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
com-kaso mv
--------------------------------------------------*/
.under .mv {
	width: 100%;
	min-width: 920px;
}

.under .mv .mv-image {
	position: relative;
	height: 320px;
	width: 100%;
}
.under .mv .text-box {
	position: absolute;
	top: 32%;
	max-width: 1100px;
	margin: 0 auto;
	text-align: center;
	left: 0;
	right: 0;
	color: #fff;
}

.under .mv .text-box h2 {
	font-size: 55px;
	font-weight: bold;
}
.under .mv .text-box p {
	font-size: 22px;
}
.under .mv .mv-image img {
  object-fit: cover;
  width: 100%;
  height: 100%
}


/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
business
--------------------------------------------------*/
/*-------------------
business under-com01
--------------------------------------------------*/
.under .com {

}

.under .under-com01  {
	margin-top: 50px;
}
.under-com01 .inner {
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
.under-com01 .inner h3 {
	font-size: 32px;
	margin-bottom: 30px;
}

.under-com01 .inner p {
	font-size: 18px;
}


/*-------------------
business under-com02
--------------------------------------------------*/
.under-com02 {
	margin-top: 50px;
}
.under-com02 .inner {
	width: 100%;
	margin: 0 auto;
	position: relative;
}
.under-com02 .inner .box {
	margin-bottom: 110px;
	min-height: 500px;
	position: relative;
}
.under-com02 .ls01 , .under-com02 .ls02 {
	padding: 0 20px;
	max-width: 1100px;
	margin: 0 auto;
}

.under-com02 .ls01 .image-box{
	float: left;
}
.under-com02 .ls02 .image-box{
	float: right;
}
.under-com02 .ls01 .image-box .image {
	position: absolute;
	left: 0;
	height: 520px;
	width: 50%;
}
.under-com02 .ls02 .image-box .image {
	position: absolute;
	right: 0;
	height: 520px;
	width: 50%;
}

.under-com02 .ls01 .image-box .image img , .under-com02 .ls02 .image-box .image img {
	object-fit: cover;
  width: 100%;
  height: 100%
}

.under-com02 .ls01 .text-box{
	float: right;
	width: 40%;
	background: #fff;
	padding: 0 5% 3% 5%;
	min-height: 400px;
}

.under-com02 .ls02 .text-box{
	float: left;
	width: 40%;
	background: #fff;
	padding: 0 5% 3% 5%;
	min-height: 400px;
}

.under-com02 .ls01 .text-box h3 , .under-com02 .ls02 .text-box h3 {
	font-size: 28px;
	font-weight: bold;
	margin-bottom: 30px;
	position: relative;
}

.under-com02 .ls01 .text-box p , .under-com02 .ls02 .text-box p {
	line-height: 1.8;
}



.under-com02 .inner .box:after {
  content: '';
	background: #f3f3f3;	
	z-index: -1;
	position: absolute;
	height: 350px;
	margin-top: -290px;
	width: 100%;
}

/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
タイトルラインの色変更
--------------------------------------------------*/
.under-com02 .text-box h3:before {
  content: '';
	background: #c70000;/*-------------ここを変更----------*/
	height: 1px;
	width: 30px;
	position: absolute;
	bottom: -7px;
	display: inline-block;
}

/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
GALLERY
--------------------------------------------------*/
/*-------------------
GALLERY under-com03
--------------------------------------------------*/

.under-com03 {
	width: 100%;
	margin: 0 auto;
	margin-top: 90px;
}

.under-com03 .inner {
	width: 100%;
	min-width: 920px;
	margin: 0 auto;
	max-width: 880px;
	padding: 0 20px;
}
.under-com03 .slider {
	position: relative;
	width: 80%;
	margin: 0 auto;
}

.under-com03 .image01 {
	position: relative;
	margin: 0 auto;
}
.under-com03 .image01 img {
	width: 100%;
	height: auto;
	margin: 0 auto;
}

.under-com03 .text01 {
	font-size: 18px;
	background: rgba(199,0,0,0.8);
	position: absolute;
	font-weight: bold;
	bottom: 0;
	color: #fff;
	margin: 0;
	line-height: 1.4;
	width: 92%;
	padding: 20px 4%;
}

.under-com03 .text01 span {
	display: inline-block;
	font-weight: bold;
}

/*--------------------------------------------------
ページャー　ボタン
--------------------------------------------------*/

.slide-dots2 {
  position: absolute;
  text-align: center;
  margin: 0 0 0 -35px;
  z-index: 8888;
  bottom: -55px;
  left: 50%;
}
.slide-dots2 li {
  display: inline-block;
  padding: 0 6px;
}
.slide-dots2 li button {
  width: 15px;
  height: 15px;
  background: #cacaca;
  border-radius: 50%;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
	cursor: pointer;
}
.slide-dots2 .slick-active button {
  background: #c70000;  
}


button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}


.slide-arrow02 {
  position: absolute;
	top: 45%;
	cursor: pointer;
	z-index: 1000;
}


.prev-arrow02 {
	position: absolute;
	left: -80px;
}

.prev-arrow02:before {
	content: '';
	position: absolute;
	left: 0;
	background: #c70000;
	width: 50px;
	height: 50px;
	border-radius: 100px;        /* CSS3草案 */  
	-webkit-border-radius: 100px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 100px;   /* Firefox用 */ 	
}

.prev-arrow02:after {
	content: '';
	width: 10px;
	height: 10px;
	border-top: solid 4px #fff;
	border-right: solid 4px #fff;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	position: absolute;
	left: 0;
	display: inline-block;
	margin-top: 18px;
	margin-left: 20px;
}

.next-arrow02 {
	position: absolute;
	right: -20px;
}

.next-arrow02:before {
	content: '';
	position: absolute;
	left: 0;
	background: #c70000;
	width: 50px;
	height: 50px;
	border-radius: 100px;        /* CSS3草案 */  
	-webkit-border-radius: 100px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 100px;   /* Firefox用 */ 	
}

.next-arrow02:after {
	content: '';
	width: 10px;
	height: 10px;
	border-top: solid 4px #fff;
	border-right: solid 4px #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	left: 0;
	display: inline-block;
	margin-top: 18px;
	margin-left: 15px;
}

/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
news-index news
--------------------------------------------------*/
.news-main {
	width: 100%;
	min-width: 920px;
	margin: 100px auto 0;
}

.news-main .inner {
  max-width: 1100px;
	margin: 0 auto;
	padding: 0 20px;
}

.news-main .inner .left-box {
	float: left;
	width: 68%;
}

.news-main .inner .comment {
	margin-bottom: 80px;
}

.news-main .inner .comment .time {
	font-size: 14px;
	color: #fff;
	display: inline-block;
	padding: 2px 6px;
}

.news-main .inner .comment .c-title {
	font-size: 28px;
	font-weight: bold;
	margin: 10px 0 20px 0;
}

.news-main .inner .comment .text {
	line-height: 2;
}
.news-main .inner .comment .image {
	margin-top: 40px;
}
.news-main .inner .comment li {
	border-top : solid #c9c9c9 1px;
	padding: 20px 0;
}

.news-main .inner .comment li:last-child {
	border-bottom : solid #c9c9c9 1px;
}


.news-main .inner .comment li dl {
	display: table;
	width: 100%
}
.news-main .inner .comment li dt , .news-main .inner .comment li dd {
	display: table-cell;
}
.news-main .inner .comment li dt {
	width: 20%;
}
.news-main .inner .comment li dd  {
	width: 75%;
	color: #111;
}



.news-main .inner .right-box {
	float: right;
	width: 25%;
}

.archive h3 {
	font-size: 28px;
	position: relative;
	margin-bottom: 35px;
}


/*-------------------------------------
タイトルラインの色変更
--------------------------------------------------*/
.archive h3:before {
  content: '';
	background: #c70000;/*-------------ここを変更----------*/
	height: 1px;
	width: 30px;
	position: absolute;
	bottom: -7px;
	display: inline-block;
}

/*-------------------------------------
アコーディオン　色変更
--------------------------------------------------*/
.archive .accordionlist {
	margin: 0;
	padding: 0;
}
.archive .accordion , .accordionbox {
	margin: 0;
	padding: 0;
}

.archive .accordionlist dt{
	display:block;
	margin: 0 auto;
	position: relative;
	font-weight: bold;
	margin-bottom: 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid #b2b2b2;
}

.archive .accordionlist dt .year {
  position: relative;
	font-size: 16px;
}

.archive .accordionlist dd{
  display:none;
	padding:0;
	padding-left: 10px;
	position: relative;
	padding-bottom: 20px;
}

.archive .accordionlist dd li {
	padding-bottom: 7px;
}
.archive .accordionlist dd li a{
	color: #111;
}

.archive .accordionlist .open {
	 display:block;
}


.archive .accordion_icon,
.archive .accordion_icon span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}

.archive .accordion_icon {
	position:absolute;
	width: 10px;
	height: 10px;
	right: 10px;
	top: 3px;
}


 .archive .accordion_icon span {
	position: absolute;
	left: 6px;
  width: 10px;
  height: 10px;
  border: 2px solid;
  border-color:  transparent transparent #c70000 #c70000;/*-------------ここを変更----------*/
  transform: rotate(-45deg);
}

/*＋、－切り替え*/
.archive .accordion_icon.active span:nth-of-type(1) {
	display:none;
}
.archive .accordion_icon.active span:nth-of-type(2) {
	top: 5px;
	transform: rotate(180deg);
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	-o-transform: rotate(135deg);
}



/*-------------------------------------
ページャー
--------------------------------------------------*/
.pager {
	margin: 0 auto;
	max-width: 1100px;
	text-align: center;
}
.pager a {
	color: #111;
	font-size: 16px;
}

.pager02 {
	margin: 0 auto;
	max-width: 1100px;
	text-align: center;
}
.pager02 a {
	color: #111;
	margin: 0 5px;
	font-size: 16px;
}

.pager02 .bg {
	background: #ececec;
	display: inline-block;
	padding: 0 8px;
}


.pager a:hover {
}



/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
recruit
--------------------------------------------------*/
.recruit-main {
	width: 100%;
	min-width: 920px;
	margin: 60px auto 0;
}

.recruit-main .inner {
  max-width: 1100px;
	margin: 0 auto;
	padding: 0 20px;
}


.recruit-main .inner .under-title {
	margin-bottom: 40px;
}


.recruit-main .a-box {
	margin-bottom: 90px;
	width: 100%;
}


.recruit-main .ul_open {
	width: 100%;
	margin: 0 auto;
	position: relative;
}

.recruit-main .ul_open:after {
		content: "";
		width: 0;
		position: absolute;
		top: 0;
		height: 0;
		border-style: solid;
		border-width: 20px 15px 0 15px;
		border-color: #c70000 transparent transparent transparent;	/*-------------カラー変更----------*/
		left: 0;
		right: 0;
		margin: 0 auto;
}


.recruit-main .ul_open .text-box {
	padding-top: 45px;
}

.recruit-main .a-box .ul_open .tx01 {
	font-size: 32px;
	width: 100%;
	text-align: center;
}
.recruit-main .ul_open .text-box ul {
	max-width: 900px;
	margin: 0 auto;
	margin-top: 20px;
}
.recruit-main .ul_open .text-box li {
	border-top: dashed 1px #c70000; /*-------------カラー変更----------*/
	padding: 22px 0;
}

.recruit-main .ul_open .text-box li:last-child {
	border-bottom: dashed 1px #c70000; /*-------------カラー変更----------*/
}

.recruit-main .ul_open .text-box li dl {
	display: table;
	width: 100%;
}
.recruit-main .ul_open .text-box li dt {
	display: table-cell;
	width: 26%;
	font-weight: bold;
	font-size: 16px;
	padding-left: 20px;
}

.recruit-main .ul_open .text-box li dd {
	display: table-cell;
	width: 70%;
	font-size: 16px;
}
.recruit-main .ul_open .text-box .btn01 {
	background: #c70000; /*-------------カラー変更----------*/
	color: #fff;
	line-height: 45px;
	padding: 0 45px 0 40px;
	position: relative;
	display: inline-block;
}

.recruit-main .ul_open .text-box .btn01:after {
	content:"";
	width: 6px;
	height: 6px;
	border-top: solid 2px #fff; 
	border-right: solid 2px #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	right: 20px;
	top: 40%;
	display: inline-block;
}


.recruit-main .open_ttl{
	background: #c70000;/*-------------カラー変更----------*/
	color: #fff;
  cursor: pointer;
  margin: 0 auto;
	font-weight: bold;
	font-size: 30px;
	padding: 20px 0;
	text-align: center;
	position: relative;
	width: 100%;
}

.recruit-main .open_ttl:after, 
.recruit-main .open_ttl.active:after {
}
.recruit-main .open_ttl.active::after {
  content: "";
	position: absolute;
	right: 30px;
  width: 10px;
  height: 10px;
	margin-top: 14px;
  border: 2px solid;
  border-color:  transparent transparent #fff #fff;/*-------------ここを変更----------*/
  transform: rotate(135deg);	
}
.recruit-main .open_ttl::after {
  content: "";
	position: absolute;
	right: 30px;
	margin-top: 10px;
  width: 10px;
  height: 10px;
  border: 2px solid;
  border-color:  transparent transparent #fff #fff;/*-------------ここを変更----------*/
  transform: rotate(-45deg);		
}

/*-------------------------------------
一番上 オープン　アイコン　
--------------------------------------------------*/


.recruit-main .open_ttl-o.active::after {
  content: "";
	position: absolute;
	right: 30px;
  width: 10px;
  height: 10px;
	margin-top: 10px;
  border: 2px solid;
  border-color:  transparent transparent #fff #fff;/*-------------ここを変更----------*/
  transform: rotate(-45deg);		
}
.recruit-main .open_ttl-o::after {
  content: "";
	position: absolute;
	right: 30px;
	margin-top: 14px;
  width: 10px;
  height: 10px;
  border: 2px solid;
  border-color:  transparent transparent #fff #fff;/*-------------ここを変更----------*/
  transform: rotate(135deg);		
}


/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
COMPANY
--------------------------------------------------*/
.under-com04 {
	width: 100%;
	min-width: 920px;
	margin: 60px auto 0;
}

.under-com04 .inner {
  max-width: 1100px;
	margin: 0 auto;
	padding: 0 20px;
}
.under-com04 .inner .under-title {
	margin-bottom: 50px;
}

.under-com04 .inner .image {
	float: left;
	width: 48%;
}

.under-com04 .inner .text {
	float: right;
	width: 45%;
}

.under-com04 .inner .text h4 {
	color: #c70000;/*-------------ここを変更----------*/
	font-size: 28px;
	margin-bottom: 25px;
}

.under-com04 .inner .text p {
	line-height: 1.8; 
	font-size: 15px;
}

.under-com04 .inner .name {
		width: 100%;
		text-align: right;
	margin-top: 40px;
}
.under-com04 .inner .name p {
	font-size: 24px;
	font-weight: bold;
}
.under-com04 .inner .name span {
	color: #fff;
	font-size: 14px;
	background: #c70000;/*-------------ここを変更----------*/
	display: inline-block;
	padding: 2px 10px;
	margin-right: 20px;
	position: relative;
	top: -5px;
}

.under-com05 {
	width: 100%;
	background: #f8f8f8;
	min-width: 920px;
	margin: 100px auto 0;
	padding-bottom: 100px;
}
.under-com05 .inner {
  max-width: 1100px;
	margin: 0 auto;
	padding: 0 20px;
	padding-top: 80px;
}

.under-com05 .inner .under-title {
	margin-bottom: 40px;
}

.under-com05 .box {
	max-width: 890px;
	margin: 0 auto;
	font-size: 15px;
}

.under-com05 .box li {
	border-bottom: 1px solid #bababa;
	padding: 20px 0;
}

.under-com05 .box li dl {
	width: 100%;
	display: table;
}
.under-com05 .box li dt {
	display: table-cell;
	width: 25%;
	font-weight: bold;
	padding-left: 20px;
}
.under-com05 .box li dd {
	width: 100%;
	padding: 2px 0;
}

.under-com05 .box li dd ul {
	margin-top: -20px;
	margin-bottom: -20px;
}
.under-com05 .box li dd li {
  padding: 14px 0 14p 0;
	border-bottom: 1px dashed #bababa;

}

.under-com05 .box li dd li:last-child {
	border-bottom: none;
}


.under-com06 {
	width: 100%;
	min-width: 920px;
	margin: 60px auto 0;
}

.under-com06 .inner {
  max-width: 890px;
	margin: 0 auto;
	padding: 0 20px;
}

.under-com06 .inner .under-title {
	margin-bottom: 40px;
}

 .under-com06 .parts01 .parts-inner {
    width: 80%;
    margin: 0 0 0 auto;
    padding: 0 0 0 15px;
    position: relative;
    box-sizing: border-box;
  }
 .under-com06 .parts01 .parts-inner:before {
    bottom: 14%;
		left: -24px;
		width: 8px;
		height: 80%;
		background: #c70000;/*-------------ここを変更----------*/
		content: '';
		position: absolute;
 }
 .under-com06 .parts01 .box {
    margin: 0 0 36px 0;
    background: #fff6f6;/*-------------ここを変更----------*/
    position: relative;
  }
  .under-com06 .parts01 .box::before {
    position: absolute;
    top: 12px;
    left: -14px;
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 20px 12px 0;
    border-color: transparent #fff6f6 transparent transparent;/*-------------ここを変更----------*/
  }

 .under-com06 .parts01 .box .box-inner {
    padding: 20px 26px;
    position: relative;
	 font-size: 15px;
  }
 .under-com06 .parts01 .box .box-inner::before {
    position: absolute;
    top: 6px;
    left: -52px;
    display: block;
    content: '';
    width: 14px;
    height: 14px;
	  background: #fff;
    border-radius: 50%;
    border: #c70000 solid 10px;/*-------------ここを変更----------*/
  }

 .under-com06 .parts01 .box .box-ttl {
 	font-family: 'Roboto', sans-serif;
    font-weight: bold;
    color: #c70000;/*-------------ここを変更----------*/
    font-size: 40px;
    position: absolute;
    left: -160px;
    top: -8px;
    letter-spacing: inherit;
  }




