@charset "UTF-8";
/* feauture-article */
html{
    scroll-behavior: smooth;
}
/* MV
===============================================================*/
#featureArticle-topMV{ width: 100%; position: relative;}
.featureArticle-img {
	text-align: center;
	background: #d1cec8;
	text-align: center;
}
.jireiArticle-img.jireiVer{
	height: 70vh;
	max-height: 750px;
}
.featureArticle-img img {
	width: 100%;
	max-width: 1500px;
	height: auto;
}
.featureArticle-img.jireiVer img{
	height: 100%;
	width: 100%;
	max-height: 750px;
	max-width: 1500px;
	margin: 0 auto;
	object-fit: cover;
	font-family: 'object-fit: cover; object-position: center top;';
}
.featureArticle-img.keizaiVer img{
	width: 100%;
	height: 100%;
}
.feature .inner {
    padding: 4rem 0;
}
/* ぱんくず
===============================================================*/
.breadcrumbs-box{
	position: absolute;
    top: 4rem;
    color: #fff;
	margin-left: 0;
}
li.breadcrumbs-item{
	display: inline-block;
    margin-bottom: 2rem;
}
li.breadcrumbs-item.js-f-large{
    margin-top: 2rem;
}
a.breadcrumbs-link{
	color: #fff;
}
.breadcrumbs-name{
	background-color:  #202020;
	padding: 0.5rem 1rem;
}
.breadcrumbs-arrow {
	position: relative;
	display: inline-block;
	padding-top: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
	padding-left: 1em;
	transform: rotate(45deg);
}
.breadcrumbs-arrow::after {
	content: '';
	width: 10px;
	height: 10px;
	border-top: solid 2px #fff;
	border-right: solid 2px  #fff;
	position: absolute;
	left: 10px;
	top: 8px;
}

/* 数字
===============================================================*/
#featureNO{
	display: flex;
	padding-top: 3rem;
}
#featureNO div{
	font-size: 3rem;
	letter-spacing: 0.2rem;
	display: flex;
	width: 13rem;
	height: 5rem;
}
#featureNO span{
	background: #fff;
	color: #ad000e;
	font-weight: 700;
	font-size: 2.4rem;
	padding: 1.3rem 1rem;
	display: flex;
	align-items: center;
	height: 100%;
}
#featureNO em{
	padding: 2.1rem 1rem 1.3rem;
    font-family: 'Teko-font';
    font-style: normal;
	color: #fff;
    background: #ad000e;
	display: flex;
	align-items: center;
	height: 100%;
}
#featureNO strong{
	width: calc(100% - 13rem);
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.5;
}
#featureNO.onMV{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	display: flex;
	align-content: center;
	flex-wrap: wrap;
	align-items: center;
}
#featureNO.onMV .featureNOinner{
	width: 100%;
	max-height: 750px;
	max-width: 1500px;
	padding: 0 0 0 2rem;
	margin: 0 auto;
	display:flex;
	flex-wrap: wrap;
}
#featureNO.onMV strong{
	width: 100%;
}
#featureNO.onMV strong span{
	background: rgba(255,255,255,.75);
	padding: 1rem;
	margin-top: 1rem;
	display: table;
	height: auto;
	width: auto;
	color: #000;
}
@media(max-width: 768px){
	#featureNO.onMV .featureNOinner{
		padding: 0 1rem;
	}
	#featureNO.onMV strong span{
		font-size: 1.6rem;
		text-align: left;
		padding: .5rem;
	}
	#featureNO.onMV strong span + span{
		margin-top: 0;
		padding-top: 0;
	}
}
@media(max-width: 540px){
	#featureNO{
		flex-wrap: wrap;
		padding-top: 0;
	}
	#featureNO strong{width: 100%;}
}

/* topMV end */
/* index */
/* index
===============================================================*/
#featureRead{
	padding-top: 5rem;
	font-size: 1.8rem;
	line-height: 1.7;
}
#featureArticle-index{
    margin: 8rem 0 3rem;
}
h2.index-head{
	position: relative;
	font-family: 'Teko-font';
	font-size: 4.5rem;
	z-index: 2;
}
.index-marker::before{
	position: absolute;
    content: '';
    bottom: 2px;
    height: 1.8rem;
    background-color: #fff;
    width: 9rem;
    z-index: -1;
}
h2.info-marker{
	position: relative;
	font-size: 3rem;
	font-weight: bold;
	z-index: 2;
	margin-bottom: 2rem;
	display: table;
}
.info-marker::before{
	position: absolute;
	content: '';
	bottom: -8px;
	height: 1.6rem;
	background-color: #fff;
	width: 100%;
	z-index: -1;
}
#featureArticle-index .index {
	padding-top: 2rem;
}
#featureArticle-index .index li{
	font-size: 1.8rem;
	border-bottom: 1px solid #fff;
	padding: 2rem 0;
}
#featureArticle-index .index li a:hover{
    text-decoration: underline;
}
.index-list{
	display: flex;
	justify-content: space-between;
	margin-top: 2rem;
}
.index-item{
	width: 48%;
	background: rgba(255,255,255,.75);
	padding: 7rem 2rem 2rem;
	border-top: 3px solid #777;
	position: relative;
}
@media (max-width: 768px){
	.index-list{flex-wrap: wrap;}
	.index-item{width: 100%; padding-bottom: 5rem;}
	.index-item:last-child{border: 0; padding-bottom: 2rem;}
}
.index-lv{
	font-size: 1.6rem;
	line-height: 1.5;
	font-weight: bold;
	color: #333;
}
.index-lv i{
	padding: 1rem 3rem .5rem;
	position: absolute;
	color: #fff;
	font-family: 'Teko-font';
	font-size: 3rem;
	letter-spacing: 0.2rem;
	top: -3px;
	left: -1rem;
	background: #333;
}
.index-lv i::before {
	position: absolute;
	content: '';
	top: 100%;
	left: 0;
	border: none;
	border-bottom: solid 10px transparent;
	border-right: solid 10px rgb(149, 158, 155);
}
.index-lv span{
	background: linear-gradient(transparent 70%, #f0f0f0 30%) !important;
	transition: .5s all;
}
.index-lv:hover span{
	background: linear-gradient(transparent 70%, #ffeff0 30%) !important
}
.index-case{
	margin-top: 2rem;
}
.index-case li{
	margin-top: 1rem;
}
.index-case li a{
	display: flex;
	align-items: flex-start;
}
.index-case li a i{
	background: #666;
	color: #fff;
	padding: 5px;
	margin-right: .5em;
	font-family: 'Teko-font';
	letter-spacing: 0.2rem;
	font-size: 1.4rem;
	height: auto;
}
.index-case li a span{
	display: inline-block;
	line-height: 1.2;
	padding-bottom: .5rem;
	transition: .5s all;
	border-bottom: 2px dotted #fcfaf7;
}
.index-case li a:hover span{
	border-bottom: 2px dotted #ccc;
}
/* セクション
===============================================================*/
.section-box{
	position: relative;
	background-color: #fff;
	border-top: 3px solid #e60012;
	padding: 8rem 5rem;
	margin-bottom: 5rem;
}

h2.sec-head{
	font-weight: bold;
	font-size: 2.6rem;
	line-height: 1.5;
}

/*01*/
.sec-bal{
	display: flex;
	justify-content: space-between;
	margin: 5rem 0;
	align-items: flex-start;
}
@media (max-width: 540px){
	.sec-bal{margin-bottom: 0; margin-top: 3rem;}
}
.sec-bal figure{
	width: 7rem;
	text-align: center;
	position: relative;
}
.sec-bal figure::after{
	content: "";
	display: inline-block;
    width: 0;
    height: 0;
    border: 1em solid transparent;
    border-right: 1em solid #f9f9f9;
	position: absolute;
	top: 3rem;
	right: -2.1rem;
}
.sec-bal figure figcaption{
	margin-top: 1rem;
	font-size: 1.4rem;
}
.sec-bal p{
	width: calc(100% - 9rem);
	background: #f9f9f9;
	border-radius: 2rem;
	padding: 1rem 2rem;
	line-height: 1.7;
	min-height: 7.2rem;
}
.sec-bal span{
	background: linear-gradient(transparent 50%, #fffdbf 50%) !important;
}
.sec-bal a{
	display: inline;
	margin: 0 .3em;
	border-bottom: 2px dotted #333;
}
.sec-bal a:hover{
	color: #1d9bf0;
	border-color: #1d9bf0;
}
@media(max-width: 540px){
	.sec-bal figure{
		width: 4rem;
	}
	.sec-bal p{
		width: calc(100% - 6rem);
		padding: 1rem;
	}
}

.sec-prof {
	padding: 5rem 3rem;
	background: #D1CEC8;
}
.profile-list{
	display: flex;
	flex-wrap: wrap;
}
.profile-item{
	width: 100%;
	border: 1px solid #c5c5c5;
	border-left: 10px solid #ad000e;
	margin-top: -1px;
	display: flex;
}
.profile-item figure{
	width: 20%;
	background: #f7f7f7;
}
.profile-item figure img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.profile-item span{
	color: #868686;
	font-size: 1.2rem;
}
.profile-item div{
	width: 80%;
	padding: 2rem;
	background: #fff;
	line-height: 1.5;
}
.profile-item div h3{
	margin: 1rem 0 2rem;
	font-size: 1.8rem;
}
.profile-item div p{
	font-size: 1.2rem;
}
@media screen and (max-width: 540px) {
	.sec-prof {
		padding: 4rem 1rem;
	}
}


/*02*/
h2.sec-head i.stamp{
	padding: 1rem 3rem .5rem;
	position: absolute;
	color: #fff;
	font-family: 'Teko-font';
	font-size: 3rem;
	letter-spacing: 0.2rem;
	top: -3px;
	left: -1rem;
	background: #ad000e;
}
h2.sec-head i.stamp::before{
	position: absolute;
	content: '';
	top: 100%;
	left: 0;
	border: none;
	border-bottom: solid 10px transparent;
	border-right: solid 12px rgb(149, 158, 155);
}

h3.lv-case{
	display: flex;
	align-items: flex-start;
}
h3.lv-case i{
	background: #ad000e;
	color: #fff;
	padding: 1rem 1rem .5rem;
	margin-right: .5em;
	font-family: 'Teko-font';
	letter-spacing: 0.2rem;
	font-size: 1.8rem;
	height: auto;
	width: 72px;
	text-align: center;
}
h3.lv-case span{
	display: inline-block;
	line-height: 1.2;
	padding-bottom: .5rem;
	font-size: 2.2rem;
	font-weight: 700;
	width: calc(100% - 72px);
}
@media (max-width: 540px){
	h3.lv-case{flex-wrap: wrap;}
	h3.lv-case span{width: 100%; margin-top: 0.5rem;}
}
.summary-list{
	background: #f9f5ee;
	border-top: 3px solid #ad000e;
	padding: 2rem 5rem;
	margin-bottom: 2rem;
}
.summary-list h3{
	color: #ad000e;
	padding: 2rem 4rem;
	font-size: 3rem;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 2rem;
}
.summary-list h3:before {
	content: "Company Name";
	font-family: 'Teko-font';
	font-size: 2rem;
	color: #313131;
	padding-top: .5rem;
	margin-right: 1em;
}
.summary-point{
	display: flex;
	align-items: center;
}
.summary-point + .summary-point{
	margin-top: 2rem;
}
.summary-point h4{
	width: 25%;
	max-width: 170px;
	border-radius: 50%;
	background: #fff;
	position: relative;
}
.summary-point h4::before{
	content: "";
	padding-top: 100%;
	display: block;
}
.summary-point h4 div{
	display: flex;
	align-content: center;
	flex-wrap: wrap;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	justify-content: center;
}
.summary-point h4 i{
	font-family: 'Teko-font';
	font-size: 3rem;
	letter-spacing: 0.2rem;
	color: #ad000e;
	width: 100%;
	display: block;
	text-align: center;
	margin: -10% 0 5%;
}
.summary-point h4 span{
	color: #666;
	width: 100%;
	display: block;
	text-align: center;
	font-size: 2rem;
}
.summary-point ul{
	width: 75%;
	padding-left: 2rem;
	display: flex;
	align-content: center;
	flex-wrap: wrap;
}
.summary-point li{
	margin: 1rem 0;
	width: 100%;
	line-height: 1.5;
}
.summary-point li::before{
	content: "●";
	color: #fff;
	margin-right: .5em;
}
@media (max-width: 768px){
	.summary-point h4 i, .summary-point h4 span{font-size: 2rem;}
}
@media (max-width: 540px){
	.summary-point{flex-wrap: wrap; justify-content: center; padding: 0;}
	.summary-point ul{width: 100%; padding: 0;}
	.summary-point + .summary-point{margin-top: 2rem; padding-top: 2rem; border-top: 1px solid #c5c5c5}
	.summary-point h4{width: 150px;}
	.summary-list{padding: 2rem;}
	.summary-list h3{flex-wrap: wrap; padding: 0;}
	.summary-list h3::before{width: 100%; margin: 0 0 1rem;}
}

.company-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.company-item{
	width: 48%;
	margin: 1rem 0 3rem;
}
@media (max-width: 540px){
	.company-item{
		width: 100%;
	}
}
.company-item dl{
	display: flex;
	flex-wrap: wrap;
}
.company-item dt{
	width: 5em;
	display: inline-block;
	padding: .5rem 1rem;
	background: #fff;
	color: #000;
	font-size: 1.4rem;
	text-align: center;
	margin-bottom: .5rem;
}
.company-item dd{
	width: 100%;
	line-height: 1.5;
}
.company-item dd + dt{
	margin-top: 2rem;
}
.company-item dd a{
	border-bottom: 2px dotted #333;
}
.company-item dd a:hover{
	color: #004c81;
}

/*03*/
.lead-prof{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	background-color: rgba(255, 255, 255, 0.626);
	border-top: 3px solid #e60012;
}
.lead-prof > p{
	width: 57%;
	padding: 3rem;
}
.lead-prof-right{
	width: 40%;
	text-align: center;
	font-size: 1.8rem;
}
.lead-prof-right p{
	font-size: 2rem;
	padding: 1.5rem;
	background-color: #fff;
}
.lead-prof-right p span{
	display: block;
	font-size: 1.6rem;
}
.section-subBox{
	position: relative;
}

.subsec-head{
	text-align: center;
	font-weight: bold;
	font-size: 2.3rem;
	line-height: 1.5;
}
.sub-Q,.sub-A{
	position: relative;
    padding-left: 7rem;
	margin-bottom: 2rem;
}
.sub-Q{
	font-weight: bold;
}
.sub-Q::before,.sub-A::before{
	display: inline-block;
	font-weight: normal;
    font-family: 'Teko-font';
    font-size: 3rem;
	position: absolute;
	left: 0;
	border-radius: 50%;
    height: 5rem;
    width: 5rem;
	padding: 1rem 0.4rem 1rem 1.7rem;
	top: -6px;
}
.sub-Q::before{
	content: 'Q.';
    background-color: #e60012;
    color: #fff;
}

.sub-A::before{
	content: 'A.';
    background-color: #fff;
    color: #e60012;
	border: 1px solid #e60012;
}
.feature3-4{
	padding: 0 5rem 8rem;
	border: 3px solid #ffe1e3;
	border-radius: 15px;
}
.feature3-4 h2.sec-head{
	padding: 2rem;
	background-color: #ad000e;
	color: #fff;
	margin: 0 -5rem;
	text-align: center;
	border-radius: 15px 15px 0 0;
}
.chart-title{
	font-size: 1.6rem !important;
}

@media (max-width: 540px){
	.lead-prof > p{
	width: 100%;
    padding: 2rem;
    font-size: 1.6rem;
    order: 2;
	}
	.lead-prof-right{
	text-align: center;
    order: 1;
    font-size: 1.6rem;
    width: 100%;
	}

	.feature3-4 h2.sec-head {
		margin: 0 -1rem;
	}
	.feature3-4 {
		padding-left: 1rem;
    	padding-right: 1rem;
		padding-top: 0 !important;
		border: 3px solid #ffe1e3;
		border-radius: 15px;
	}
}


/*04*/
.epi-data{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.epi-data figure{
	width: 40%;
}
.epi-data figcaption{
	font-size: 1.6rem;
	line-height: 1.5;
}
.epi-data div{
	width: 58%;
	order: 1;
}
@media (max-width: 540px){
	.epi-data figure, .epi-data div{
		width: 100%;
		order: 0;
	}
}



/*共有*/
.sec-textBox{
	padding-top: 7rem;
	padding-bottom: 5rem;
}
.sec-textBox:last-of-type{
	padding-bottom: 0;
}
.sec-textBox p{
	line-height: 3rem;
	font-size: 1.6rem;
	padding-bottom: 3rem;
}

.sec-textBox p a:hover{
    opacity: 1;
    text-decoration: underline;
}

.sec-textBox p:last-of-type{
	padding-bottom: 0;
}

.sec-imgBox{
	width: 85%;/*  imgは85％設定（sliderも） */
	margin: 0 auto;
}
.sec-imgBox a{
	display: inline-block;
	margin: 0 .3em;
	border-bottom: 2px dotted #333;
}
.sec-imgBox a:hover{
	color: #1d9bf0;
	border-color: #1d9bf0;
}

.secImg-flex{
    display: flex;
    justify-content: space-between;
}
.secImg-flex > div{
    width: 45%;
    display: flex;
    flex-wrap: wrap;
}
.sec-imgBox span,.secImg-flex span{
    display: block;
    font-size: 1.4rem;
    margin-top: .5rem;
    line-height: 1.5;
}

.sec-imgBoxT{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
}
.sec-imgBoxT figure{
	width: 50%;
}
.sec-imgBoxT div{
	width: 48%;
	font-size: 1.4rem;
	line-height: 1.7;
}
@media (max-width: 540px){
	.sec-imgBoxT figure,.sec-imgBoxT div{
		margin-bottom: 2rem;
		width: 100%;
	}
}
.sec-imgBoxT ul{
	margin-top: 4rem;
}
.sec-imgBoxT ul li{
	margin-bottom: 1rem;
}
.sec-imgBoxT ul li i{
	margin-right: .5em;
}



/* ページャー *********************************************************/
.justfy-flexend{
    justify-content: flex-end !important;
}
.prev-next-linkBox{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
    line-height: 1.2;
	margin-bottom: 5rem;
    margin-top: 5rem;
}
a.prev-link,a.next-link{
	position:relative;
	display: block;
	padding-bottom: 1rem;
	border-bottom: 5px solid #292929;
	font-size: 2.2rem;
	font-weight: bold;
    width: 40%;
}
a.prev-link{
padding-left: 3rem;
}
a.next-link{
	padding-right: 3rem;
}
a.next-link::after{
	content: '';
    width: 20px;
    height: 20px;
    border-top: solid 3px #292929;
    border-right: solid 3px #292929;
    position: absolute;
    right: 0;
    top: 20px;
    transform: rotate(45deg);
}
a.prev-link::before{
	content: '';
    width: 20px;
    height: 20px;
    border-top: solid 3px #292929;
    border-right: solid 3px #292929;
    position: absolute;
    left: 8px;
    top: 20px;
    transform: rotate(-135deg);
}
/* ページャー終わり **************************************************************/
/* 関連記事 *********************************************************************/
.topContent-head {
	padding-bottom: 2rem;
}
.topContent-head img{
	max-height: 34px;
    max-width: 100%;
    width: auto;
}

/* 記事一覧デザイン 共通 */
#jirei-kanren{
    padding-top: 4rem;
    padding-bottom: 6rem;
}
.article-list{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.article-item{
	position: relative;
	width: 31%;
	background-color: #fff;
    margin-bottom: 2rem;
	margin-right: 2%;
}
.article-link{
	display: block;
	width: 100%;
	height: 100%;
	background-color: #fff;
}
.article-link::after{
	/* リンクを広げる */
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	pointer-events: auto;
	content: "";
	background-color: transparent;
}
.article-img{position: relative;}
.article-img::before {
	/* 三角形 */
    content: "";
    top: 0;
    left: 0;
    border-bottom: 8rem solid transparent;
    border-left: 8rem solid #e60012;  /* 三角の色変更 */
    position: absolute;
    z-index: 100;
}
/* .article-item i{
	font-family: 'Teko-font';
	font-size: 3rem;
	letter-spacing: 0.2rem;
    top: 10px;
	padding-left: 10px;
    color: #fff;
    left: 0;
    position: absolute;
    z-index: 200;
} */
.article-img img{
	width: 100%;
	height: auto;
	-o-object-fit: cover;
	font-family: 'object-fit: cover;'; /*IE対策*/
	object-fit: cover;
}

.jirei-title{
	font-size: 1.8rem;
    font-weight: 600;
	padding: 2rem 2rem 0;
}
.jirei-place{
	display: block;
    font-size: 1.4rem;
    margin-top: 0.5rem;
	padding: 0 2rem;
}
.jirei-text{
	margin-top: 1rem;
    font-size: 1.6rem;
	font-weight: normal;
    line-height: 1.5;
    overflow: hidden;
	padding: 0 2rem 2rem;
}
.jirei-arrow{
	position: relative;
}
.jirei-arrow::after{
	content: '';
    width: 10px;
    height: 10px;
    border-top: solid 2px #e60012;
    border-right: solid 2px #e60012;
    position: absolute;
    right: 8px;
    top: 57px;
    transform: rotate(45deg);
}

.jirei-img.article-img::before{
	border-left: 8rem solid #004c81;  /* 三角の色変更 */
}



/* 関連記事end *********************************************************************/
/* snsボタン **********************************************************************/
/* →→→style.css */
/* snsボタンend */

@media (max-width: 960px) {

    /*  bottomのトップ */
    .topCard-box{
        position: relative;
        margin-top: -7rem;
        margin-bottom: 8rem;
        width: 100%;
    }
    .articleTop-card{
        width: 100%;
    }

    .index-sdgsBox p{
        margin-top: -4rem;
    }
    #featureArticle-info .info-box ul li span.info-cat {
        width: 10%;
    }
}

@media (max-width: 768px) {
/* カードレイアウト*/
ul.box-container li{width: calc(50% - 20px / 2); }
ul.sns-btn-box li{width:22%;}

/* パンくずリスト */
.breadcrumbs-box{
top: 0;
font-size: 1.4rem;
margin-left: 0;
}
.breadcrumbs-name{
padding: 0.2rem;
}

}




@media (max-width: 610px) {
    .timeline-item .timeline-text p{
        font-size: 1.4rem;
        line-height: 1.5;
    }
    a.next-link::after {
        width: 13px;
        height: 13px;
        right: 0;
        top: 9px;
    }
    a.prev-link::before {
        width: 13px;
        height: 13px;
        left: 0;
        top: 9px;
    }
    a.prev-link, a.next-link {
        font-size: 1.6rem;
    }
	.profile-item{flex-wrap: wrap; border-left: 1px solid #c5c5c5;}
	.profile-item figure, .profile-item div{
		width: 100%;
	}


}


@media (max-width: 540px){
    /*    new topMV */
	.topCard-box{
	margin-top: -4rem;
	}
	.articleTop-card{
	position: relative;
	padding: 4rem 1rem 4rem 2rem;
	}

	.top-triangle::before {
	border-bottom: 6rem solid transparent;
	border-left: 6rem solid #004c81;
	}

	.triangle-label {
		font-size: 2.4rem;
		top: 6px;
		left: -2px;
	}
	h2.topCard-heading{
		font-size: 2rem;
		line-height: 1.5;
		letter-spacing: 0.2rem;
	}

	.articleTop-card p {
	font-size: 1.6rem;
	padding-top: 1.8rem;
	line-height: 2;
	}
	.articleTop-card span {
	display: block;
	font-size: 2rem;
	font-weight: 400;
	padding-top: 1.5rem;
	font-size: 1.6rem;
	}

	/* new index ***********/
	#featureArticle-index .index li:first-child{
		padding-top: 0;
	}
	#featureArticle-index .index li {
		font-size: 1.5rem;
		line-height: 1.4;
	}
	h2.index-head{
		font-size: 3.5rem;
	}
	.index-marker::before{
	width: 7rem;
	}

	#featureArticle-info .info-box{
		margin-top: 4rem;
	}
	.info-box ul li.js-f-large {
		margin-bottom: 2.5rem;
	}


	.breadcrumbs-box{
		display: none !important;
	}

	/* セクション ***********/
	#featureArticle-index{
		margin: 3rem 0;
	}
	.section-box{
		padding-top: 3rem;
		padding-bottom: 3rem;
	}
	/* #Sec3{
		padding-top: 6rem;
	} */
	.section-box{
		padding-left: 1rem;
		padding-right: 1rem;
		margin-bottom: 4rem;
	}

	/* new 記事 ***********/
	h2.sec-head{
		margin-top: 4rem;
		font-weight: bold;
		font-size: 2.3rem;
		line-height: 1.5;
	}



	.sec-textBox{
		padding-top: 5rem;
		padding-bottom: 3rem;
	}

	.sec-textBox p{
		line-height: 3rem;
		font-size: 1.6rem;
		padding-bottom: 2rem;
		text-align: justify;

	}
	.sec-imgBox span,.secImg-flex span{
		font-size: 1.4rem;
	}

	#newRelated ul.box-container li a div.card .triangle::before {
		border-left: 5rem solid #004c81;
	}

	.info-sdgs-marker::before {
		width: 13rem;
	}
	.info-marker::before {
		width: 8.5rem;
	}
	.prof-marker.info-marker::before{
		width: 33rem;
	}
	.feature01 .prof-marker.info-marker::before{
		width: 12rem;
	}
	.summery-marker.info-marker::before{
		width: 14rem;
	}
	.company-marker.info-marker::before{
		width: 12rem;
	}
	#featureArticle-info h3 {
		font-size: 2rem;
	}
	.info-box ul li {
		font-size: 2rem;
	}
	.info-box ul li {
	font-size: 1.4rem;
	}
	#featureArticle-info div p {
		font-size: 1.4rem;
	}
	#featureArticle-info .info-box ul li span.info-cat {
		width: 25%;
	}
	#featureArticle-info .info-box ul li span:nth-child(2) {
		width: 75%;
	}

	.solution-content{
		padding-top: 0 ;
		padding-bottom: 0;
	}

	.sec-slider{
		width: 95%;
		height: 30vh;
	}

	li.sec-slider-item{
		height: 30vh;
	}

	.sec-imgBox{
		width: 100%;
	}

	.banner-img{
		width: 40%;
	}

	/* 最新事例 */
	.article-list{
		margin-top: 2px;
		justify-content: space-between;
	}
	.article-item{
		width: 49%;
		margin: 0 0 1rem;
	}
	.article-link{
		display: flex;
		flex-wrap: wrap;
		align-content: flex-start;
	}
	.jirei-img.article-img::before {
		border-bottom: 5rem solid transparent;
		border-left: 5rem solid #004c81;  /* 三角の色変更 */
	}
	.article-item::before{
		/* 数字 */
		font-size: 1.6rem;
		top: 8px;
	}
	.article-item i{
		/* 数字 */
		font-size: 1.6rem;
		top: 8px;
	}


	.jirei-title{
		font-size: 1.4rem;
		line-height: 1.3;
		padding: 1rem 1rem 0;
	}
	.jirei-place{
		display: block;
		font-size: 1.3rem;
		margin-bottom: 0.5rem;
		padding: 0 1rem;
	}
	.jirei-text{
		margin-top: 0.3rem;
		font-size: 1.4rem;
		line-height: 1.3;
		padding: 0 2rem 1rem 1rem;
	}
	.timeline-item .timeline-text {
		width: 72%;
	}

	.timeline-item .timeline-text p {
		font-size: 1.4rem;
		line-height: 1.5;
	}
	.timeline-item figure {
		width: 25%;
	}
	a.prev-link{
    padding-left: 1rem;
    }
    a.next-link{
        padding-right: 1rem;
    }
}

@media (max-width: 404px){
    .timeline-line img {
        height: 444px;
    }
}


/* アコーディオン
===============================================================*/
.accordion {
	position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 70px;
}
.accordion-item {
	position: relative;
	padding: 3rem 5rem 4rem;
	background:	#fff;
}
.accordion-item.lead {
	/* padding-bottom: 7rem; */
	background: rgba(255,255,255,.75);
}
.accordion-item.lead h2 {
	padding-bottom: 5rem;
}
.accordion-item.lead .lead-title {
	position: relative;
	display: inline-block;
	margin-top: 3rem;
	cursor: pointer;
}
.accordion-item.lead .lead-title:not(.open)::before {
	content: "";
	border-right: solid 2px #000;
  border-top: solid 2px #000;
  display: inline-block;
	width: 8px;
  height: 8px;
	margin-right: 1rem;
  -webkit-transform: rotate(45deg) translate(-1px,-1px);
          transform: rotate(45deg) translate(-1px,-1px);
  transition: top .3s ease-in-out, -webkit-transform .3s ease-in-out;
  transition: transform .3s ease-in-out, top .3s ease-in-out;
  transition: transform .3s ease-in-out, top .3s ease-in-out, -webkit-transform .3s ease-in-out;
}
.accordion-item.lead .lead-title.open::before {
	content: "";
	border-right: solid 2px #000;
  border-top: solid 2px #000;
  display: inline-block;
	width: 8px;
  height: 8px;
	margin-right: 1rem;
  -webkit-transform: rotate(-45deg) translate(0px,0px);
          transform: rotate(-45deg) translate(0px,0px);
  transition: top .3s ease-in-out, -webkit-transform .3s ease-in-out;
  transition: transform .3s ease-in-out, top .3s ease-in-out;
  transition: transform .3s ease-in-out, top .3s ease-in-out, -webkit-transform .3s ease-in-out;
}
.accordion-title-arrow {
	position: absolute;
  bottom: 3.5rem;
	left: 50%;
	display: block;
	/* width: 100%; */
	cursor: pointer;
}
.accordion-title-arrow::after {
  border-right: solid 4px #000;
  border-top: solid 4px #000;
  content: "";
  display: block;
	width: 16px;
  height: 16px;
  position: absolute;
  /* bottom: -1.5rem;
	left: 50%; */
	top: 0;
	left: 0;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  transition: top .3s ease-in-out, -webkit-transform .3s ease-in-out;
  transition: transform .3s ease-in-out, top .3s ease-in-out;
  transition: transform .3s ease-in-out, top .3s ease-in-out, -webkit-transform .3s ease-in-out;
}
.accordion-title-arrow.open::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.feature04 .accordion-item.lead::after {
	display: none;
}
.accordion-content {
  display: none;
}
.accordion-lead-content {
	display: block;
}
.accordion-lead-content:not(.open) {
	overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.accordion-lead-content.open {
	overflow: auto;
  display: block;
}
.accordion-lead-content .sec-textBox {
	padding: 0;
	/* min-height: 60px; */
}
.accordion-lead-content .sec-textBox p {
	padding-bottom: 0;
}
.accordion-lead-content .sec-textBox p:not(:first-of-type) {
	padding-top: 3rem;
}
.accordion-title {
  position: relative;
	cursor: pointer;
}
.accordion-column {
	display: flex;
	/* align-items: flex-start; */
	align-items: center;
	justify-content: flex-start;
	gap: 3.0rem;
	margin-top: 3rem;
}
.accordion-images {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	/* width: 50%; */
}
.accordion-images img {
	width: 40%;
	min-width: 200px;
}
.accordion-column h2 {
	width: 50%;
	flex-shrink: 0;
	/* margin-top: 5rem;
	margin-left: 5rem; */
}
/* @media screen and (max-width: 1000px) {
	.accordion-column {
		justify-content: space-between;
	}
	.accordion-column h2 {
		margin-top: 2rem;
	}
} */
.accordion-achv {
	margin-top: 5rem;
	margin-bottom: 3rem;
	width: 58%;
	margin-inline: auto;
}
.accordion .sec-subHead {
	color: #ad000e;
	font-weight: bold;
	font-size: 2.0rem;
	line-height: 1.5;
}
.accordion .name-box {
	position: relative;
	display: block;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	/* margin-top: -5rem;
	margin-right: -3rem; */
	margin-left: 2rem;
	background: #fff;
	border: 2px solid #000;
	padding: 1.5rem;
	z-index: 1;
}
.accordion .name-box p {
	font-size: 1.6rem;
	line-height: 1.3;
}
.accordion .name-box p .name {
	font-size: 1.5em;
}
.accordion-achv {
	padding: 1.5rem;
	border-radius: 1rem;
	background: #f2ece1;
	border: 2px solid #000;
	font-size: 1.4rem;
	line-height: 1.8;
}
.accordion-achv .title {
	font-weight: bold;
	text-align: center;
	font-size: 1.2em;
	margin-bottom: 1rem;
}
.accordion .sec-textBox strong {
	color: #ad000e;
}
@media (max-width: 1000px) {
	.accordion-column {
		flex-direction: column;
		align-items: center;
		margin-right: 0;
	}
	.accordion-column h2 {
		width: 100%;
		margin-left: 0;
		/* text-align: center; */
	}
	.accordion-images {
		width: 100%;
		min-width: 400px;
	}
	.accordion-images img {
		width: 30%;
	}
	.accordion-achv {
		width: 85%;
		margin-top: 3rem;
	}
	/* .accordion .name-box {
		margin-top: -3rem;
		margin-right: -5rem;
	} */
}
@media (max-width: 540px) {
	.accordion-item.lead h2.sec-head {
		margin-top: 0;
		padding-bottom: 3rem;
	}
	.accordion-column h2 {
		margin-top: 0;
	}
	.feature04 .accordion-item.lead::before {
		left: 1rem;
	}
	.accordion-item {
		padding: 3rem 1rem 5rem;
	}
	.accordion-item.lead {
		padding: 3rem 1rem;
	}
	.accordion-images {
		width: 100%;
		min-width: auto;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.accordion-achv {
		width: 100%;
	}
	.accordion .name-box {
		/* margin-top: -5rem; */
    /* margin-right: 0; */
		margin-top: 2rem;
		margin-left: 0;
	}
	.accordion-title::after {
		display: none;
	}
	.accordion-item {
		position: relative;
	}
	.accordion-images img {
		width: 100%;
		max-width: 300px;
	}
}
@media (max-width: 450px) {
	.accordion-achv {
		width: 100%;
	}
}


/* 特集03
===============================================================*/
.feature03 #featureNO.onMV {
	align-content: flex-end;
}
.feature03 #featureNO.onMV .featureNOinner {
	margin-bottom: 200px;
}
.feature03 .feature-lead {
	padding-top: 5rem;
	font-size: 1.8rem;
	line-height: 1.7;
}
.feature03 .lead-prof h2 {
	width: 100%;
	text-align: center;
	padding-top: 3rem;
}
.feature03 .lead-prof-left {
	width: 57%;
	padding: 3rem;
}
.feature03 .lead-prof-left p {
	margin-bottom: 2rem;
}
.feature03 .lead-prof-right {
	padding: 3rem;
	padding-left: 0;
}
.feature03 .section-box {
	margin-top: 70px;
}
.feature03 .section-box > div:not(:last-child) {
	margin-bottom: 7.0rem;
}
.feature03 .accordion-item {
	padding: 0;
}
.feature03 .accordion-title::after {
	display: none;
}
.accordion-f03-title {
	position: relative;
	display: flex;
	align-items: center;
	color: #fff;
	background: #ad000e;
	padding: 2rem;
	border-radius: 12px;
}
.accordion-f03-title.densho {
	background: #ED6B1F;
}
.accordion-f03-title img {
	width: 25%;
}
.accordion-f03-texts{
	margin-inline: 30px;
}
.accordion-f03-company {
	font-weight: bold;
	line-height: 1.2;
	padding-bottom: 0.5rem;
	font-size: 2.0rem;
}
.accordion-state {
	display: block;
	min-width: 54px;
	margin-left: auto;
	margin-right: 2rem;
	font-size: 1.8rem;
}
.accordion-state-close {
	display: none;
}
.accordion-item.open .accordion-state-close {
	display: block;
}
.accordion-item.open .accordion-state-open {
	display: none;
}
.accordion-f03-modelBox {
	margin-top: 7rem;
}
.accordion-f03-model {
	padding: 5rem 3rem;
	border: 1px solid #000;
}
.accordion-f03-model > div:not(:last-of-type) {
	margin-bottom: 3rem;
}
.accordion-f03-model p {
	line-height: 3rem;
	font-size: 1.6rem;
}
.accordion-f03-model .deco {
	color: #fff;
	background: #ad000e;
	padding: 0.5rem 1rem;
	margin-bottom: 1rem;
}
.accordion-f03-model .title {
	font-size: 2.0rem;
}
.accordion-content .a-note {
	margin-top: 3rem;
	line-height: 3rem;
	font-size: 1.4rem;
}
.accordion-f03-content {
	margin-top: 7rem;
}
.accordion-f03-content h3.sec-head {
	font-weight: bold;
	font-size: 2.6rem;
	line-height: 1.5;
	text-align: center;
}
.accordion-f03-content h3.sec-head:not(.densho) {
	padding: 2.2rem;
	border-left: 1.5rem solid #ad000e;
	background-color: #f4f4f4;
	font-weight: bold;
	font-size: 2.3rem;
	width: 100%;
	border-radius: 6px;
	text-align: left;
}
.accordion-f03-content h3.sec-head:not(.densho) + * {
	padding-top: 3rem;
}
.accordion-f03-content h3.sec-head .area {
	display: inline-block;
	padding: 1.0rem;
	color: #fff;
	background: #ED6B1F;
	margin-right: 1.0rem;
}
.accordion-f03-content h3.sec-head.densho span:not(.area) {
	display: inline-block;
	padding-bottom: 0.5rem;
	border-bottom: 3px solid #ED6B1F;
}
.accordion-f03-content .content-link {
	margin-top: 7.0rem;
	padding: 3.0rem;
	line-height: 3rem;
	font-size: 1.6rem;
	text-align: center;
	background: #FFFEEE;
}
.accordion-f03-content .densho-flex {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-top: 7.0rem;
	line-height: 3rem;
	font-size: 1.6rem;
}
.accordion-f03-content .densho-flex > * {
	width: 45%;
	font-size: 2.0rem;
	line-height: 3.5rem;
}
.accordion-f03-content .densho-flex .title {
	width: 60%;
	color: #fff;
	background: #ED6B1F;
	border-radius: 12px;
	padding: 10px;
	text-align: center;
	margin-bottom: 2.0rem;
}
.accordion-f03-content .densho-flex .name {
	margin-bottom: 2.0rem;
}
.accordion-f03-content .densho-flex ul {
	font-size: 1.8rem;
}
.accordion-f03-article {
	margin-top: 15.0rem;
}
.feature03 sup {
	font-size: 60%;
}
.accordion-f03-content .densho-flex figure span {
	display: block;
	font-size: 1.4rem;
	margin-top: 0.5rem;
	line-height: 1.5;
}
@media screen and (max-width: 768px) {
	.feature03 #featureNO.onMV .featureNOinner {
		margin-bottom: 100px;
	}
	.accordion-f03-company {
		font-size: 1.4rem;
	}
	.accordion-f03-texts h2.sec-head {
		font-size: 2.0rem;
	}
	/* .accordion-f03-title {
		flex-direction: column;
	}
	.accordion-f03-title img {
		width: 50%;
	}
	*/
	.accordion-f03-title img {
		width: 30%;
	}
	.accordion-f03-title {
		padding-bottom: 5rem;
	}
	.accordion-f03-texts {
		margin-right: 0;
	}
	.feature03 .accordion-state {
		position: absolute;
		bottom: 1.5rem;
		left: 50%;
		transform: translateX(-50%);
	}
	.accordion-f03-content .densho-flex .name {
		font-size: 1.8rem;
		margin-bottom: 1.0rem;
	}
	.accordion-f03-content .densho-flex ul {
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 540px) {
	.feature03 .lead-prof h2 {
		padding-top: 0;
		padding-inline: 1.5rem;
	}
	.feature03 .lead-prof-left {
		width: 100%;
	}
	.feature03 .lead-prof-right {
		padding-left: 3rem;
		padding-top: 0;
	}
	.accordion-f03-texts h2.sec-head {
		margin-top: 0;
	}
	.accordion-f03-title {
		flex-direction: column;
	}
	.accordion-f03-title img {
		width: 100%;
		max-width: 350px;
	}
	.accordion-f03-texts {
		margin: 0;
		margin-top: 1.0rem;
	}
	.accordion-f03-model {
		padding: 2rem;
	}
	.accordion-f03-content h3.sec-head {
		font-size: 2.3rem;
	}
	.accordion-f03-content .densho-flex {
		flex-direction: column;
		align-items: center;
		margin-top: 5rem;
	}
	.accordion-f03-content .densho-flex > * {
		width: 100%;
		font-size: 1.6rem;
	}
	.accordion-f03-content .densho-flex > div {
		order: 2;
		margin-top: 3rem;
	}
	.accordion-f03-content .densho-flex .title {
		width: 100%;
		font-size: 2.0rem;
	}
	.accordion-f03-content h3.sec-head.densho {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: 1rem;
	}
	.accordion-f03-article {
		margin-top: 10rem;
	}
	.accordion-f03-content .content-link {
		padding: 2.0rem;
	}
}


/* 特集02
===============================================================*/
.feature02 .featureArticle-img.jireiVer img {
	max-height: 1040px;
}
.feature02 #featureRead .atn {
	margin-top: 2.0rem;
	font-size: 0.8em;
}
.feature02 .index-flex {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem 1%;
	margin-top: 2.0rem;
}
.feature02 .index-flex-item {
	display: block;
	width: calc(98% / 3);
	background: #fff;
	padding: 2rem;
}
.feature02 .index-flex-item.long {
	width: calc(99% / 2);
	padding: 2rem 8%;
	text-align: center;
}
.feature02 .index-flex-item.long img {
	width: 50%;
}
.feature02 .index-flex-item .title {
	font-size: 2.0rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	margin-bottom: 2.0rem;
}
.feature02 .index-flex-item figcaption {
	font-size: 0.8em;
	opacity: 0.8;
	margin-top: 0.5rem;
}
.feature02 .sec-head {
	text-align: center;
	margin-top: 0;
}
.feature02 .sec-head .small {
	display: block;
	font-size: 0.8em;
}
.feature02 .design-list {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 5rem 3%;
	margin-top: 7.0rem;
}
.feature02 .design-list-item {
	width: calc(97% / 2);
	background: #fff;
	border: 1px solid #ad000e;
}
.feature02 .design-list-item .design-list-title {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	font-weight: bold;
	font-size: 2.6rem;
	line-height: 1.5;
	text-align: center;
	color: #fff;
	background: #ad000e;
	padding: 1rem 3rem;
}
.feature02 .design-list-item .design-list-title span.small {
	font-size: 0.8em;
}
.feature02 .design-list-item figure {
	margin: 2rem 2rem 0;
}
.feature02 .design-list-item figure.tate {
	max-width: 300px;
	margin-inline: auto;
}
.feature02 .design-list-item figcaption {
	height: 15px;
	font-size: 0.8em;
	opacity: 0.8;
	margin-top: 0.5rem;
}
.feature02 .design-list-text {
	line-height: 3rem;
	font-size: 1.6rem;
	text-align: center;
	margin: 0 2rem 2rem;
}
.feature02 .accordion-container {
	margin-top: 7.0rem;
	border: 1px solid #ad000e;
}
.feature02 .accordion-item {
	padding: 5rem 2rem 7rem;
}
.feature02 .accordion-content.open {
	display: block;
}
.feature02 .accordion-title {
	cursor: auto;
}
.feature02 .accordion-title::after {
	display: none;
}
.feature02 .accordion-title-deco {
	display: inline-block;
	background: #ad000e;
	color: #fff;
	padding: 1rem 1rem 0.5rem;
	margin-right: 0.5em;
	font-family: 'Teko-font';
	letter-spacing: 0.2rem;
	font-size: 1.8rem;
	text-align: center;
}
.feature02 .accordion-title-copy {
	font-size: 2.6rem;
	line-height: 3rem;
	font-weight: 700;
	margin-top: 2rem;
	margin-bottom: 1rem;
}
.feature02 .accordion-title-text {
	font-size: 1.6rem;
	line-height: 1.5;
}
.feature02 .accordion-title-flex {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-top: 5rem;
}
.feature02 .accordion-title-left {
	width: 45%;
}
.feature02 .accordion-title-right {
	width: 45%;
	margin-right: 5%;
}
.feature02 .accordion-title-left .title {
	font-size: 2.3rem;
	line-height: 3rem;
	font-weight: 700;
	margin-bottom: 1rem;
	color: #ad000e;
}
.feature02 .accordion-title-left .name {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.feature02 .accordion-title-left .name > * {
	width: 48%;
}
.feature02 .accordion-title-left .name p {
	font-size: 1.6rem;
	line-height: 3rem;
}
.feature02 .accordion-slide-items {
  width: 100%;
}
.feature02 .accordion-slide-items img {
  width: 100%;
  object-fit: cover;
}
.feature02 .accordion-slide-items span {
	display: block;
	margin-bottom: 1rem;
	color: #ad000e;
	font-size: 1.6rem;
	line-height: 3rem;
}
.feature02 .accordion-slide-items p {
	font-size: 1.4rem;
	margin-top: 0.5rem;
	line-height: 1.5;
}
.feature02 .slick-prev,
.feature02 .slick-next {
	width: 3.5rem;
	height: 3.5rem;
	background: #ad000e;
}
.feature02 .slick-prev {
	left: -3.5rem;
}
.feature02 .slick-next {
	right: -3.5rem;
}
.feature02 .slick-prev:before,
.feature02 .slick-next:before {
	width: 1.5rem;
	height: 1.5rem;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
}
.feature02 .slick-next:before {
	top: 10px;
	left: 5px;
}
.feature02 .slick-prev:before {
	top: 10px;
	left: 15px;
}
.feature02 .accordion-state {
	cursor: pointer;
	text-align: center;
	margin-inline: auto;
	margin-top: 3rem;
	width: 70%;
	padding: 2rem;
	border: 1px solid #ad000e;
}
.feature02 .accordion-state.open {
	display: none;
}
/* .feature02 #sec7 .sec-textBox {
	padding-top: 0;
} */
.modal__wrapper {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  z-index: 20;
  width: 100%;
  height: 100%;
}
.modal__trigger {
	cursor: pointer;
	text-align: center;
}
.design-modal {
	text-align: center;
}
.design-modal img {
	width: 50%;
	min-width: 300px;
}
.design-modal span {
	text-align: left;
}
.modal__layer {
  height: 100%;
  background: rgba(50, 50, 50, .85);
  cursor: pointer;
}
.modal__container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow-y: auto;
  width: min(calc(100% - 40px), 900px);
  max-height: calc(100% - 40px);
}
.modal__close {
  position: absolute;
  top: 0;
  right: 0;
  width: 44px;
  height: 44px;
  background: rgba(50, 50, 50, 1);
  cursor: pointer;
  transition: opacity .6s;
}
.modal__close:hover {
  opacity: .6;
}
.modal__close:before,
.modal__close:after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 1px;
  background: #fff;
  content: '';
}
.modal__close:before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.modal__close:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.feature02 .modal__content figure {
	margin: 0;
}
.feature02 .modal__content figcaption {
	color: #fff;
}
.feature02 .modal__content figure.tate {
	max-width: none;
}
.feature02 .modal__content .modal-title {
	color: #fff;
	text-align: center;
	margin-top: 44px;
	margin-bottom: 10px;
	font-size: 2.0rem;
	line-height: 3rem;
}
.feature02 .modal__content .modal-text {
	color: #fff;
	text-align: center;
	margin-top: 10px;
	font-size: 1.6rem;
	line-height: 3rem;
}
.feature02 .design-modal-text {
	display: none;
}
.feature02 .gaiyo-flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 7.0rem;
	margin-bottom: 3.0rem;
}
.feature02 .gaiyo-flex .sec-imgBox {
	width: 30%;
}
.feature02 .gaiyo-flex p {
	width: 60%;
	line-height: 3rem;
	font-size: 1.6rem;
}
.feature02 .gaiyo-box {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5%;
	border: 1px solid #ad000e;
	padding: 2rem;
}
.feature02 .gaiyo-box > img {
	max-width: 150px;
}
.feature02 .gaiyo-box > div {
	width: 70%;
	font-size: 1.6rem;
	line-height: 3rem;
}
.feature02 .gaiyo-title {
	font-weight: 700;
}
.feature02 .gaiyo-publisher {
	font-size: 0.9em;
}
.feature02 .gaiyo-text {
	margin-top: 3rem;
}
@media screen and (max-width: 768px) {
	.feature02 .index-flex-item {
		width: calc(99% / 2);
	}
	.feature02 .index-flex-item.long {
		padding: 2rem;
	}
	.feature02 .design-list-item {
		width: 100%;
	}
	.feature02 .accordion-title-flex {
		flex-wrap: wrap;
	}
	.feature02 .accordion-title-left {
		width: 100%;
	}
	.feature02 .accordion-title-right {
		width: 90%;
		margin-inline: auto;
		margin-top: 5rem;
	}
	.feature02 .index-flex-item.long img {
		width: 100%;
	}
}
@media screen and (max-width: 540px) {
	.feature02 .index-flex-item .title {
		font-size: 1.6rem;
	}
	.feature02 .design-list-item .design-list-title {
		font-size: 2.0rem;
	}
	.feature02 .accordion-title-copy,
	.feature02 .accordion-title-left .title {
		font-size: 2.0rem;
	}
	.feature02 .accordion-state {
		padding: 1rem;
	}
	.feature02 .gaiyo-box {
		flex-direction: column;
		padding: 2rem;
	}
	.feature02 .gaiyo-box > div {
		width: 100%;
		margin-top: 3rem;
	}
	.feature02 .gaiyo-flex {
		display: block;
		margin-top: 5.0rem;
	}
	.feature02 .gaiyo-flex .sec-imgBox {
		width: 90%;
		margin-bottom: 2.0rem;
	}
	.feature02 .gaiyo-flex p {
		width: 100%;
	}
}