@charset "utf-8";
.mainimage {
    height: 700px;
    padding-top: 150px;
    position: relative;
    }
.triangle-s {
    width: 5vmin;
    height: 5vmin;
    clip-path: polygon(0 0, 0% 100%, 80% 50%);
}
.triangle-m {
    width: 7vmin;
    height: 7vmin;
    clip-path: polygon(0 0, 0% 100%, 80% 50%);
}
.posi01  {
    position: absolute;
    top: 17%;
    left: 5%;
    transform: rotate(-50deg);
}
.posi02 {
    position: absolute;
    top: 5%;
    left: 15%;
}
.posi03 {
    position: absolute;
    left: 50%;
    transform: rotate(-30deg);
}
.posi04 {
    position: absolute;
    right: 30%;
    top: 10%;
}
.posi05 {
    position: absolute;
    right: 18%;
    top: 22%;
}
.posi06 {
    position: absolute;
    right: 12%;
    top: 35%;
}
.posi07 {
    position: absolute;
    right: 5%;
    top: 5%;
    transform: rotate(-20deg);
}
.posi08 {
    position: absolute;
    left: 10%;
    bottom: 40%;
    transform: rotate(-50deg);
}
.posi09 {
    position: absolute;
    left: 40%;
    bottom: 45%;
}
.posi10 {
    position: absolute;
    right: 30%;
    bottom: 40%;
    transform: rotate(-20deg);
}
.posi11 {
    position: absolute;
    right: 2%;
    bottom: 30%;
}
.posi12 {
    position: absolute;
    left: 3%;
    bottom: 20%;
    transform: rotate(-50deg);
}
.posi13 {
    position: absolute;
    left: 50%;
    bottom: 15%;
}
.posi14 {
    position: absolute;
    right: 4%;
    bottom: 15%;
    transform: rotate(-20deg);
}
.posi15 {
    position: absolute;
    right: 28%;
    bottom: 5%;
    transform: rotate(-50deg);
}
.posi16 {
    position: absolute;
    left: 8%;
    left: 8%;
    bottom: 5%;
    transform: rotate(-20deg);
}
.posi17 {
    position: absolute;
    left: 28%;
    bottom: 8%;
}
.circle-ss{
  width: 40px;
  height: 40px;
  border-radius: 50%;
}
.circle-s{
  width: 60px;
  height: 60px;
  border-radius: 50%;
}
.circle-m{
  width: 85px;
  height: 85px;
  border-radius: 50%;
}
.circle-l{
  width: 100px;
  height: 100px;
  border-radius: 50%;
}
.color-pink {
    background-color: #EC7070;
}
.color-red {
    background-color: #C30D23;
}
.color-navy {
    background-color: #0B3A63;
}
.color-yellow {
    background-color: #F5DF53;
}
.color-orange {
    background-color: #EC9D16;
}

    .fadeIn{
	animation-name: fadeIn;
	-webkit-animation-name: fadeIn;	

	animation-duration: 1.5s;	
	-webkit-animation-duration: 1.5s;

	animation-timing-function: ease-in-out;	
	-webkit-animation-timing-function: ease-in-out;		

	visibility: visible !important;	
}

@keyframes fadeIn {
	0% {
		transform: scale(0);
		opacity: 0.0;		
	}
	60% {
		transform: scale(1.1);	
	}
	80% {
		transform: scale(0.95);
		opacity: 1;	
	}	
	100% {
		transform: scale(1);
		opacity: 1;	
	}		
}

@-webkit-keyframes fadeIn {
	0% {
		-webkit-transform: scale(0);
		opacity: 0.0;		
	}
	60% {
		-webkit-transform: scale(1.1);
	}
	80% {
		-webkit-transform: scale(0.95);
		opacity: 1;	
	}	
	100% {
		-webkit-transform: scale(1);
		opacity: 1;	
	}		
}

.pulse{
	animation-name: pulse;
	-webkit-animation-name: pulse;	

	animation-duration: 3s;	
	-webkit-animation-duration: 3s;

	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
}

@keyframes pulse {
	0% {
		transform: scale(0.95);
		opacity: 1;		
	}
	6% {
		transform: scale(1.3);
		opacity: 0.8;	
	}	
	12% {
		transform: scale(0.95);
		opacity: 1;	
	}
    100% {
		transform: scale(0.95);
		opacity: 1;	
	}
}

@-webkit-keyframes pulse {
	0% {
		-webkit-transform: scale(0.95);
		opacity: 1;		
	}
	6% {
		-webkit-transform: scale(1.3);
		opacity: 0.8;	
	}
    12% {
		-webkit-transform: scale(0.95);
		opacity: 1;		
	}
	100% {
		-webkit-transform: scale(0.95);
		opacity: 1;	
	}			
}

.triangle-rerate01 {
   animation:example01 16s 1s infinite; 
}
.triangle-rerate02 {
   animation:example02 16s 8s infinite; 
}
.triangle-rerate03 {
   animation:example03 16s 5s infinite; 
}
.triangle-rerate04 {
   animation:example01 16s 12s infinite; 
}
.triangle-rerate05 {
   animation:example02 16s 15s infinite; 
}
 
@keyframes example01 {
   0% {
       transform-origin:25% 50%;
       transform:rotateZ(-50deg);
   }
   12% {
       transform-origin:25% 50%;
       transform:rotateZ(310deg);

   }
    100% {
       transform-origin:25% 50%;
       transform:rotateZ(310deg);
   }

}

@keyframes example02 {
   0% {
       transform-origin:25% 50%;
       transform:rotateZ(-30deg);
   }
   12% {
       transform-origin:25% 50%;
       transform:rotateZ(330deg);

   }
    100% {
       transform-origin:25% 50%;
       transform:rotateZ(330deg);
   }

}

@keyframes example03 {
   0% {
       transform-origin:25% 50%;
       transform:rotateZ(-20deg);
   }
   12% {
       transform-origin:25% 50%;
       transform:rotateZ(340deg);

   }
    100% {
       transform-origin:25% 50%;
       transform:rotateZ(340deg);
   }

}

    .circle-pulse01{
        animation:fadeIn 1s,pulse 10s 2s infinite; 
    }
    .circle-pulse02{
        animation:fadeIn 1s,pulse 10s 4s infinite; 
    }
    .circle-pulse03{
        animation:fadeIn 1s,pulse 10s 15s infinite; 
    }
    .circle-pulse04{
        animation:fadeIn 1s,pulse 10s 10s infinite; 
    }
    .circle-pulse05{
        animation:fadeIn 1s,pulse 10s 13s infinite; 
    }
.bg-circle01 {
    width: 300px;
    border-radius: 50%;
    border: 120px solid #0B3A63;
    height: 300px;
    opacity: 0.2;
    position: absolute;
    right: -250px;
}
.bg-circle02   {
    width: 230px;
    border-radius: 50%;
    border: 100px solid #ec9d16;
    height: 230px;
    opacity: 0.2;
    position: absolute;
    left: -250px;
    top: 500px;
}
.lineMarker.scroll-in{
background-position: -100% 0.7em;
}

.lineMarker {
background-image: -webkit-linear-gradient(left, transparent 50%, rgb(255,250,90) 10%);
background-image: -moz-linear-gradient(left, transparent 50%, rgb(255,250,90) 10%);
background-image: linear-gradient(left, transparent 50%, rgb(255,250,90) 10%);
background-repeat: repeat-x;
background-size: 200% .7em;
background-position: 0 .7em;
transition: all 1.2s ease;
font-weight: bold;
}



.linePink {
background-image: -webkit-linear-gradient(left, transparent 50%, rgba(195,13,35,0.30) 10%);
background-image: -moz-linear-gradient(left, transparent 50%, rgba(195,13,35,0.30) 10%);
background-image: linear-gradient(left, transparent 50%, rgba(195,13,35,0.30) 10%);
}

.lineGreen {
background-image: -webkit-linear-gradient(left, transparent 50%, rgb(152,255,155) 10%);
background-image: -moz-linear-gradient(left, transparent 50%, rgb(152,255,155) 10%);
background-image: linear-gradient(left, transparent 50%, rgb(152,255,155) 10%);
}

/* アコーディオンメニュー*/
.accordion {
margin: 0 auto;
max-width: 100%;
}
.toggle {
display: none;
}
.option {
position: relative;
margin-bottom: 0.5em;
}
.title,
.content {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
transform: translateZ(0);
transition: all 0.3s;
}
.title {
padding: 1em;
display: block;
color: #333;
font-weight: bold;
background-color: rgba(10,57,98,0.40);
}
.title::after,
.title::before {
content: "";
position: absolute;
right: 1.25em;
top: 1.25em;
width: 2px;
height: 0.75em;
background-color: white;
transition: all 0.3s;
}
.title::after {
transform: rotate(90deg);
}
.content {
max-height: 0;
overflow: hidden;
}
.content p {
margin: 0;
padding: 0.5em 1em 1em;
line-height: 1.5;
background-color: rgba(10,57,98,0.20);
}
.toggle:checked + .title + .content {
max-height: 500px;
transition: all 1.5s;
}
.toggle:checked + .title::before {
transform: rotate(90deg) !important;
}

/* フワフワ */
.sec3 .photo01 {
    position: absolute;
    left: 90%;
    top: 33%;
    animation: wobbling_x 0.8s ease-in-out infinite alternate,
		wobbling_y 1.1s ease-in-out infinite alternate;
    z-index: 1;
}

.sec3 .photo02 {
    position: absolute;
    left: 60%;
    top: 45%;
    animation: wobbling_x 0.7s ease-in-out infinite alternate,
		wobbling_y 1.2s ease-in-out infinite alternate;
    z-index: 1;
}

.sec3 .photo03 {
	position: absolute;
	left: 80%;
	top: 65%;
	animation: wobbling_x 0.9s ease-in-out infinite alternate,
		wobbling_y 1.3s ease-in-out infinite alternate;
}

@keyframes wobbling_x {
	0% {
		margin-left: 8px;
	}

	100% {
		margin-left: 0px;
	}
}

@keyframes wobbling_y {
	0% {
		margin-top: 0px;
	}

	100% {
		margin-top: 8px;
	}
}
