
/* CSS Document */

*{
	margin:0;padding:0;
	font-feature-settings: "palt";
	box-sizing: border-box;
}



img {border:0;}
address {font-style:normal;}
a{text-decoration:none;}

.m0auto{margin: 0 auto;}
.mb1{margin-bottom: 1em!important;}
.mb1-5{margin-bottom: 1.5em!important;}
.mb2{margin-bottom: 2em!important;}
.mb2-5{margin-bottom: 2.5em!important;}
.mb3{margin-bottom: 3em!important;}
.red {color: red;}
.yelllow {color: yellow;}
.white{color:white;}
.blue{color:blue;}
.green{color:green;}
.DechauOrange{color:#FF4200;}
.clear {clear:both;}
.copyright {font-size: 0.5em;margin: 20px 0;text-align: center;}

body{
	background: black;
	background-image: url("../img/back_souka.png");
	background-size:100% auto;
	background-position: center top;
	background-attachment: fixed;
	background-repeat: no-repeat;
}
.body1 {
	width: calc(100% - 2em);
	max-width: 700px; /** デザインの最大幅 **/
	margin: 0 auto;
	/*font-family: 'M PLUS 1p', sans-serif;*/
	font-family: "Helvetica Neue",Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
}

.img100per{
	width: 100%;
	display: flex;
	justify-content: center;
}
.img100per img{
	width: 100%;
}

.mainVisu{
	display: flex;
	justify-content: center;
}
.mainLogo{
	position: relative;
	width: 100%;
	max-width: 1000px;
}
.mainLogoImage{
	display: block;
    width: 100%;
	animation: logoSparkle 2s ease-in-out infinite;
}
.mainLogoDate{
	position: relative;
	display: block;
	width: 58%;
	margin: -13% auto 0;
	transform: translateY(20px);
	z-index: 1;
}
.mainLogoDate.fadeInUp{
	transform: translateY(20px);
}
.mainLogoDate.fadeInUp.is-visible{
	transform: translateY(0);
}
.conceptIntro{
	margin: 1.25em auto 2em;
	padding: clamp(1.1em, 4vw, 2em);
	background: rgba(255, 255, 255, 0.96);
	border: clamp(4px, 0.7vw, 7px) solid #e60024;
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
	color: #050505;
}
.conceptIntro h2{
	margin: 0;
	padding: 0 0 0.3em;
	border-bottom: 5px solid #e60024;
	color: #e60024;
	font-size: clamp(1.55rem, 5vw, 2.65rem);
	font-weight: 900;
	line-height: 1.25;
	text-align: center;
}
.conceptIntro ul{
	display: grid;
	gap: 0.65em;
	margin: 1em 0 0;
	padding: 0;
	list-style: none;
}
.conceptIntro li{
	position: relative;
	padding-left: 1.45em;
	font-size: clamp(1.05rem, 3.2vw, 1.75rem);
	font-weight: 900;
	line-height: 1.55;
}
.conceptIntro li::before{
	content: "";
	position: absolute;
	top: 0.52em;
	left: 0.08em;
	width: 0.72em;
	height: 0.72em;
	background: #e60024;
	transform: rotate(45deg);
}
@keyframes logoSparkle{
	0%, 72%, 100% {
		filter: brightness(1) drop-shadow(0 0 0 rgba(255, 255, 255, 0));
	}
	78% {
		filter: brightness(1.45) drop-shadow(0 0 10px rgba(255, 255, 255, 0.95));
	}
	84% {
		filter: brightness(1.05) drop-shadow(0 0 3px rgba(255, 232, 157, 0.35));
	}
	89% {
		filter: brightness(1.3) drop-shadow(0 0 7px rgba(255, 255, 255, 0.75));
	}
}
.mainTitle{
	width: 100%;
	margin-bottom: 2em;
}
.mainTitle img{
	width: 100%;
}
.mainTitle h1{
	font-family: "M PLUS 1p", serif;
	letter-spacing: -0.06em;
	color: black;
	text-align: center;
	font-weight: 900;
	font-size: 1.8em;
	line-height: 1.15em;
}
.mainTitle p{
	color: black;
	text-align: center;
	width: 100%;
	margin: 0 auto;
}
.embeddedWrap{
	display: flex;
	justify-content: center;
	background: white;
	border: 2px solid gray;
	border-radius: 10px;
	margin-bottom: 2em;
}
.embedded1{
	width: 100%;
	max-width: 812px;
	height: 85vh;
	border-radius: 10px;
}

.content {
  flex: 1;
}
footer {
	position: fixed;
  width: 100%;
  background: #44aa33;
}
/*
FlexBoxの設定
----------------------------------------------------------- */
/*コンテナ*/
.flexContainer{
	display:flex;
	justify-content: flex-start; /*水平方向の揃え設定*/
	align-items: stretch; /*垂直方向の揃え設定*/
}
/*アイテム*/
.flexItem{
	width: calc(100%/2 - 0.3em); /*分割数を指定*/
}
/*要素の真ん中に配置*/
.mannaka{
	display: flex;
	justify-content: center;
	align-items: center;
}
/*
 フェイドインクラス
----------------------------------------------------------- */
.fadeInUp {
  opacity : 0;
  transform: translateY(20px);
  transition: 5s;
}
.fadeInUp.is-visible {
  opacity: 1;
}
/*
 メディアクエリ 
----------------------------------------------------------- */
@media (min-width:600px){
	.mainTitle h1{
	font-size: 2.8em;
}
	.mainTitle p{
	font-size: 1.5em;
}
}

@media (max-width:600px){
	body{
		position: relative;
		min-height: 100vh;
		min-height: 100dvh;
		isolation: isolate;
		background: transparent;
	}
	body::before{
		content: "";
		position: fixed;
		inset: 0;
		width: 100%;
		height: 100vh;
		height: 100dvh;
		z-index: -1;
		background: black url("../img/back_souka.png") center top / auto 100% no-repeat;
		pointer-events: none;
	}
}

@media (prefers-reduced-motion: reduce){
	.mainLogoImage{
		animation: none;
	}
}
