@charset "UTF-8";

@font-face {
    font-family: 'Poppins-Light';
    src: url(../fonts/Poppins/Poppins-Light.ttf);
}

@font-face {
    font-family: 'Valorax-lg25V';
    src: url(../fonts/valorax-font/Valorax-lg25V.otf);
}

* {
    margin: 0;
    padding: 0;
}

a {
    display: block;
    color: #000;
    text-decoration: none;
}

header {
    position: fixed;
    display: flex;
    margin: -3vw auto 0;
    width: 100%;
    height: 15vw;
    background-color: #fff;
    clip-path: polygon(28% 0, 38% 40%, 100% 40%, 100% 100%, 0 100%, 0 0);
    border-bottom: 0.4vw solid #003366;
    z-index: 1000000;
}

header h1 {
    width: 25%;
    margin: 4vw 0 2vw 3%;
}

header h1 img {
    display: block;
    height: 100%;
}

header .pcMenu {
    display: flex;
    justify-content: space-between;
    width: 80%;
    margin: 4.5vw 5% auto;
    display: none;
}

header .pcMenu ul {
    display: flex;
    justify-content: space-between;
    width: 90%;
    list-style-type: none;
}

header .pcMenu ul:nth-of-type(2) {
    width: 50%;
    margin-left: 10%;
}

header .pcMenu ul li {
    position: relative;
    height: 100%;
    line-height: 2vw;
    font-size: 1.3vw;
    font-family: 'Poppins-Light';
}

header .pcMenu ul:nth-of-type(1) li::before {
    position: absolute;
    top: 1.7vw;
    left: -5%;
    display: block;
    content: '';
    width: 0%;
    height: 0.2vw;
    background-color: #ff0000;
}

header .pcMenu ul:nth-of-type(1) li:hover::before {
    width: 110%;
    transition: 0.5s;
}

header .pcMenu ul li a {
    font-weight: 600;
    text-align: center;
}

header .pcMenu ul li select,
header .pcMenu ul li option {
    border: none;
    height: 100%;
    line-height: 2vw;
    font-size: 1.3vw;
    font-weight: 600;
    font-family: 'Poppins-Light';
}

header .pcMenu ul:last-of-type li:last-of-type a{
    width: 7vw;
    padding: 0 2%;
    font-size: 1.3vw;
    font-family: 'Valorax-lg25V';
    color: #fff;
    background-color: #000;
}

header .pcMenu ul:last-of-type li:last-of-type a:hover {
    opacity: 0.7;
    transition: 0.5s;
}

.header_box {
    margin-top: -5vw;
    position: fixed;
    width: 100%;
    height: 9vw;
    background-color: #003366;
    z-index: 100000;
}

/* ハンバーガーメニュー */
/*ナビメニューのスタイルを指定*/
nav.NavMenu{
	position: fixed; /*表示位置を固定*/
	z-index: 20000; /*重ね順を変更*/
	top: 0; /*表示位置を指定*/
	left: 0; /*表示位置を指定*/
	background: #003366;/*背景を白にする*/
	color: #000; /*文字色を黒にする*/
	width: 100%; /*全幅表示*/
	transform: translateY(-100%); /*ナビを上に隠す上から出したい場合は、transform: translateYを使う。*/
	transition: all 0.6s; /*アニメーションの時間を指定*/
}

nav.NavMenu ul{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

nav.NavMenu ul li{
	font-size: 4vw;
	list-style-type: none;
	width: 90%;
	border-bottom: 0.1px solid #ffff00;
}

nav.NavMenu ul li:last-child{
	padding-bottom: 0;
	border-bottom: none; /*最後のメニュー項目のみ下線を消す*/
}

nav.NavMenu ul li a{
	display: block; /*クリックできる領域を広げる*/
	color: #ffff00;
	padding: 1em 0;
    font-family: 'Poppins-Light';

}


/*トグルボタンが押されたときに付与するクラス*/
nav.NavMenu.active{
	transform: translateY(17%);/*上から出したい場合は、transform: translateYを使う。*/
}


/*トグルボタンのスタイルを指定*/
.Toggle {
	position: fixed;    /* bodyに対しての絶対位置指定 */
	right: 13px;
	top: 6vw;
	width: 10vw;
	height: 10vw;
	cursor: pointer;/*divだけどカーソルが変わるようにしている*/
	z-index: 3000000;/*ボタンを一番上にしている(押せなくなるから)*/
}

.Toggle span {
	display: block;
	position: absolute;
	width: 7vw;
	border-bottom: solid 0.5vw #003366;
	transition: 0.35s ease-in-out;			/*変化の速度を指定*/
	left: 6px;
}

.Toggle span:nth-child(1) {
	top: 2.5vw;
}

.Toggle span:nth-child(2) {
	top: 4.5vw;
}

.Toggle span:nth-child(3) {
	top: 6.5vw;
}

/* 最初のspanをマイナス45度に */
.Toggle.active span:nth-child(1) {
	top: 4.5vw;
	left: 1.5vw;
	transform: rotate(-45deg);
}

/* 2番目と3番目のspanを45度に */
.Toggle.active span:nth-child(2),
.Toggle.active span:nth-child(3) {
	top: 4.5vw;
	transform: rotate(45deg);
}

.main_flexBox {
    display: flex;
    flex-wrap: wrap;
    margin: 3vw 5vw;
    padding-top: 15vw;
}

.main_leftBox {
    width: 100%;
}

.main_leftBox h2 {
    font-size: 5vw;
    font-family: 'Poppins-Light';
}

.lightboxBox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 1vw 1vw 0;
}

.lightboxBox div {
    display: flex;
    align-items: center;
    width: 28vw;
    height: 14vw;
    overflow: hidden;
}

.lightboxBox div:first-of-type {
    width: fit-content;
    height: 50vw;
    margin-bottom: 1vw;
}

.lightboxBox div a img {
    width: 100%;
}

.main_leftBox section h3 {
    margin: 3vw 1vw 2vw;
    font-weight: 600;
    font-size: 4.5vw;
    font-family: 'Poppins-Light';
}

.main_leftBox section h3+p {
    margin: 1vw 1vw;
    color: #003366;
    font-size: 3vw;
    font-family: 'Poppins-Light';
}

.main_leftBox section h3+p+p {
    margin: 1vw;
    white-space: pre-wrap;
    letter-spacing: 0.3vw;
    font-size: 2.8vw;
    font-family: 'Poppins-Light';
}

.main_rightBox {
    width: 100%;
}

.main_rightBox div {
    width: 70vw;
    height: 8vw;
    margin: 8vw auto;
    background-color: #003366;
    box-shadow: 2vw 2vw 0 #003366;
}

.main_rightBox div:hover {
    box-shadow: .5vw .5vw 0 #ff0000;
}

.main_rightBox div a {
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.main_rightBox img {
    display: block;
    margin: 0 auto;
    width: 80%;
}

.main_rightBox div a p {
    text-align: center;
    color: #ffff00;
    line-height: 1.5vw;
    font-weight: 600;
    font-size: 3vw;
    font-family: 'Poppins-Light';
}

.section_schedule {
    margin: 0 5vw;
}

.section_schedule h4 {
    display: flex;
    align-items: center;
    width: 60%;
    height: 10vw;
    padding: 0 3vw;
    line-height: 1;
    color: #ffff00;
    font-size: 4.8vw;
    font-family: 'Valorax-lg25V';
    position: relative;
    text-shadow: 0.3vw 0.3vw 0.1vw #eb00d9;
    clip-path: polygon(0 0, 70% 0, 100% 100%, 0% 100%);
    background-color: #003366;
}

.schedule_bgBox {
    margin-top:-0.1vw ;
    border: 0.5vw solid #003366;
    background-color: #fff;
}

.schedule_contents {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 2vw;
    padding-bottom: 4vw;
    border-bottom: 0.1vw solid#ff0000;
}

.schedule_contents:last-of-type {
    border-bottom: 0 solid transparent;
}

.schedule_contents_leftBox {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20%;
    margin: 5vw 0 2vw;
}

.schedule_contents_leftBox p {
    font-size: 6vw;
    font-family: 'Valorax-lg25V';
}

.schedule_contents_rightBox {
    width: 100%;
}
.schedule_contents_rightBox h5 {
    margin: 3vw 2vw;
    line-height: 6vw;
    font-size: 4vw;
    font-family: 'Poppins-Light';
}

.schedule_contents_rightBox h5+p {
    margin: 2vw;
    color: #eb00d9;
    line-height: 1.5vw;
    font-size: 3vw;
    font-family: 'Poppins-Light';
}

.schedule_contents_rightBox h5+p+p {
    margin: 0 2vw 2vw;
    color: #000;
    line-height: 5vw;
    font-size: 3vw;
    font-family: 'Poppins-Light';
}

.schedule_imgBox {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    row-gap: 1vw;
    column-gap: 2vw;
    margin-left: 2vw;
}

.schedule_imgBox_child {
    position: relative;
    width: 47.5%;
}

.schedule_imgBox_child img {
    width: 100%;
}

.schedule_imgBox_child p {
    position: absolute;
    bottom: 3.5%;
    text-align: center;
    width: 100%;
    color: #ffff00;
    font-size: 3vw;
    font-family: 'Poppins-Light';
    background-color: #003366b9;
}

.schedule_imgBox_child:hover p {
    text-decoration: underline;
}

.schedule_bgBox section {
    width: 90%;
    margin: 5vw auto 8vw;
}

.schedule_bgBox section h5 {
    color: #ff0000;
    font-weight: 600;
    font-size: 3vw;
    font-family: 'Poppins-Light';
}

.schedule_bgBox section p {
    white-space: pre-wrap;
    font-size: 2.8vw;
    font-family: 'Poppins-Light';
}

/* フッター */
footer {
    margin: 7vw auto 0;
    width: 100%;
    background-color: #003366;
    clip-path: polygon(28% 0, 45% 5%, 100% 5%, 100% 100%, 0 100%, 0 0);
}

footer img {
    width: 30vw;
    margin: 10vw 0 1.5vw 5% ;
}

footer nav {
    width: 90%;
    margin: 1.5vw auto;
}

.footer_navigation {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    list-style-type: none;
}

.footer_navigation li {
    margin-top: 5vw;
    width: 20%;
}

.footer_navigation li h4 {
    margin-right: 1vw;
    width: 40%;
    line-height: 2;
    color: #ffff00;
    font-size: 3vw;
    font-weight: 600;
    font-family: 'Poppins-Light';
}

.footer_navigation li ul {
    display: block;
    width: 100%;
    list-style-type: none;
}

.footer_navigation li ul li {
    width: 100%;
    margin-top: 2vw;
}

.footer_navigation li ul li a {
    margin: 2vw 0;
    line-height: 1.5;
    color: #ffff00;
    font-size: 2.2vw;
    font-family: 'Poppins-Light';
    position: relative;
}

.footer_navigation li ul li a:hover {
    text-decoration: underline;
}

.Area_list {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    margin-top: 5vw;
    height: 180vw;
    list-style-type: none;
}

.Area_list p {
    color: #ffff00;
    font-size: 2.2vw;
    font-weight: 600;
    font-family: 'Poppins-Light';
}

.Area_list_content {
    margin-top: 5vw;
    margin-bottom: auto;
}

.Area_list_content ul {
    list-style-type: none;

}

.Area_list_content ul li {
    width: 100%;
    margin-top: 2vw;
}

.Area_list_content ul li a {
    margin: 0.5vw 0;
    line-height: 1;
    color: #ffff00;
    font-size: 2vw;
    font-family: 'Poppins-Light';
}

.Area_list_content ul li a:hover {
    text-decoration: underline;
}

footer address {
    margin-top: 10vw;
    margin-left: 5vw;
    text-align: left;
    color: #ffff00;
    font-size: 2.8vw;
    font-family: 'Poppins-Light';
}

footer address+ p {
    width: 100%;
    margin: 3vw auto 0;
    padding: 5vw 0;
    text-align: center;
    color: #ffff00;
    font-size: 2.8vw;
    font-family: 'Poppins-Light';
}