/* -----------------------------------
   全体
----------------------------------- */
.hmax-page{
	padding-bottom:0;
	padding-left:0;
	padding-right:0
}
.hmax-page .section{
	margin-bottom: 80px;
}
.section__inner{
	max-width:1275px;
	margin:auto;
}
.section__inner h2:not(.hmax-diagram-block__catch) {
	font-size:1.5rem;
	font-weight:bold;
	border-left:solid 5px #CC0000;
	padding:0 0 0 1em;
	margin-bottom:1em;
}
.section__inner h3{
	color:#0c0c0c;
}
a.hmax-button {
  display: inline-block;
  max-width: 370px;
	width:100%;
  padding: 0.5em;
  text-align: center;
	box-sizing: border-box;
  background-image: url(/assets/images/icon-arrow_02.png);
  background-repeat: no-repeat;
  background-size: auto 1.125em;
  background-position: right 1.4375em center;
  background-color: #cc0000;
  color: #fff;
  text-decoration: none;
  transition: box-shadow 0.3s;
}
a.hmax-button:hover {
  box-shadow: inset 0 0 0 9999px rgba(0,0,0,0.3);
}
.hmax-page a:not(.hmax-button),
.hmax-page a .hmax-service-list__title {
	position:relative;
}
.hmax-page a:not(.hmax-button) .hmax-service-list__title::after {
  content:"";
  display: block;
  width: 0.5em;
  height: 0.5em;
  border-style: solid;
  border-width: 0 2px 2px 0;
  border-color: #cc0000;
  position: absolute;
  right: 0.5em;
  top: 0.5em;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  margin-left: 0.625em;
}
	@media screen and (max-width: 768px) {
		a.hmax-button {
		  display:block;
			margin:auto;
		}
		.hmax-page .section{
			margin-bottom: 40px;
		}
		.section__inner h2:not(.hmax-diagram-block__catch) {
			font-size:1.25rem;
		}
	}

/* -----------------------------------
   ブランディング
----------------------------------- */
#hmaxKeyVisual{
	background-image:url(/hmax/images/kv.jpg);
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center center;
	height:600px;
}
#hmaxKeyVisual .section__inner{
	position: relative;
	height:100%;
}
#hmaxKeyVisual .section__caption{
  position: absolute;
  left: 0;
  bottom:30px;
	background:#ffffffd1;
	padding:2rem;
  box-sizing: border-box;
	border-radius: 6px;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
.hmax-page h1{
	font-size:2.5rem;
	font-weight:bold;
}
	@media screen and (max-width: 1304px) {
		.OptionWideRWD #Contents #hmaxKeyVisual {
		  width: calc(100% + 30px);
		  margin-left: -15px;
		  margin-right: -15px;
		}
	}
	@media screen and (min-width: 769px) {
		#hmaxKeyVisual .section__caption{
			max-width:570px;
		}
	}
	@media screen and (max-width: 768px) {
		#hmaxKeyVisual{
			height:400px;
		}
		.hmax-page h1{
			font-size:1.75rem;
		}
		#hmaxKeyVisual .section__caption{
			left:15px;
			width:calc(100% - 30px);
			padding:1rem;
		}
	}



/* -----------------------------------
   概念図
----------------------------------- */
.hmax-diagram-block__catch{
	font-size:2rem;
	font-weight:bold;
	margin:2em;
	text-align:center;
}
.hmax-diagram{
	max-width:950px;
  margin: auto;
}
.hmax-diagram-block{
}
.hmax-diagram-block__note{
	font-size:1.25rem;
	margin:1em;
}
	@media screen and (max-width: 768px) {
		.hmax-diagram-block__catch{
			font-size:1.25rem;
		}
		.hmax-diagram-block__note{
			font-size:1rem;
		}
	}


/* -----------------------------------
   デジタルサービス
----------------------------------- */
.hmax-service-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}
.hmax-service-list a {
  text-decoration: none;
  color: #0c0c0c;
}
.hmax-service-list a:hover {
  opacity: 0.7;
}
.hmax-service-list__item {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.hmax-service-list__thumb {
  width: 100%;
  aspect-ratio: 16 / 9;
  margin-bottom: 12px;
}
.hmax-service-list__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hmax-service-list__title {
  margin: 0 0 0.5em;
  padding: 0 1em 0.5em 0;
  font-size: 1.2rem;
  line-height: 1.5;
  border-bottom: solid 2px #CC0000;
}
.hmax-service-list__desc {
  margin: 0;
}
	@media screen and (max-width: 1090px) {
		.hmax-service-list__title {
		  flex-basis: 3em;
		}
	}
	@media screen and (max-width: 768px) {
	  .hmax-service-list {
	    grid-template-columns: repeat(2, 1fr);
	  }
	}


/* -----------------------------------
   関連リンク
----------------------------------- */
.hmax-info-links__item {
  display: flex;
  gap: 25px;
}
.hmax-info-links__thumb {
	width:50%;
  max-width: 625px;
  flex-shrink: 0;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.hmax-info-links__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hmax-info-links__title {
	font-size:1.5rem;
	margin-bottom:0.5em;
}
.hmax-info-links__desc {
  margin-bottom:1rem;
}
	@media screen and (min-width: 1305px) {
		.hmax-info-links__body {
		  max-width: calc(100% - 650px);
			width:100%;
		}
	}
	@media screen and (max-width: 768px) {
		.hmax-info-links__item {
			flex-wrap:wrap;
		}
		.hmax-info-links__thumb {
			width:100%;
		}
	  .hmax-service-list {
	    grid-template-columns: repeat(2, 1fr);
	  }
	}

/* -----------------------------------
   ページトップリンク（style.cssから移植）
----------------------------------- */
.c-pagetop {
	position: fixed;
	width: 60px;
	bottom: 45px;
	right: 30px;
	z-index: 1;
}
.c-pagetop a {
	display: inline-block;
}
.c-pagetop img {
	width: 100%;
}

	@media screen and (max-width: 1304px) {
	}
	@media screen and (max-width: 994px) {
	}
	@media screen and (max-width: 767px) {
		.JS #Contents h2 {
			margin-left: 0;
			margin-right: 0;
		}
		.JS .c-pagetop {
			display: none;
		}
	}
	@media screen and (max-width: 579px) {
	}
	@media screen and (max-width: 399px) {
	}
