@charset "utf-8";
/* CSS Document */




/*==================================================
トップページ動画のためのcss
===================================*/
/* スライダー全体のコンテナ */
#slider {
position: relative;
    width: 100%;
    height: 100vh; /* 常に画面の高さ100%にする */
    overflow: hidden;
}

#slider2 {
position: relative;
    width: 100%;
    height: 100vh; /* 常に画面の高さ100%にする */
    overflow: hidden;
}

/* 動画コンテナ：要素いっぱいに広げる */
#youtube-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none; /* 動画をクリックできないようにする */
}

/* iframeをアスペクト比を保ちつつ画面いっぱいに広げる（カバー効果） */
#youtube-bg iframe {
position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 56.25vw; /* 16:9 の比率 */
    min-height: 100vh; /* 画面の高さに足りない場合は100vhに強制 */
    min-width: 177.77vh; /* 16:9を維持しつつ高さをカバーするための幅 (100 * 16 / 9) */
    transform: translate(-50%, -50%); /* 真ん中に戻す */
}

@media (min-aspect-ratio: 16/9) {
    #youtube-bg iframe { height: 56.25vw; }
}
@media (max-aspect-ratio: 16/9) {
    #youtube-bg iframe { width: 177.78vh; }
}

/* 前面のコンテンツ */
.slider-content {
    position: absolute;
    top: 33%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    text-align: center;
    width: 100%;
    /* ここから追加・修正 */
    color: #ffffff; /* 文字色を白に */
    padding: 0 20px; /* スマホ時の余白 */
    box-sizing: border-box;
    font-size: 26pt;
    font-weight: 600;
    margin: 0;
    text-shadow: 0px 2px 6px rgba(0, 0, 0, 0.5);
    letter-spacing: 6px;
}
/* スマホ用のサイズ調整 */
@media (max-width: 768px) {
    .slider-content p {
        font-size: 1rem;
    }
}

/* 1. アニメーションの動きを定義（キーフレーム） */
@keyframes fadeUp {
    0% {
        opacity: 0; /* 透明 */
        transform: translateY(30px); /* 本来の位置より少し下 */
        filter: blur(10px); /* ぼかし（オプション：より幻想的にしたい場合） */
    }
    100% {
        opacity: 1; /* 不透明 */
        transform: translateY(0); /* 本来の位置 */
        filter: blur(0);
    }
}

/* 2. テキスト要素にアニメーションを適用 */
.slider-content p {
    /* --- 既存のスタイル（前回の設定を維持） --- */
    font-size: 2rem; /* サイズはお好みで調整してください */
    font-weight: bold;
    color: #ffffff;
    text-shadow: 0px 4px 10px rgba(0, 0, 0, 0.6); /* 影を少し強めに */
    margin: 0;

    /* --- ここからアニメーション用の重要な追加設定 --- */

    /* 初期状態を「透明」にしておく（必須） */
    opacity: 0;

    /* アニメーションの設定 */
    animation-name: fadeUp; /* 定義したアニメーション名 */
    animation-duration: 1.8s; /* 動作にかかる時間（少しゆっくりめが優雅です） */
    animation-delay: 1s; /* 動画開始から動くまでの待ち時間 */
    
    /* 動きの質感を決めるイージング */
    /* 最初はスッと動き出し、最後はゆっくり止まる高級感のある設定 */
    animation-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
    
    /* アニメーション終了後の状態（opacity:1）を維持する設定（必須） */
    animation-fill-mode: forwards;
}

/* スマホ表示時のサイズ調整（必要に応じて） */
@media (max-width: 768px) {
    .slider-content p {
        font-size: 1.4rem;
        padding: 0 20px;
    }
}


<!--レスポンシブメニュー用-->	
/*========= ナビゲーションドロップダウンのためのCSS ===============*/

/*==ナビゲーション全体の設定*/
nav{
	text-align: center;
}
/*ナビゲーションを横並びに*/
nav ul{
	list-style: none;
	display: flex;
	justify-content: center;
}
/*2階層目以降は横並びにしない*/
nav ul ul{
	display: block;
}

/*下の階層のulや矢印の基点にするためliにrelativeを指定*/
nav ul li{
	position: relative;
}

/*ナビゲーションのリンク設定*/
nav ul li a{
	display: block;
	text-decoration: none;
	color: #999;
	padding:20px 20px;
	transition:all .3s;
}

nav ul li li a{
	padding:10px 35px;
}

nav ul li a:hover{
	color:#fff;	
}

/*==矢印の設定*/

/*2階層目を持つliの矢印の設定*/
nav ul li.has-child::before{
	content:'';
	position: absolute;
	left:5px;
	top:25px;
	width:6px;
	height:6px;
	border-top: 2px solid #999;
    border-right:2px solid #999;
    transform: rotate(135deg);
}

/*3階層目を持つliの矢印の設定*/
nav ul ul li.has-child::before{
	content:'';
	position: absolute;
	left:6px;
	top:26px;
	width:6px;
	height:6px;
    border-top: 2px solid #fff;
    border-right:2px solid #fff;
    transform: rotate(45deg);
}

/*== 2・3階層目の共通設定 */

/*下の階層を持っているulの指定*/
nav li.has-child ul{
    /*絶対配置で位置を指定*/
	position: absolute;
	left:0;
	top:62px;
	z-index: 4;
    /*形状を指定*/
	background:#d6dce1;
	width:220px;
    /*はじめは非表示*/
	visibility: hidden;
	opacity: 0;
    /*アニメーション設定*/
	transition: all .3s;
}

/*hoverしたら表示*/
nav li.has-child:hover > ul,
nav li.has-child ul li:hover > ul,
nav li.has-child:active > ul,
nav li.has-child ul li:active > ul{
  visibility: visible;
  opacity: 1;
}

/*ナビゲーションaタグの形状*/

nav li.has-child ul li a{
    border-bottom: solid 1px rgba(255,255,255,0.6);
    display: block;
    height: 60px;
    line-height: 38px;
}

nav li.has-child ul li:last-child a{
	border-bottom:none;
}

nav li.has-child ul li a:hover,
nav li.has-child ul li a:active{
	background:#c2cbd2;
}


/*==3階層目*/

/*3階層目の位置*/
nav li.has-child ul ul{
	top:0;
	left:182px;
	background:#66ADF5;
}

nav li.has-child ul ul li a:hover,
nav li.has-child ul ul li a:active{
	background:#448ED3;
}


/*==768px以下の形状*/

@media screen and (max-width:768px){
	nav{
		padding: 0;
	}
	
	nav ul{
		display: block;
	}
	
	nav li.has-child ul,
	nav li.has-child ul ul{
  	position: relative;
	left:0;
	top:0;
	width:100%;
	visibility:visible;/*JSで制御するため一旦表示*/
	opacity:1;/*JSで制御するため一旦表示*/
	display: none;/*JSのslidetoggleで表示させるため非表示に*/
	transition:none;/*JSで制御するためCSSのアニメーションを切る*/
}
	
nav ul li a{
	border-bottom:1px solid #ccc;
}

/*矢印の位置と向き*/

nav ul li.has-child::before{
	left:20px;	
}

nav ul ul li.has-child::before{
    transform: rotate(135deg);
	left:20px;
}
    
nav ul li.has-child.active::before{
    transform: rotate(-45deg);
}

}


<!--ライトボックス風-->
/*全て共通：hideエリアをはじめは非表示*/
.hide-area{
	display: none;
}

/*全て共通：モーダルのボタンの色を変更したい場合*/
.modaal-close:after, 
.modaal-close:before{
	background:#ccc;	
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before{
	background:#666;
}

<!--トップページ動画用-->
/*動画表示のモーダルの余白を変更したい場合*/
.modaal-video .modaal-inner-wrapper{
	padding:0;
}

/*モーダルのボタンの色を変更したい場合*/
.modaal-close:after, 
.modaal-close:before{
	background:#ccc;	
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before{
	background:#666;
}

