@charset "utf-8";
/* CSS Document */


/******************************************************************

	事業情報

******************************************************************/

/* ページ内コンテンツ基本設定 */

#container > main .contents_wrapper {
	padding: 64px 40px 120px;
}
.business_contents {
	display: flex;
	justify-content: space-between;
	align-items: center;
	/* 
	<ul class="business_area"> ～ </ul> を掲載する場合は下記に変更
	align-items: flex-start;
	 */
	max-width: 1200px;
	margin: 0 auto;
}
.business_contents.ai_center {
	align-items: center;
}
.business_contents + .division {
	margin-top: 85px;
}
.business_contents > div p {
	font-size: 1.15em;
	line-height: 1.8em;
}
.business_contents .business_about > div + div,
.business_contents .business_about > div + ul,
.business_contents .business_about > ul + div {
	margin: 24px 0 0;
}
.business_contents .business_about > ul + ul,
.business_contents .business_about > .business_img + ul,
.business_contents .business_about > div + .business_img,
.business_contents .business_about > ul + .business_img {
	margin: 32px 0 0;
}

/* 事業名 */

.division {
	display: flex;
	align-items: center;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 1em;
}
.division > .division_number {
	padding-right: 1.5em;
}
.division > div > h2 {
	font-size: 1.7em;
	font-weight: normal;
	margin: 0;
}
.division > div > p {
	color: #008435;
}
.division > .division_number > p {
	font-size: 4.5em;
	font-weight: bold;
	letter-spacing: -.03em;
}
.division > .division_title > p {
	font-size: 1.15em;
	letter-spacing: .02em;
}

/* 事業詳細 */

.business_about {
	width: 47.5%;
}
.business_about .business_work_list {
	padding: 0 1em;
}
.business_about .business_work_list li {
	font-size: 1.15em;
}
.business_about .business_work_list li + li {
	margin-top: 1em;
}
.business_about .business_work_list li {
	position: relative;
	padding-left: 2em;
}
.business_about .business_work_list li:before {
	content: '●';
	position: absolute;
	left: 0;
	top: -.32em;
	display: inline-block;
	color: #008435;
	font-size: 1.75em;
}

/* 事業エリア */
.business_about .business_area {
	width: 100%;
	display: flex;
    align-items: center;
	flex-flow: wrap;
	padding-left: 8px;
    padding-right: 8px;
}
.business_about .business_area li {
	width: calc(33.333% - 2px);
	min-width: 100px;
    background: #008435;
    transform: skew(-20deg);
	margin: 0 2px 1px 0;
}
.business_about .business_area li span {
    display: block;
	width: 100%;
    color: #fff;
    font-size: 1.15em;
	letter-spacing: .05em;
	text-align: center;
    padding: .75em 0;
    transform: skew(20deg);
}
/* 都道府県単位の場合 */
.business_about .business_area li.area_state {
	max-width: 120px;
	min-width: 65px;
}
.business_about .business_area li.area_state span {
	letter-spacing: .25em;
}
.business_about .business_area li:first-child:before,
.business_about .business_area li:nth-child(3n+1):before/*,
.business_about .business_area li:last-child:after*/ {
	content: '';
	display: block;
	position: absolute;
    transform: skew(20deg);
}
.business_about .business_area li:first-child:before,
.business_about .business_area li:nth-child(3n+1):before {
	top: 0;
	left: -8px;	
	border-top: 0px solid #008435;
	border-right: 20px solid transparent;
	border-bottom: 42px solid transparent;
	border-left: 20px solid #008435;
}
/*.business_about .business_area li:last-child:after {
	bottom: 0;
	right: -8px;	
	border-top: 45px solid transparent;
	border-right: 20px solid #999;
	border-bottom: 0px solid #999;
	border-left: 20px solid transparent;
}
.business_about .business_area li:last-child span {
	padding: 1em 0 1em 1em;
}*/
.business_about .business_area li:first-child span {
	padding: .75em 1em .75em .5em;
}

/* スライドショー */
.business_img {
	width: calc(52.5% - 60px);
}
.business_img p,
.business_img p iframe {
	width: 100%;
}
.slide_wrap,
.slide-item {
	width: 100%;
}
.slide_wrap {
}
.slide_list {
	width: 100%;
	
	/* slickのロード間に縦並びで表示されちゃう問題対策 */
	opacity: 0;
	transition: opacity .3s linear;
}
.slide_list.slick-initialized{
	opacity: 1;
}
	/* slick～対策 ここまで */

.slide-item {
}
.slide_img,
.img_single {
	position: relative;
	padding-bottom: 59.5%;
	background: #EEE;
    border: 8px solid #008435;
	overflow: hidden;
}
.slide_img img,
.img_single img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	height: auto;
}
.slide_img iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}
.img_single.non_img {
	background: #FFF;
}
.img_single.non_img img {
	max-width: 440px;
	padding: 40px;
}

/* スライドショー：矢印 */
.slide-arrow{
	/*display: none !important;*/
	position: absolute;
	top: calc(50% + 8px);
	border: none;
	outline: none;
	background: none;
	margin-top: -15px;
	opacity: 0;
	transition: all .25s ease;
}
.slider:hover .slide-arrow{
	top: 50%;
	opacity: 1;
}
.prev-arrow{
	left: 24px;
	width: 36px;
	height: 36px;
	border-bottom: 6px solid #FFF;
	border-left: 6px solid #FFF;
	transform: rotate(45deg);
	z-index: 1;
}
.next-arrow{
	right: 24px;
	width: 36px;
	height: 36px;
	border-top: 6px solid #FFF;
	border-right: 6px solid #FFF;
	transform: rotate(45deg);
	z-index: 1;
}
.prev-arrow:hover{
	border-bottom: 6px solid #008435;
	border-left: 6px solid #008435;
}
.next-arrow:hover{
	border-top: 6px solid #008435;
	border-right: 6px solid #008435;
}

/* スライドショー：ドットナビゲーション */
.slick-dots {
	bottom: -32px !important;
}
.slick-dots li button:before {
	font-size: 16px !important;
	opacity: 0.15 !important;
}
.slick-dots li.slick-active button:before {
    opacity: 1 !important;
}
.slick-dots li.slick-active button:before,
.slick-dots li button:hover:before {
    color: #008435 !important;
}

/* モーダル画面 */
.modal__bg,
.modal__content p,
.modal__content .modal_inner_img img {
	width: 100%;
}
.modal {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	width: calc(100% - 200px);
	height: 100%;
	z-index: 1;
}
.modal__bg {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	background-color: rgba(0,0,0,.8);
	cursor: pointer;
	z-index: 2;
}
.modal__content {
	box-sizing: content-box;
	position: absolute;
	left: 50%;
	top: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-flow: column;
	width: calc(100% - 200px);
	max-width: 800px;
	background-color: #fff;
	padding: 20px;
	z-index: 3;
	transform: translate(-50%,-50%);
}
.modal__content p,
.modal__content .js-modal-close {
	text-align: center;
}
.modal__content p + p {
	margin-top: 16px;
}
.modal__content .modal_inner_img {
	position: relative;
	padding-bottom: 56.25%;
	overflow: hidden;
}
.modal__content .modal_inner_img img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
}
.modal__content .js-modal-close {
	box-sizing: border-box;
	display: block;
	width: 100%;
	color: #FFF;
	background: #333;
	font-weight: bold;
	font-size: 1.15em;
	line-height: 1.5em;
	letter-spacing: .02em;
	padding: .5em 1em;
	margin: 16px 20px 0;
}
.modal__content .js-modal-close:hover {
	background: #008435;
}



/* レスポンシブ対応 */

@media (max-width: 980px) {
#container > main .contents_wrapper {
	padding: 40px 20px;
}

.division {
	margin: 0 auto;
}
.business_contents + .division {
    margin-top: 40px;
}
.business_contents {
	flex-flow: column;
}
.business_img,
.business_about {
	width: 100%;
}
.business_img + .business_about,
.business_contents .business_about > ul + ul {
    margin: 24px 0 0;
}

.slide_wrap {
	flex-flow: column;
}
.slide_list {
	width: 100%;
}
.movie_contents .slide_list .slide-item + .slide-item {
	padding-top: 20px;
}
.slide_img {
	height: 100%;
    margin-bottom: calc(8px + 16px);
}
.slide_img img,
.slide_img iframe {
}
.business_about .business_area li {
	width: calc(20% - 2px);
}
.business_about .business_area li:nth-child(3n+1):before {
	border-top: 0px solid transparent;
	border-left: 20px solid transparent;
}
.business_about .business_area li:nth-child(5n+1):before {
	content: '';
	display: block;
	position: absolute;
    transform: skew(20deg);
	top: 0;
	left: -8px;
	border-top: 0px solid #008435;
	border-right: 20px solid transparent;
	border-bottom: 42px solid transparent;
	border-left: 20px solid #008435;
}

.slide-arrow{
	top: calc(45% + 8px);
}
.slider:hover .slide-arrow{
	top: 45%;
}
.slick-dots {
    bottom: -10px  !important;
}
.slick-dotted.slick-slider {
    margin-bottom: calc(6px + 0px) !important;
}

.modal {
    width: 100%;
}
.modal__content {
    width: calc(100% - 120px);
}
}

@media (max-width: 640px) {
#container > main .contents_wrapper {
	padding: 40px 10px;
}
.division {
	flex-flow: column;
	margin: 0 auto 18px;
}
.business_contents + .division {
    margin-top: 28px;
}
.division > .division_title {
	display: flex;
	align-items: center;
	flex-flow: column;
}
.division > .division_number > p {
    font-size: 3.2em;
}
.business_about .business_area li {
	width: calc(27.5% - 2px);
}
.business_about .business_area li:nth-child(5n+1):before {
	border-top: 0px solid transparent;
	border-left: 20px solid transparent;
}
.business_about .business_area li:nth-child(3n+1):before {
	border-top: 0px solid #008435;
	border-left: 20px solid #008435;
}
.business_about .business_work_list li:before {
	top: .25em;
	font-size: .75em;
}

.slide_wrap {
	margin-bottom: 0;
}
.slider {
	margin: 0 auto 16px;
}
.slide-arrow{
	/* display: block !important; */
	top: 45%;
	opacity: 1;
}
.movie_contents .slide_list .slide-item + .slide-item {
	padding-top: 0;
}

.modal__content {
    width: calc(100% - 60px);
	padding: 10px;
}
.modal__content p + p, .modal__content .js-modal-close {
    margin-top: .5em;
}
.popup_open_img a {
	width: 100%;
}
}

@media print{
/*printで適用する内容*/
.division:nth-child(n + 2) {
	page-break-before: always;	
}
.business_contents {
    flex-flow: column;
}
.slide_img,
.img_single {
	padding-bottom: 50%;
}
.business_img,
.business_about {
    width: 100%;
}
}