@charset "UTF-8";
/* ------------------------------
 メインイメージ（PC）
------------------------------ */
.mainimg {
	margin-bottom: 120px;
}
.mainimg .swiper {
	width: 100%;
	height: auto;
}
.mainimg .swiper-slide {
	position: relative;
}
.mainimg .swiper-slide div {
	position: absolute;
	top: 50%;
	left: 8.33333%;
	margin-top: -265px;
}
.mainimg .swiper-slide div p {
	margin-bottom: 45px;
	color: #fff;
	font-size: 3.1rem;
	line-height: 1;
}
.mainimg .swiper-slide div p::before {
	content: "";
	display: inline-block;
	width: 22px;
	height: 22px;
	margin: 0 8px 6px 0;
	background: url(../img/icon_rotarydamper.svg) no-repeat 0 0 / cover;
	vertical-align: middle;
}
.mainimg .swiper-slide div h1 {
	margin-bottom: 65px;
	color: #fff;
	font-size: 7.4rem;
	line-height: 1.25;
	font-weight: bold;
	letter-spacing: .06em;
}
.mainimg .swiper-slide div h1 span {
	display: block;
	margin-top: 20px;
	font-size: 2.6rem;
	line-height: 1.5;
	font-weight: 600;
	letter-spacing: 0;
}
.mainimg .swiper-slide div.second h1 {
	text-shadow: 0 0 10px rgba(167,167,167,.7);
}
.mainimg .swiper-slide div.second h1 span {
	text-shadow: 0 0 5px rgba(167,167,167,.7);
}
.mainimg .swiper-slide div .btn {
	min-width: 258px;
}
.mainimg .swiper-slide div.third .btn {
	background: #fff url(../img/icon_arrow.svg) no-repeat right 25px center / 21px 15px;
	color: var(--blue-color) !important;
}
/* ページネーション */
.mainimg .swiper-horizontal > .swiper-pagination-bullets,
.mainimg .swiper-pagination-bullets.swiper-pagination-horizontal {
	bottom: 30px;
}
.mainimg .swiper-pagination-bullet {
	background: var(--swiper-pagination-bullet-inactive-color, #c4cbd4);
	opacity: var(--swiper-pagination-bullet-inactive-opacity, 1);
}
.mainimg .swiper-pagination-bullet-active {
	background: var(--swiper-pagination-bullet-inactive-color, #4a52ff);
	opacity: var(--swiper-pagination-bullet-inactive-opacity, 1);
}
@media print, screen and (min-width: 768px) {
}
/* ------------------------------
 メインイメージ（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.mainimg {
		margin-bottom: 60px;
	}
	.mainimg .swiper-slide div {
		top: 9.25925%;
		left: 5.5%;
		right: auto;
		margin-top: 0;
	}
	.mainimg .swiper-slide div p {
		margin-bottom: 25px;
		font-size: 1.8rem;
	}
	.mainimg .swiper-slide div p::before {
		width: 15px;
		height: 15px;
		margin: 0 6px 4px 0;
	}
	.mainimg .swiper-slide div h1 {
		margin-bottom: 30px;
		font-size: 4.2rem;
		letter-spacing: 0;
	}
	.mainimg .swiper-slide div h1 span {
		margin-top: 10px;
		font-size: 1.6rem;
	}
	.mainimg .swiper-slide div h1::before {
		width: 100px;
		margin-bottom: 30px;
	}
	.mainimg .swiper-slide div .btn {
		min-width: 206px;
	}
	.mainimg .swiper-slide div.second .btn {
		line-height: 1.2;
		padding: 11px 55px 11px 40px;
	}
	.mainimg .swiper-slide div.second .btn span {
		display: block;
	}
	.mainimg .swiper-slide div.third .btn {
		background: #fff url(../img/icon_arrow.svg) no-repeat right 20px center / 17px 12px;
	}
	/* ページネーション */
	.mainimg .swiper-horizontal > .swiper-pagination-bullets,
	.mainimg .swiper-pagination-bullets.swiper-pagination-horizontal {
		bottom: 20px;
	}
}

/* ------------------------------
 見出し（PC）
------------------------------ */
.contentsHome h2 {
	margin-bottom: 22px;
	font-family: "Jost", sans-serif;
	font-size: 5rem;
	line-height: 1;
	font-weight: 400;
}
.contentsHome h2::before {
	content: "";
	display: inline-block;
	width: 22px;
	height: 22px;
	margin: 0 8px 6px 0;
	background: url(../img/icon_rotarydamper.svg) no-repeat 0 0 / cover;
	vertical-align: middle;
}
.contentsHome .newsBlock h2 {
	margin-bottom: 0;
}
.contentsHome .groupBlock h2 {
	font-family: "Yu Gothic", YuGothic, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, Arial, sans-serif;
	font-weight: bold;
	text-align: center;
	white-space: nowrap;
}
.contentsHome .blogBlock h2 {
	margin-bottom: 70px;
}
@media print, screen and (min-width: 768px) {
}
/* ------------------------------
 見出し（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.contentsHome h2 {
		margin-bottom: 9px;
		font-size: 3.4rem;
	}
	.contentsHome h2::before {
		width: 15px;
		height: 15px;
		margin: 0 6px 8px 0;
	}
	.contentsHome .groupBlock h2 {
		top: 5%;
		font-size: 3.2rem;
		line-height: 1.35;
	}
	.contentsHome .groupBlock h2 span {
		display: block;
	}
	.contentsHome .blogBlock h2 {
		margin-bottom: 30px;
		letter-spacing: -.03em;
	}
}

/* ------------------------------
 PICK UP（PC）
------------------------------ */
.bnrBlock {
	margin-bottom: 100px;
}
.bnrArea {
	position: relative;
}
.bnrSwiper {
	overflow: hidden;
}
.bnrSwiper:not(.swiper-initialized) ul {
	display: flex;
	justify-content: center;
	column-gap: 45px;
}
.bnrSwiper ul li {
	width: 30.70175%;
}
.bnrSwiper ul li a {
	display: block;
	width: 100%;
	height: 100%;

}
.bnrSwiper ul li a img {
	display: block;
	width: 100%;
	margin-bottom: 14px;
}
.bnrSwiper ul li a p {
	display: inline-block;
	color: var(--main-font-color);
	font-size: 2rem;
	line-height: 1.5;
	font-weight: 600;
}
/* Firefox */
@-moz-document url-prefix() {
	.bnrSwiper ul li a p {
		line-height: 1.5;
	}
}
.bnrSwiper ul li a p:after {
	content: "";
	display: inline-block;
	right: 20px;
	width: 38px;
	height: 38px;
	margin: -4px 0 0 6px;
	border-radius: 50%;
	background: var(--blue-color) url(../img/icon_arrow_s_w.svg) no-repeat center center / 12px 8px;
	line-height: 1;
	vertical-align: middle;
	cursor: pointer;
	transition: .3s ease-in-out;
}
/* Firefox */
@-moz-document url-prefix() {
	.bnrSwiper ul li a p:after {
		margin: -6px 0 0 6px;
	}
}
.bnrSwiper ul li a[target="_blank"]:not(:has(figure))::after {
	background: url(../img/icon_blank_c.svg) no-repeat 0 0 / cover;
}
/* 4枚以上でスライド */
.bnrSwiper.swiper-horizontal {
	margin-top: -45px;
	padding-top: 45px;
}
/* ページネーション */
.bnrSwiper .swiper-pagination-bullets.swiper-pagination-horizontal {
	display: block;
	top: 0;
	right: 0;
	width: 100%;
	height: 45px;
	margin-left: auto;
	margin-right: auto;
	text-align: right;
}
.bnrSwiper .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	opacity: 1;
	margin: 0 4px;
	background-color: #c4cbd4;
}
.bnrSwiper .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet:first-child {
	margin-left: 0;
}
.bnrSwiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: var(--smhd-color);
}
/* 前へ／次へボタン */
.swiper-button-next,
.swiper-button-prev {
	color: #bac2cd;
}
.swiper-button-next {
	right: -34px;
	left: auto;
}
.swiper-button-prev {
	left: -34px;
	right: auto;
}
.swiper-button-next:after,
.swiper-button-prev:after {
	font-size: 30px;
}
@media print, screen and (min-width: 768px) {
	/* バナーリンク */
	.bnrSwiper {
		display: flex;
		justify-content: space-between;
	}
	/* 前へ／次へボタン */
	.bnrSwiper .swiper-buttons .swiper-button-prev:hover,
	.bnrSwiper .swiper-buttons .swiper-button-next:hover {
		opacity: .7;
	}
}
/* ------------------------------
 PICK UP（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.bnrBlock {
		margin-bottom: 60px;
	}
	.bnrSwiper ul li {
		width: 100%;
	}
	.bnrSwiper ul li a img {
		margin-bottom: 12px;
	}
	.bnrSwiper ul li a p {
		font-size: 1.8rem;
	}
	.bnrSwiper ul li a p:after {
		width: 30px;
		height: 30px;
	}
	/* 4枚以上でスライド */
	.bnrSwiper.swiper-horizontal {
		margin-top: -33px;
		padding-top: 33px;
	}
	/* ページネーション */
	.bnrSwiper .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		margin: 0 2px;
	}
	/* 前へ／次へボタン */
	.swiper-button-next {
		right: -24px;
	}
	.swiper-button-prev {
		left: -24px;
	}
	.swiper-button-next:after,
	.swiper-button-prev:after {
		font-size: 20px;
	}
}

/* ------------------------------
 NEWS（PC）
------------------------------ */
.newsBlock {
	margin-bottom: 110px;
}
.newsHeading {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 25px;
}
.newsHeading a,
.blogTitle a {
	display: block;
	position: relative;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background-color: var(--blue-color);
}
.newsHeading a img,
.blogTitle a img {
	position: absolute;
	top: 28.5px;
	left: 25.5px;
	width: 21px;
	height: 15px;
}
.newsBlock .newsList {
	border-top: none;
}
.newsBlock .newsList li {
	padding: 23px 25px 22px;
	border-bottom: 1px solid #fff;
	background: url(../img/linedot_bg.svg) repeat 0 0 / 30px 30px;
}
@media print, screen and (min-width: 768px) {
	.newsHeading {
		display: flex;
		justify-content: space-between;
	}
	.newsHeading a:hover,
	.blogTitle a:hover {
		opacity: 1;
		background-color: #4cbcf0;
	}
}
/* ------------------------------
 NEWS（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.newsBlock {
		margin-bottom: 60px;
	}
	.newsHeading a,
	.blogTitle a {
		width: 44px;
		height: 44px;
	}
	.newsHeading a img,
	.blogTitle a img {
		top: 17px;
		left: 15px;
		width: 14px;
		height: 10px;
	}
	.newsBlock .newsList li {
		padding: 23px 20px 21px;
		background: url(../img/linedot_bg_sp.svg) repeat 0 0 / 24px 24px;
	}
}

/* ------------------------------
 ソミックグループの中核として（PC）
------------------------------ */
.groupBlock {
	position: relative;
	width: 100%;
	color: #fff;
}
.groupBlock > img {
	position: relative;
}
.groupBlock h2 {
	position: absolute;
	top: 140px;
	left: 50%;
	z-index: 1;
	transform: translateX(-50%);
}
.groupBlock p {
	position: absolute;
	top: 205px;
	left: 50%;
	z-index: 1;
	text-align: center;
	transform: translateX(-50%);
}
.groupBlock .groupBox {
	text-align: center;
}
@media print, screen and (min-width: 768px) {
	.groupBlock {
		height: 940px;
	}
	.groupBlock > img.pc {
		width: 1920px;
		height: 940px;
		object-fit: cover;
	}
	.groupBlock .groupBox {
		position: absolute;
		top: 313px;
		left: 50%;
		width: 820px;
		height: 500px;
		z-index: 1;
		padding: 55px 48px 0;
		background-color: #fff;
		transform: translateX(-50%);
	}
	.groupBlock .groupBox .pc {
		margin: 0 auto 25px;
	}
	.groupBlock .groupBox .btn {
		display: flex;
		justify-content: space-between;
	}
	.groupBlock .groupBox .btn a {
		min-width: 228px;
	}
}
/* ------------------------------
 ソミックグループの中核として（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.groupBlock p {
		top: 13.5%;
		white-space: nowrap;
	}
	.groupBlock .groupBox {
		width: 90%;
		margin: 40px auto 50px;
	}
	.groupBlock .groupBox .btn {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 12px 8px;
		margin-top: 25px;
	}
	.groupBlock .groupBox .btn a {
		min-width: calc((100% - 8px) / 2);
	}
}

/* ------------------------------
 SOMIC GROUP BLOG（PC）
------------------------------ */
.blogBlock {
	margin-bottom: 120px;
	padding: 130px 0 100px;
	background: url(../img/linedot_bg.svg) repeat 0 0 / 30px 30px;
}
.blogTitle {
	margin-bottom: 30px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.blogTitle h3 {
	font-weight: bold;
}
.blogTitle h3 span {
	display: inline-block;
	min-width: 200px;
	margin-bottom: 10px;
	padding: 0 1em;
	background-color: var(--main-font-color);
	color: #fff;
	font-size: 2rem;
	line-height: 42px;
	text-align: center;
}
@media print, screen and (min-width:768px) {
	.blogBlock .inBlock {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.blogBlock h2 {
		width: 100%;
	}
	.blogBox {
		width: 538px;
	}
}
/* ------------------------------
 SOMIC GROUP BLOG（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.blogBlock {
		margin-bottom: 60px;
		padding: 60px 0 50px;
		background: url(../img/linedot_bg_sp.svg) repeat 0 0 / 24px 24px;
	}
	.contentsHome .blogBox + .blogBox {
		margin-top: 30px;
	}
	.blogTitle {
		margin-bottom: 15px;
	}
	.blogTitle h3 span {
		min-width: 180px;
		margin-bottom: 8px;
		padding: 0 .8em;
		font-size: 1.8rem;
		line-height: 38px;
	}
}

/* ------------------------------
 グループリンク（PC）
------------------------------ */
.groupLink {
	margin-bottom: 120px;
}
.groupLink ul {
	display: flex;
}
.groupLink ul + p {
	margin-top: 60px;
}
.groupLink p {
	margin-bottom: 30px;
	font-size: 1.8rem;
	line-height: 1;
}
.groupLink img {
    border: 1px solid #c4cbd4;
}
@media print, screen and (min-width:768px) {
	.groupLink ul {
		flex-wrap: wrap;
		gap: 35px 45px;
	}
	.groupLink ul li,
	.groupLink ul li img {
		width: 350px;
	}
}
/* ------------------------------
 グループリンク（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.groupLink {
		margin-bottom: 60px;
	}
	.groupLink ul {
		flex-direction: column;
		row-gap: 10px;
	}
	.groupLink ul li img {
		width: 100%;
	}
	.groupLink ul + p {
		margin-top: 40px;
	}
	.groupLink p {
		margin-bottom: 20px;
		font-size: 1.6rem;
	}
}