
/* --------------------------------------------------- */
#splash {
/*fixedで全面に固定*/
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 99999;
	background-color: #333;
  text-align:center;
}
/* Loading画像中央配置　*/
#splash_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#splash_logo img {
	width:180px;
	filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 1));
}
.fadeUp{
animation-name: fadeUpAnime;
animation-duration:0.8s;
animation-fill-mode:forwards;
opacity: 0;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(150px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}
@media screen and (max-width: 480px) {
	#splash_logo img {
        width:110px;
    }
}
/* --------------------------------------------------- */
#mainvisual {
	width: 100%;
	height: 100vh;
	position: relative;
}
#mainvisual .mv-ttl {
	position: absolute;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	top: 50%;
	right: 22%;
	transform: translate(0%, -50%);
	font-size: 1.5em;
	font-weight: 400;
	letter-spacing: 6px;
}
#mainvisual .book {
	max-width: 1000px;
	width: 65vw;
    left: -6%;
    top: 35%;
    position: absolute;
    margin: auto;
}
#mainvisual .book img {
}
#mainvisual .mv-ttl2 {
	position: absolute;
	font-weight: 400;
	top: 20px;
	left: 20px;
}
#mainvisual .mv-logo {
	width: 250px;
	position: absolute;
	right: 17%;
	top: 50%;
	transform: translate(0%, -50%);
	font-weight: 400;
	font-size: 1.3em;
	letter-spacing: 8px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
#mainvisual .mv-logo span {
	display: block;
	text-align: center;
	font-size: 1.9em;
	letter-spacing: 10px;
}
@media screen and (max-width: 980px) {
	#mainvisual .mv-logo {
		right: 14%;
		line-height: 2.4em;
	}
}
@media screen and (max-width: 680px) {
	#mainvisual .mv-ttl {
		font-size: 1.4em;
		right: 15%;
	}
}
@media screen and (max-width: 480px) {
	#mainvisual .book {
		width: 110vw;
		left: -20%;
		top: 48%;
	}
	#mainvisual .mv-ttl {
		right: auto;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	#mainvisual .mv-ttl2 {
		font-size: 12px;
        top: 10px;
        left: 10px;
    }
	#mainvisual .mv-logo {
		width: auto;
		top: 35%;
		right: auto;
		left: 50%;
		transform: translate(-50%, -50%);
		font-size: .9em;
	}
	#mainvisual .mv-logo span {
		font-size: 1.8em;
	}
}
/* --------------------------------------------------- */
#sec01,
#sec04 {
	width: 95%;
	height: 80vh;
	position: relative;
}
#sec01 {
	margin: 10vh auto 10vh 0;
	background: url("../images/top/ph01.jpg") no-repeat center top;
	background-size: cover;
}
#sec04 {
	margin: 10vh 0 10vh auto;
	background: url("../images/top/ph02.jpg") no-repeat center top;
	background-size: cover;
}
#sec01 p,
#sec04 p {
	width: 90%;
	position: absolute;
	top: 10%;
}
#sec01 p {
	left: 5%;
}
#sec01 p strong {
	display: block;
	font-size: 1.2em;
	font-weight: 500;
	letter-spacing: 7px;
	margin-bottom: 20px;
}
#sec04 p {
	max-width: 700px;
	right: 5%;
}
@media screen and (max-width: 680px) {
}
@media screen and (max-width: 480px) {
	#sec01,
	#sec04 {
		height: auto;
        width: 100%;
        margin: 0;
		padding: 8% 8% 12%;
    }
	#sec01 {
		background-image: url("../images/top/ph01sp.jpg");
	}
	#sec04 {
		background-image: url("../images/top/ph02sp.jpg");
	}
	#sec01 p,
	#sec04 p {
        position: static;
		margin: 0;
		line-height: 180%;
		width: 100%;
    }
}
/* --------------------------------------------------- */
#sec02,
#sec03 {
	height: 100vh;
	position: relative;
}
#sec02 .img {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 60vw;
	max-width: 900px;
}
#sec02 .box,
#sec03 .box {
	max-width: 700px;
	width: 90%;
	position: absolute;
	top: 20%;
}
#sec02 .box {
	right: 5%;
}
#sec02 .box .ttl-style01,
#sec03 .box .ttl-style01 {
}
#sec02 .box p,
#sec03 .box p {
	margin-bottom: 50px;
}
#sec02 .box .btn-style01 {
}
@media screen and (max-width: 680px) {
}
@media screen and (max-width: 480px) {
	#sec02,
    #sec03 {
        height: auto;
		padding: 30px 0;
    }
	#sec02 .box,
	#sec03 .box {
		position: static;
		width: 85%;
		margin: 0 auto;
	}
	#sec02 .box p,
    #sec03 .box p {
        margin-bottom: 30px;
    }
}
/* --------------------------------------------------- */
#sec03 .img {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 80vw;
	max-width: 1400px;
}
#sec03 .box {
	left: 5%;
}
#sec03 .box div {
}
#sec03 .box dl {
	width: 100%;
	display: table;
	margin-bottom: 15px;
}
#sec03 .box dt,
#sec03 .box dd {
	display: table-cell;
	vertical-align: top;
	line-height: 170%;
}
#sec03 .box dt {
	width: 100px;
}
#sec03 .box dd {
}
#sec03 .box dd ul {
	list-style: outside disc;
	margin-left: 20px;
}
#sec03 .box dd li {
}
#sec03 .btn-style01 {
	max-width: 250px;
	width: 100%;
	margin: 30px 0 20px auto;
	letter-spacing: 3px;
}
#sec03 .sns-btn {
	display: flex;
	justify-content: flex-end;
}
#sec03 .sns-btn li {
	width: 35px;
	margin-left: 15px;
}
#sec03 .sns-btn li a {
}
#sec03 .sns-btn li a:hover {
	opacity: .6;
}
@media screen and (max-width: 680px) {
}
@media screen and (max-width: 480px) {
	#sec03 .img {
		width: 100vw;
		left: -40%;
		bottom: -70px;
	}
	#sec03 .box dl,
	#sec03 .box dt,
	#sec03 .box dd {
		display: block;
	}
}
/* --------------------------------------------------- */

/* --------------------------------------------------- */

/* --------------------------------------------------- */




