.@charset "UTF-8";
/* CSS Document */
   * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    html, body {
      height: 100%;
      font-family: sans-serif;
      overflow: hidden;
    }

body.scroll-unlocked {
  overflow: auto; /* スクロールを有効に戻す */
}

.right {
  height: 100vh; /* 画面いっぱいに */
  overflow-y: auto;
}

.normal-content {
  margin-top: 1faebd70vh;
  padding: 100px 40px;
  background: #fff;
}

.fade-section {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s ease;
}

.fade-section.visible {
  opacity: 1;
  transform: translateY(0);
}

    /* ▼ ヘッダー */
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100px;
  background-color: #FFF;
  color: #000;
  display: flex;
	 flex-flow: column;
  align-items: center;
  justify-content: center; /* ← 全角スペース除去済み */
  /* padding-left: 20px; ← 削除または調整 */
  z-index: 1000;
}

    .container {
      display: flex;
      height: 100vh;
      padding-top: 60px; /* ヘッダー高さ分スペースを空ける */
    }

    /* ▼ 左カラム固定 */
    .left {
      width: 18%;
      padding: 20px 20px;
      background: #fff;
      position: fixed;
      top: 100px; /* ヘッダー分下げる */
      height: calc(100vh - 60px);
      overflow: hidden;
    }

    .left .text-block {
      display: none;
      font-size: 18px;
      line-height: 1.6;
		
		
    }



.left .text-block.active {
  display: block;
  flex-direction: column;
  text-align: right;
  color: #000; /* フォントの色を白に */
}


    /* ▼ 右カラムスクロール */
    .right {
      margin-left: 20%;
      width: 80%;
      height: calc(100vh - 60px);
      overflow-y: scroll;
      padding: 10px 10px;
    }

.grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(100px, 2fr));
      grid-template-rows: repeat(5, minmax(50px, auto));
      grid-column-gap: 5px;
      grid-row-gap: 5px;
      padding: 10px;
      box-sizing: border-box;
    }

    /* グリッドエリア指定 */
    .div1 {
      grid-area: 1 / 2 / 1 / 4 ;
    }

    .div2 {
      grid-area: 2 / 1 ;
    }

    .div3 {
      grid-area: 2 / 2 ;
    }

    .div4 {
      grid-area: 2 / 3 ;
    }

    .div5 {
      grid-area: 3 / 1 / 3 / 3;
    }

    .div6 {
      grid-area: 4 / 1;
    }

    .div7 {
      grid-area: 4 / 2;
    }

    .div8 {
      grid-area: 4 / 3;
    }

    .div9 {
      grid-area: 5 / 1;
    }
    .div10 {
      grid-area: 5 / 2;
    }
    .div11 {
      grid-area: 6 / 2 / 6 / 4;
    }
    .div12 {
      grid-area: 7 / 1;
    }
    .div13 {
      grid-area: 7 / 2;
    }
    .div14 {
      grid-area: 8 / 2;
    }
    .div15 {
      grid-area: 8 / 3;
    }

    .div16 {
      grid-area: 9 / 1 / 9 / 3;
    }
  .div17 {
      grid-area: 10 / 1;
    }
  .div18 {
      grid-area: 10 / 2;
    }
 .div19 {
      grid-area: 10 / 3;
    }
.div20 {
      grid-area: 11 / 2;
    }
.div21 {
      grid-area: 11 / 3;
    }
.div22 {
      grid-area: 12 / 2 / 12 / 4;
    }
.div23 {
      grid-area: 13 / 1 ;
    }

.div24 {
      grid-area: 13 / 2;
    }

.div25 {
      grid-area: 13 / 3;
    }

.div26 {
      grid-area: 14 / 1 / 14 / 3
    }

.div27 {
      grid-area: 15 / 1 / 15 / 3
    }




@media screen and (max-width: 768px) {
.grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(100px, 2fr));
      grid-template-rows: repeat(5, minmax(50px, auto));
      grid-column-gap: 5px;
      grid-row-gap: 5px;
      padding: 5px;
      box-sizing: border-box;
    }

    /* グリッドエリア指定 */
    .div1 {
      grid-area: 1 / 1 / 1 / 3;
    }

    .div2 {
      grid-area: 2 / 1 ;
    }

    .div3 {
      grid-area: 2 / 2 ;
    }

    .div4 {
      grid-area: 3 / 1 ;
    }

    .div5 {
      grid-area: 4 / 1 / 4 / 3;
    }

    .div6 {
      grid-area: 5 / 1;
    }

    .div7 {
      grid-area: 5 / 2;
    }

    .div8 {
      grid-area: 6 / 1;
    }

    .div9 {
      grid-area: 7 / 1;
    }
    .div10 {
      grid-area: 7 / 2;
    }
    .div11 {
      grid-area: 8 / 1 / 8 / 3;
    }
    .div12 {
      grid-area: 9 / 1;
    }
    .div13 {
      grid-area: 9 / 2;
    }
    .div14 {
      grid-area: 10 / 2;
    }
    .div15 {
      grid-area: 11 / 1;
    }

    .div16 {
      grid-area: 12 / 1 / 12 / 3;
    }
  .div17 {
      grid-area: 13 / 1;
    }
  .div18 {
      grid-area: 13 / 2;
    }
 .div19 {
      grid-area: 14 / 2;
    }
.div20 {
      grid-area: 15 / 1;
    }
.div21 {
      grid-area: 15 / 2;
    }
.div22 {
      grid-area: 16 / 1 / 16 / 3;
    } 
.div23 {
      grid-area: 17 / 1 ;
    }

.div24 {
      grid-area: 17 / 2 ;
    }
	
	.div25 {
      grid-area: 18 / 2 ;
    }

.div26 {
      grid-area: 19 / 1 / 19 / 3;
    }

.div27 {
      grid-area: 20 / 1 / 20 / 3;
    }}





.block {
  display: grid;
  gap: 15px;
}


.image-block img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover; /* 必要に応じて */
}


.grid-item {
  width: 100%; /* 幅を100%に設定 */
}


.div1 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div1 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
	color:			#fff;
}
.div1 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div1:hover .mask {
	opacity:		1;	/* マスクを表示する */
}


.div2 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div2 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
	color:			#fff;
}
.div2 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div2:hover .mask {
	opacity:		1;	/* マスクを表示する */
}


.div3 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div3 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
	color:			#fff;
}
.div3 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div3:hover .mask {
	opacity:		1;	/* マスクを表示する */
}



.div4 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div4 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
color:			#fff;
}
.div4 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div4:hover .mask {
	opacity:		1;	/* マスクを表示する */
}


.div5 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div5 .caption {
	font-size:		100%;
	text-align: 		center;
	color:			#fff;	padding-top:		30%;

}
.div5 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div5:hover .mask {
	opacity:		1;	/* マスクを表示する */
}


.div6 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div6 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
	color:			#fff;
}
.div6 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div6:hover .mask {
	opacity:		1;	/* マスクを表示する */
}


.div7 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div7 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
	color:			#fff;
}
.div7 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div7:hover .mask {
	opacity:		1;	/* マスクを表示する */
}



.div8 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div8 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
	color:			#fff;
}
.div8 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div8:hover .mask {
	opacity:		1;	/* マスクを表示する */
}


.div9 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div9 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
	color:			#fff;
}
.div9 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div9:hover .mask {
	opacity:		1;	/* マスクを表示する */
}


.div10 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div10 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
color:			#fff;
}
.div10 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div10:hover .mask {
	opacity:		1;	/* マスクを表示する */
}


.div11 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div11 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
	color:			#fff;
}
.div11 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div11:hover .mask {
	opacity:		1;	/* マスクを表示する */
}


.div12 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div12 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
	color:			#fff;
}
.div12 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div12:hover .mask {
	opacity:		1;	/* マスクを表示する */
}


.div13 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div13 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
	color:			#fff;
}
.div13 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div13:hover .mask {
	opacity:		1;	/* マスクを表示する */
}


.div14 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div14 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
	color:			#fff;
}
.div14 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div14:hover .mask {
	opacity:		1;	/* マスクを表示する */
}


.div15 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div15 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
	color:			#fff;
}
.div15 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div15:hover .mask {
	opacity:		1;	/* マスクを表示する */
}


.div16 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div16 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		30%;
	color:			#fff;
}
.div16 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div16:hover .mask {
	opacity:		1;	/* マスクを表示する */
}


.div17 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div17 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
	color:			#fff;
}
.div17 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div17:hover .mask {
	opacity:		1;	/* マスクを表示する */
}

.div18 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div18 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
	color:			#fff;
}
.div18 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div18:hover .mask {
	opacity:		1;	/* マスクを表示する */
}


.div19 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div19 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
	color:			#fff;
}
.div19 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div19:hover .mask {
	opacity:		1;	/* マスクを表示する */
}

.div19 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div19 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
	color:			#fff;
}
.div19 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div19:hover .mask {
	opacity:		1;	/* マスクを表示する */
}

.div20 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div20 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
	color:			#fff;
}
.div20 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div20:hover .mask {
	opacity:		1;	/* マスクを表示する */
}

.div21 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div21 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
	color:			#fff;
}
.div21 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div21:hover .mask {
	opacity:		1;	/* マスクを表示する */
}

.div22 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div22 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		30%;
	color:			#fff;
}
.div22 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div22:hover .mask {
	opacity:		1;	/* マスクを表示する */
}


.div23 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div23 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
	color:			#fff;
}
.div23 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div23:hover .mask {
	opacity:		1;	/* マスクを表示する */
}

.div24 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div24 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
	color:			#fff;
}
.div24 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div24:hover .mask {
	opacity:		1;	/* マスクを表示する */
}

.div25 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div25 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
	color:			#fff;
}
.div25 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div25:hover .mask {
	opacity:		1;	/* マスクを表示する */
}


.div26 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div26 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		30%;
	color:			#fff;
}
.div26 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div26:hover .mask {
	opacity:		1;	/* マスクを表示する */
}

.div27 {
	overflow:		hidden;
	position:		relative;	/* 相対位置指定 */
}
.div27 .caption {
	font-size:		100%;
	text-align: 		center;	padding-top:		50%;
	color:			#fff;
}
.div27 .mask {
	width:			100%;
     min-height: 100%;
	position:		absolute;	/* 絶対位置指定 */
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
}
.div27:hover .mask {
	opacity:		1;	/* マスクを表示する */
}



div{
  position: relative; /*親要素にrelative*/
}
d{
  margin: 0;
  font-size: 22px;
  color: #fff;
  position: absolute;
  right: 20px; /*左から30px*/
}

c{
  margin: 0;
  color: #fff;
  left: 5px; /*左から30px*/
}

h{
  margin: 0;
  font-size: 12px;
  color: #000;
  position: absolute;
  bottom: 1px; /*上から20px*/
  right: 1px; /*左から30px*/
}
j{
  margin: 0;
  font-size: 12px;
  color: #000;
  position: absolute;
  bottom: 1px; /*上から20px*/
  left: 1px; /*左から30px*/
}
m{
  margin: 0;
  font-size: 12px;
  color: #000;
  position: absolute;
  top: 1px; /*上から20px*/
  right: 1px; /*左から30px*/
}

n{
  margin: 0;
  color: #000;
  position: absolute;
  left: 1px; /*左から30px*/
}

a:link {
  color:rgba(var(--color-foreground), 0.75) !important;
  font-weight :normal !important;
}
a:visited {
  color:rgba(var(--color-foreground), 0.75) !important;
  font-weight :normal !important;
}
a:active {
  color:rgba(var(--color-foreground), 0.75) !important;
  font-weight :normal !important;
}

a:hover {
   opacity: 0.75; /* 25％ほど透明にする */
}


img:hover {
   opacity: 0.75; /* 25％ほど透明にする */
}


img {
    width: 100%;
    height: 100%;
object-fit: cover;
}


body {
  padding: 5px 5px;
}
h1 {
  margin-bottom: 100px;
}
h2 {
  margin-bottom: 50px;
}
/* スライドする要素 */
.content {
   background-image: cover;
   width: 350px;
   height: 400px;
 
}
/* スライドレールの枠 */
.wrap {
  overflow: hidden;
  display: flex;
  align-items: center;
  height: 400px;
  margin-bottom: 100px;

}
/* content4つをまとめたスライドブロック */
.slideshow {
  display: flex;
  -webkit-animation: loop-slide 20s infinite linear 1s both;
  animation: loop-slide 20s infinite linear 1s both;
}
@-webkit-keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

.wrapper{
     width: 100%;
     position: relative;
     min-height: 100%;
}

.border {
    width: 100%;
    max-width: 300px; /* 必要に応じて調整 */
    margin: 0 auto; /* 中央に配置 */
    border: solid 1px #454545;
    padding: 1px;
    box-sizing: border-box;
}




.divlogo {
	width:	250px;
     height: 25px;
	margin-bottom: 20px;
	}


.div{
  font-family: 'Helvetica';
}

body{
  font-family: 'Helvetica';
}

img { image-rendering: -webkit-optimize-contrast; }


.text {
            position: absolute;
            bottom: 0;
            right: 0;
            margin: 20px;
            font-size: 10px;
            text-align: right 

}

.text2 {
            bottom: 10;
            right: 0;
            margin: 0px;
            font-size: 13px;
        }


     body, html {
        margin: 0;  /* 全体の余白をリセット */
        padding: 0;
    }

body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}


a {
  text-decoration: none !important; /* 強制的に適用 */
}

.footer {
  position: fixed;
  bottom: 0;
  width: 100%;
  background-color: #333; /* フッターの背景色 */
  color: #fff; /* フッターの文字色 */
  text-align: center;
  padding: 20px;
}


.child {
  position: relative;
  left: 0; /* これが横ずれを防ぐ */
}


   .section {
      margin-bottom: 40px;
      font-size: 2rem;
    }





@media screen and (max-width: 768px) {
  .left {
    display: none;
  }
  
  .right {
    margin-left: 0;
    width: 100%;
  }
}



.fixed-title {
  position: sticky;
  top: 0;
  background: #fff;
  font-weight: normal;
  padding-bottom: 150px;
  /* border-bottomは削除 */
  z-index: 10;
  color: #000;
  text-align: right;
  position: relative; /* 擬似要素用に必要 */
}

.fixed-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;                /* 右寄せに */
  width: 50%;              /* 線の長さを半分に */
  border-bottom: 1px solid #000;
}


.fixed-title1 {
  position: sticky;
  top: 0;
  background: #fff; /* 背景は左カラムの背景と合わせる */
  font-weight: normal;
  padding-bottom: 10px;

  z-index: 10;
	 color: #000;
	  text-align: center;
}
@media screen and (min-width: 768px) {
  .fixed-title1 {
    display: none !important;
  }
}
