@charset "utf-8";
/*------------------------------*/

/* メインヘッダー枠 */
.header_frame {
	height: 100vh;
	background-image: url('../image/index_header_image.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/*------------------------------*/
/* サブタイトル背景ライン */
.sub_title_background {
	position:absolute;
	left:20%;
	width:0%;
	height:15px;
	bottom:0px;
	background: -webkit-repeating-linear-gradient(90deg,#ffbe8c 0,#ffbe8c 3px,rgba(255,255,255,0) 3px,rgba(255,255,255,0) 10px);
	background: -o-repeating-linear-gradient(90deg,#ffffff 0,#ffffff 3px,rgba(255,255,255,0) 3px,rgba(255,255,255,0) 10px);
	background: repeating-linear-gradient(90deg,#ffbe8c 0,#ffbe8c 3px,rgba(255,255,255,0) 3px,rgba(255,255,255,0) 10px);
	transform: skewX(-45deg);
}

/* サブタイトル枠 */
.sub_title_flame {
	position:relative;
	text-align:center;

}
.sub_title_inner {
	text-align:center;
	z-index: -1;
}

/* 斜線背景タイトル */
.sub_title_box_top {
	position: absolute;
	bottom:0px;
	z-index: 1;
	width:100%;
	height:0px;
	overflow:hidden;
}

/*------------------------------*/
/* サブタイトル背景ライン */
.drone_images {
	width:100%;
	max-width:200px;
}

/*------------------------------*/
/* 駐屯地からのお知らせ枠 */
.header_bottom_bg_r {
	background-image: url("/image/header_bottom_bg_r.webp");
	background-size: cover;
	background-repeat: no-repeat;
	background-position:top center;
	height:200px;
}

/*------------------------------*/
/* 司令紹介の枠 */
.commander_introduction_frame {
	position: relative;
}
/* テキスト部 */
.commander_introduction_text_1 {
	position: absolute;
	left:5%;
	top:3%;
	font-size: 6vw;
}
.commander_introduction_text_2 {
	position: absolute;
	left:10%;
	top:20%;
	font-size: 6vw;
}
/* 左要素 */
.commander_introduction_l {
	position: absolute;
	width:100%;
	height:auto;
	z-index: 1;
}
/* 右要素 */
.commander_introduction_r {
	width:100%;
}
/* もっと詳しくボタン */
.more_details_button_commander {
	position: absolute;
	left:3%;
	bottom:15%;
	width:12%;
	z-index: 2;
	transition: 0.3s;
}
.more_details_button_commander:hover {
	transform: scale(1.1);
}


/*------------------------------*/
/* 所在部隊紹介枠 */
.unit_location_bg_frame {
	position: relative;
}
.unit_location_bg_1 {
	width: 100%;
	height:auto;
	left:0px;
	top:0px;
	transform: scale(1.1);
	transform-origin: left bottom;
}
.unit_location_bg_2 {
	position: absolute;
	width: 100%;
	height:auto;
	left:0px;
	top:0px;
	transform: scale(1.05);
	transform-origin: right bottom;
}
.unit_location_bg_3 {
	position: absolute;
	width: 100%;
	height:auto;
	left:0px;
	top:0px;
	transform: scale(1.05);
	transform-origin: left bottom;
}
.unit_location_bg_4 {
	position: absolute;
	width: auto;
	height:100%;
	left:20%;
	top:0px;
}
.unit_location_text {
	position: absolute;
	left:33%;
	bottom:5%;
	color: #ffffff;
	font-size: 5vw;
	line-height: 1;
}

/*--------------------*/
/* 右側の文字枠 */
.contents_text_frame {
	border:2px solid #287373;
	background-color: #ffffff;
	position: absolute;
	width:45%;
	right:10px;
	top:60%;
	z-index: 1;
	transition: 0.3s;
}

.contents_text_frame:hover {
	transform: translate(-10px, -10px);
	box-shadow: 10px 10px 0 0 #287373;
	-webkit-box-shadow: 10px 10px 0 0 #287373;
}

/* スマホ */
@media only screen and (max-width:599px) {

	.image_box_frame {
		width:100%;
	}

	.contents_text_frame {
		position: static;
		width:80%;
		margin-left:auto;
		margin-right:auto;
		transform: translateY(-30%);
		-webkit-transform: translateY(-30%);
	}

}

/* もっと詳しくボタン */
.more_details_button {
	width:100%;
	max-width:120px;
	height:auto;
	transition: 0.3s;
}
.more_details_button:hover {
	transform: scale(1.1);
}


/* グリッドアニメーション初期設定 */
/*------------------------------*/
.pixel_art_frame {
	position: relative;
}
.pixel_overlay {
	position: absolute;
	top:0px;
	left:0px;
	width:100%;
	height:100%;
	display: grid;
	grid-template-columns: repeat(9, 1fr); /* 10列 */
	grid-template-rows: repeat(9, 1fr); /* 10行 */
}
.pixel_art_sel {
	overflow: hidden;
}
.pixel_art_sel_inner {
	background-color:rgba(255,255,255,1);
	width:100%;
	height:100%;
}

.pixel_art_animation_l {
	animation: animation_l 0.5s linear forwards; /* 時間指定 */
}
@keyframes animation_l {
	100% {
		transform: translateX(calc(-100% - 1px));
		-webkit-transform: translateX(calc(-100% - 1px));
	}
}

.pixel_art_animation_r {
	animation: animation_r 0.5s linear forwards; /* 時間指定 */
}
@keyframes animation_r {
	100% {
		transform: translateX(calc(100% + 1px));
		-webkit-transform: translateX(calc(100% + 1px));
	}
}

/*------------------------------*/
/* スクロールアニメーション */
/*------------------------------*/
/* 縦のスクロール線 */
.scroll_line {
	width:20px;
	height:60%;
	margin-left:auto;
	margin-right:auto;
	background-image: url('/image/scroll_line_bg.webp');
	background-position: center center;
	background-repeat: repeat-y;
	position: absolute;

	right:30px;
	top:20%;
	z-index: 1;
}
.scroll_line_thumb {
	position: absolute;
	width:10px;
	height: 10px;
	border-radius: 50px;
	top:0px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #ffffff;
	animation: scroll_line_thumb_move 2.5s linear infinite;
}
/* アニメーション */
@keyframes scroll_line_thumb_move {
	0% {
		top: 0px;
	}
	100% {
		top: 100%;
	}
}

/* 縦のスクロール線右のテキスト枠 */
.scroll_line_right_text {
	width:20px;
	transform: translateX(20px);
	font-weight: bold;
	color: #ffffff;
	height:200px;
}

.sns_icon{
	width:70px;
	height:70px;
	border-radius: 50%;
	object-fit: cover;
}

.sns_area{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 15px;
}

.sns_icon{
	width: 70px;
	height: 70px;
	border-radius: 50%;
	object-fit: cover;
}

.contact_icon{
	width: 70px;
	height: 70px;
}

.footer_text_link{
	text-align: center;
	margin-top: 20px;
	width: 100%;
}

.footer_text_link a {
	color: #ffffff;
	text-decoration: none;
	font-size: 14px;
}

.footer_text_link a:hover{
	text-decoration: underline;
}

.drone_info{
	margin-top: 40px;
	line-height: 1.8;
}

.drone_title{
	text-align: center;
	font-weight: bold;
	font-size: 20px;
	margin-bottom: 15px;
}

.drone_subtitle{
	text-align: center;
	margin-top:20px;
	font-weight: bold;
}

.drone_info a:hover {
	color: #ff0000;
	text-decoration: none;
	margin: 0.5px;
}

drone_info a:hover{
	text-decoration: underline;
}

