	@font-face {
	  font-family: "ipaexMincho";
	  src: url("../fonts/ipaexm.ttf");
	}

  	/*common*/
  	body,
  	html {
	  background-color:black;
	  color:white;
  	  margin: 0;
  	  height: 100%;
  	  font-family: "ipaexMincho";
  	  line-height: 1.5;
  	}
	html {
	  scroll-padding-top: 5em;
	}
	a{
	  text-decoration:none;
	}
  
  	.fullscreen-bg {
  	  position: relative;
  	  min-height: 650px;
  	  height: 100%;
  	  width: 100%;
  	  color: white;
  	  background: url('../img/bg_img1.jpg') center center no-repeat;
  	  background-size: cover;      
  	}
  
  	a{
  	  color:white;
  	}
  	a:hover{
  	  color:#A9A9A9;
  	  transition:0.3s;
  	}
	.navbar-brand{
	  font-family: "Zen Kaku Gothic New", sans-serif;
	  font-size:3em;
	  letter-spacing:0.1em;
	  margin-right:0!important;
	}
	h2{
	  font-family: "Zen Kaku Gothic New", sans-serif;
	  font-size:2.5em;
	  padding-bottom:0.5em;
	}
	.table>:not(caption)>*>*{
	  background:black!important;
	  color:white!important;
	  border: none;
	}
	.footer{
	  color: white;
	  letter-spacing: 0.35em;
	  padding-bottom:7em;
	}

	
  	/*layout*/
	.gmenu{
	  letter-spacing:0.1em;
	}
	.gmenu li{
	  padding:0 0.75em;
	  font-family:"ipaexMincho";
	}
  	.section {
  	  padding:7em 0;
  	}
  
  	.section_1 {
  	  background: black;
  	  color: white;
  	  letter-spacing: 0.35em;  
  	}

  	.section_2_1 {
  	  background: url(../img/DSCF2119.jpeg) center center  no-repeat;
  	  background-size: cover;
	  height:calc(100vw * 0.44091796875); 
  	  padding:5%;	    
	  text-decoration:none!important;
	  position:relative;
  	}
  	.section_2_2 {
  	  background: url(../img/DSCF7635.jpeg) center center  no-repeat;
  	  background-size: cover;
	  height:calc(100vw * 0.44091796875); 
  	  padding:5%;	    
	  text-decoration:none!important;  
	  position:relative;
  	}
  	.section_2_3 {
  	  background: url(../img/DSCF0518.jpeg) center center  no-repeat;
  	  background-size: cover;
	  height:calc(100vw * 0.44091796875); 
  	  padding:5%;	    
	  text-decoration:none!important;  
	  position:relative;
  	}

  	.section_3 {
  	  background: black;
  	  color: white;
  	  letter-spacing: 0.35em;  
  	}
	
	.navbar-toggler{
	  padding:0em
	}
	.navbar-toggler-icon {
	  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 1)' stroke-width='3' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");

	}

	.gallery_head{
	  font-size:2.3em;
	  color:rgba(250,250,250,0.9);
	  letter-spacing:0.4em;
	}

	.gallery_head big{
	  font-size:1.6em;
	}

	/*grid*/
	.gallery-cols {
	  display: grid;
	  grid-template-columns: repeat(1, 1fr);
	}

	.gl-5cols > .gallery-item {
	  width: 100%;
	  /* 横5 : 縦16 の縦長比率に指定 */
	  aspect-ratio: 16 / 25; 
	  overflow: hidden; /* 枠からはみ出た画像を隠す */
	}

	.gl-3cols > .gallery-item {
	  width: 100%;
	  /* 横5 : 縦16 の縦長比率に指定 */
	  aspect-ratio: 30 / 20; 
	  overflow: hidden; /* 枠からはみ出た画像を隠す */
	}
  	.btn-entry {
  	  width: 280px;
  	  border: solid 1px white;
  	  text-align:center!important;
	  letter-spacing:0;
  	}
  	.btn-entry > a{
  	  padding: 1.2em 2em;
  	  background-color: rgba(255, 255, 255, 0.5);
  	  text-decoration:none;
  	  display:block;
  	}
  	.btn-entry > span{
  	  padding: 1.2em 2em;
  	  background-color: rgba(255, 255, 255, 0.5);
  	  text-decoration:none;
  	  display:block;
  	}

  	.btn-entry > a:hover{
  	  padding: 1.2em 2em;
  	  text-decoration:none;
  	  background:white;
  	}  	@media screen and (max-width: 1200px) {
  	  .fullscreen-bg{
  	   text-align:center;
  	  }
  	  .sc0_bottom{
  		position:absolute;
  		bottom:5em;
  		left: 50%;
  		transform: translateX(-50%);
  		width:100%;
  	  }
	  .gallery_head{
		font-size:1.8em!important;
	  }
  	  .pos_center{
  		left:50%;
  		margin:0 auto;
  		text-align:center;
  	  }
  	}

	@media screen and (max-width:992px){

	  .brand-center {
	  position: absolute;
	  left: 50%;
	  transform: translateX(-50%);
	  margin: 0;
	  }

	  .gmenu{
		  font-size:1.8em!important;
	  }

	  /* メニューが開いているとき、およびアニメーション中のスタイル */
	  .navbar-collapse.collapse.show,
	  .navbar-collapse.collapsing {
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100dvh; 
		background-color: rgba(0, 0, 0, 0.98); 
		z-index: 1050; 
	  	display: flex !important;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		transition: opacity 0.4s ease-in-out !important; 
	  }

	  .navbar-collapse:not(.show)  {
		opacity: 0;
		display: none;
		transition: opacity 0.4s ease-in-out !important; 
	  }

	  .navbar-collapse.show {
		display: block;
		opacity: 1;
	  }

	}
  
	@media screen and (max-width:768px){
	  .gallery_head{
		font-size:1.75em!important;
	  }
	  .thanks-link{
	    text-align:center;
	  }
  	  body {
  		font-size:75%;
  	  }
	  .gallery_head{
		font-size:1.5em!important;
	  }
	  .table-responsive,
	  .table-responsive tbody,
	  .table-responsive tr,
	  .table-responsive th,
	  .table-responsive td {
		display: block !important;
		width: 100%;
		padding:0;
	  }
	}
	  .table-responsive td {
		padding-bottom:1em;
	  }

	@media (min-width: 768px) {
	  .gmenu{
		padding-left:2em;
		padding-top:2em;
		vertical-align:bottom;
	  }
	  .gl-3cols {
		grid-template-columns: repeat(3, 1fr); /* 3列に分割 */
	  }
	  .gl-5cols {
		grid-template-columns: repeat(5, 1fr); /* 5列に分割 */
	  }
	  .gallery-cols {
	    margin-bottom:1em;
	    gap: 2em; /* 画像の間の余白 */
	  }
	  .about{
		margin :0 5em;		  
	  }
	}

  	@media screen and (max-width: 576px) {	  
  	  .section{
  		padding-left:2.1em;
  		padding-right:2.1em;
  
  	  }
  	  .shBox {
  		width:100%;
  	  }  	  
  	}

