@charset "utf-8";

/* -------------------------------------------------- */
/* PC*/
/* -------------------------------------------------- */
.start {
	background: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 9000;
	display: flex;
	align-items: center;
	justify-content: center;
}

.start p {
	z-index: 9999;
	width: 24%;
	max-width: 200px;
}

.start p img {
	width: 100%;
}

.startLogo {
	width: 100%;
	height: auto;
}

.img-wrapper {
	margin: 100px auto;
	overflow: hidden;
	position: relative;
	z-index: 1
}

.img-wrapper .slider {
	position: relative;
	width: 100%;
	z-index: 1
}

.img-wrapper .slider .slide {
	position: relative;
	width: 317.8666666667%
}

@media screen and (min-width:980px) {
	.img-wrapper .slider .slide {
		width: 100%;
	}
}

@-webkit-keyframes marquee {
	0% {
		translate: 0 0
	}

	to {
		translate: -100% 0
	}
}

@keyframes marquee {
	0% {
		translate: 0 0
	}

	to {
		translate: -100% 0
	}
}

.img-wrapper .slider .slide .imgs {
	display: flex;
	width: 100%
}

.img-wrapper .slider .slide .imgs img {
	border-radius: 5px;
	-webkit-clip-path: inset(0 0 100% 0);
	clip-path: inset(0 0 100% 0);
	margin-right: .7969798658%;
	width: 24.2030201342%
}

@media screen and (min-width:980px) {
	.img-wrapper .slider .slide .imgs img {
		margin-right: .7575757576%;
		width: 24.2424242424%
	}
}

.img-wrapper .slider .slide .copy {
	left: 100%;
	position: absolute;
	top: 0
}

.img-wrapper .tagline {
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
	transition: 1s ease 2s
}

.img-wrapper .season {
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
	transition: 1s ease 0s
}

.img-wrapper .slider .slide {
	-webkit-animation: marquee 15s linear .5s infinite;
	animation: marquee 15s linear .5s infinite;
}

.img-wrapper .slider .slide .imgs img {
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
	transition: 1s ease .5s
}

.img-wrapper .slider .slide .imgs img:nth-child(2) {
	transition-delay: .8s
}

.img-wrapper .slider .slide .imgs img:nth-child(3) {
	transition-delay: 1.1s
}

.img-wrapper .slider .slide .imgs img:nth-child(4) {
	transition-delay: 1.4s
}

.img-wrapper .slider .slide .imgs img:nth-child(5) {
	transition-delay: 1.7s
}

.img-wrapper .slider .slide .imgs img:nth-child(6) {
	transition-delay: 2.0s
}

.img-wrapper .slider .slide .imgs.copy img {
	transition-delay: 2.3s
}

.img-wrapper .tagline {
	background: #fff;
	align-items: flex-end;
	background-color: var(--background1);
	-webkit-clip-path: inset(0 0 100% 0);
	clip-path: inset(0 0 100% 0);
	display: flex;
	height: 100%;
	justify-content: center;
	margin-left: 81.3333333333%;
	padding-bottom: 10px;
	position: absolute;
	top: 0;
	width: 12.1333333333%;
	z-index: 2
}

@media screen and (min-width:980px) {
	.img-wrapper .tagline {
		align-items: center;
		margin-left: 74.2258652095%;
		max-width: 80px;
		padding-bottom: 0;
		width: 6.6484517304%
	}
}

.img-wrapper .tagline p {
	font-size: clamp(1.2rem, 1.3vw, 2.4rem);
	font-weight: 700;
	letter-spacing: 0.2em;
	writing-mode: vertical-rl;
}

@media screen and (min-width:980px) {
	.img-wrapper .tagline img {
		width: 28.7671232877%
	}
}

.img-wrapper .tagline {
	background: #fff;
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
	transition: 1s ease 2s
}

#mv {
	width: calc(100% - 120px);
	height: calc(100vh - 100px);
	margin: 100px 0 70px 120px;
	position: relative;
	z-index: 1;
}

.mvSliderWrap,
.mvSliderWrap * {
	height: 100%;
}

.mvSlider img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;'
}

.scrollArea {
	width: 14px;
	height: 59px;
	padding: 0 0 109px;
	position: absolute;
	bottom: 0;
	left: -67px;
	line-height: 10px;
	background: url(../../img/top/arrow_scroll.png) no-repeat bottom center;
}

.scrTxt {
	display: block;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #000;
	transform: rotate(90deg);
}

#topVision {
	margin: 0 auto 50px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	position: relative;
	flex-direction: row-reverse;
}

#topVisionCatch {
	/* font-size: 5.0rem; */
	font-size: clamp(2.8rem, 3.2vw, 4.4rem);
	font-weight: 700;
	letter-spacing: 0.15em;
}

#topVisionCatch span.color {
	font-weight: 700;
	line-height: 1.6;
	color: #ab0106;
}

#topVisionTxt {
	width: 52.333%;
	width: 58%;
	min-height: 340px;
	/* padding: 64px 0 0; */
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0;
}

#bgTxt {
	position: absolute;
	top: 2px;
	left: 304px;
	z-index: -1;
	font-size: 250px;
	font-size: 180px;
	font-weight: 600;
	line-height: 0.7;
	color: #fcebec;
}

.topVisionBtn {
	width: 400px;
	position: absolute;
	left: 0;
	bottom: 0;
}

#topService {
	margin: 120px auto;
	position: relative;
}

/* #topService:before {
	width: 93.75%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	background: #f9f9f9;
	content: "";
} */

#serviceList {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}

.serviceBox {
	width: 30%;
	/* max-width: 580px; */
	background: #fff;
}

.serviceBoxIn {
	width: 100%;
	/* max-width: 580px; */
	background: #fff;
	display: flex;
	flex-direction: column;
	position: relative;
}

.serviceConts {
	width: 100%;
	min-height: 210px;
	margin: -1em 1em;
	padding: 2em;
	border: 1px solid;
}

.serviceFigure {
	width: 100%;
	aspect-ratio: 7 / 3;
	overflow: hidden;
	z-index: 2;
}

.serviceFigure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all .3s ease-in-out;
}

.serviceBoxIn:hover .serviceFigure img {
	transform: scale(1.12);
}

.serviceHead {
	margin: 0 0 1em;
	font-size: clamp(1.6rem, 1.6vw, 2.0rem);
	font-weight: 700;
	text-align: center;
	color: #ab0106;
}

.serviceTxt {
	margin: 0 0 1em;
	font-size: 1.5rem;
	line-height: 1.5;
	font-feature-settings: "palt";
}

.serviceBoxIn:hover .serviceTxt,
.serviceBoxIn:hover .btnMore {
	color: #333333;
}

.serviceTxt.txtLetters {
	letter-spacing: 0.05em;
}

.btnMore {
	font-weight: 700;
	text-align: right;
	transition: all .3s ease-in-out;
}

.btnMore:before,
.btnMore:after {
	display: inline-block;
	content: "";
}

.btnMore:before {
	width: 50px;
	height: 1px;
	margin: 0 20px 0 0;
	background: #ab0106;
	vertical-align: middle;
}

.btnMore:after {
	width: 8px;
	height: 8px;
	margin: 0 0 0 3px;
	border-top: 1px solid #ab0106;
	border-right: 1px solid #ab0106;
	transform: rotate(45deg);
}

.serviceBoxIn:hover .btnMore {
	margin: 0 -10px 0 0;
}

#access {
	margin: -10px auto 160px;
	/* padding: 110px 0 0; */
}

#access.inner {
	max-width: 1000px;
}

#accessConts {
	padding: 44px 30px;
	border: 1px solid #CCCCCC;
}

#accessHead {
	margin: 0 0 30px;
	font-size: 1.8rem;
	text-align: center;
}

#accessHead:before {
	width: 142px;
	height: 32px;
	margin: 0 auto 13px;
	content: "";
	display: block;
	background: url(../../img/company/icons.png) no-repeat 0 0 / 100%;
}

#tabArea ul {
	margin: 0 0 50px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.tabItem {
	width: 32.2%;
	padding: 20px 0;
	display: block;
	position: relative;
	font-size: 1.4rem;
	line-height: 1.0;
	text-align: center;
	border: 1px solid #000000;
	cursor: pointer;
	transition: all .3s ease-in-out;
}

.tabItem:after {
	width: 0;
	height: 0;
	margin: 0 0 0 -10px;
	border-style: solid;
	border-width: 14px 10px 0 10px;
	border-color: #000000 transparent transparent transparent;
	content: "";
	position: absolute;
	left: 50%;
	bottom: -14px;
	opacity: 0;
}

.tabItem:hover, .tabItem.active {
	color: #FFFFFF;
	background: #000000;
}

.tabItem.active:after {
	opacity: 1;
}

#tabConts .gmap {
	display: none;
}

#tabConts .gmap.show {
	display: block;
}

.gmap {
	width: 100%;
	height: 400px;
}

.gmap iframe {
	width: 100%;
	height: 100%;
}

@media screen and (min-width: 1025px) and (max-width: 1200px) {
	.tabItem {
		line-height: 1.4;
		text-align: center;
	}

	.tabItem .br_:after {
		content: "\A";
		white-space: pre;
	}
}

#outline {
	margin: 0 0 100px;
	padding: 100px 0;
	background: #F9F9F9;
}

.outlineInner {
	max-width: 1000px;
	padding: 20px 40px 40px;
	background: #FFFFFF;
}

#table {
	width: 100%;
	/* border-top: 1px solid #BFBFBF;
	border-right: 1px solid #BFBFBF; */
}

#table th, #table td {
	font-size: 1.5rem;
	line-height: 1.4;
	/* border-left: 1px solid #BFBFBF; */
	border-bottom: 1px solid #BFBFBF;
}

#table th {
	width: 220px;
	padding: 1.5em 0;
	color: #000;
	/* background: #F9F9F9; */
	font-weight: 600;
	text-align: left;
	/* border-left: 1px solid #BFBFBF; */
	border-bottom: 1px solid #BFBFBF;
	position: relative;
}

#table th:before {
	content: "";
	width: 25px;
	height: 1px;
	position: absolute;
	bottom: -1px;
	left: 0;
	background: #ab0106;
}

#table td {
	padding: 1.5em 0;
}

.bizTxt {
	margin: 0 0 20px;
}

.especially {
	font-weight: 700;
}

#holdings {
	border: none;
	padding: 0;
}

#holdings::before {
	content: none;
}

#holdingsLink a {
	width: 100%;
	padding: 0.75em;
	color: #ab0106;
	border: 2px solid;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: .3s ease-in-out;
}

#holdingsLink a:hover {
	transform: scale(1.04);
}

@media screen and (min-width: 1025px) and (max-width: 1200px) {
	.inner {
		width: 95%;
		margin: 0 auto;
	}

	#catchMain {
		font-size: 128px;
	}

	#topVisionCatch {
		font-size: 4.5rem;
		font-weight: 700;
		letter-spacing: 0.1em;
	}

	#topService:before {
		width: 100%;
	}

	#contsNav {
		margin: 0 0 150px;
		padding: 0 2.5%;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	.cNavBox {
		width: 100%;
		max-width: 480px;
		margin: 0 1% 0 0;
	}

	.cNavBoxIn {
		display: block;
		position: relative;
	}

	.cNavTtlEn {
		font-size: 3.2rem;
	}
}

/* -------------------------------------------------- */
/* TAB */
/* -------------------------------------------------- */
@media screen and (min-width: 768px) and (max-width: 1024px) {
	.start {
		display: none;
	}

	.inner {
		width: 92%;
		margin: 0 auto;
	}

	#mv {
		width: 100%;
		height: calc(100vh - 80px);
		margin: 80px 0 40px;
	}

	.slick-track {
		height: calc(100vh - 80px) !important;
	}

	/*
    .mvSlider01 {
        background: url(../../img/top/bg_mv01.jpg) no-repeat center bottom / cover;
    }
    .mvSlider02 {
        background: url(../../img/top/bg_mv02.jpg) no-repeat center bottom / cover;
    }
    .mvSlider03 {
        background: url(../../img/top/bg_mv03.jpg) no-repeat center bottom / cover;
    }
    .mvSlider04 {
        background: url(../../img/top/bg_mv04.jpg) no-repeat center bottom / cover;
    }
	*/
	.scrollArea {
		display: none;
	}

	#mvCatch {
		transform: translate(-50%, -100%);
	}

	#catchMain {
		margin: 0 0 20px;
		font-size: 57px;
	}

	#catchSub {
		font-size: 1.5rem;
	}

	#topVision .inner {
		margin: 0 auto65px;
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}

	#topVisionCatch {
		font-size: 4.0rem;
		line-height: 1.3;
	}

	#bgTxt {
		position: absolute;
		top: -10px;
		left: 56px;
		font-size: 180px;
		letter-spacing: 0;
	}

	#topVisionTxt {
		width: 100%;
		padding: 30px 0 0;
		font-size: 1.8rem;
		letter-spacing: 0.05em;
		text-align: center;
	}

	#topVisionTxt h1,
	#topVisionTxt p {
		text-align: left;
	}

	.topVisionBtn {
		width: 100%;
		position: relative;
		left: 0;
		bottom: 0;
		display: inline-block;
		margin-top: 30px;
	}

	#topService {
		margin: 0 0 50px;
		padding: 50px 0;
		position: relative;
	}

	#topService:before {
		width: 100%;
	}

	.serviceBox {
		margin: 0 0 25px;
	}

	.serviceBoxIn {
		display: block;
	}

	.serviceBoxIn05 {
		margin: 0;
	}

	.serviceFigure img {
		width: 100%;
	}

	.serviceBoxIn:hover .serviceFigure img {
		transform: none;
	}

	.serviceConts {
		padding: 25px 7.9%;
	}

	.serviceBox05 .serviceConts {
		display: block;
		padding: 25px 7.9%;
	}

	.serviceHead {
		margin: 0 0 10px;
		font-size: serviceBox 2.0rem;
	}

	.serviceTxt {
		margin: 0 0 21px;
		font-size: 1.6rem;
		line-height: 1.4;
		font-feature-settings: "palt";
	}

	.serviceBoxIn:hover .serviceTxt,
	.serviceBoxIn:hover .btnMore {
		color: #333333;
	}

	.serviceBoxIn:hover .btnMore {
		margin: 0;
	}

	#accessConts {
		padding: 20px 4%;
	}

	.tabItem {
		line-height: 1.4;
		text-align: center;
	}

	.tabItem .br_:after {
		content: "\A";
		white-space: pre;
	}

	.tabItem:hover {
		color: #1A1A1A;
		background: #FFFFFF;
	}

	.tabItem.active:hover {
		color: #FFFFFF;
		background: #1A1A1A;
	}

	#tabArea ul {
		margin: 0 0 20px;
	}

	.gmap {
		height: 40vh;
	}

	#outline {
		margin: 0 0 80px;
		padding: 80px 0;
		background: #F9F9F9;
	}

	.outlineInner {
		padding: 50px 40px;
		background: #FFFFFF;
	}

	#table {
		width: 100%;
		border-top: 1px solid #BFBFBF;
		border-right: 1px solid #BFBFBF;
	}

	#table th, #table td {
		font-size: 1.6rem;
		line-height: 1.4;
		border-left: 1px solid #BFBFBF;
		border-bottom: 1px solid #BFBFBF;
	}

	#table th {
		width: 220px;
		padding: 30px 0;
		background: #F9F9F9;
		text-align: center;
		border-left: 1px solid #BFBFBF;
		border-bottom: 1px solid #BFBFBF;
	}

	#table td {
		padding: 30px 25px;
	}

	.bizTxt {
		margin: 0 0 20px;
	}

	.especially {
		font-weight: 700;
	}

	#outline {
		margin: 0 0 60px;
		padding: 60px 0;
	}

	.outlineInner {
		padding: 20px 4%;
	}

	#table th {
		padding: 20px 0;
	}

	#table td {
		padding: 20px 5%;
		font-feature-settings: "palt";
	}

	#contsNav {
		margin: 0 0 34px;
		padding: 0 4%;
		justify-content: space-between;
	}

	.cNavBox {
		width: 32%;
		max-width: inherit;
		margin: 0 0 16px;
	}

	.cNavBoxIn {
		width: 100%;
	}

	.cNavImg {
		width: 100%;
	}

	.cNavBoxIn:hover .cNavImg {
		transform: none;
	}

	.cNavBoxIn:hover .cNavFigure:before {
		background: rgba(0, 0, 0, 0.5);
	}

	.cNavTtl {
		right: 20px;
		bottom: 20px;
	}

	.cNavTtlEn {
		margin: 0 0 6px;
		font-size: 2.5rem;
	}

	.cNavTtlJp {
		font-size: 1.4rem;
	}
}

/* -------------------------------------------------- */
/* SP */
/* -------------------------------------------------- */
@media screen and (max-width: 767px) {

	.start p {
		width: 104px !important;
	}

	.start img {
		width: 100%;
		height: auto;
	}

	.br_:after {
		content: "\A";
		white-space: pre;
	}

	.inner {
		width: 92%;
		margin: 0 auto;
	}

	.linkHouseDo:hover:before,
	.linkHouseDo:hover:after {
		width: 0;
	}

	.linkHouseDo:hover .linkHdInner:before,
	.linkHouseDo:hover .linkHdInner:after {
		height: 0;
	}

	#mv {
		width: 100%;
		height: calc(100vh - 60px);
		margin: 60px 0 40px;
	}

	.slick-track {
		height: calc(100vh - 60px) !important;
	}

	.mvSlider01 {
		background: url(../../img/top/bg_mv01.jpg) no-repeat center bottom / cover;
	}

	.mvSlider02 {
		background: url(../../img/top/bg_mv02.jpg) no-repeat center bottom / cover;
	}

	.mvSlider03 {
		background: url(../../img/top/bg_mv03.jpg) no-repeat center bottom / cover;
	}

	.mvSlider04 {
		background: url(../../img/top/bg_mv04.jpg) no-repeat center bottom / cover;
	}

	.scrollArea {
		left: 4%;
	}

	.linkHouseDo {
		width: 100px;
		height: 100px;
		padding: 40px 10px 0;
	}

	.linkHouseDo img {
		width: 100%;
	}

	.boxHdTxt {
		display: none;
	}

	.linkHouseDo:before,
	.linkHouseDo:after,
	.linkHdInner:before,
	.linkHdInner:after {
		display: none;
	}

	#mvCatch {
		transform: translate(-50%, -100%);
	}

	#catchMain {
		margin: 0 0 20px;
		font-size: 57px;
	}

	#catchSub {
		font-size: 1.5rem;
	}

	.covidArea {
		margin: 0 0 50px;
		padding: 40px 15px 5px;
	}

	.covidHead {
		margin: 0 0 35px;
		font-weight: 700;
		line-height: 1.4;
	}

	.covidList {
		flex-wrap: wrap;
		justify-content: space-around;
	}

	.cdvList01:before {
		width: 79px;
		height: 64px;
		margin: 0 auto 20px;
		background: url(../../img/common/icon_online_sp.png) no-repeat 0 0 / cover;
	}

	.cdvList02:before {
		width: 98px;
		height: 41px;
		margin: 0 auto 27px;
		background: url(../../img/common/icon_mask_sp.png) no-repeat 0 0 / cover;
	}

	.cdvList03:before {
		width: 86px;
		height: 58px;
		margin: 0 auto 26px;
		background: url(../../img/common/icon_ventilation_sp.png) no-repeat 0 0 / cover;
	}

	.cdvList04:before {
		width: 73px;
		height: 78px;
		margin: 0 auto 20px;
		background: url(../../img/common/icon_disinfection_sp.png) no-repeat 0 0 / cover;
	}

	.cdvListItem {
		width: 39%;
		max-width: inherit;
		margin: 0 0 30px;
	}

	.cdvListItem span {
		font-size: 1.4rem;
		letter-spacing: 0;
	}

	.cdvListItem br {
		display: none;
	}

	#topVision .inner {
		margin: 0 auto 65px;
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}

	#topVisionCatch {
		font-size: 3.0rem;
		line-height: 1.3;
	}

	#bgTxt {
		position: absolute;
		top: -10px;
		left: 56px;
		font-size: 125px;
		letter-spacing: 0;
	}

	#topVisionTxt {
		width: 100%;
		padding: 30px 0 0;
		font-size: 1.8rem;
		line-height: 1.4;
		letter-spacing: 0.05em;
		text-align: center;
	}

	#topVisionTxt p,
	#topVisionTxt h1 {
		text-align: left;
	}

	.topVisionBtn {
		width: 100%;
		margin-top: 30px;
		position: relative;
		left: 0;
		bottom: 0;
		display: inline-block;
	}

	#topService {
		margin: 0 0 50px;
		padding: 50px 0;
		position: relative;
	}

	#topService:before {
		width: 100%;
	}

	.serviceBox {
		width: 100%;
		margin: 0 0 25px;
	}

	.serviceBox05 {
		height: auto;
		margin: 0;
	}

	.serviceBoxIn {
		width: 100%;
		display: block;
	}

	.serviceBox05 .serviceBoxIn {
		flex-wrap: wrap;
	}

	.serviceBox05 .serviceFigure {
		width: 100%;
		max-width: inherit;
	}

	.serviceFigure img {
		width: 100%;
	}

	.serviceBoxIn:hover .serviceFigure img {
		transform: none;
	}

	.serviceConts {
		padding: 25px 7.9%;
	}

	.serviceBox05 .serviceConts {
		width: 100%;
		display: block;
		padding: 25px 7.9%;
	}

	.serviceHead {
		margin: 0 0 10px;
		font-size: 2.0rem;
	}

	.serviceTxt {
		margin: 0 0 21px;
		font-size: 1.6rem;
		line-height: 1.4;
		font-feature-settings: "palt";
	}

	.serviceBox05 {
		flex-wrap: wrap;
	}

	.serviceBoxIn:hover .btnMore {
		margin: 0;
	}

	#accessConts {
		padding: 20px 4%;
	}

	.tabItem {
		width: 100%;
		margin: 0 0 10px;
	}

	.tabItem:hover {
		color: #1A1A1A;
		background: #FFFFFF;
	}

	.tabItem.active:hover {
		color: #FFFFFF;
		background: #1A1A1A;
	}

	.tabItem:after {
		display: none;
	}

	#tabArea ul {
		margin: 0 0 20px;
	}

	.gmap {
		height: 40vh;
	}

	#outline {
		margin: 0 0 60px;
		padding: 60px 0;
	}

	.outlineInner {
		padding: 20px 4%;
	}

	#table th {
		width: 100%;
		padding: 20px 5%;
		display: block;
		font-weight: 700;
		text-align: left;
	}

	#table td {
		padding: 20px 5%;
		display: block;
		width: 100%;
		font-feature-settings: "palt";
	}

	#topNews {
		margin: 0 auto 60px;
	}

	#topNewsList {
		margin: 0 0 30px;
	}

	.topNewsBox {
		width: 100%;
		max-width: 100%;
		margin: 0;
		border-bottom: 1px solid #e5e5e5;
	}

	.topNewsBoxIn {
		padding: 24px 0;
		align-items: flex-start;
	}

	.postThumb {
		width: 36.2%;
	}

	.postThumb img {
		width: 100%;
		height: auto;
	}

	.postConts {
		width: 63.8%;
		padding: 0 0 30px 20px;
	}

	.dateCat {
		margin: 0 0 8px;
	}

	.listDate,
	.listCat {
		font-size: 1.2rem;
	}

	.listDate:after {
		margin: 0 10px;
	}

	.listTtl {
		line-height: 1.2;
	}

	.topNewsBox:hover .listTtl {
		color: inherit;
	}

	.topNewsBox:hover .postThumb img {
		transform: scale(1.0);
	}

	.topNewsBox:hover .postConts:before {
		right: 11px;
	}

	.topNewsBox:hover .postConts:after {
		right: 0;
	}

	#contsNav {
		margin: 0 0 34px;
		padding: 0 4%;
		flex-wrap: wrap;
	}

	.cNavBox {
		max-width: inherit;
		margin: 0 0 16px;
	}

	.cNavImg {
		width: 100%;
	}

	.cNavTtl {
		right: 7.3vw;
		bottom: 6.7vw;
	}

	.cNavBoxIn:hover .cNavFigure:before {
		background: rgba(0, 0, 0, 0.5);
	}

	.cNavBoxIn:hover .cNavImg {
		transform: scale(1.0);
	}

	.cNavTtlEn {
		margin: 0 0 6px;
		font-size: 2.5rem;
	}

	.cNavTtlJp {
		font-size: 1.4rem;
	}
}

@media screen and (max-width: 374px) {
	#catchMain {
		font-size: 4.0rem;
	}

	.topNewsBtn {
		width: 100%;
		margin: auto;
	}
}