/* CSS Document */


body div.wrap header {
	position: relative;
	width: 100%;
	height: 40rem;
	background-color: rgba(222, 105, 135, 1);
	background-image: url("../images/top.png");
	background-position: top center;
	background-size: cover;
	background-repeat: no-repeat;
}

.footer_wave {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 3em;
}
.parallax > use {
    animation: move-forever 12s linear infinite;
}
.parallax > use:nth-child(1) {
    animation-delay: -2s;
}
.parallax > use:nth-child(2) {
    animation-delay: -2s;
    animation-duration: 5s;
}
.parallax > use:nth-child(3) {
    animation-delay: -4s;
    animation-duration: 3s;
}
@keyframes move-forever {
    0% {
        transform: translate(-90px, 0%);
    }
    100% {
        transform: translate(85px, 0%);
    }
}
.editorial {
    display: block;
    width: 100%;
    height: 3em;
    max-height: 100%;
    margin: 0;
	bottom: 0;
	opacity: 1;
}

body div.wrap div#a_link {
	position: fixed;
	width: 8rem;
	height: 4rem;
	padding: 0;
	border-radius: 4rem 0 0 4rem;
	top: 35rem;
	right: 0;
	z-index: 10;
}
body div.wrap div#a_link a,
body div.wrap div#a_link a:link,
body div.wrap div#a_link a:visited {
	display: block;
	width: 8rem;
	height: 4rem;
	padding: 0 .5rem 0 .5rem;
	background-color: #000;
	border-top: 1px solid #ff4a78;
	border-bottom: 1px solid #ff4a78;
	border-left: 1px solid #ff4a78;
	border-radius: 4rem 0 0 4rem;
	opacity: .6;
}
body div.wrap div#a_link a:active,
body div.wrap div#a_link a:hover {
	opacity: 1;
}
body div.wrap div#a_link a img {
	width: 100%;
	height: auto;
}


body div.wrap nav {
	position: fixed;
	width: 100%;
	height: 6rem;
	padding: 1rem 0 1rem 2rem;
	margin:  0 0 0 0;
	/*background-color: rgba(222, 105, 135, .8);*/
	z-index: 1;
}
body div.wrap nav.scrolled {
	background-color: rgba(222, 105, 135, .8);
}
body div.wrap nav::after {
	display: block;
	content: '';
	clear: both;
}
body div.wrap header nav a img {
	width: auto;
	max-width: 20%;
	height: 3rem;
	margin: .3rem 0 0 0;
	filter: invert(100%) sepia(0%) saturate(7453%) hue-rotate(71deg) brightness(95%) contrast(114%);
	float: left;
}
body div.wrap nav ul {
	width: auto;
	height: 4rem;
	padding: 0;
	margin: 0 auto;
	list-style: none;
	text-align: right;
	float: right;
}
body div.wrap nav ul li {
	display: inline-block;
	position: relative;
	width: auto;
	height: 4rem;
	padding: 0 0 0 0;
	text-align: center;
}
body div.wrap nav ul li a {
	display: block;
	width: auto;
	height: 4rem;
	color: #fff;
/*	padding: 1.2rem 2rem 0 2rem;	*/
	padding: 1.2rem 1.5rem 0 1.5rem;
	text-decoration: none;
	border-left: 1px solid #fff;
}
body div.wrap nav ul li a,
body div.wrap nav ul li a:link,
body div.wrap nav ul li a:visited {
	
}
body div.wrap nav ul li a:hover,
body div.wrap nav ul li a:active {
	opacity: .7;
	transition: all 300ms 0s ease-in-out;
}

body div.wrap nav.pc ul li ul {
	position: absolute;
	z-index: 2;
	display: none;
	opacity: 0;
	width: 12.5rem;
	height: auto;
	background-color: rgba(0,0,0,.5);
	transition: .2s ease-in-out;
}
body div.wrap nav.pc ul li:hover ul {
	display: block;
	opacity: 1;
}

body div.wrap header p.cright {
	position: absolute;
	bottom: 2.5rem;
	right: 2rem;
	font-size: .9rem;
	color: #000;
	text-shadow:
		1px 1px 0 #fff, -1px -1px 0 #fff, 
		-1px 1px 0 #fff,  1px -1px 0 #fff, 
		1px 0 0 #fff, -1px  0 0 #fff, 
		0 1px 0 #fff, 0 -1px 0 #fff;
}


@media screen and (max-width: 520px) {

	body div.wrap header {
		position: relative;
		width: 100%;
		height: 30rem;
		background-color: rgba(222, 105, 135, 1);
		background-image: url("../images/top_sp.png");
		background-position: center center;
		background-size: cover;
	}
	body div.wrap header div.header_cont {
		position: fixed;
		width: 100%;
		height: auto;
		padding: 1rem 1rem 1rem 1rem;
		background-color: rgba(222, 105, 135, .8);
		z-index: 1;
	}
	body div.wrap header div.header_cont::after {
		display: block;
		content: '';
		clear: both;
	}
	body div.wrap header div.header_cont a img {
		width: 40%;
		height: auto;
		filter: invert(100%) sepia(0%) saturate(7453%) hue-rotate(71deg) brightness(95%) contrast(114%);
		float: left;
	}
	body div.wrap header div.header_cont div.header_index {
		width: 50%;
		height: auto;
		float: right;
	}
	
	body div.wrap header div.header_cont div.header_index div#btn01.btn-trigger {
		position: absolute;
	  	width: 3rem;
	  	height: 3rem;
		padding: 0;
		margin:  0 0 0 auto;
		background-color: initial;
		top: .6rem;
		right: 1rem;
		/*border: .1rem solid #fff;*/
	  	cursor: pointer;
	}
	body div.wrap header div.header_cont div.header_index div#btn01.btn-trigger span {
	  	position: absolute;
	  	left: 0;
	  	width: 70%;
	  	height: .15rem;
	  	background-color: #ffffff;
	  	border-radius: .1rem;
	}
	body div.wrap header div.header_cont div.header_index div#btn01.btn-trigger, 
	body div.wrap header div.header_cont div.header_index div#btn01.btn-trigger span {
	  	display: block;
	  	transition: all .5s;
	  	box-sizing: border-box;
	}
	body div.wrap header div.header_cont div.header_index div#btn01.btn-trigger span:nth-of-type(1) {
	  	top: .7rem;
		left: .4rem;
	}
	body div.wrap header div.header_cont div.header_index div#btn01.btn-trigger span:nth-of-type(2) {
	  	top: 1.4rem;
		left: .4rem;
	}
	body div.wrap header div.header_cont div.header_index div#btn01.btn-trigger span:nth-of-type(3) {
	  	top: 2.1rem;
		left: .4rem;
	}
	body div.wrap header div.header_cont div.header_index div#btn01.btn-trigger.active span:nth-of-type(1) {
	  	-webkit-transform: translateY(.7rem) rotate(-45deg);
	  	transform: translateY(.7rem) rotate(-45deg);
	}
	body div.wrap header div.header_cont div.header_index div#btn01.btn-trigger.active span:nth-of-type(2) {
	  	opacity: 0;
	}
	body div.wrap header div.header_cont div.header_index div#btn01.btn-trigger.active span:nth-of-type(3) {
	  	-webkit-transform: translateY(-.7rem) rotate(45deg);
	  	transform: translateY(-.7rem) rotate(45deg);
	}
	
	
	body div.wrap header nav {
		position: relative;
		top: -30rem;
		left: 0;
		background-color: rgba(222, 105, 135, .8);
	}
	body div.wrap header nav.open {
		width: 100%;
		height: auto;
		position: fixed;
		padding: 0 0 0 0;
		top: 3.65rem;
		left: 0;
		z-index: 9;
		background-color: rgba(222, 105, 135, .75);
		animation: slideIn 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
	}
	
	body div.wrap header nav.open ul {
		width: 100vw;
		height: auto;
		padding: 0 0 0 0;
		margin: 0 auto;
		list-style: none;
		border-top: 1px solid #b0b0b0;
	}
	body div.wrap nav.open ul li {
		display: block;
		width: 100%;
		height: auto;
		padding: 0 0 0 0;
		text-align: center;
		border-bottom: 1px solid #b0b0b0;
	}
	body div.wrap nav.open ul li a {
		display: block;
		width: 100%;
		height: 4rem;
		color: #fff;
		padding: 1.25rem 0 0 0;
		text-decoration: none;
		border-left: none;
	}
	
	body div.wrap nav ul li:hover ul {
		display: none;
		opacity: 0;
	}

	body div.wrap nav.open ul li ul {
		display: none;
		opacity: 1;
		position: static;
		width: 100%;
		height: auto;
		background-color: rgba(0,0,0,.5);
	}
	
	body div.wrap nav.open ul li ul li {
		width: 100%;
		height: 4rem;
	}
	
	body div.wrap nav.open ul li.trigger > a {
	  	position: relative;
	}
	/* 縦線 */
	body div.wrap nav.open ul li.trigger > a::before {
	  background: #fff; /* 線の色 */
	  content: "";
	  height: 2px; /* 線の太さ */
	  position: absolute;
	  right: 25px;
	  top: 50%; /* 線の位置を縦中央に */
	  transform: rotate(90deg); /* 線を縦に */
	  transition: transform .3s ease-in-out;
	  width: 15px; /* 線の幅 */
	}
	/* 横線 */
	body div.wrap nav.open ul li.trigger > a::after {
	  background: #fff; /* 線の色 */
	  content: "";
	  height: 2px; /* 線の太さ */
	  position: absolute;
	  right: 25px;
	  top: 50%; /* 線の位置を縦中央に */
	  transition: opacity .3s ease-in-out;
	  width: 15px; /* 線の幅 */
	}
	
	/* 縦線(クリック後) */
	body div.wrap nav.open ul li.trigger > a.active::before {
	  transform: rotate(180deg);
	}
	/* 横線(クリック後) */
	body div.wrap nav.open ul li.trigger > a.active::after {
	  opacity: 0;
	}

	@keyframes slideIn {
		0% {
			transform: translateY(-30rem);
			opacity: 0;
	  	}
	  	100% {
			transform: translateX(0);
	  	}
	  	40%,100% {
			opacity: 1;
	  	}
	}
	
	body div.wrap div#a_link {
		width: 6rem;
		height: 3rem;
		border-radius: 1.5rem 0 0 1.5rem;
		top: 21rem;
	}
	body div.wrap div#a_link a,
	body div.wrap div#a_link a:link,
	body div.wrap div#a_link a:visited {
		display: block;
		width: 6rem;
		height: 3rem;
		padding: 0 .3rem 0 0;
		background-color: #000;
		border-top: 1px solid #ff4a78;
		border-bottom: 1px solid #ff4a78;
		border-left: 1px solid #ff4a78;
		border-radius: 1.5rem 0 0 1.5rem;
		opacity: .6;
	}
	body div.wrap div#a_link a img {
		width: 6rem;
		height: 3rem;
		object-fit: cover;
	}


	body div.wrap header p.cright {
		position: absolute;
		bottom: 2.5rem;
		right: 1rem;
		font-size: .8rem;
		color: #fff;
	}

}