﻿@charset "UTF-8";

/*===================================
	全デバイス共通＋SP用
===================================*/

body{
	font-size: 1.3rem;
	line-height: 1.6;
	background-color: #000;
}

.container {
	width: 100%;
	position: relative;
	min-height: 100%;
	/*max-width: 1000px;*/
}

img {
	max-width: 100%;
	height: auto;
}

main {
	color: #fff;
}



.mv {
	background: url(../img/mv_bg.webp) no-repeat top center / cover;
	padding-top: 8px;
}

.mv_inner {
	background: url(../img/mv_bg_line.png) no-repeat bottom center / contain;
	background-size: 100%;
}

.mv h2 {
	width: 65%;
	max-width: 450px;
	margin: -70px auto 15px;
	position: relative;
	z-index: 1;
}
.mv h2.shadow {
	filter: drop-shadow(0 0 0.6rem rgb(0, 20, 70));
}

.mv p {
	text-align: center;
	font-size: 1.5rem;
	font-weight: bold;
	letter-spacing: 0.2em;
	line-height: 1.8;
	padding: 0 5px;
}

.mv_image {
	overflow: hidden;
	width: 95%;
	max-width: 760px;
	margin: 0 auto;
	padding: 18px;
	border: 3px solid;
	border-image: conic-gradient(#0000ff, #ff0099, #77aaff, #0000ff, #ff00ff, #99ccff, #0000ff) 1;
}

.mv_image_shadow {
	filter: drop-shadow(0 0 0.5rem rgb(255, 255, 255));
}



.pic {
	width: 100%;
	padding-bottom: 20px;
	background-color: #0024b3;
}

.pic_inner {
	padding: 15px 0 0;
}



/*-----------------------
 #lightgallery ここから
-----------------------*/

#lightgallery {
	display: flex;
	flex-wrap: wrap;
	width: 90%;
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}

#lightgallery li {
	width: 24%;
	text-decoration: none;
	margin: 0 1.3% 1% 0;
	padding: 0;
	overflow: hidden;
	border-radius: 10px;
}
#lightgallery li:after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.3);
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 32px;
	content: "\f002";
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: space-around;
	opacity: 0;
	box-shadow: inset 0 0 30px 15px rgba(0, 0, 0, 0.3);
	transition: all .5s ease;
}

#lightgallery li:hover {
	cursor: pointer;
}
#lightgallery li:hover:after {
	opacity: 1;
}

#lightgallery li:nth-child(4n) {
	margin-right: 0;
}
#lightgallery img {
	width: 100%;
}

/*-----------------------
 #lightgallery ここまで
-----------------------*/



.profile {
	width: 100%;
	text-align: center;
	background: #0c42f1 url(../img/pic_bg_line.png) no-repeat top center / contain;
	background-size: 100%;
}

.profile_inner {
	width: 85%;
	max-width: 700px;
	margin: 0 auto;
	padding: 0 20px 1em;
	overflow: hidden;
}

.profile h3 {
	width: 30%;
	float: right;
}

.profile h4 {
	font-size: 2.3rem;
	font-weight: normal;
	letter-spacing: 0.1em;
	clear: both;
	padding-top: 5px;
}

.profile p {
	padding-top: 1em;
	letter-spacing: 0.1em;
}

.profile .link {
	margin-top: 1em;
	padding: 0;
	font-size: 1.3rem;
	overflow: hidden;
	color: #fff;
}

.profile .link a {
	text-decoration: none;
	font-weight: bold;
	margin: 0 auto;
	line-height: 2.5;
	opacity: 1;
	display: inline-block;
	width: 10em;
	border: 2px solid #fff;
}
.profile .link a:hover {
	color: #0c42f1;
	/*background-color: #fff;*/
	background-color: rgba(255,255,255,0.8);
	border: none;
	padding: 2px;
}


footer {
	width: 100%;
	text-align: center;
	font-size: 1rem;
	color: #fff;
	background: url(../img/mv_bg_footer.webp) no-repeat bottom center / cover;
	background-size: 100%;
}

.footer_inner {
	width: 100%;
	background: url(../img/footer_bg_line.png) no-repeat top center / contain;
	background-size: 100%;
}
.footer_inner p {
	padding-top: 35px;
	line-height: 5em;
}




/*===================================
	PC用
===================================*/

@media screen and (min-width: 768px),print {

body {
	font-size: 1.5rem;
}

.mv {
	padding-top: 25px;
}

.mv_image {
	padding: 25px;
}

.mv h2 {
	margin: -135px auto 30px;
}
.mv h2.shadow {
	filter: drop-shadow(0 0 1.1rem rgb(0, 20, 70));
}

.mv p {
	font-size: 2rem;
	letter-spacing: 0.3em;
	padding: 0 20px;
}

.pic {
	padding-bottom: 0;
}
.pic_inner {
	padding-top: 2.8em;
}

.profile {
	background-size: 100%;
}

.profile_inner {
	margin: 0 auto;
	padding: 30px 35px 0;
}

.profile h3 {
	width: 130px;
}

.profile h4 {
	font-size: 2.8rem;
	padding-top: 0;
}

.profile p {
	padding-top: 20px;
}

.profile .link {
	margin-top: 23px;
}

footer {
	font-size: 1.2rem;
}

.footer_inner p {
	padding-top: 100px;
}


}




/*===================================
	フェードイン
===================================*/

.fadein {
	opacity: 0;
	transform: translateY(50px);
	transition: opacity 0.5s, transform 0.8s;
}
.fadein.active {
	opacity: 1;
	transform: translateY(0px);
}
