main{
	width: 100%;
    position: relative;
    background-color: #FFFFFF;
    z-index: 5;
	overflow: hidden;
}

#carousel{
    width:100%;
    height:480px;
	max-height: calc( 100vw / 1175 * 480 );
	margin: 0;
	padding: 0;
}

.carousel-swiper{
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.swiper-slide{
	width: 100%;
    max-width: 1175px !important;
    height: 100%;
    background-color: #000000;
}

.swiper-slide:not(.swiper-slide-active) .slide-inner{
    pointer-events: none;
    opacity: 0.3;
}

.slide-inner{
    position: relative;
    width: 100%;
    height: 100%;
}

.slide-inner > a {
	display: block;
    width: 100%;
    height: 100%;
}

.slide-inner > a > img{
    width: 100%;
    height: 100%;
    object-fit:cover;
}

.swiper-slide-active .carousel-text-area{
    position: absolute;
    left: 0;
    bottom: 0px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
    width: 100%;
    height: 120px;
    background: linear-gradient(to right, rgba(0,0,0,0.8), rgba(0,0,0,0));
}

.swiper-slide-active .carousel-text-area::before {
    position: absolute;
    display: inline-block;
    justify-content: center;
    content: "";
    top: 0;
    left: 0;
    width: 86px;
    height: 86px;
    background: linear-gradient(to bottom right, rgba(246,0,39,0.5) 50%, transparent 50%);
}

.slide-inner > a .carousel-text-area p {
	position: relative;
	padding: 0 20px;
    font-size: 30px;
	line-height: 1.2;
    color: #FFFFFF;
}
@media all and ( max-width: 767px ) {
.swiper-slide-active .carousel-text-area{
    height: 80px;
}
.swiper-slide-active .carousel-text-area::before {
    width: 60px;
    height: 60px;
}
.slide-inner > a .carousel-text-area p {
	padding: 0 15px;
    font-size: 24px;
}
}
@media all and ( max-width: 550px ) {
.swiper-slide-active .carousel-text-area{
    height: 60px;
}
.swiper-slide-active .carousel-text-area::before {
    width: 45px;
    height: 45px;
}
.slide-inner > a .carousel-text-area p {
	padding: 0 15px;
    font-size: 16px;
}
}

.swiper-button-prev,
.swiper-button-next {
	top: calc( 50% - 40px )!important;
    height: 80px !important;
	display: block!important;
    width: 60px !important;
	margin: 0!important;
	opacity: 0.8;
}
.swiper-button-prev:hover,
.swiper-button-next:hover {
	opacity: 1;
}

.swiper-button-prev{
	left: calc( 50% - 1175px / 2 - 90px )!important;
}
.swiper-button-next{
	right: calc( 50% - 1175px / 2 - 90px )!important;
}
@media all and ( max-width: 1390px ) {
.swiper-button-prev{
	left: 20px!important;
}
.swiper-button-next{
	right: 20px!important;
}
}
@media all and ( max-width: 767px ) {
.swiper-button-prev,
.swiper-button-next {
	top: calc( 50% - 30px )!important;
    height: 60px !important;
    width: 45px !important;
}
@media all and ( max-width: 550px ) {
.swiper-button-prev,
.swiper-button-next {
	top: calc( 50% - 50px )!important;
    height: 40px !important;
    width: 30px !important;
}
}

.swiper-button-prev{
	left: 10px!important;
}
.swiper-button-next{
	right: 10px!important;
}
}


.swiper-button-prev::before,
.swiper-button-prev::after,
.swiper-button-next::before,
.swiper-button-next::after {
    content: ""!important;
	display: block;
    width: 40%;
    height: 50%;
    margin: 0;
	background: #ffffff;
}

.swiper-button-prev::before,
.swiper-button-next::before {
}

.swiper-button-prev::after,
.swiper-button-next::after {
}

.swiper-button-prev::before {
	transform-origin: left bottom;
	transform: skew(-40deg, 0deg);
}
.swiper-button-prev::after {
	transform-origin: left top;
	transform: skew(40deg, 0deg);
}

.swiper-button-next::before {
	transform-origin: left top;
	transform: skew(40deg, 0deg);
}
.swiper-button-next::after{
	transform-origin: left bottom;
	transform: skew(-40deg, 0deg);
}

.swiper-button-prev:hover::after {
}

.swiper-button-next:hover::after{
}

#new-articles-area{
    position: relative;
    width: 100%;
    overflow: hidden;
    background: transparent;
}

#new-articles-area::before{
	content: "";
	position:fixed;
	right: -30%;
	bottom: 70%;
	display: block;
	width: 80vw;
	height: 80vw;
	background: #dddddd;
	transform: rotate(45deg);
	z-index: -2;
}

#new-articles-area::after{
    position: absolute;
    content: "";
    width: 100%;
    height: 753px;
    bottom: 0;
    background: #F2F2F2;
    z-index: -1;
}




.new-articles{
    display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
	align-items: stretch;
    max-width: 1275px;
    margin: 0 auto 43px;
}

.new-article{
    position: relative;
	display: flex;
	flex-direction: column;
    width: calc( 50% - 25px );
}

.new-article a{
    text-decoration: none !important;
    color: #333333 !important;
}

.new-article a::before,
.new-article a::after {
    position: absolute;
    width: 50px;
    height: 50px;
    top: -25px;
    left: 0px;
    z-index: 2;
}
.new-article a::before {
    content: "";
	display: block;
    background: #E60027;
	transform: rotate(45deg);
}
.new-article a::after {
	content: "NEW";
	display: flex;
	justify-content: center;
	align-items: center;
	color: #ffffff;
	font-weight: bold;
	font-size: 14px;
    z-index: 3;
}

.new-article a figure {
	display: block;
	width: 100%;
	height: 345px;
	overflow: hidden
}

.new-article a img{
    display: block;
    width: 100%;
    height: auto;
	margin: 0;
	transition-property: transform;
	transition-duration: 250ms;
	transition-timing-function: ease-out;
}
.new-article a:hover img{
	transform: scale(1.08);
}

.new-article a p{
    display: block;
    margin: 0 0 0 auto;
    padding: 10px 0;
    font-size: 18px;
}

.new-article .tag-area{
    display: block;
    margin: auto -10px 0 0;
}

.new-article .tag-area .tag{
}

@media all and ( max-width: 960px ) {
	.new-articles {
		margin-top: 40px;
	}
}

@media all and ( max-width: 1305px ) {
.new-articles{
	width: calc( 100% - 30px );
}

.new-article{
    width: calc( 50% - 7.5px );
}
.new-article a figure {
	height: calc( ( 100vw - 45px ) / 2 / 16 * 9 );
}
}

@media all and ( max-width: 767px ) {
.new-article a p{
    font-size: 16px;
}
}

@media all and ( max-width: 500px ) {
.new-article + .new-article {
	margin-top: 30px;
}
.new-article{
    width: 100%;
}
.new-article a figure {
	height: calc( ( 100vw - 30px ) / 16 * 9 );
}
}


.all-articles{
    display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
    width: 1275px;
	max-width: calc( 100% - 30px );
    min-height: 405px;
    margin: 0 auto;
}

.all-articles .article{
    width: calc( 25% - 10px );
}

.all-articles .article a{
    text-decoration: none !important;
    color: #000000 !important;
}

.all-articles .article .tag-area{
    margin-bottom: 50px;
}

.all-articles .article a figure{
	width: 100%;
	overflow: hidden;
}
.all-articles .article a figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
	transition-property: transform;
	transition-duration: 250ms;
	transition-timing-function: ease-out;
}
.all-articles .article a:hover figure img{
	transform: scale(1.08);
}

.all-articles .article a p{
    display: block;
    width: 100%;
    min-height: 80px;
    margin: 10px 0;
    font-size: 14px;
}

@media all and ( max-width: 950px ) {
.all-articles .article{
    width: calc( 50% - 10px );
}
}
@media all and ( max-width: 425px ) {
.all-articles .article{
    width: 100%;
}
.all-articles .article a p{
    min-height: 0;
}
}

#feature, #article-area {
	padding-top: 80px;
	margin-top: -80px;
}

#featured-keywords{
    position: relative;
    width: 100%;
    min-height: 314px;
    overflow: hidden;
	padding: 0;
}

.keywords-area{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
    width: 100%;
    min-height: 314px;
	background-color: #000000;
	background-image: linear-gradient(0deg, rgba(0, 0, 0, 1), rgba(143, 143, 143, 1) 48%, rgba(144, 144, 144, 1) 53%, rgba(19, 19, 19, 1));
    text-align: center;
}
.typeB .keywords-area {
    background: url(/image/jp/about/tackling-social-issues/keyword.png) no-repeat;
    background-size: cover;
}

.keywords-area::before{
    position: absolute;
    display: block;
    content: "";
    width: 835px;
    height: 835px;
	max-width: 70vw;
	max-height: 70vw;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%) rotate(45deg);
    margin: 0;
    background-color: rgba(255, 255, 255, 0.5);
}

.keywords-area h2 {
	position: relative;
    font-size: 35px;
	margin: 30px 0 0;
	padding: 0;
	line-height: 1;
    font-weight: bold;
    color: #333333;
	text-align: center;
	background: none;
}

.tag-list{
	position: relative;
    width: 966px;
	max-width: calc( 100% - 15px );
	margin 0 auto;
}

.tag-clear{
	position: relative;
	margin: 0 0 30px;
}

.tag-clear > .tag{
    background-color: #000000;
    color: #FFFFFF;
	margin: 0;
}

.tag-list span{
    font-size: 14px;
}

@media all and ( max-width: 550px ) {
.keywords-area h2 {
	margin: 30px 0 20px;
    font-size: 24px;
}
.keywords-area::before{
    width: 370px;
    height: 370px;
	max-width: none;
	max-height: none;
}
.tag-clear{
	margin: 10px 0 10px;
}
}

#featured-keywords .tag {
	cursor: pointer;
	user-select: none;
}
#featured-keywords .tag.on {
	background: #ff0000;
	color: #ffffff;
}
#featured-keywords .tag:hover {
	opacity: 0.8;
	box-shadow: 0 0 10px 0 rgba(255,255,255,1);
}
#featured-keywords .tag.dis {
	opacity: 0.2;
	cursor: no-drop;
}



.search-result-area{
    background-image: linear-gradient(0deg, rgba(255, 255, 255, 1) 50% 100%, rgba(242, 242, 242, 1));
}
.search-result-area > .article-list{
	padding-top: 50px;
}

#fixed-keywords{
	padding-top: 0;
    background: transparent
}

.fixed-keyword-area{
    min-height: 520px;
    background: linear-gradient(to top, #FFFFFF 50%, #f2f2f2);
}

.fixed-keyword-inner{
    max-width: 1275px;

    margin: 0 auto 0 auto;
}


.article-list{
    display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
	align-items: stretch;
    width: 1275px;
	max-width: calc( 100% - 30px );
    margin: 0 auto;
    background-color: transparent;
}

.article-list .article{
    width: 375px;
	max-width: calc( 33.33% - 10px );
    background-color: transparent;
}
.article-list::after{
	content: "";
	overflow: hidden;
	height: 0;
    width: 375px;
	max-width: calc( 33.33% - 10px );
}

.article-list .article a figure {
	display: block;
	width: 100%;
    margin-bottom: 10px;
	overflow: hidden;
}

.article-list .article a figure img {
    width: 100%;
    height: auto;
    object-fit:cover;
	transition-property: transform;
	transition-duration: 250ms;
	transition-timing-function: ease-out;
}
.article-list .article a:hover figure img{
	transform: scale(1.08);
}

.article-list .article a {
    text-decoration: none !important;
    color: #000000 !important;
}

.article-list .article a p {
    font-size: 14px;
}

@media all and ( max-width: 600px ) {
.article-list .article{
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}
}


.tag-area{
    margin-bottom: 40px;
}

.featured{
    border: solid 1px #000000;
    background-color: #D02323;
    color: #FFFFFF;
}

.img-border{
    display: block;

    width: 100%;
    height: 200px;

    margin: 0;

    background: url(/image/jp/about/tackling-social-issues/top-hr_01.png) no-repeat;

    border-style: none !important;

}

.img-border::before{
    display: block;
    content: "";
    width: 100%;
    height: 200px;

    margin: 0;
    background-color: rgba(255, 255, 255, 0.5);
}

#ranking{
    margin-bottom: 65px;
}


.ranking-list{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 1175px;
	max-width: calc( 100% - 30px );
    margin: 32px auto 0 auto;

}

.ranking {
    position: relative;
	width: calc( 50% - 10px );
    margin-bottom: 25px;
}

.ranking a figure {
	width: 100%;
}

.ranking a img{
	width: 100%;
	height: 300px;
    object-fit: cover;
}

.rank-img {
    position: absolute;
    width: 140px !important;
    height: 140px !important;
    top: 25px;
    left: 25px;
}

.ranking-text {
    background-color: rgba(255, 255, 255, 0.8);
    border-top: 2px solid #000000;
    border-bottom: 2px solid #000000;
}

.ranking a {
    text-decoration: none !important;
    color: #000000 !important;
}

.ranking a:visited {
    text-decoration: none !important;
    color: #000000 !important;
}

.ranking a .ranking-text{
    position: absolute;
    width: calc( 100% - 20px );
    min-height: 110px;
    left:50%;
    bottom: 9px;
    transform: translateX(-50%);
}

.ranking a .ranking-text p {
    margin: 0 auto;
    padding: 10px;
    font-size: 18px;
}

.ranking.rank-first{
    position: relative;
    width: 100% !important;
    height: 300px;
}

.ranking.rank-first a figure{
    width: 613px;
    height: 300px;
	margin: 0;
}

.ranking.rank-first a img{
    width: 613px;
    height: 300px;
    object-fit: cover;
}

.ranking.rank-first a .rank-img {
    position: absolute;
    width: 240px !important;
    height: 240px !important;
    top: 25px;
    left: 25px;
}

.ranking.rank-first a .ranking-text{
    position: absolute;
    width: 612px !important;
    height: 250px !important;
    top: 50%;
    bottom: auto !important;
    right: 0;
    left: auto !important;
    transform: translateY(-50%);
}

.ranking.rank-first a .ranking-text p {
    width: 562px;
    margin: 0 auto;
    padding-top: 10px;
    font-size: 28px;
}

.ranking a figure {
	display: block;
	overflow: hidden;
}

.ranking a figure img{
	transition-property: transform;
	transition-duration: 250ms;
	transition-timing-function: ease-out;
}
.ranking a:hover figure img{
	transform: scale(1.08);
}

@media all and ( max-width: 950px ) {
.rank-img {
    width: 100px !important;
    height: 100px !important;
    top: 5px;
    left: 5px;
}
.ranking a .ranking-text p {
    margin: 0 auto;
    padding: 10px 10px 0;
    font-size: 16px;
	line-height: 1.2;
}

.ranking.rank-first {
	width: 613px!important;
	max-width: 100%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
}
.ranking.rank-first a figure,
.ranking.rank-first a figure img {
	width: 100%;
	height: auto;
}
.ranking.rank-first a .rank-img {
	width: 120px !important;
	height: 120px !important;
	top: 5px;
	left: 5px;
}
.ranking.rank-first a .ranking-text {
	position: absolute;
	top: auto;
	bottom: 0!important;
	width: 100% !important;
	height: auto!important;
	transform: translateY(0%);
}
.ranking.rank-first a .ranking-text p {
    width: auto;
    padding: 10px;
    font-size: 20px;
	line-height: 1.2;
}
}
@media all and ( max-width: 425px ) {
.ranking {
    position: relative;
	width: 100%;
	height: auto;
    margin-bottom: 25px;
}
.rank-img {
	width: 70px !important;
	height: 70px !important;
}
.ranking a img {
	width: 100%;
	height: auto;
}

.ranking.rank-first a .rank-img {
	width: 80px !important;
	height: 80px !important;
}
.ranking.rank-first a .ranking-text p {
    font-size: 16px;
}
}