@charset "sift-jis";

html,body {
	padding: 0;
    margin: 0;
    /*background: url(../img/all_bg.jpg) repeat-y 5vw;*/
    background-size: 50%;
    font-family: 'Noto Sans JP', sans-serif;
}

header {
	padding: 0.8vw;
    margin: 0 auto;
    height: 80px;
    background-color: rgba(255, 255, 255, 0.8);
    position: fixed;
    z-index: 10;
    width: 100%;
}

h1 {
	font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif, "Yu Gothic",'Meiryo';
    font-size: 5vw;
    padding: 1rem 0 0 1rem;
    margin: 0;
    color: #fff;
    font-weight: bold;
	display: block;
    height: 100%;
  }

  @media screen and (min-width:765px) { 
    /*　画面サイズが765pxからはここを読み込む　*/
	h1 {
		font-size: 1.2vw;
		padding: 0;
		margin: 0;
	  }
}


/* トグルメニュー */
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 300;
	font-stretch: normal;
	src: url(https://fonts.gstatic.com/s/opensans/v28/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0B4gaVc.ttf) format('truetype');
  }
  @font-face {
	font-family: 'Pacifico';
	font-style: normal;
	font-weight: 400;
	src: url(https://fonts.gstatic.com/s/pacifico/v21/FwZY7-Qmy14u9lezJ-6H6Mw.ttf) format('truetype');
  }
  .flex-center {
	display: flex;
	align-items: center;
	justify-content: center;
  }
  * {
	box-sizing: border-box;
	font-family: 'Open Sans', sans-serif;
	font-weight: 300;
  }
  a,
  a:visited,
  a:hover,
  a:active {
	color: inherit;
	text-decoration: none;
  }
  
  .outer-menu {
	position: fixed;
	top: 0;
	left: calc( 100% - 80px );
	z-index: 1;
  }
  .outer-menu .checkbox-toggle {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	cursor: pointer;
	width: 80px;
	height: 80px;
	opacity: 0;
  }
  .outer-menu .checkbox-toggle:checked + .hamburger > div {
	transform: rotate(135deg);
  }
  .outer-menu .checkbox-toggle:checked + .hamburger > div:before,
  .outer-menu .checkbox-toggle:checked + .hamburger > div:after {
	top: 0;
	transform: rotate(90deg);
  }
  .outer-menu .checkbox-toggle:checked + .hamburger > div:after {
	opacity: 0;
  }
  .outer-menu .checkbox-toggle:checked ~ .menu {
	pointer-events: auto;
	visibility: visible;
  }
  .outer-menu .checkbox-toggle:checked ~ .menu > div {
	transform: scale(1);
	transition-duration: 0.75s;
  }
  .outer-menu .checkbox-toggle:checked ~ .menu > div > div {
	opacity: 1;
	transition: opacity 0.4s ease 0.4s;
  }
  .outer-menu .checkbox-toggle:hover + .hamburger {
	box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.1);
  }
  .outer-menu .checkbox-toggle:checked:hover + .hamburger > div {
	transform: rotate(225deg);
  }
  .outer-menu .hamburger {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 80px;
	height: 80px;
	padding: 0.5em 1em;
	background: #769bc5;
	border-radius: 0 0.12em 0.12em 0;
	cursor: pointer;
	transition: box-shadow 0.4s ease;
	-webkit-backface-visibility: hidden;
			backface-visibility: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
  }
  .outer-menu .hamburger > div {
	position: relative;
	flex: none;
	width: 100%;
	height: 2px;
	background: #FEFEFE;
	transition: all 0.4s ease;
	display: flex;
	align-items: center;
	justify-content: center;
  }
  .outer-menu .hamburger > div:before,
  .outer-menu .hamburger > div:after {
	content: '';
	position: absolute;
	z-index: 1;
	top: -10px;
	left: 0;
	width: 100%;
	height: 2px;
	background: inherit;
	transition: all 0.4s ease;
  }
  .outer-menu .hamburger > div:after {
	top: 10px;
  }
  .outer-menu .menu {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	visibility: hidden;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
			backface-visibility: hidden;
	outline: 1px solid transparent;
	display: flex;
	align-items: center;
	justify-content: center;
  }
  .outer-menu .menu > div {
	width: 300vw;
	height: 300vw;
	color: #fff;
	background: rgba(154, 185, 221, 0.8);
	border-radius: 50%;
	transition: all 0.4s ease;
	flex: none;
	transform: scale(0);
	-webkit-backface-visibility: hidden;
			backface-visibility: hidden;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
  }
  .outer-menu .menu > div > div {
	text-align: center;
	max-width: 90vw;
	max-height: 100vh;
	opacity: 0;
	transition: opacity 0.4s ease;
	overflow-y: auto;
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
  }
  .outer-menu .menu > div > div > ul {
	list-style: none;
	padding: 0 1em;
	margin: 0;
	display: block;
	max-height: 100vh;
  }
  .outer-menu .menu > div > div > ul > li {
	padding: 0;
	margin: 1em;
	font-size: 22px;
	display: block;
  }
  .outer-menu .menu > div > div > ul > li > a {
	position: relative;
	display: inline;
	cursor: pointer;
	transition: color 0.4s ease;
  }
  .outer-menu .menu > div > div > ul > li > a:hover {
	color: #fff;
  }
  .outer-menu .menu > div > div > ul > li > a:hover:after {
	width: 100%;
  }
  .outer-menu .menu > div > div > ul > li > a:after {
	content: '';
	position: absolute;
	z-index: 1;
	bottom: -0.15em;
	left: 0;
	width: 0;
	height: 2px;
	background: #fff;
	transition: width 0.4s ease;
  }

  /* スライドしながら下からフェードイン */
.fade-in-bottom {
	opacity: 0;
	animation-name: fadein-bottom;
	animation-duration: 1.0s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
 }
 @keyframes fadein-bottom {
	0% {
	   opacity: 0;
	   transform: translateY(20px);
	}
	100% {
	   opacity: 1;
	   transform: translateY(0);
	}
 }

 .fade-in-bottom-02 {
	opacity: 0;
	animation-name: fadein-bottom-02;
	animation-duration: 2.5s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
 }

 @media screen and (max-width:765px) { 
	.fade-in-bottom-02 {
		color: #fff;
 }
}


 @keyframes fadein-bottom-02 {
	0% {
	   opacity: 0;
	   transform: translateY(60px);
	}
	100% {
	   opacity: 1;
	   transform: translateY(0);
	}
 }

 #keyvijual {
	width: 100%;
    /* max-width: 1000px; */
    margin: 0px auto 5vw auto;
    object-fit: contain;
    position: relative;
    height: 40vh;
    padding-top: 136px;
 }

 #keyvijual img {
	 width:100%;
	 height: auto;
	 /*max-width: 1000px;*/
	 object-fit: contain;
 }

 #keyvijual h2 {
	position: absolute;
    top: 60px;
    /* left: 2vw; */
    width: 100%;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 2vw 5vw;
    font-size: 4vw;
 }

 @media screen and (min-width:765px) { 
    /*　画面サイズが765pxからはここを読み込む　*/
	#keyvijual {
		/*width: 80%;*/
		height: 80vh;
		padding-top:0;
	}

	#keyvijual h2 {
		top: 12%;
	/*	left: 6vw;*/
		font-size: 2vw;
		color: #555;
	}
}

.fade {
	transition: all 2000ms;
	opacity: 0;
	visibility: hidden;
	transform: translate(0px, 50px);
  }
  
  .fadein {
	opacity: 1;
	visibility: visible;
	transform: translate(0px, 0px);
  }

  #each {
	  /*height: 500px;*/
	  width: 96%;
	  margin: 0 auto;
	  display: flex;
	  flex-wrap: wrap;
	  justify-content:center
  }

  @media screen and (min-width:765px) { 
    /*　画面サイズが765pxからはここを読み込む　*/
	#each {
		width: 80%;
	}
}


.btn_wrap {
	width: 48%;
	margin: 0 auto 5vw auto;
	position: relative;
	height: 20vh;
	text-align: center;
}

@media screen and (min-width:765px) { 
    /*　画面サイズが765pxからはここを読み込む　*/
	.btn_wrap {
		width: 10%;
		margin: 0 3% 5vw 3%;
		height: 18vh;
		min-width: 170px;
	}
}


.main_btn {
	height: 16vh;
	
}

.insta_btn {
	height: 7vh;
	width: 50%;
	position: absolute;
	bottom: 1vh;
	right: 0;
}

.main_btn a {
	display: block;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
    justify-content: center;	
	color: #fff;
	padding: 2rem;
}

.main_btn {
	transition: all 1s;
} 

.main_btn:hover {
	background-color: #f1addd;
	border-radius: 50%;
}

.insta_btn {
	transition: all 1s;
} 

.insta_btn:hover {
	background-color: #e4b8e0;
	border-radius: 50%;
}



.insta_btn a {
	display: block;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
    justify-content: center;	
}

.c_67b2af {
	background-color: #67b2af;
}

.c_94dedb {
	background-color: #94dedb;
}

.c_96c5ed {
	background-color: #96c5ed;
}

.c_a5eadf {
	background-color: #a5eadf;
}

.c_83b8e5 {
	background-color: #83b8e5;
}

.c_e5d683 {
	background-color: #e5d683;
}

.c_d9c766 {
	background-color: #d9c766;
}

.c_f1a6fa {
	background-color: #f1a6fa;
}

.c_e188ec {
	background-color: #e188ec
}

.distortion_p01 {
	border-radius:30% 70% 70% 30% / 30% 30% 70% 70%;	
}

.distortion_p02 {
	border-radius:30% 70% 38% 62% / 47% 26% 74% 53%;	
}

.distortion_p03 {
	border-radius:31% 69% 38% 62% / 66% 61% 39% 34%;
}

.distortion_p04 {
	border-radius:31% 69% 32% 68% / 37% 29% 71% 63%;
}

.distortion_p05 {
	border-radius:59% 41% 49% 51% / 30% 57% 43% 70%;
}

.distortion_p06 {
	border-radius:26% 74% 46% 54% / 69% 44% 56% 31%;
}

.distortion_p07 {
	border-radius:55% 45% 21% 79% / 63% 44% 56% 37%;
}

#recruit {
	text-align: center;
	background-image: url(../img/top_recruit_bg.jpg);
	background-color:rgba(255,255,255,0.5);
	background-blend-mode:lighten;
	background-size: cover;
	padding: 10vh 0;
	color: #444;
}

#recruit h2 {
	font-size: 10vw;
	font-weight: bold;
	margin: 0;
	padding: 0;
}

#recruit p {
	margin-bottom: 3vw;
}

#recruit p.en {
	font-size: 7vw;
}

#recruit a {
	border: 1px solid #333;
	background-color: rgba(255, 255, 255, 0.5);
	padding: 1vw 3vw;
	margin: 0 auto 1vw auto;
	display: block;
	width: 80%;
	transition: background 1s;
}

#recruit a:hover {
	background-color: #fff;
}

@media screen and (min-width:765px) { 
    /*　画面サイズが765pxからはここを読み込む　*/
	#recruit h2 {
		font-size: 2vw;
	}
	#recruit p.en {
		font-size: 1vw;
	}
	#recruit a {
		display: inline-block;
		width: 30%;
		margin: 0 0.5vw 1vw 0.5vw;
	}
}

#footer {
	background-color: #9ab9dd;
	color: #fff;
	padding: 5vw;
	text-align: center;
}
#footer p {
	margin-bottom: 5vw;
}

#footer a {
	margin: 0 2vw;
	font-size: 90%;
}

@media screen and (min-width:765px) { 
    /*　画面サイズが765pxからはここを読み込む　*/
	#footer a {
		font-size: 100%;
	}
}

#footer p.copy {
	font-size: 80%;
	padding: 0;
	margin: 0;
}

.fa-instagram {
	color: #fff;
}

.flowbtn10:hover {
	opacity: 0.8;
}

.sec01 {
	display: flex;
	width: 100vw;
	border-bottom: 1px solid #000;
	overflow: hidden;
}

.sec01 .left_menu {
	border-right: 1px solid #000;
	width: 30%;
	padding-bottom: 20vw;

	background-color: #fff;
  background-image:
    radial-gradient(#999 12%, transparent 12%),
    radial-gradient(#999 12%, transparent 12%);
  background-size: 24px 24px;
  background-position: 0 0, 12px 12px;
}

.sec01 .left_menu .menu {
	border-bottom: 2px solid #000;
	background-color: #fff;
	padding: 8vw 0 3vw 3vw;
}

.sec01 .left_menu .menu ul {
	list-style: none;
}

.sec01 .left_menu .menu ul li {
	color:#666;
	margin: 1.4vw 0 1.4vw 1.4vw;	
}

.sec01 .left_menu .menu ul li {
	display: block;
	/*width: 100%;*/
	border-left: 5px solid #000;
	padding: 0.3vw 0 0 0.8vw;
}
.sec01 .left_menu .menu ul li a {
	display: block;
}

.sec01 .left_menu .menu ul li a:nth-of-type(1) {
	width: 95%;
}

.sec01 .left_menu .menu ul li a:nth-of-type(2) {
	width: 5%;
}

.sec01 .left_menu .menu ul li:hover {
	background-color: #333;
	color: #fff;
}

.sec01 .left_menu .menu ul li{
	padding: 0.3vw 0.8vw 0.3vw 0.8vw;
	overflow: hidden;
	display: flex;
	position: relative;
	z-index: 1;
	text-decoration: none;
	justify-content: space-between;
}
.sec01 .left_menu .menu ul li::before{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	background: #999;
	transition: transform 2s;
	content: "";
	transform-origin: right top;
	transform: scale(0, 1);
}
.sec01 .left_menu .menu ul li::after{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -2;
	background: #fff;
	content: "";
	color: #333;
}
/* hover */
.sec01 .left_menu .menu ul li:hover:before{
	transform-origin: left bottom;
	transform: scale(2, 2);
	content: "";
}




















h1 img {
	width: auto;
    height: 100%;
    max-width: 400px;
  }

.sec01 .right_menu {
	border-left: 1px solid #000;
	width: 70%;
	background:linear-gradient(180deg, #9ab9dd 0%, #9ab9dd 50%, #fff 50%, #fff 100%);
	display: flex;
	align-items: flex-end;
	padding-top: 10rem;
	flex-wrap: wrap;
}

.sec01 .right_menu h2 {
	width: 100%;
	position: absolute;
    top: 21vw;
    z-index: 999999;
	background-color: #fff;
	padding: 3vw;
}

.sec01 .right_menu .photo {
	margin: 0;
	padding: 0;
	display: flex;
	width: 100%;
}

.sec01 .right_menu img {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	border-top:2px solid #000;
}

.photo {
	position: relative;
	/*width: 500px;*/
	max-width: 100%;
	height: 90vh;
  }
  
  .photo .image {
	position: absolute;
	width: 100%;
	opacity: 0;
	animation-duration: 30s;
	animation-name:change-img-anim;
	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
  }
  
  .photo .image:nth-of-type(1) {
	animation-delay: 0s;
  }
  .photo .image:nth-of-type(2) {
	animation-delay: 5s;
  }
  .photo .image:nth-of-type(3) {
	animation-delay: 10s;
  }
  
  @keyframes change-img-anim {
	0%{ opacity: 0;}
	10%{ opacity: 1;}
	90%{ opacity: 1;}
	100%{ opacity: 0;}
  }
























  .album {
	margin: auto;
	background-color: white;
	position: relative;
	width: 100%;
}

.album img {
	width: 50%;
	animation-name: album;
	-webkit-animation-name: album;
	animation-duration: 21s;
	-webkit-animation-duration: 21s;
	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
	opacity: 0;
}

.album .img1 {
	display: block;
	margin: 0 auto;
}

.album .img2 {
	animation-delay:8s;
	-webkit-animation-delay:8s;
	position: absolute;
	top: 0;
	left: 0;
}

.album .img3 {
	animation-delay:16s;
	-webkit-animation-delay:16s;
	position: absolute;
	top: 0;
	left: 0;
}

@keyframes album {
	0% {
		opacity: 0;
	}
	
	12.5% {
		opacity: 1;
	}

	37.5% {
		opacity: 1;
	}
	50% {
		opacity: 0;
	}
}

@-webkit-keyframes album {
	0% {
		opacity: 0;
	}
	
	12.5% {
		opacity: 1;
	}

	37.5% {
		opacity: 1;
	}
	50% {
		opacity: 0;
	}
}

.for_sp {
	display: none;
}

@media screen and (max-width:414px) {
	.for_pc {
		display: none;
	}

	.for_sp {
		display: block;
		background-color: #9ab9dd;
	}

	.sec01 {
		padding: 12vh 0 0 0;
		display: block;
	}
	
	.album {
		width:100%;
	}
	.album img {
		width: 100%;
		height: auto;
	}

	h2 {
		text-align: center;
	}

	.9ab9dd_bg {
		background-color: #9ab9dd;
	}

	.sec01 .left_menu {
		width: 100%;
	}

	.fa-instagram {
		color: #333;
	}

	.sec01 .left_menu .menu ul li a:nth-of-type(2) {
		width: 20%;
	}


}