@charset "UTF-8";
/*===============================================
●mian.css 画面の横幅が770px以上
===============================================*/
@media screen and (min-width: 770px){
#main_conts {
    width: 100%;
    overflow: hidden;
    background-image: url(../img/home/mian_img.png);
    background-size: 1669px;
    background-repeat: no-repeat;
    background-position: center top;
    height: 1839px;
    position: relative;
}
#main_conts::before {
    content: "";
    display: block;
    width: 1669px;
    height: 1839px;
    background-image: url(../img/home/mian_img_bg.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center top;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%); 
    z-index: -1;
}
#main_conts::after {
    content: "";
    display: block;
    width: 1669px;
    height: 1839px;
    background-image: url(../img/home/mian_img.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center top;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); 
    top: 0;
    z-index: 1;
}
#main_conts .auto {
    position: relative;
    z-index: 9;
}
#main_conts .logo {
    width: 392px;
    margin: 0px auto 47px;
    padding-top: 44px;
}
#main_conts .illust_area p {
    position: absolute;
}
#main_conts .illust_area .illust_01 {
    left: -140px;
	top: -40px;
	width: 644px;
	z-index: 9;
	animation: SwayA 2s ease-in-out infinite;
    transform-origin: left bottom;
}
#main_conts .illust_area .illust_02 {
    right: -150px;
	top: -60px;
	width: 645px;
	z-index: 9;
	animation: SwayA 2s ease-in-out infinite;
    transform-origin: right bottom;
    animation-delay: -1s;
}
#main_conts .illust_area .illust_03 {
    left: 50%;
	top: 0;
	width: 1014px;
    margin-left: -507px;
	animation: horizontalA 2.2s ease-in-out infinite alternate;
}
#main_conts .illust_area .illust_04 {
    left: calc(50% + 142px);
	top: 403px;
	width: 104px;
    z-index: 99;
	animation: jumpingY 1.6s infinite linear;
}
#main_conts .illust_area .illust_05 {
    right: calc(50% + 186px);
	top: 1162px;
	width: 115px;
    z-index: 99;
	animation: jumpingY 1.6s infinite linear;
    animation-delay: -1s;
}
#main_conts .flower {
    width: 168px;
    margin: 0 auto;
    position: relative;
}
#main_conts .flower::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
	background-image: url("../img/home/flower_bg.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	animation-duration: 4s;
	animation-name: bounceIn2;
	animation-iteration-count: infinite;
}
#main_conts .link_01 {
    width: 421px;
    position: absolute;
    top: 562px;
    left: 102px;
	animation-duration: 1.5s;
	animation-name: pulse2;
	animation-iteration-count: infinite;
	animation-delay: .4s;
}
#main_conts .link_02 {
    width: 428px;
    position: absolute;
    top: 668px;
    right: 106px;
	animation-duration: 2s;
	animation-name: pulse;
	animation-iteration-count: infinite;
}
#main_conts .link_03 {
    width: 400px;
    position: absolute;
    top: 846px;
    left: 30px;
}
#main_conts .link_04 {
    width: 402px;
    position: absolute;
    top: 985px;
    right: 68px;
}
#main_conts .link_05 {
    width: 428px;
    position: absolute;
    top: 1289px;
    right: 56px;
}
#main_conts .link_06 {
    width: 263px;
    position: absolute;
    top: 1448px;
    left: 89px;
}
/*=========================
▼▼アニメーション▼▼
===========================*/
@keyframes jumpingY {
    0% {transform: translateY(0) scale(1.0, 1.0);}
    40% {transform: translateY(-12px) scale(1.0, 1.0);}
    75% {transform: translateY(0) scale(1.0, 1.0);}
    90% {transform: translateY(6px) scale(1.05, 0.95);}
    100% {transform: translateY(0) scale(1.0, 1.0);}
}
@keyframes bounceIn2 {
	from,
	20%,
	40%,
	60%,
	80%,
	to {
		animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	0% {
		opacity: .5;
		transform: scale3d(0.8, 0.8, 0.8);
	}

	25% {
		opacity: 1;
		transform: scale3d(1.1, 1.1, 1.1);
	}

	50% {
		opacity: .5;
		transform: scale3d(0.9, 0.9, 0.9);
	}

	75% {
		opacity: 1;
		transform: scale3d(1.03, 1.03, 1.03);
	}

	to {
		opacity: .5;
		transform: scale3d(0.8, 0.8, 0.8);
	}
}
@keyframes pulse2 {
	from {
		transform: scale3d(1, 1, 1);
	}

	50% {
		transform: scale3d(1.03, 1.03, 1.03);
	}

	to {
		transform: scale3d(1, 1, 1);
	}
}
/*=========================
▲▲アニメーション▲▲
===========================*/
}
/*===============================================
●sp.css  画面の横幅が769pxまで（iPhone6 横向きまで）
===============================================*/
@media screen and (max-width:769px){
header {
    margin-bottom: 0;
}
#main_conts {
    background-image: url(../img/home/mian_img_sp.png);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center top;
    height: 196vw;
    position: relative;
}
#main_conts::before {
    content: "";
    display: block;
    width: 100%;
    height: 194vw;
    background-image: url(../img/home/mian_img_bg_sp.jpg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center top;
    transform: translateX(-50%); 
    position: absolute;
    left: 50%;
    top: 0;
}
#main_conts::after {
    content: "";
    display: block;
    width: 100%;
    height: 194vw;
    background-image: url(../img/home/mian_img_sp.png);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center top 2vw;
    transform: translateX(-50%); 
    position: absolute;
    left: 50%;
    top: 0;
}
#main_conts .auto {
    position: relative;
    z-index: 9;
}
#main_conts .logo {
    width: 70%;
    margin: 0px auto 4.9vw;
    padding-top: 10vw;
}
#main_conts .illust_area p {
    position: absolute;
}
#main_conts .illust_area .illust_01 {
    left: -10vw;
	top: -4vw;
	width: 45vw;
	z-index: 9;
	animation: SwayA 2s ease-in-out infinite;
    transform-origin: left bottom;
}
#main_conts .illust_area .illust_02 {
    right: -10.5vw;
	top: -6vw;
	width: 45vw;
	z-index: 9;
	animation: SwayA 2s ease-in-out infinite;
    transform-origin: right bottom;
    animation-delay: -1s;
}
#main_conts .illust_area .illust_03 {
    left: 50%;
	top: 10vw;
	width: 80vw;
    margin-left: -40vw;
	animation: horizontalA 2.2s ease-in-out infinite alternate;
}
#main_conts .illust_area .illust_04 {
    left: 62vw;
	top: 37.3%;
	width: 10vw;
    z-index: 99;
	animation: jumpingY 1.6s infinite linear;
}
#main_conts .illust_area .illust_05 {
    right: 65%;
	top: 70%;
	width: 10vw;
    z-index: 99;
	animation: jumpingY 1.6s infinite linear;
    animation-delay: -1s;
}
#main_conts .flower {
    width: 29%;
    margin: 0 auto;
    position: relative;
}
#main_conts .flower::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
	background-image: url("../img/home/flower_bg.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	animation-duration: 4s;
	animation-name: bounceIn2;
	animation-iteration-count: infinite;
}
#main_conts .link_01 {
    width: 41vw;
    position: absolute;
    top: 74vw;
    left: 0;
	animation-duration: 1.5s;
	animation-name: pulse2;
	animation-iteration-count: infinite;
	animation-delay: .4s;
}
#main_conts .link_02 {
    width: 42vw;
    position: absolute;
    top: 84vw;
    right: 0;
	animation-duration: 2s;
	animation-name: pulse;
	animation-iteration-count: infinite;
}
#main_conts .link_03 {
    width: 39vw;
    position: absolute;
    top: 103vw;
    left: 0;
}
#main_conts .link_04 {
    width: 38vw;
    position: absolute;
    top: 120vw;
    right: -1vw;
}
#main_conts .link_05 {
    width: 40vw;
    position: absolute;
    top: 145vw;
    right: 1vw;
}
#main_conts .link_06 {
    width: 25vw;
    position: absolute;
    top: 160vw;
    left: 2vw;
}
/*=========================
▼▼アニメーション▼▼
===========================*/
@keyframes jumpingY {
    0% {transform: translateY(0) scale(1.0, 1.0);}
    40% {transform: translateY(-7px) scale(1.0, 1.0);}
    75% {transform: translateY(0) scale(1.0, 1.0);}
    90% {transform: translateY(4px) scale(1.05, 0.95);}
    100% {transform: translateY(0) scale(1.0, 1.0);}
}
@keyframes bounceIn2 {
	from,
	20%,
	40%,
	60%,
	80%,
	to {
		animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	0% {
		opacity: .5;
		transform: scale3d(0.8, 0.8, 0.8);
	}

	25% {
		opacity: 1;
		transform: scale3d(1.1, 1.1, 1.1);
	}

	50% {
		opacity: .5;
		transform: scale3d(0.9, 0.9, 0.9);
	}

	75% {
		opacity: 1;
		transform: scale3d(1.03, 1.03, 1.03);
	}

	to {
		opacity: .5;
		transform: scale3d(0.8, 0.8, 0.8);
	}
@keyframes pulse2 {
	from {
		transform: scale3d(1, 1, 1);
	}

	50% {
		transform: scale3d(1.03, 1.03, 1.03);
	}

	to {
		transform: scale3d(1, 1, 1);
	}
}
}
/*=========================
▲▲アニメーション▲▲
===========================*/
}