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

.curtain .animation-bg, .curtain .animation-bg02 {
  display: none;
}
body.appear.curtain .animation-bg, body.appear.curtain .animation-bg02 {
  display: block;
}
.curtain .animation-bg, .curtain .animation-bg02 {
  background:  #ff97bd;
  content: "";
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  top: 0;
  transform: scaleX(1);
  animation-duration: 3s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}
.curtain .animation-bg {
  left: 50%;
  animation-name: PageAnime-curtain01;
}
.curtain .animation-bg02 {
  right: 50%;
  animation-name: PageAnime-curtain02;
}
/* カーテン左 キーフレーム */
@keyframes PageAnime-curtain01 {
  0% {
    transform-origin: left;
    transform: scaleX(1);
  }
  50% {
    transform-origin: right;
  }
  100% {
    transform-origin: right;
    transform: scaleX(0);
  }
}
/* カーテン右 キーフレーム */
@keyframes PageAnime-curtain02 {
  0% {
    transform-origin: right;
    transform: scaleX(1);
  }
  50% {
    transform-origin: left;
  }
  100% {
    transform-origin: left;
    transform: scaleX(0);
  }
}

html, body{
	width:100%;
	margin:0;
	padding:0;
}

body{
	background: linear-gradient(90deg, rgba(141, 139, 226, 1), rgba(253, 187, 203, 1));
	color:#FFF;
	font-size:20px;
    letter-spacing: .03em;
}

.fv{
	position:relative;
	text-align:center;
	height:90vh;
}
	.fv h1{
		position:absolute;
		top:calc(50vh - 240px);
		right:auto;
		left:auto;
		width:100%;
	}
		.fv h1 img{
			display:block;
			width:300px;
			height:auto;
			margin:auto;
		}

section{
	max-width:1400px;
	margin:auto;
	padding:20px 10px 40px 10px;
}

h2{
	display:flex;
	justify-content: center;
	margin-bottom:80px;
}
h2 span {
  position: relative;
  display: inline-block;
  padding: 0 45px;
}
	h2 span:before, h2 span:after {
	  content: '';
	  position: absolute;
	  top: 50%;
	  display: inline-block;
	  width: 44px;
	  height: 2px;
	  background-color: #FFF;
	  -webkit-transform: rotate(-60deg);
	  transform: rotate(-60deg);
	}
		h2 span:before {
		  left:0;
		}
		h2 span:after {
		  right: 0;
		}

section.about{}
	section.about dl{
		display:flex;
		border-top:#FFF 1px solid;
		font-weight:900;
		margin:0;
		padding:20px;
	}
		section.about dl dt{
			width:30%;
		}
		section.about dl dd{
			width:70%;
			margin:0;
		}
			section.about dl dd ul{
				padding-left:1em;
			}
		section.about dl:last-of-type{
			border-bottom:#FFF 1px solid;
		}

footer{
	font-size:12px;
	text-align:center;
	padding:10px 0;
}

@media screen and (max-width: 768px){
	section.about dl{
		flex-direction: column;
	}
		section.about dl dt{
			font-size:1.2em;
			width:100%;
			margin-bottom:20px;
		}
		section.about dl dd{
			width:100%;
			margin:0;
		}

}