@charset "utf-8";

/* ****************************************************************************

　目次

-------------------------------------------------------------------------------

　01. モジュール

******************************************************************************* */
/* ==

　01. モジュール

=============================================================================== */
.r3Heading01_txt {
	margin: 0 0 15px;
}
/* メインビジュアル
------------------------------------------------------------------------------- */
.bVisual01 {
	position: relative;
	margin: 0 0 70px;
	overflow: hidden;
}
.bVisual01_loading {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 80px;
	height: 80px;
	margin: -40px 0 0 -40px;
	background: url(/common/images/rn04/svg/loading_ico01.svg) center center no-repeat;
	background-size: contain;
}
.bVisual01_list {
	opacity: 0;
}
.bVisual01_list-show {
	opacity: 1;
}
.bVisual01_item {
	max-width: 1200px;
}
.bVisual01_page.swiper-pagination {
	position: static;
	max-width: 950px;
	line-height: 1;
	margin: 15px auto 0;
	font-size: 0;
	text-align: left;
}
.bVisual01_page .swiper-pagination-bullet {
	width: 40px;
	height: 2px;
	margin: 0 3px;
	border-radius: 0;
}
.bVisual01_page .swiper-pagination-bullet-active {
	background: #FD0E3D;
}
.bVisual01_item a {
	display: block;
	position: relative;
}
.bVisual01_item img {
	width: 100%;
	transition: all .4s ease-in-out .1s;
	opacity: .5;
}
.bVisual01_item.swiper-slide-active img {
	opacity: 1;
}
.bVisual01_front {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 28px 30px 30px;
	background-color: rgba(30, 30, 30, 0.8);
	background: rgba(30, 30, 30, 0.8);
	color: #fff;
	transition: all .5s ease-in-out .1s;
	opacity: 0;
}
.bVisual01_item.swiper-slide-active .bVisual01_front {
	opacity: 1;
}
.bVisual01_tit {
	line-height: 1.5;
	margin: 0 0 15px;
	font-size: 192%;
	font-weight: 700;
	transition: all .4s ease-in-out;
}
.bVisual01_txt {
	line-height: 2;
	font-size: 134%;
	font-weight: 400;
	transition: all .4s ease-in-out;
}
.bVisual01_detail {
	line-height: 1;
	margin: 9px 0 0;
	font-size: 117%;
	font-weight: 400;
	transition: all .4s ease-in-out;
}
.bVisual01_detail::after {
	content: "";
	display: inline-block;
	width: 21px;
	height: 10px;
	margin: 0 0 0 10px;
	background: url(/common/images/rn04/svg/arw_ico02.svg) left top no-repeat;
	background-size: contain;
}
.bVisual01 .swiper_btn {
	position: absolute;
	top: 50%;
	width: 44px;
	height: 44px;
	margin: -28px 0 0;
	z-index: 2;
	transition: all .4s ease-in-out;
	cursor: pointer;
	opacity: 0;
}
.bVisual01 .swiper_btn-show {
	opacity: 1;
}
.bVisual01 .swiper_btn::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 28px;
	margin: -14px 0 0 -8px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
.bVisual01 .swiper_btn-prev {
	left: 50%;
	margin-left: -643px;
}
.bVisual01 .swiper_btn-next {
	right: 50%;
	margin-right: -643px;
}
.bVisual01 .swiper_btn-prev::before {
	background-image: url(/common/images/rn04/svg/arw_ico13.svg);
}
.bVisual01 .swiper_btn-next::before {
	background-image: url(/common/images/rn04/svg/arw_ico14.svg);
}
@media only screen and (max-width: 1370px) {
	.bVisual01_item {
		max-width: 880px;
	}
	.bVisual01_item img {
		height: 352px;
	}
	.bVisual01_tit {
		font-size: 175%;
	}
	.bVisual01_txt {
		font-size: 117%;
	}
	.bVisual01_detail {
		font-size: 109%;
	}
	.bVisual01_page.swiper-pagination {
		max-width: 880px;
	}
	.bVisual01 .swiper_btn-prev {
		left: 50%;
		margin-left: -484px;
	}
	.bVisual01 .swiper_btn-next {
		right: 50%;
		margin-right: -484px;
	}
}

/* 最新情報
------------------------------------------------------------------------------- */
.hblNews01 {
	margin: 120px 0;
}
.hblNews01_in {
	max-width: 950px;
	margin: 0 auto;
}
.hblNews01_tit {
	line-height: 1.5;
	margin: 0 0 50px;
	font-size: 267%;
	font-weight: 700;
	text-align: center;
}
.hblNews01_list {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 100%;
}
.hblNews01_item {
	width: 288px;
}
.hblNews01_wrap {
	display: block;
	text-decoration: none;
}
.hblNews01_img {
	display: -webkit-box;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 192px;
}
.hblNews01_tag {
	line-height: 1.75;
	margin: 20px 0 0;
	font-size: 100%;
	font-weight: 500;
}
.hblNews01_tag span {
	display: inline-block;
	line-height: 22px;
	padding: 0 15px 2px;
	background-color: #333;
	color: #fff;
}
.hblNews01_date {
	line-height: 1.5;
	margin: 10px 0 0;
	color: #999;
	font-size: 117%;
	font-weight: 400;
	text-decoration: none;
}
.hblNews01_txt {
	position: relative;
	line-height: 1.6875;
	margin: 8px 0 0;
	padding: 0 35px 0 0;
	font-size: 134%;
	font-weight: 400;
	text-decoration: underline;
}
.hblNews01_txt::after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 0.6em;
	right: 0;
	width: 22px;
	height: 12px;
	background: url(/common/images/rn04/svg/arw_ico02.svg) left top no-repeat;
	background-size: contain;
}
.hblNews01_btn {
	display: block;
	position: relative;
	max-width: 400px;
	line-height: 58px;
	margin: 60px auto 0;
	padding: 0 0 2px;
	background-color: #000;
	color: #fff;
	font-size: 150%;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}
.hblNews01_btn::after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 22px;
	height: 12px;
	margin: -6px 0 0;
	background: url(/common/images/rn04/svg/arw_ico02.svg) left top no-repeat;
	background-size: contain;
}
/* リード
------------------------------------------------------------------------------- */
.bLead01 {
	margin: 0 0 80px;
	overflow: hidden;
}
.bLead01_in {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	position: relative;
	max-width: 950px;
	min-height: 446px;
	margin: 0 auto;
}
.bLead01_info {
	position: relative;
	width: 60%;
	padding: 40px 0 0;
	z-index: 1;
	box-sizing: border-box;
}
.bLead01_info>div {}
.bLead01_catch {
	line-height: 1.722;
	margin: 0 0 41px;
	font-size: 300%;
	font-weight: bold;
}
.bLead01_txt {
	line-height: 2.125;
	font-size: 134%;
	font-weight: 400;
}
.bLead01_btn {
	margin: 55px 0 0;
	font-size: 150%;
	font-weight: bold;
}
.bLead01_btn a {
	display: block;
	position: relative;
	max-width: 400px;
	line-height: 60px;
	background-color: #F7F7F7;
	color: #1E1E1E;
	text-align: center;
	text-decoration: none;
}
.bLead01_btn a::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 15px;
	height: 9px;
	margin: -5px 0 0;
	background: url(/common/images/rn04/svg/arw_ico16.svg) left top no-repeat;
	background-size: contain;
}
.bLead01_img {
	position: relative;
	width: 40%;
}
.bLead01_img img {
	position: absolute;
	top: 0;
	left: 0;
	max-width: none;
}
@media only screen and (max-width: 1060px) {
	.bLead01_info {
		width: 55%;
		padding: 15px 50px 0 0;
	}
	.bLead01_img {
		position: relative;
		width: 45%;
	}
	.bLead01_img img {
		width: 500px;
	}
}
/* 3つの想い
------------------------------------------------------------------------------- */
.bBlock01 {
	margin: 0 0 80px;
}
.bBlock01_tit {
	line-height: 1.5;
	margin: 0 0 35px;
	font-size: 267%;
	font-weight: bold;
	text-align: center;
}
.bBlock01_list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	color: #fff;
}
.bBlock01_item {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	justify-content: center;
	width: 33.333%;
	min-height: 256px;
	padding: 15px 20px 0;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	text-align: center;
	box-sizing: border-box;
}
.bBlock01_item-b1 {
	background-image: url(../images/business_bg01.jpg);
}
.bBlock01_item-b2 {
	background-image: url(../images/business_bg02.jpg);
}
.bBlock01_item-b3 {
	background-image: url(../images/business_bg03.jpg);
}
.bBlock01_stit {
	line-height: 1.5;
	font-size: 200%;
	font-weight: bold;
}
.bBlock01_txt {
	line-height: 1.625;
	margin: 15px 0 0;
	font-size: 134%;
	font-weight: 500;
}


/* アーカイブ：ボタン
------------------------------------------------------------------------------- */
.bBlock03 {
max-width: 1308px;
margin: 0 auto;
}
.bBlock03_tit {
	line-height: 1.3;
	margin: 0 0 35px;
	font-size: 186%;
	font-weight: bold;
	text-align: center;
}
.bBlock03_list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	color: #fff;
gap: 5px 20px; /* 余白 */

	flex-wrap: wrap;
}

.bBlock03_list:after{
    content: "";
    display: block;
    width: 32%;  /* .boxに指定したwidthと同じ幅を指定する */
    height: 0;
}

.bBlock03_item {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	justify-content: center;
	width: 30%; 
	min-height: 250px;
	padding: 15px 20px 0px;
	margin: 10px 0 20px 0;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	text-align: center;
	box-sizing: border-box;
	cursor: pointer;
	transition:all 0.5s;
}

.bBlock03_item{
	margin-left: 20px;
}
@media screen and (min-width: 941px){
.bBlock03_item:nth-child(3n+1) {
		margin-left: 0;
	}
}


.bBlock03_item:hover{
	opacity: 0.8;
	transition:all 0.5s;
}

.bBlock03_stit:hover{
	color: #fff;
}

.bBlock03_item:hover img {
background-color: transparent;
}

/* アーカイブ時に更新 */
.bBlock03_item-b1 {
	background-image: url(../images/business_img02_ar.jpg);
}
.bBlock03_item-b2 {
	background-image: url(../images/business_img06_ar.jpg);
}
.bBlock03_item-b3 {
	background-image: url(../images/business_img03_ar.jpg);
}
.bBlock03_item-b4 {
	background-image: url(../images/business_img04_ar.jpg);
}
.bBlock03_item-b5 {
	background-image: url(../images/business_img05_ar.jpg);
}
.bBlock03_item-b6 {
	background-image: url(../images/case_img06_ar.jpg);
}
.bBlock03_item-b7 {
	background-image: url(../images/case_img07_ar.jpg);
}
.bBlock03_item-b8 {
	background-image: url(../images/case_img08_ar.jpg);
}


.bBlock03_stit {
	line-height: 1.5;
	font-size: 220%;
	font-weight: bold;
	color: #fff;
  text-shadow: 4px 4px 8px rgba(14, 51, 29, 0.5);
}
.bBlock03_txt {
	line-height: 1.625;
	margin: 15px 0 0;
	font-size: 134%;
	font-weight: 500;
}



.arrow01{
	position: relative;
	display: inline-block;
	padding: 0 0 0 16px;
	color: #000;
	vertical-align: middle;
	text-decoration: none;
	font-size: 15px;
}
.arrow01::before,
.arrow01::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}

.arrow01::before{
	left: 3px;
	width: 7px;
	height: 1px;
	background: #7a0;
}
.arrow01::after{
	left: 3px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #7a0;
	border-right: 1px solid #7a0;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/*モーダル内　タブレット用*/
@media screen and (max-width: 950px) {

.bBlock03 {
margin: 20px auto;
}

div.modal-content > div > div > div > div.bBlock02_body > ul > li > div.bBlock02_front.bBlock02_front-show > div,
div.modal-content.bBlock02_box {
  position: relative;
  width: 770px;
  padding: 30px 40px;
  background: #1F1F1F;
  color: #fff;
  text-align: left;
  box-sizing: border-box;
}

/*アーカイブ　サムネイル表示用*/
.bBlock03_item{
	margin-left: 20px;
}
@media screen and (min-width: 541px){
.bBlock03_item:nth-child(3n+1) {
		margin-left: 0;
	}
}
}



/* 見出し
------------------------------------------------------------------------------- */
.bHeading01 {
	max-width: 1240px;
	margin: 0 auto 40px;
	text-align: center;
}
.bHeading01_tit {
	line-height: 1.625;
	margin: 0 0 37px;
	font-size: 267%;
	font-weight: bold;
}
.bHeading01_txt {
	line-height: 2.125;
	font-size: 134%;
	font-weight: 500;
}
/* プロジェクト
------------------------------------------------------------------------------- */
.bBlock02_stit {
	position: relative;
	line-height: 1;
	margin: 0 0 35px;
	color: #FA0046;
	font-family: 'Roboto', sans-serif;
	font-size: 184%;
	font-weight: 500;
	text-align: center;
}
.bBlock02_stit::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #B4B4B4;
}
.bBlock02_stit span {
	display: inline-block;
	position: relative;
	padding: 0 30px;
	background-color: #F7F7F7;
	z-index: 1;
}
.bBlock02_body {
	position: relative;
	margin: 39px 0 0;
	padding: 0 0 46px;
	z-index: 2;
}
.bBlock02_list {
	position: relative;
	max-width: 950px;
	margin: 0 auto;
	letter-spacing: -0.5em;
	text-align: center;
}
.bBlock02_item {
	display: inline-block;
	width: 200px;
	margin: 0 20px;
	letter-spacing: normal;
}
.bBlock02_wrap::after {
	content: '';
	display: block;
	position: absolute;
	right: 25px;
	bottom: 0;
	width: 40px;
	height: 40px;
	background: url(../images/svg/zoom_ico01.svg) center center no-repeat;
	background-size: 40px 40px;
	z-index: 1;
}
.bBlock02_wrap {
	position: relative;
	border-radius: 100%;
	background-color: #f7f7f7;
	transition: all .25s ease-out;
}
.bBlock02_wrap-under {
	opacity: 0.5;
}
.bBlock02_wrap-active {
	background-color: #fff;
}
.bBlock02 {
	position: relative;
	max-width: 1240px;
	margin: 0 auto 100px;
	padding: 0 20px;
}
.bBlock02_in {
	position: relative;
	max-width: 1040px;
	margin: 0 auto;
}
.bBlock02::before {
	content: '';
	display: block;
	position: absolute;
	top: 59px;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: #f7f7f7;
}
.bBlock02_head {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 1;
}
.bBlock02_head-reverse {
	flex-direction: row-reverse;
}
.bBlock02_img {
	display: block;
	width: 48%;
}
.bBlock02_info {
	width: 48%;
	padding: 30px 0 0;
}
.bBlock02_catch {
	line-height: 1.666;
	margin: 0 0 29px;
	font-size: 300%;
	font-weight: 500;
}
.bBlock02_sub {
	line-height: 1.5;
	font-size: 117%;
	font-weight: bold;
}
.bBlock02_sub span {
	display: inline-block;
	padding: 9px 20px 10px;
	background-color: #000;
	color: #fff;
}

.bBlock02_sub02 {
padding: 0 0 0 0;
	line-height: 1.0;
	font-size: 110%;
	font-weight: bold;
}
.bBlock02_sub02 span {
	display: inline-block;
  padding: 11px 15px 11px;
	background-color: #E1E9FB;
	color: #000;
	/*	border: 1px solid #dcdcdc;  */
  color: #6E7272;
}

.bBlock02_sub03 {
padding: 0 0 0 0px;
	line-height: 1.0;
	font-size: 112%;
	font-weight: bold;
}
.bBlock02_sub03 span {
	display: inline-block;
	padding: 8px 0 0 0;
	background-color:;
	color: #000;
}



.bBlock02_txt {
	line-height: 2;
	margin: 69px 0 0;
	font-size: 134%;
	font-weight: 400;
}
.bBlock02_front {
	display: none;
	position: absolute;
	top: 208px;
	left: 0;
}
.bBlock02_front-show {
	display: block;
 	animation: businessAnime .35s ease-in-out both;
}
@keyframes businessAnime {
  0% {
      opacity: 0;
      margin-top: 25px;
  }
  100% {
      opacity: 1;
      margin-top: 0;
  }
}
.bBlock02_box::after {
	content: '';
	display: block;
	position: absolute;
	top: -14px;
	left: 0;
	width: 100%;
	height: 14px;
	z-index: 0;
}
.bBlock02_box::before {
	content: '';
	display: block;
	position: absolute;
	top: -14px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 15px 15px 15px;
	border-color: transparent transparent #000 transparent;
	z-index: 1;
}
.bBlock02_item:nth-child(1) .bBlock02_box::before {
	left: 50%;
	margin: 0 0 0 -255px;
}
.bBlock02_item:nth-child(2) .bBlock02_box::before {
	left: 50%;
	margin: 0 0 0 -15px;
}
.bBlock02_item:nth-child(3) .bBlock02_box::before {
	left: 50%;
	margin: 0 0 0 225px;
}
.bBlock02_box {
	position: relative;
	width: 950px;
	padding: 30px 40px;
	background: #1F1F1F;
	color: #fff;
	text-align: left;
	box-sizing: border-box;
}
.bBlock02_item .bBlock02_front .bBlock02_box {
}

.bBlock02_comment {
	line-height: 2;
	font-size: 134%;
	font-weight: 400;
}
.bBlock02_detail {
	line-height: 1.5;
	margin: 10px 0 0;
	font-size: 150%;
	font-weight: 500;
	text-align: right;
}
.bBlock02_detail a {
	color: #fff;
	text-decoration: none;
}
.bBlock02_detail a:hover {
	text-decoration: underline;
}
.bBlock02_detail a::after {
	content: '';
	display: inline-block;
	width: 21px;
	height: 10px;
	margin: 0 0 0 10px;
	background: url(/common/images/rn04/svg/arw_ico02.svg) left top no-repeat;
	background-size: contain;
	vertical-align: 0.1em;
}
.bBlock02_detail a[target=_blank]::after {
	content: '';
	display: inline-block;
	width: 11px;
	height: 8px;
	margin: 0 0 0 10px;
	background: url(/common/images/rn04/svg/blank_ico02.svg) left top no-repeat;
	background-size: contain;
	vertical-align: 0.1em;
}
.bBlock02_btn {
	margin: 10px 0 0;
	font-size: 134%;
	font-weight: 700;
	text-align: right;
}
.bBlock02_btn a {
	display: inline-block;
	position: relative;
	width: 100%;
	max-width: 200px;
	line-height: 58px;
	padding: 0 30px 2px;
	background-color: #000;
	color: #fff;
	text-align: left;
	text-decoration: none;
	box-sizing: border-box;
}
.bBlock02_btn a::after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 22px;
	height: 12px;
	margin: -6px 0 0;
	background: url(/common/images/rn04/svg/arw_ico02.svg) left top no-repeat;
	background-size: contain;
}
.bBlock02_btn a[target=_blank]::after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 11px;
	height: 8px;
	margin: -4px 0 0;
	background: url(/common/images/rn04/svg/blank_ico02.svg) left top no-repeat;
	background-size: contain;
}
/* 見出し
------------------------------------------------------------------------------- */
.iHeading01 {
	line-height: 1.428;
	margin: 70px 0 42px;
	font-size: 234%;
	font-weight: 700;
	text-align: center;
}
/* 事業紹介
------------------------------------------------------------------------------- */
.iTop02 {
	margin: 0 0 60px;
}
.iTop02_head {
	margin: 40px 0 0;
}
.iTop02_graph {
	display: block;
	max-width: 900px;
	margin: 0 auto;
}
.iTop02_list {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	margin: 50px 0 0;
}
.iTop02_item {
	width: 24.039%;
	max-width: 250px;
}
.iTop02_wrap {
	color: #000;
	text-decoration: none;
}
.iTop02_img {
	display: block;
}
.iTop02_img img {
	image-rendering: -webkit-optimize-contrast;
}
.iTop02_txt {
	line-height: 1.333;
	margin: 0 0 17px;
	font-family: 'Lato', sans-serif;
	font-size: 250%;
	font-weight: 700;
}
.iTop02_txt-blank span::after {
	content: '';
	display: inline-block;
	width: 11px;
	height: 8px;
	margin: 0 0 0 10px;
	background: url(/common/images/rn04/svg/blank_ico01.svg) left top no-repeat;
	background-size: contain;
	vertical-align: 0.15em;
}
.iTop02_txt span {
	display: inline-block;
	margin: 0 0 0 10px;
	font-family: 'Noto Sans JP', "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Arial, Helvetica, sans-serif;
	font-size: 46.8%;
	font-weight: 500;
	vertical-align: 0.25em;
}
.iTop02_caption {
	position: relative;
	line-height: 1.75;
	margin: 20px 0 0;
	padding: 0 40px 0 0;
	font-size: 134%;
	font-weight: 700;
}
.iTop02_caption::after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 10px;
	right: 0;
	width: 22px;
	height: 12px;
	background: url(/common/images/rn04/svg/arw_ico02.svg) left top no-repeat;
	background-size: contain;
}
.iTop02_caption-blank::after {
	top: 12px;
	width: 11px;
	height: 8px;
	background: url(/common/images/rn04/svg/blank_ico01.svg) left top no-repeat;
	background-size: contain;
}



/* 見出し
------------------------------------------------------------------------------- */
.iHeading01 {
	line-height: 1.428;
	margin: 70px 0 42px;
	font-size: 234%;
	font-weight: 700;
}
.iHeading01 span {
	display: inline-block;
	margin: 0 0 0 20px;
	color: #6E6E6E;
	font-size: 64.1%;
	font-weight: 400;
	vertical-align: 0.2em;
}

/* お知らせ　アーカイブ
------------------------------------------------------------------------------- */
.iTop03 {
	margin: 0 20px 100px;
}
.iTop03_head {
	margin: 0 0 50px;
}
.iTop03_navs {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	line-height: 1;
	border-bottom: 1px solid #b4b4b4;
	font-size: 117%;
	font-weight: 400;
}
.iTop03_nav {
	width: 33.333%;
	padding: 0 0 20px;
	border-bottom: 4px solid #fff;
	cursor: pointer;
}
.iTop03_nav-current {
	border-bottom: 4px solid #E6324C;
	cursor: default;
	font-weight: 700;
}
.iTop03_nav span
{
	display: block;
	text-align: center;
}


/*-- 2カラム --*/
.iTop03_nav_02 {
	width: 49.999%;
	padding: 0 0 20px;
	border-bottom: 4px solid #fff;
	cursor: pointer;
}
.iTop03_nav-current {
	border-bottom: 4px solid #E6324C;
	cursor: default;
	font-weight: 700;
}
.iTop03_nav_02 span
{
	display: block;
	text-align: center;
}


.iTop03_body {
	display: none !important;
}
.iTop03_body-show {
	display: block !important;
	animation: topTabShow .3s both;
}
@keyframes topTabShow {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.iTop03_tit {
	display: inline-block;
	line-height: 1.5;
	margin: 27px 0 25px;
	padding: 2px 10px 4px;
	background-color: #1F1F1F;
	color: #fff;
	font-size: 100%;
	font-weight: 500;
}
.iTop03_tit:first-child {
	margin-top: 0;
}
.iTop03_list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	font-size: 100%;
}
.iTop03_item {
	width: 24.327%;
}
.iTop03_wrap {
	display: block;
	max-width: 273px;
	margin: 0 auto;
	color: #000;
	text-decoration: none;
}
.iTop03_img {
	display: block;
	margin: 0 0 9px;
	text-align: center;
}
.iTop03_img img {
	width: 100%;
}
.iTop03_date {
	line-height: 1.5;
	margin: 0 0 5px;
	font-size: 100%;
	font-weight: 400;
}
.iTop03_txt {
	line-height: 1.875;
	margin: 0;
	font-size: 134%;
	font-weight: 500;
}
.iTop03_company {
	line-height: 1.5;
	margin: 12px 0 0;
	font-size: 92%;
	font-weight: 400;
}
.iTop03_extend {
	line-height: 1.5;
	margin: 38px 0 0;
	padding: 20px 0 0;
	border-top: 1px solid #E6E6E6;
	font-size: 134%;
	font-weight: 700;
	text-align: right;
}
.iTop03_extend a {
	color: #000;
	text-decoration: none;
}
.d_hover .iTop03_extend a:hover {
	text-decoration: underline;
}
.iTop03_extend a::after {
	content: '';
	display: inline-block;
	width: 22px;
	height: 12px;
	margin: 0 0 0 15px;
	background: url(/common/images/rn04/svg/arw_ico02.svg) left top no-repeat;
	background-size: contain;
	vertical-align: -0.05em;
}

/*  point 小さく*/
.txt92{font-size: 92%}
.txt82{font-size: 82%}


/* アーカイブ　４列
------------------------------------------------------------------------------- */

.latest-columns {
  display: flex;
  gap: 16px;          /* 列間の余白 */
  flex-wrap: wrap;    /* 横幅が狭い場合は折返し */
	padding: 0 15px 0 15px;
}

.column-item {
margin: 0 0 15px 0;
  flex: 1;               /* 等幅に揃える */
  max-width: 25%;        /* 4列分で最大幅を指定 */
  box-sizing: border-box;
}

.column-item a {
  display: block;
position: relative;
  text-decoration: none;
  color: inherit;
}

.column-item .thumb img {
  width: 100%;
  height: auto;
  display: block;
}

/* NEWマーク */
.column-item .project_new {
	position: absolute;
	top: 0;
	left: 0;
	width: 44px;
	line-height: 20px;
	padding: 0 0 2px;
	background-color: #ff0046;
	color: #fff;
	font-size: 100%;
	font-weight: 400;
	text-align: center;
	z-index: 1;
content: none;
}



/* project番号 */
.bBlock02_img .project_num {
  position: absolute;
  width: 60px;
  height: 60px;
	background-color: #000;
  color: #fff;
  display: flex;
  flex-direction: column;   /* 縦に並べ */
  align-items: center;      /* 横中央 */
  justify-content: center;  /* 縦中央 */
	z-index: 1;
}

.bBlock02_img .project_num_tit01 {
color: #fff;
font-size: 95%;
font-weight: 400;
}

.bBlock02_img .project_num_tit02 {
	color: #fff;
	font-size: 130%;
	font-weight: 400;
}




/* project番号  プロジェクトライブラリ */
.column-item .project_num {
  position: absolute;
  width: 44px;
  height: 44px;
	background-color: #000;
  color: #fff;
  display: flex;
  flex-direction: column;   /* 縦に並べ */
  align-items: center;      /* 横中央 */
  justify-content: center;  /* 縦中央 */
	z-index: 1;
}

.column-item .project_num_tit01 {
color: #fff;
font-size: 65%;
font-weight: 400;
}

.column-item .project_num_tit02 {
	color: #fff;
	font-size: 110%;
	font-weight: 400;
}


/* プロジェクトのタイトル item */
.bBlock02_head div.bBlock02_info div.info-item{
display:flex;
position:relative;
}
.bBlock02_info.info-item.info-item-l{float: left;}
.bBlock02_info.info-item.info-item-r{float: left;}


.project_num02 {
  position: ;
  width: 60px;
  height: 60px;
	background-color: #000;
  color: #fff;
  display:flex;
  flex-direction: column;   /* 縦に並べ */
  align-items: center;      /* 横中央 */
  justify-content: center;  /* 縦中央 */
	z-index: 1;
}
.project_num02_tit01 {
display: block;
color: #fff;
font-size: 95%;
font-weight: 400;
}
.project_num02_tit02 {
display: block;
	color: #fff;
	font-size: 130%;
	font-weight: 400;
}


.column-item .info {
  padding: 8px 0 0 0;
}

.column-item .info .sub-t {
display:flex;
margin: 0 0 5px;
padding: 3px 3px 4px 5px;
overflow: auto;
font-size: 1.0em;
color: #222;
background: #E1E9FB;

}
.column-item .info .sub-d {
display: block;
  font-size: 1.1em;
  margin: 0 0 8px;
  color: #555;
}
.column-item .info .title {
  margin: 0 0 8px;
  font-size: 1.2em;
	font-weight: bold;
}





