@charset "utf-8";
/*
Theme Name: design_sann-it.biz
Theme URI: http://design.sann-it.biz/
Author: laetitien
Author URI: http://design.sann-it.biz/
Description: 
Version: 1.0.0
*/
/* 共通 */
#header {
    max-width: 1500px;
    text-align: center;
    margin: 0 auto;
}
#footer {
    margin-top: 100px;
    padding: 5%;
    background: red;
    color: #fff;
    text-align: center;
    padding: 10px;
}
section.full {
    max-width: 100%;
    text-align: center;
    margin: 0 auto;
}
section#fv,
section.banner-content,
section.movie-content {
    max-width: 1200px;
    text-align: center;
    margin: 100px auto 0;
}
li {
    list-style: none;
}
a {
    text-decoration: none;
}
html, body {
    margin: 0;
    padding: 0;
}
body {
    line-height: 1.5;
}
body {
    overflow-x: hidden; /* 横スクロールを無効にする例 */
}
main#main-content {
    margin-top: -32px;
}
h1 {
}
h2 {
  margin-top: 120px;
}
h3 {
  margin-top: 50px;
  text-align: left;
}
.sp_only{
  display: none;
}
.br-pc {
  display: block;
}
.br-sp {
  display: none;
}
.none {
	display: none;
}
.clear {
	clear: both;
}
.left {
	float: left;
}
.right {
	float: right;
}
.aligncenter {
	text-align: center;
}
.alignleft {
	text-align: left;
}
.alignright {
	text-align: right;
}
html { scroll-behavior: smooth;}
.mt-50 {
  margin-top: 50px;
}
.mb-50 {
  margin-bottom: 50px;
}
.page-top {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 999;
  display: none; /* 最初は非表示 */
  background-color: red; /* お好みの色 */
  color: #fff;
  font-size: 14px;
  padding: 10px 18px;
  border-radius: 25px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
  text-decoration: none;
  transition: opacity 0.3s, transform 0.3s;
}
.page-top:hover {
  opacity: 0.8;
  transform: translateY(-3px);
}
@media screen and (max-width: 768px) {
  section#fv,
  section.banner-content,
  section.movie-content {
      max-width: 100%;
      padding: 0 2%;
      margin: 30px auto;
  }
}
/* ヘッター */
img.logo {
    width: 100%;
}
/* FV */
#tab {
  display: flex;
  justify-content: center; /* 中央寄せ */
  align-items: center;     /* 縦位置も中央に */
  gap: 20px;               /* 画像の間隔 */
}
#tab img {
  max-width: 30%;
  height: auto;
  display: block;
}
#tab img.tab-btn {
  cursor: pointer;
  transition: opacity 0.3s ease;
}
#tab img.tab-btn:hover {
  opacity: 0.7;
}
/* コンテンツの表示／非表示 */
.tab-content {
  display: none;
}
.tab-content.active {
  display: block;
}
.fv-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 1行に4つ */
  gap: 10px; /* 画像の間隔を調整 */
  list-style: none;
  padding: 0;
  margin: 0;
}
.fv-list li {
  text-align: center;
}
.fv-list-img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease, opacity 0.3s ease; /* アニメーション */
}
.fv-list-img:hover {
  opacity: 0.7;        /* ホバーで透過 */
  cursor: pointer;      /* 手の形に */
}


/* バナー */
.banner-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 横に2列 */
  gap: 20px; /* 画像の間隔 */
  list-style: none;
  padding: 0;
  margin: 0;
}

.banner-list li {
  text-align: center;
}

.banner-list img {
  width: 100%;
  height: auto;
  display: block;
}
.banner-list li.empty {
  visibility: hidden; /* 奇数対策：空要素は非表示に */
}

/* 動画 */
.movie-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 横に2列 */
  gap: 20px; /* 画像・動画の間隔 */
  list-style: none;
  padding: 0;
  margin: 0;
}
.movie-list li {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9; /* 動画比率維持 */
  text-align: center;
  background: #000;
}
.movie-list iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.movie-list img {
  width: 100%;
  height: auto;
  display: block;
}
.movie-list li.empty {
  visibility: hidden;
}

/* スマホ時は1列表示 */
@media (max-width: 768px) {
  .banner-list,
  .movie-list {
    /*grid-template-columns: 1fr;*/
  }
}

/* 1280px以下　かつ　769px以上に適用されるCSS（タブレット用） */
@media only screen and (max-width: 1280px) and (min-width: 769px){
  /* 共通 */
	.menu_pc {
		width: 80%;
	}
}

/* 768px以下に適用されるCSS（スマホ用） */
@media screen and (max-width: 768px) {
  /* 共通 */
    html, body {
        margin: 0;
        padding: 0;
    }
    body {
        line-height: 1.5;
    }
    body {
        overflow-x: hidden; /* 横スクロールを無効にする例 */
    }

	  .pc_only{
    	display: none !important;
  	}
  	.sp_only {
      	display: block !important;
  	}
  	.br-sp {
    	display: block;
  	}
  	.br-pc {
    	display: none;
  	}
	
    header {
        margin: 0;
        padding: 0;
    }
    #header .logo {
        height: 100px;
    }
    header h1, header p {
        margin-bottom: 0;
        width: 100%;
    }
	.menu_pc {
		display: none;
	}
  main#main-content {
      margin-top: 0;
  }
	/* ヘッダー */
  .fv-list {
    grid-template-columns: repeat(2, 1fr); /* 2列 */
  }
	/* コンテンツ */
  #tab img {
    max-width: 40%;
  }
	/* バナー */
  img.ttl-img {
     width: 90%;
  }
  /* フッター */
  #footer {
      padding: 1rem 5%;
  }
}
