@charset "utf-8";

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

　   COMMON

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


/*LOADING*/
#loader {
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    background: #fff;
    z-index: 999;
}
.loader_logo {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
	/*display: flex;
	align-items: center;
	justify-content: center;*/
}
.loader_logo_inner {
	position: absolute;
	display: block;
	overflow: hidden;
	/*width: 100%;
	height: 100vh;*/
	width: 150px;
	-webkit-animation: logo_animate 5s ease-in-out 0s;
	animation: logo_animate 5s ease-in-out 0s;
	animation-iteration-count: infinite;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
.loader_logo_inner svg {
	width: 100%;
	height: 100%;
}
/*.video {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}*/
/*.loader_logo_inner:after {
	content: "";
	-webkit-animation: logo_animate 4s ease-in 0s;
	animation: logo_animate 4s ease-in 0s;
	animation-iteration-count: infinite;
	background: rgba(255,255,255,.5);
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	transform: .5s;
}
*/
@keyframes logo_animate {
  0% {
  	width: 0;
	width: 14%;
	opacity: 0;
  }
  50% {
  	width: 20%;
  	opacity: 1;
  }
  100% {
  	width: 1000%;
  	opacity: 0;
  }
}
@-webkit-keyframes logo_animate {
  0% {
  	width: 0;
	width: 14%;
	opacity: 0;
  }
  50% {
  	width: 20%;
  	opacity: 1;
  }
  100% {
  	width: 1000%;
  	opacity: 0;
  }
}
@media only screen and ( max-width : 767px ) {
	.video {
		/*width: 100%;
		min-height: auto;*/
	}
}
@media print, screen and ( min-width : 768px ) {

}

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

　   KV

--------------------------------------------------------------------------------------------- */
#kv {
	position: relative;
}
#kv_copy {
	position: absolute;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.kv_slider .kv_slider_item img {
	width: 100%;
}
@media only screen and ( max-width : 767px ) {
	#kv_copy {
		padding-top: 6vw;
	}
	#kv_copy img {
		max-width: 44vw;
	}
}
@media print, screen and ( min-width : 768px ) {
	#kv_copy {
		padding-top: 6vw;
	}
	#kv_copy img {
		max-width: 30vw;
	}
}


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

　   TOP NEWS

--------------------------------------------------------------------------------------------- */
#top_news .news_list .news_list_box {
	border-bottom: none;
	padding-bottom: 0;
}
#top_news h3 {
	width: 90px;
}
@media only screen and ( max-width : 767px ) {
	#top_news {
		padding: 30px 0 40px 0;
	}
	#top_news h3 {
		margin-right: 20px;
	}
	#top_news .news_list {
		width: calc(100% - (90px + 20px));
	}
}
@media print, screen and ( min-width : 768px ) {
	#top_news {
		padding: 55px 0 90px 0;
	}
	#top_news h3 {
		margin-right: 40px;
	}
	#top_news .news_list {
		width: calc(100% - (90px + 40px));
	}
}

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

　   MISSION

--------------------------------------------------------------------------------------------- */
#mission {
	position: relative;
}
.wave_top {
	position: absolute;
	top: -1px;
	left: 0;
	width: 100%;
	z-index: 10;
}
.wave_bottom {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	z-index: 10;
}
/*#mission_inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
}*/
.mission_s_lead {
	text-align: center;
}
#mission h2 {
	/*color: #725228;*/
	margin-bottom: 1em;
	color: #fff;
}
#mission p {
	text-align: center;
	color: #fff;
	line-height: 2em;
	font-weight: 500;
}

#mission li {
	background: #fff;
	margin: 0 10px;
	border-radius: 50%;
	width: 225px;
	height: 225px;
	padding-top: 30px;
	font-size: 13px;
}
#mission li .mission_title {
	background: #D51523;
	border-radius: 50px;
	text-align: center;
	color: #fff;
	font-size: 18px;
	margin-bottom: 15px;
}
#mission li .mission_title span {
	font-size: 24px;
}
#mission li .mission_title h3 {
	display: inline-block;
	position: relative;
}
#mission li .mission_title h3:before {
	content: "";
	width: 26px;
	height: 35px;
	background: url(../img/top/s.png) no-repeat center / 100%;
	position: absolute;
	left: -30px;
	bottom: 10px;
}
#mission li p {
	color: #D51523;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 8em;
}
#mission li p span {
	line-height: 1.6em;
}
@media only screen and ( max-width : 767px ) {
	#mission {
		padding: 60px 0 110px 0;
		background: url(../img/top/mission_bg_sp.jpg) no-repeat center / cover;
	}
	.mission_s_lead img {
		max-width: 90%;
	}
	#mission ul {
		margin-top: 40px;
	}
	#mission li {
		margin: 0 auto 20px;
	}
	.mission_s_lead {
		margin-bottom: 50px;
	}
}
@media print, screen and ( min-width : 768px ) {
	#mission {
		padding: 170px 0 220px 0;
		background: url(../img/top/mission_bg.jpg) no-repeat center / cover;
	}
	.mission_s_lead img {
		max-width: 80%;
	}
	#mission ul {
		margin-left: -10px;
		margin-right: -10px;
		margin-top: 55px;
	}
	#mission li {
		margin-top: 15px;
	}
	.mission_s_lead {
		margin-bottom: 140px;
	}
}
/* ---------------------------------------------------------------------------------------------

　   WORKS

--------------------------------------------------------------------------------------------- */
#works li {
	width: 48%;
}
#works li:nth-child(1),
#works li:nth-child(2) {
	margin-top: 0;
}
#works li a {
	display: block;
}
#works li span {
	background: #D51523;
	color: #fff;
	border-radius: 50px;
	text-align: center;
	display: block;
	margin: 0 auto;
	position: relative;
	z-index: 2;
	font-weight: 500;
}
.works_policy {
	background: url(../img/top/policy_bg.svg) no-repeat right bottom;
}
@media only screen and ( max-width : 767px ) {
	.works_policy {
		background-size: 100%;
	}
	#works {
		padding: 60px 0;
	}
	#works li {
		margin-top: 20px;
	}
	#works li span {
		line-height: 30px;
		max-width: 86%;
		margin-top: -15px;
		font-size: 15px;
	}
}
@media print, screen and ( min-width : 768px ) {
	#works {
		padding: 160px 0 170px 0;
	}
	#works li {
		margin-top: 40px;
	}
	#works li span {
		line-height: 50px;
		max-width: 180px;
		margin-top: -25px;
		font-size: 20px;
	}
	.works_policy {
		background-size: 86%;
	}
}

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

　   POLICY

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

#policy .container {
	background: url(../img/top/japan.png) no-repeat top right / 50%;
}
.policy_lead {
	font-weight: 500;
	text-align: center;
}
@media only screen and ( max-width : 767px ) {
	#policy {
		margin-bottom: 60px;
		background: url(../img/top/policy_ph01.png) no-repeat 2% 100% / 40%,url(../img/top/policy_ph02.png) no-repeat 100% 62% / 36%;
	}
	#policy .container {
		background-size: 55%;
		background-position: 100% 10%;
	}
	#policy h2 {
		margin-bottom: 25px;
	}
	/*.policy_keyword {
		margin-top: -20px;
	}*/
	.policy_lead {
		font-size: 15px;
	}
}
@media print, screen and ( min-width : 768px ) {
	#policy {
		margin-bottom: 160px;
		background: url(../img/top/policy_ph01.png) no-repeat 6% 100% / 40%,url(../img/top/policy_ph02.png) no-repeat 100% 58% / 26%;
	}
	#policy h2 {
		margin-bottom: 50px;
	}
	.policy_keyword {
		margin-top: -50px;
	}
	.policy_lead {
		font-size: 20px;
	}
}

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

　   ABOUT US

--------------------------------------------------------------------------------------------- */
#aboutus li a {
	display: block;
}
@media only screen and ( max-width : 767px ) {
	#aboutus {
		padding-bottom: 60px;
	}
	#aboutus li {
		max-width: 240px;
		margin: 0 auto 20px;
	}
	#aboutus li:last-child {
		margin-bottom: 0;
	}
}
@media print, screen and ( min-width : 768px ) {
	#aboutus {
		padding-bottom: 150px;
	}
	#aboutus li {
		width: 31%;
	}
}

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

　   HISTORY

--------------------------------------------------------------------------------------------- */
#history {
	position: relative;
}
#history:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1;
}
#history h2 {
	color: #000;
}
#history .container {
	position: relative;
	z-index: 10;
}
.history_gallery {
	position: relative;
	z-index: 2;
}
.history_gallery li {
	padding: 0 8px;
}
#history .history_lead {
	font-weight: 700;
	border-top: 3px solid #000;
	border-bottom: 3px solid #000;
	padding: 4px 0;
	max-width: 650px;
	margin: 0 auto;
}
#history .history_lead span {
	display: block;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
}
@media only screen and ( max-width : 767px ) {
	#history {
		padding: 40px 0 30px 0;
	}
	#history:after {
		height: 86%;
		background: url(../img/top/history_bg_sp.jpg) no-repeat center / cover;
	}
	#history h2 {
		margin-bottom: 20px;
	}
	#history p {
		text-align: center;
	}
	#history .history_lead {
		font-size: 20px;
		margin-bottom: 20px;
	}
	#history .btn {
		margin-top: 20px;
		margin-bottom: 40px;
	}
}
@media print, screen and ( min-width : 768px ) {
	#history {
		padding: 100px 0 60px 0;
	}
	#history:after {
		height: 82%;
		background: url(../img/top/history_bg.jpg) no-repeat center / cover;
	}
	#history h2 {
		margin-bottom: 20px;
	}
	#history p {
		text-align: center;
		font-size: 19px;
	}
	#history .history_lead {
		font-size: 40px;
		margin-bottom: 30px;
	}
	#history .btn {
		margin-top: 35px;
		margin-bottom: 50px;
	}
}

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

　   NEWS

--------------------------------------------------------------------------------------------- */
#news {
	background: url(../img/top/illust_ine.png) no-repeat left top;
}
#news h3 {
	position: relative;
}
#news h3 a {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
#news h3 a:before {
  font-family: 'icomoon' !important;
  content: "\e900";
  color: #D51523;
}
@media only screen and ( max-width : 767px ) {
	#news {
		padding: 50px 0 0 0;
		background-size: 26%;
	}
	#news h3 {
		font-size: 18px;
		padding-bottom: 15px;
	}
	#news h3 a {
		font-size: 12px;
	}
}
@media print, screen and ( min-width : 768px ) {
	#news {
		padding: 100px 0 0 0;
		background-size: 26%;
	}
	#news .container {
		max-width: 720PX;
	}
	#news h3 {
		font-size: 24px;
		padding-bottom: 20px;
	}
	#news h3 a {
		font-size: 15px;
	}
}
@media print, screen and ( min-width : 992px ) {
	#news .container {
		max-width: 1000PX;
	}
}

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

　   MOVIE

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

#coporate_movie {
}

@media only screen and ( max-width : 767px ) {
	#coporate_movie {
		padding: 80px 0;
	}
}
@media print, screen and ( min-width : 768px ) {
	#coporate_movie {
		padding: 160px 0;
	}
}

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

　   INSTAGRAM

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

#instagram {
	background: #FDFBF2;
}
#instagram h2 {
	text-align: center;
}
@media only screen and ( max-width : 767px ) {
	#instagram {
		padding: 50px 0 70px 0;
	}
	#instagram h2 {
		margin-bottom: 20px;
	}
	#instagram li {
		width: 49%;
		margin-right: 2%;
		margin-top: 10px;
	}
	#instagram li:nth-child(2n) {
		margin-right: 0;
	}
}
@media print, screen and ( min-width : 768px ) {
	#instagram {
		padding: 100px 0 140px 0;
	}
	#instagram h2 {
		margin-bottom: 30px;
	}
	#instagram li {
		width: 23.5%;
		margin-right: 2%;
		margin-top: 20px;
	}
	#instagram li:nth-child(4n) {
		margin-right: 0;
	}
}

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

　   XXX

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

@media only screen and ( max-width : 767px ) {
}
@media print, screen and ( min-width : 768px ) {
}
