section.gpu-cluster.conthead h1 ,
section.gpu-cluster.conthead h2 {
 position: relative;
 margin: 60px auto 80px;
 font-size: 32px;
 text-align: center;
}
section.gpu-cluster.conthead h1:after ,
section.gpu-cluster.conthead h2:after {
 content: "";
 position: absolute;
 bottom: -20px;
 left: 0;
 right: 0;
 margin: auto;
 width: 50px;
 height: 3px;
 background: #1650a2;
}

section.gpu-cluster.contents h3 {
  margin-bottom: 16px;
  font-size: 18px;
}
section.gpu-cluster.contents p {
  margin-bottom: 16px;
}
section.gpu-cluster.contents figure {
  margin-bottom: 16px;
  text-align: center;
}
section.gpu-cluster.contents figure figcaption {
  margin-top: 5px;
}

@media (min-width: 641px) {
  section.gpu-cluster.contents h3 {
    margin-top: 30px;
    font-size: 22px;
  }
  section.gpu-cluster.contents .box_flex {
    display: flex;
    justify-content: space-between;
    gap: 50px;
  }
  section.gpu-cluster.contents .box_flex div {
    width: calc(65% - 50px);
  }
  section.gpu-cluster.contents .box_flex figure {
    width: 35%;
  }
  section.gpu-cluster.contents .box_flex {
    gap: 40px;
  }
  section.gpu-cluster.contents .box_flex.flex_img_l div ,
  section.gpu-cluster.contents .box_flex.flex_img_l figure {
    width: calc(50% - 20px);
  }
}

.red {
    color: #c43623;
}

/* 概要 */
#overview {
  margin-top: 50px;
}
@media (min-width: 641px) {
  #overview {
    margin-top: 100px;
  }
}

/* ご提供内容 */
#offer {
  margin-top: 50px;
}
@media (min-width: 641px) {
  #offer {
    margin-top: 100px;
  }
}
#offer .box_offer {
  position: relative;
  margin-bottom: 66px;
  padding: 20px 5px 5px;
  background: #67777B;
}
#offer .box_offer:not(:last-child)::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  bottom: -16px;
  transform: translate(-50%,100%);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 33px solid transparent;
  border-left: 33px solid transparent;
  border-top: 34px solid #94ca00;
  border-bottom: 0;
}
#offer .box_offer h3 {
  margin: 0 0 12px;
  color: #fff;
  font-size: 20px;
  text-align: center;
}
#offer .box_offer > p {
  margin-bottom: 20px;
  color: #fff;
  text-align: center;
}
#offer ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 5px;
}
#offer ul li {
  padding: 15px;
  width: 100%;
  background: #F4F4F4;
}
#offer ul li h4 {
  margin-bottom: 12px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}
@media (min-width: 641px) {
  #offer .box_offer {
    padding: 20px;
  }
  #offer .box_offer h3 {
    font-size: 28px;
  }
  #offer .box_offer > p {
    font-size: 20px;
  }
  #offer .box_offer:last-of-type {
    margin-left: auto;
    margin-right: auto;
    max-width: 400px;
  }
  #offer ul {
    gap: 10px;
  }
  #offer ul li {
    padding: 32px;
    width: calc((100% - 20px) / 3);
  }
  #offer .box_offer:last-of-type ul li {
    width: 100%;
  }
  #offer ul li figure {
    margin-bottom: 34px;
  }
}

/* 関連コラム */
#related_columns {
  margin-top: 50px;
}
@media (min-width: 641px) {
  #related_columns {
    margin-top: 100px;
  }
}
.trend {
margin-top: 30px;
}
@media screen and (max-width:640px){
.trend {
margin-top: 20px;
}
}

.trend .block-cont{
	display: flex;
	justify-content:flex-start;
	flex-wrap: wrap;
    gap: 30px;
}
	@media screen and (max-width:640px){
		.trend .block-cont{
			display: block;
			width: auto;
		}
	}
.block-cont a .info h3{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin: 0 auto 5px;
  font-size: 14px;
}
.trend .block-cont a{
  background: #000;
  color: #fff;
	display: block;
	transition: .3s;
	width: 360px;
}
	@media screen and (max-width:640px){
		.trend .block-cont a{
			width: 100%;
			margin-top: 30px;
		}
	}
.trend a > .img{ border-bottom: 2px #b4e362 solid;}
.trend a .img img{display: block;}

.trend .block-cont a:hover{
	opacity: 0.7;
	transition: .3s;
}
.trend .block-cont a .img{
	position: relative;
    text-align: center;
}
.trend .block-cont a .img img{
    margin: auto;
}
.trend .block-cont a .img .label{
	position: absolute;
}
	@media screen and (max-width:640px){
		.trend .block-cont a .img img{
			max-width: 100%;
		}
	}

.trend .block-cont a .info{
	color: #fff;
	padding: 25px 15px 20px;
	font-size: 14px;
}
	@media screen and (max-width:640px){
		.trend .block-cont a .info{
			padding: 15px 10px 10px;
		}
	}
.trend .block-cont a .info .date{
	margin-bottom: 20px;
}
	@media screen and (max-width:640px){
		.trend .block-cont a .info .date{
			margin-bottom: 10px;
		}
	}
.trend .block-cont a .info .writer {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
.block-cont a .info .writer .img img {
  width: 70%;
}
.block-cont a .info .writer p {
  margin-bottom: 0;
}
