@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@600&display=swap');
.gigaindex {
 max-width: 640px;
 margin: auto;
 text-align: left;
 font-weight: 600;
}
.gigaindex a:hover {
 color: #000 !important;
}
.gigaindex .sns-share {
 display: none;
}
.gigaindex img {
 max-width: 100%;
 height: auto;
 vertical-align: top;
}
.gigaindex a {
 -webkit-transition: all 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
 transition: all 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
}
.gigaindex .head {
 display: none;
}
.gigaindex .content {
 padding: 0 0 10px;
 margin-bottom: 50px;
}
.gigaindex .bg {
 background-color: #292F6F;
 padding: 30px 20px 0;
}
.gigaindex .txtbox {
 color: #fff;
 padding-top: 20%;
}
.gigaindex .en {
 font-family: "Poppins", Arial, Helvetica, sans-serif;
 font-weight: 600;
 color: #EBFE8C;
}
.gigaindex .txtbox .gi-logo {
 width: 70%;
 max-width: 300px;
 margin: 0 auto 10%;
}
.gigaindex .txtbox .gi-logo svg {
 width: 100%;
 height: auto;
}
.gigaindex .txtbox .ttl {
 margin: 20px auto;
 font-size: 2.7em;
 line-height: 1.2em;
 white-space: nowrap;
 text-align: center;
 display: flex;
 justify-content: center;
 align-items: center;
}
.gigaindex .txtbox .ttl .feature {
 display: inline-block;
 background-color: #EBFE8C;
 color: #292F6F;
 font-size: 18px;
 line-height: 1em;
 padding: 4px 10px;
 margin-right: 12px;
}
.gigaindex .txtbox .read {
 font-size: 14px;
 font-weight: 600;
 line-height: 1.8em;
 text-align: justify;
}
.gigaindex .pagettl span {
 display: block;
 font-size: 26px;
 line-height: 1.8em;
}
.gigaindex .section-ttl {
 text-align: center;
 font-size: 20px;
 margin-bottom: 16px;
 color: #fff;
}
.gigaindex .section-ttl .en {
 display: block;
 font-size: 1.6em;
 line-height: 1.2em;
 color: #EBFE8C;
 margin-bottom: 5px;
}
.gigaindex a:hover img, .gigaindex a:hover .linkbutton {
 opacity: 0.7;
 color: #fff !important;
}
.gigaindex .linkbutton {
 display: block;
 box-sizing: border-box;
 width: 100%;
 padding: 12px;
 color: #fff !important;
 font-weight: 700;
 background: #7C3D9D;
 text-align: center;
 box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
 border-radius: 50px;
}
#container .art-box .figcaption .linkbutton {
 padding: 8px 5px;
 position: absolute;
 bottom: 0;
 font-size: 1.2em;
 left: 0;
 right: 0;
 margin: auto;
 max-width: 400px;
}
#container .art-box .figcaption .linkbutton.en {
 font-size: 1em;
}
#container .seminar-area {
 margin-bottom: 3em;
}
#container .seminar-area .linkbutton {
 font-size: 1.6em;
 max-width: 480px;
 margin: 1em auto 0;
}
#container section {
 padding-bottom: 80px;
}
#container .grid {
 display: -ms-flexbox;
 display: flex;
 -ms-flex-wrap: wrap;
 flex-wrap: wrap;
 justify-content: center;
 gap: 20px;
}
#container .art-box {
 width: 100%;
 background: #fff;
 color: #000;
 padding: 1em;
 box-sizing: border-box;
}
#container .art-box a {
 position: relative;
 padding-bottom: 46px;
 height: 100%;
 display: block;
 box-sizing: border-box;
}
#container .art-box .figure {
 width: 100%;
 aspect-ratio: 1.5;
 aspect-ratio: 3 / 2;
 object-fit: cover
}
#container .art-box .title {
 font-size: 1.2em;
 font-weight: 600;
 line-height: 1.4em;
 margin: .8em auto .5em;
 text-align: left;
}
#container .art-box .cap {
 font-size: 15px;
 color: #777;
}
#container .art-box .ttl-latest {
 position: relative;
 padding: 4px 10px;
 background-color: #333;
 color: #fff;
 font-weight: 600;
 font-size: 13px;
 line-height: 1em;
 display: inline-block;
 margin-top: 1.2em;
 margin-bottom: .5em;
}
#container .art-box .ttl-latest::after {
 position: absolute;
 bottom: -6px;
 left: 1em;
 width: 0;
 height: 0;
 content: '';
 border-width: 8px 8px 0 8px;
 border-style: solid;
 border-color: #333 transparent transparent transparent;
}
#container .art-box.soon, #container .art-box.ss-logo {
 display: flex;
 justify-content: center;
 align-items: center;
 min-height: 200px;
}
#container .art-box.soon p {
 font-family: "Poppins", Arial, Helvetica, sans-serif;
 font-weight: 600;
 color: #ddd;
 font-size: 2.4em;
}
#container .art-box.ss-logo a {
 display: flex;
 justify-content: center;
 align-items: center;
 padding-bottom: 0;
 min-width: 100%;
 height: 100%
}
#container .art-box.ss-logo img {
 width: 70%;
 max-width: 280px;
}
#container .disc {
 margin-left: 1em;
}
#container .disc li {
 list-style-type: disc;
 margin-bottom: 10px;
}
#container .disc li a {
 color: #036492;
 font-size: 15px;
 line-height: 1.7em;
}
#container .disc li a:hover {
 text-decoration: underline;
}
#container .seminar-area {
 background: #fff;
 padding: 1.2em;
}
#container .seminar-area .figure {
 width: 52%;
}
#container .seminar-area .figcaption {
 width: 45%;
 line-height: 1.6em;
}
#container .seminar-area .figcaption .title {
 font-size: 1.6em;
 line-height: 1.4em;
 margin-bottom: 12px;
 font-weight: 700;
}
#container .detail {
 border-top: 2px solid #eee;
 border-bottom: 2px solid #eee;
 margin: 12px 0 8px;
 padding: 6px 0;
}
#container .detail dt {
 width: 70px;
 float: left;
 padding: 2px 0;
 white-space: nowrap;
 font-weight: 700;
}
#container .detail dd {
 margin-left: 70px;
 padding: 2px 0;
}
#container .detail dd::before {
 content: ":";
 margin: 0 10px;
}
#container .cap {
 font-size: .9em;
}
.gigaindex .main-area {
 position: relative;
 background-color: #292F6F;
}
.gigaindex .main-area::after {
 content: "";
 /* 親要素に対して絶対配置にする */
 position: absolute;
 z-index: 9;
 /* 位置とサイズを指定（下半分） */
 left: 0;
 bottom: 0;
 width: 100%;
 height: 50%; /* 親要素の高さの半分 */
 /* グラデーションの指定：下(to topの始点)から上に向かって */
 /* #292F6F から transparent（透明）へ変化 */
 background: linear-gradient(to top, #292F6F, transparent);
 /* (オプション) グラデーションの下にある要素をクリック可能にする場合 */
 pointer-events: none;
}
.gigaindex .main-area .section-header {
 position: absolute;
 left: 20px;
 right: 20px;
 top: 0;
 bottom: 30px;
 margin: auto;
 z-index: 10;
 display: flex;
 justify-content: center;
 align-items: center;
}
.gigaindex .main {
 position: relative;
 width: 100%;
 height: 440px;
 overflow: hidden;
 opacity: .5;
}
.gigaindex .main_img {
 width: 100%;
 height: 100% !important;
 object-fit: cover;
 position: absolute;
 top: 0;
 left: 0;
 opacity: 0; /* 初期状態は透明 */
 transform: scale(1);
 /* 18秒かけてループ。3枚なら1枚あたり6秒 */
 animation: anime 24s linear infinite;
}
/* 2枚目：6秒遅らせる */
.gigaindex .main_img:nth-of-type(2) {
 animation-delay: 6s;
}
/* 3枚目：12秒遅らせる */
.gigaindex .main_img:nth-of-type(3) {
 animation-delay: 12s;
}
.gigaindex .main_img:nth-of-type(4) {
 animation-delay: 18s;
}
@keyframes anime {
 0% {
  opacity: 0;
  transform: scale(1); /* 始まりは等倍 */
 }
 5% {
  opacity: 1; /* 5%（約0.9秒）かけてフェードイン */
 }
 28% {
  opacity: 1; /* 28%まで表示を維持 */
 }
 33.33% {
  opacity: 0;
  transform: scale(1.1); /* 33%（6秒時点）でズームしながらフェードアウト */
 }
 100% {
  opacity: 0; /* 残りの時間は隠しておく */
  transform: scale(1);
 }
}