@charset "utf-8";
/*.drawer-nav{
	display: none;
}*/
/*スライドsp*/
.top{
	background-image: none;
	}
.swiper-container {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 0px;
	line-height: 0;
	z-index: -1;
	position: relative;
    }
.swiper-slide {
	width: 100%;
	height: calc(100vh);
	background-repeat: no-repeat;
	z-index: -1;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	overflow:hidden;

	
	    }
.slide-img{
	width: 100%;
	height: calc(100vh);
	z-index: -1;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}

.slid_01 {
	background-image: url("../images/top/slide_s01.jpg");
    }
.slid_02 {
	background-image: url("../images/top/slide_s02.jpg?20211109");
	transform-origin : 100% 0%;
	background-position: right top;
	}
.slid_03 {
	background-image: url("../images/top/slide_s03.jpg");
   }
.slid_04 {
	transform-origin : 100% 0%;
	background-color: #000000;
   }
.slid_05 {
	background-image: url("../images/top/slide_s05.jpg");
	transform-origin : 100% 0% ;
   }
.slid_06 {
	background-image: url("../images/top/slide_s06.jpg?20211109");
	transform-origin : 100% 0%;
	background-position: center top;
	}
.slid_07 {
	background-image: url("../images/top/slide_s06.jpg?20211109");
	transform-origin : 100% 0%;
	background-position: center top;
	}
.slid_layer_dot {
	width: 100%;
	background-image: url(../images/top/back_dot.png);
	height: calc(100vh);
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 10;
}
#slid_recruit{
	display: none;
	position: absolute;
	z-index: 10;
	right: 15px;
	bottom:150px;
}
#slid_recruit a{
	display: inline-block;
	width: 300px;
	height: 260px;
	background-color: #ffffff;
	border-radius: 10px;
	position: relative;
	-webkit-box-shadow: 2px 2px 5px #333333;
	box-shadow: 2px 2px 5px #333333;
}
#slid_recruit a::before{
	content: "";
	display: block;
	background-image: url(../images/top/top_recruit.jpg);
	width: 280px;
	height: 200px;
	position: absolute;
	top: 10px;
	left: calc(50% - 140px);
	border-radius: 10px;
	background-repeat: no-repeat;
	background-position: -20px -20px;
}
#slid_recruit a span{
	position: absolute;
	right: 10px;
	bottom: 5px;
	font-weight: bold;
	color: #3e3a39;
	font-size: 18px;
}
#slid_recruit a span::after{
	content: "Recruit";
	display: block;
	float: right;
	padding-left: 8px;
	padding-right: 50px;
	background-image: url(../images/top/top_recruit_cursor.svg);
	background-size: 42px 12px;
	background-repeat: no-repeat;
	background-position: right;
	font-weight: normal;
	font-size: 16px;
}
#slid_layer01{
	position: absolute;
	top: 160px;
	left: 50px;
	width: 60%;
	z-index: 10;
	line-height: 0;
	text-align: center;
	display: none;
}
#slid_layer02{
	position: absolute;
	top: 160px;
	left: 0%;
	width: 100%;
	z-index: 10;
	line-height: 0;
	text-align: center;
	margin-left: 0%;
	background: rgba(0,0,0,0.7);
	padding-top: 5%;
	padding-right: 5%;
	padding-bottom: 5%;
	padding-left: 5%;
	border-radius: 10px;
}
button.close{
	margin-top: 40px;
	color: #ffffff;
	text-align: center;
	background-color: #003399;
	padding-left: 20px;
	padding-top: 5px;
	padding-right: 20px;
	padding-bottom: 5px;
	border-radius: 5px;
}
#slid_layer03{
	position: absolute;
	bottom: 50px;
	width: 90%;
	left: 50%;
	margin-left: -45%;
	height: 50px;
	background-color: #FFFFFF;
	border-radius: 5px;
	z-index: 10;
	padding-left: 0px;
	overflow: hidden;
}
#slid_layer03 li{
	float: left;
	height: 100%;
	text-align: left;
	padding-left: 10px;
	padding-right: 10px;
	line-height: 50px;
	display: block;
}
#slid_layer03 a li.date{
	color: #727171;
	font-size: 14px;
	width: 7.5em;
}
#slid_layer03 a li.kiji_title{
	color: #3e3a39;
	font-size: 16px;
	font-weight: bold;
	width: calc(100% - (4em + 20px) - 7.5em);
	float: right;
	padding-left: 0;
	overflow-y: scroll;
}
#slid_layer03 li.news{
	/*width: calc( 4em + 40px );*/
	width: calc( 4em + 20px );
	color: #ffffff;
	font-size: 16px;
	background: linear-gradient(to right, #e13754,#e66c74);
	padding-left: 20px;
	padding-right: 20px;
}
#slid_layer03 a:hover li{
	color: #003399;	
}

.inner {
	padding-top: 56.25%;
	position: relative;
	height: 0;
	overflow: hidden;
}

.inner #js-test-youtube {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.slid_04{
	position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
}
#video{
	min-width: 100%;
  min-height: 100vh;
  position: absolute;
}
@media (aspect-ratio: 16/9), (min-aspect-ratio: 16/9) {
  #video {
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
  }
}

/*動画よりも画面が縦に長くなるとき用*/
@media (max-aspect-ratio: 16/9) {
  #video {
	height: 100%;
	right: 0%;
  }
}
/*------------------------
    理念 sp
-------------------------*/
.idea{
	width: 500px;
	margin: 0 auto;
	padding: 60px 0;
	-ms-writing-mode: tb-rl;
	-moz-writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	line-height: 1.5em;
	text-orientation: mixed;
	text-align: left;
	display: inline-block;
	height: 700px;
}
.idea .tate{
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif;
}
.idea_text {
	text-align: center;	
	
}
h1{
		font-size: 2.0rem;
		border-top: solid 3px #000000;
		border-bottom: solid 3px #000000;
		padding: 15px 0;
		margin: 4px 20px 0 20px;
		height: auto;
		width: auto;
		display: inline-block;
		letter-spacing: .2em;
		line-height: 1.3em;
	}
h2{
	font-size: 3.0rem;
	line-height: 1.5em;
	margin-left: 20px;
	}
.idea p{
	font-size: 2.0rem;
}
/*------------------------
    人を知る sp
-------------------------*/
.person{
	width: 90%;
	margin: 0 auto;
}
h3{
	font-size: 3.0rem;
	line-height: 1.5em;
}
.title {
	position: relative;
	margin-bottom: 1em;
	z-index: -1;
}
.title:before {
	content: '';
	position: absolute;
	bottom: 23px;
	display: inline-block;
	width: 70%;
	height: 1px;
	right: 0%;
	transform: translateX(0%);
	background-color: #3e3a39;
	border-radius: 2px;
}
.title_02:before {
	width: 60%;
	background-color: #3e3a39;
}

.title_03:before {
	width: 45%;
	background-color: #3e3a39;
}
.text_big{
	font-size: 4.5rem;
	font-weight: bold;
}
.place_wrap{
	width: 100%;
	margin: 80px auto 0;
	line-height: 1.4em;
}
.place01{
    width: 100%;
    padding: 0px 0px 100px 0px;
}
.place_p{
	width: 100%;
	line-height: 0;
	padding-bottom: 18px;
}
.place_tx{
    width: 100%;
    text-align: left;
    padding-left: 10px;
	font-weight: bold;
}
.place_tx2{
	width: 100%;
    text-align: left;
    padding-left: 10px;
	color: #898989;
	font-size: 90%;
	letter-spacing: .1em;
}
.place_tx3{
    width: 100%;
	height: 120px;
    text-align: left;
    padding-left: 10px;
	padding-top: 12px;
}

.btn_box{
	width: 150px;
	display: flex;
	margin-left: auto;
	margin-top: 10px;
}
.more_btn{
	position: relative;/*相対配置*/
	width: 150px;
	font-size: 75%;
	color: #3e3a39;
	z-index: -1;
	font-weight: bold;
}
.more_btn:after {
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  width: 44px;/*画像の幅*/
  height: 13px;/*画像の高さ*/
  background-image: url("../images/top/png_02.png");
  background-size: contain;
  vertical-align: middle;
	position: absolute;
	top:10px;
	right: 35px;
	transition: all .5s;
}
.more_btn:hover:after {
  	right: 20px;
	transition: all .5s;
}
/*------------------------
    Link sp
-------------------------*/
.link{
	width: 100%;
	margin: 0 auto;
	background-color: #f7f8f8;
	padding: 40px 0 120px;
}
.link_box{
	width: 90%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.link_01{
	width: 49%;
	border: solid 1px #b5b5b6;
	margin-bottom: 12px;
	line-height: 0;
}
@media (min-width:641px){

/*スライドpc*/
.slid {
	width: 100%;
	height: calc(100vh);
	min-height: 0px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
    }
.slid_01 {
	background-image: url("../images/top/slide01.jpg");
    }
.slid_02 {
	opacity: 0;
	background-image: url("../images/top/slide02.jpg");
	background-position: right center;
	}
.slid_03 {
	opacity: 0;
	background-image: url("../images/top/slide03.jpg");
   }
.slid_04 {

	transform-origin : 100% 0% ;
   }
.slid_05 {
	opacity: 0;
	background-image: url("../images/top/slide05.jpg");
	transform-origin : 100% 0% ;
   }
.slid_06 {
	background-image: url("../images/top/slide06.jpg");
	transform: scale(1.10);
	transform-origin : 100% 0%;
	background-position: center top;
   }
	.slid_07 {
	background-image: url("../images/top/slide01.jpg");
	transform-origin : 100% 0%;
   }
#slid_layer01{
	position: absolute;
	top: calc((100vh - 80px - 241px) / 2);
	left: 11%;
	margin: 0 auto;
	width: 100%;
	max-width: 487px;
	padding: 0;
	z-index: 10;
}
	#slid_layer02{
	position: absolute;
	top: 100px;
	left: 50%;
	width: 60%;
	max-width: 1000px;
	max-height: calc(100vh - 170px);
	overflow-y: scroll;
  /*スクロールバー非表示（IE・Edge）*/
  -ms-overflow-style: none;
  /*スクロールバー非表示（Firefox）*/
  scrollbar-width: none;
	z-index: 10;
	line-height: 0;
	text-align: center;
	margin-left: -30%;
	background: rgba(0,0,0,0.7);
	padding-top: 4%;
	padding-right: 5%;
	padding-bottom: 5%;
	padding-left: 5%;
	border-radius: 10px;
}
	/*スクロールバー非表示（Chrome・Safari）*/
#slid_layer02::-webkit-scrollbar{
  display:none;
}
	#slid_layer03{
	bottom: 20px;
	width: 60%;
	left: 50%;
	margin-left: -30%;
}
	#slid_layer03 a li.date{
	color: #727171;
	font-size: 15px;
}
#slid_layer03 a li.kiji_title{
	color: #3e3a39;
	font-size: 18px;
	font-weight: bold;
}
#slid_layer03 li.news{
	color: #ffffff;
	font-size: 16px;
	background: linear-gradient(to right, #e13754,#e66c74);
	padding-left: 20px;
	padding-right: 20px;
}
	#slid_layer03 a:hover li{
	color: #003399;	
}
	#video{
	
}
/*------------------------
    理念 pc
-------------------------*/	
.idea{
	width: 100%;
	max-width: 1275px;
	padding: 60px 70px 30px;
	line-height: 3.2em;
	margin-right: auto;
	margin-left: auto;
	display: inline-block;
}
	h1{
		font-size: 2.2rem;
		border-top: solid 3px #000000;
		border-bottom: solid 3px #000000;
		padding: 15px 0;
		margin: 4px 10vw 0 34px;
		height: auto;
		width: auto;
		display: inline-block;
		letter-spacing: .2em;
		line-height: 1.4em;
	}
	h2{
	font-size: 4.5rem;
	line-height: 2em;
	margin-left: 40px;
	letter-spacing: 0.2rem;
	margin-right: 10vw;
	}
.idea p{
	font-size: 2rem;
	line-height: 5rem;
}
/*------------------------
    人を知る pc
-------------------------*/
.person{
	width: 100%;
	max-width: 1275px;
	padding: 60px 70px 30px;
}
h3{
	font-size: 2.7rem;
	line-height: 1.5em;
}
.title:before {
	bottom: 22px;
	width: 85%;
}
.title_02:before {
	width: 80%;
}
.title_03:before {
	width: 68%;
}
.text_big{
	font-size: 5.8rem;
}	
.place_wrap{
	width: 100%;
	margin: 80px auto 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	line-height: 1.4em;
}	
.place01{
    width: 33.3%;
	max-width: 340px;
    padding: 0px 0px 70px 0px;
}	
.place_tx3{
	height: 80px;
}
.btn_box{
	width: 105px;
}

.more_btn{
	width: 105px;
}
.more_btn:after {
	top:1px;
	right: 14px;
}
.more_btn:hover:after {
  	right: 3px;
}
/*------------------------
    Link pc
-------------------------*/
.link_box{
	width: 100%;
	max-width: 887px;
	justify-content: center;
}
.link_01{
	width: 23.3%;
	margin: 0 5px 10px;
}
.link_02{
	width: 23.3%;
	margin: 0 5px 10px;
}
}

@media (min-width:1276px){
	/*------------------------
    理念 pc
-------------------------*/	
.idea{
	width: 1000px;
	padding: 60px 70px 30px;
	line-height: 3.9em;
	margin-right: auto;
	margin-left: auto;
	display: inline-block;
	max-width: none;
	text-align: left;
}
.idea_text {
	text-align: center;	
	
}

	
	h1{
		font-size: 2.4rem;
		border-top: solid 3px #000000;
		border-bottom: solid 3px #000000;
		padding: 15px 0;
		margin: 4px 7vw 0 34px;
		height: auto;
		width: auto;
		display: inline-block;
		letter-spacing: .2em;
		line-height: 1.4em;
	}
	h2{
	font-size: 4.8rem;
	line-height: 1.9em;
	margin-left: 40px;
	margin-right: 0px;
	}
.idea p{
	font-size: 2.3rem;
	line-height: 6rem;
}
}
