CSS

.two_column03 {
 display: flex;
 flex-wrap: wrap;
 gap: 30px 30px;
 margin: 0 0 60px;
}

.two_column03:last-child {
 margin: 0;
}

.two_column03_txt_box {
  height: 225px;
 position: relative;
}

.two_column03_txt_area {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 10px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

.two_column03_txt {
 text-align: center;
 font-size: 22px;
 font-size: 2.2rem;
 font-weight: bold;
 display: block;
 position: relative;
 width: 100%;
}

.two_column03_txt::after {
 position: absolute;
 top:100%;
 background: #fff;
 width: 30px;
 height: 30px;
 border-top: solid 1px var(--main-color);
 border-right: solid 1px var(--main-color);
 transform: rotate(45deg); 
}

.two_column03 > li {
 width: calc((100% - 30px) / 2)
}

.two_column03 a {
 display: block;
}

.two_column03 a:hover {
 display: block;
 background: #333;
}

.two_column03 a .two_column03_bg01 {
 background: url("../img/common/two_column03_bg01.webp") center/cover no-repeat #ccc;
 color: #fff;
 z-index: 0;
}

.two_column03 a .two_column03_bg01:before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transition: 0.3s all;
	background: rgba(0,0,0,0.3);
	z-index: -1;
}

.two_column03 a:hover .two_column03_bg01:before {
 background: rgba(51,51,51,0.8);
}

.two_column03 a .two_column03_bg02 {
 background: url("../img/common/two_column03_bg02.webp") center/cover no-repeat #ccc;
 color: #fff;
 z-index: 0;
}

.two_column03 a .two_column03_bg02:before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transition: 0.3s all;
	background: rgba(0,0,0,0.3);
	z-index: -1;
}

.two_column03 a:hover .two_column03_bg02:before {
 background: rgba(51,51,51,0.8);
}

.two_column03 a .two_column03_bg03 {
 background: url("../img/common/two_column03_bg03.webp") center/cover no-repeat #ccc;
 color: #fff;
 z-index: 0;
}

.two_column03 a .two_column03_bg03:before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transition: 0.3s all;
	background: rgba(0,0,0,0.3);
	z-index: -1;
}

.two_column03 a:hover .two_column03_bg03:before {
 background: rgba(51,51,51,0.8);
}

@media (max-width : 1040px){

.two_column03 > li {
 width: 100%;
}
 
}
一覧に戻る