/* =====================================
   Main Visual（full width / fixed height）
===================================== */
.mv {
  position: relative;
  width: 100vw;
  height: 500px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
  padding: 0;
  box-sizing: border-box; /* 追加 */
}

.mv-swiper {
  width: 100%;
  height: 100%;
}

.mv-swiper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/*
0.75rem  = 12px
0.875rem = 14px
1rem     = 16px
1.125rem = 18px
1.25rem  = 20px
1.375rem = 22px
1.5rem   = 24px
1.625rem = 26px
1.75rem  = 28px
1.875rem = 30px
2rem     = 32px
2.25rem  = 36px
2.5rem   = 40px
3rem     = 48px
*/
/* pagination */
.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction {
    right: 20%;
		left:auto;
}
.mv .swiper-pagination-bullet {
  background: rgba(255, 255, 255, 0.6);
  opacity: 1;
}

.mv .swiper-pagination-bullet-active {
  background: #e69500;
}

.colAbout {margin: 0 auto 30px;}
.colAbout:last-child {margin: 0 auto;}

.colAbout a {
  display: flex;
  align-items: center;
  gap: 20px;
  text-decoration: none;
  color: inherit;
}
.colAbout .colItem:first-child {
  flex: 0 0 20%;
	min-width:360px;
}
.colAbout .colItem:first-child p {
  font-size: 3rem;
  font-weight: 900;
  margin-bottom: 10px;
}
.colAbout .colItem h3 {
	position: relative;
  font-weight: 500;
  display: inline-block;
  padding-right: 60px;
}
.colAbout .colItem h3 .arrow {
    top: 60%;
}
.colAbout .colItem:last-child {
  flex: 1;
	overflow: hidden;
}
.colAbout .colItem:last-child img{
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.4s ease;
  transform-origin: center;
}
.colAbout a:hover .colItem img {
  transform: scale(1.05);
}

.colCase {
	position: relative;
  width: 100%;
  margin: 0 auto 60px;
  display: flex;
}
.colCase_reverce {
	flex-direction: row-reverse;
}
.colCase .colItem:first-child {
  flex: 0 0 35%;
	z-index:2;
}
.colCase .colItem:last-child {
	position: relative;
	margin:70px 0 0 -100px;
  flex: 1;
	background:#efefef;
	padding:30px 30px 0 130px;
	z-index:1;
	height:275px;
}
.colCase .colItem:last-child::before{
  content: "";
	position: absolute;
	top:0;
	left:50%;
	width:100vw;
	height:100%;	
	background:#efefef;
	z-index:-1;	
}
.colCase_reverce .colItem:last-child {
	margin:70px -100px 0 0;
	padding:30px 130px 0 30px;
}
.colCase_reverce .colItem:last-child::before {
  content: "";
	position: absolute;
	top:0;
	left:50%;
	transform:translateX(-100%);
	width:100vw;
	height:100%;
	background:#efefef;
	z-index:-1;
}
.colCase .colItem h3 {
  font-size: 1.25rem; 
  font-weight: 700;
  margin-bottom: 10px;
}

.colCase .colItem p {
  color: #333;
}




.colEve{
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.colEve .colItem{
	position: relative;
  width: calc((100% - 60px) / 3);
	overflow: hidden;
}
.colEve .eveIco{
	position: absolute;
	top:10px;
	right:10px;
	font-size:0.75rem;
	background:#ffa500;
	padding:5px;
	width:90px;
	text-align:center;
	color:#fff;
}
.colEve .eveTxt{
	position: relative;
	top:-40px;
	background:#fff;
	width:90%;
	padding:20px;
	margin: 0 5%;
	font-size:1.125rem;
	text-align: center;
	font-weight:700;	
}
.colEve .eveTxt span{
	display:block;
	text-align:center;
	font-weight:normal;
}

.colEve .colItem a img {
  transition: transform 0.3s ease;
  will-change: transform; 
}
.colEve .colItem a:hover img,
.colEve .colItem a:focus img {
  transform: scale(1.08);
}
.colEve .colItem a .eveTxt{
	position: relative;
}
.colEve .colItem a .eveTxt:before{
	position: absolute;
	content: " ";
	top:50%;
  right: 10px;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  border-top: 2px solid #e69500;
  border-right: 2px solid #e69500;
  transform: rotate(45deg);
}

.colNews{
	display:flex;
	justify-content: space-between;
}
.colNews .colItem:first-child{
	width:700px;
}
.newsList dt{
	font-weight:700;
}
.newsList dd{
	border-bottom: 1px dashed #ccc;
	padding-bottom:20px;
	margin-bottom:20px;
}
.colNews .colItem:last-child{
	width:300px;
	padding-top:80px;
}

@media screen and (max-width: 1000px) {
	.colNews{
		flex-wrap: wrap;
	}
	.colNews .colItem:first-child,
	.colNews .colItem:last-child{
		width:100%;
	}
	.colNews .colItem:last-child{
		text-align:center;
	}
}









