@charset "utf-8";

/* MV
=================================================================== */
#mv-area { clear: both; position: relative; width: 100%; height: 820px;}
#mv-txt {position: absolute; left: 0; top: 0; z-index: 1000;}
#mv-txt { position: relative; width:59%; height:820px; overflow: hidden;}
#mv-txt h2 { position: absolute; top: 40%; left: 0; right: 0; margin: 0 auto; text-align: center; z-index: 1002;}
#mv-txt img.mv-bg { width:1130px; height:820px; object-fit: cover; object-position: right; position: absolute; top: 0; left: 0; }

#mv { position: absolute; right: 0; top: 0; width:100%; max-width:1030px; height:820px; margin:0; clip-path: polygon(23.3% 0, 100% 0, 100% 100%, 0 100%);}
#mv .slide-item { position: relative; width:100%; }
#mv .slick-slide { margin: 0;}
#mv .slide-item img.slide-img { width: 100%; height:820px; object-fit: cover; }
#mv .slick-slide { transition: all ease-in-out .3s; opacity: 1; }

@media only screen and (min-width:1921px) {
    #mv-area { max-width:1920px; margin-left: auto; margin-right: auto;}
}

@media only screen and (min-width: 1201px) {
    #mv-txt { position: relative; width:59%; height:820px; overflow: hidden;}
}

@media only screen and (max-width: 1200px) {
    #mv-area { height: 600px;}
    #mv-txt { width:59%; height:600px;}
    #mv-txt h2 { width: 300px;}
    #mv { position: absolute; right: 0; top: 0; width: 100%; max-width: 754px; height: 600px; margin:0; }
    #mv .slide-item img.slide-img { height: 600px;}
}

@media only screen and (min-width:641px) {
    #mv-txt .mv-bg-sp { display: none;}
}

@media only screen and (max-width:640px) {
    #mv-area { height: auto;}
    #mv-txt { width:100%; height: 300px;}
    #mv-txt .mv-bg {display: none;}
    #mv-txt img.mv-bg-sp { height:300px; object-fit: cover; object-position: right; position: absolute; top: 0; left: 0; }
    #mv { position: absolute; left: 0; right: 0; top: 300px; width: 100%; max-width: 640px; height: 300px; clip-path: none;}
    #mv .slide-item img.slide-img { width: 377px; height: 300px;}
}

#news { position: absolute; bottom: 40px; right: 0; width: 100%; max-width: 760px; min-height:140px; padding: 40px 40px 40px 15px; background-color:rgba(255,255,255,0.8); z-index: 1010;
	display: flex; align-items: center; box-sizing: border-box;}
#news h3 { flex: 0 0 200px; padding: 5px 15px 0 0; font-size: 21px; text-align: center; color: #000; border-right: 1px solid #000; margin: 0;}
#news h3 span { font-size: 14px;}
#news dl { flex: 1; display: flex; flex-wrap: wrap; align-items: flex-start; padding: 0 0 0 35px; color: #000; font-size: 15px; text-align: left; line-height: 1.2; margin: 0;}
#news dl dt,#news dl dd { display: inline-block; vertical-align: top; margin: 0;}
#news dl dt { width: 7em;}
#news dl dd { width: calc(100% - 7em);}
#news dl dt { clear: left;}
#news dl dt,#news dl dd { margin-bottom: 1em;}
#news dl dt:last-of-type,#news dl dd:last-of-type { margin-bottom: 0;}

@media only screen and (max-width: 959px) {
    #news { display: block; min-height: auto; padding:15px 20px 10px;}
    #news h3 { border-right: none; margin-bottom: 0.5em; text-align: left; padding: 0 0 5px; font-size: 19px; border-right: none; border-bottom: 1px solid #AAA;}
	#news h3 br { display: none;}
	#news h3 span { margin-left: 10px; font-size:12px;}
	#news dl { display: block; padding: 0;}
	#news dl dt,#news dl dd { display: block; width: 100%;}
	#news dl dt { padding-bottom: 5px;}
	#news dl dd { padding-bottom:1em; border-bottom: 1px solid #000;}
}

@media only screen and (min-width:641px) {
    #news { position: absolute; bottom: 40px; right: 0; }
}

@media only screen and (max-width:640px) {
    #mv,#news { position: static; bottom: auto;}
	#news { margin-top: 50px;}
}

#policy,
#tenpo { clear:both; width: 100%; max-width:1920px; margin:0 auto; padding: 80px; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between;}
#policy .txt h3,
#tenpo .txt h3 {font-size: 31px; padding-bottom: 1.5em; margin-bottom: 1.5em; background: url("../images/ico_ten.png") no-repeat left bottom; text-align: left;}
#policy .txt,
#tenpo .txt { width:28%; text-align: center;}
#policy .txt p,
#tenpo .txt p {text-align: left;}
#policy .txt a.btn,
#tenpo .txt a.btn { margin: 50px auto;}
#policy .photo,
#tenpo .photo { width: 70%;}

#tenpo { -webkit-flex-direction: row-reverse; flex-direction: row-reverse;}

@media only screen and (max-width: 959px) {
    #policy{ padding:20px 20px 20px 20px;}
    #tenpo { padding:20px 20px 40px 20px;}
    #policy .txt,
    #tenpo .txt { width: 100%; margin-bottom: 10px;}
    #policy .txt h3,
    #tenpo .txt h3 {font-size: 23px; padding-bottom: 1em; margin-bottom: 1em; background-position: 5px bottom;}
    #policy .txt a.btn,
    #tenpo .txt a.btn { margin: 20px auto;}
    #policy .photo,
    #tenpo .photo{ width: 100%;}
}

/* 求人 ---------------------------------------------------- */
#recruit-area { clear:both; width: 100%; margin:0; padding:80px 0; background: url("../images/bg_ita.jpg"); }
#recruit-area:after { content:" "; display:block; clear:both;}
#recruit { clear:both; width:90%; max-width: 1400px; margin:0 auto 30px auto; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between;}
#recruit .txt { width: 55%; border: 2px solid #000; padding:50px 60px 40px 60px; text-align: center;}
#recruit .txt h3 { clear: both; padding:0; margin: 0 auto 1.5em auto; font-size:27px; font-weight: bold; line-height: 1.75; text-align: left; }
#recruit .txt p {font-size: 18px; font-weight: bold; text-align: left; margin-bottom:40px;}
#recruit .txt a.btn { width: 100%; padding: 26px 0 25px 0; margin: 40px auto 0 auto;}
#recruit .photo { width: 40%;}
#recruit-area .photo2 { width:90%; max-width: 1400px; text-align: center; margin: 0 auto;}

@media only screen and (min-width: 960px) {
    #recruit .txt h3 span{ display: inline-block; font-weight: bold; background: linear-gradient(transparent 50%, #FFF 50%);}
}

@media only screen and (max-width: 959px) {
    #recruit-area { padding:40px 0;}
    #recruit { margin:0 auto 20px auto;}
    #recruit .txt { width: 100%; padding:20px 20px 20px 20px; margin-bottom:20px;}
    #recruit .txt h3 { font-size:18px; font-weight: bold;}
    #recruit .txt h3 span{ font-size:18px; font-weight: bold; text-decoration:underline; text-decoration-color: #FFF; text-decoration-thickness:3px; }
    #recruit .txt h3 br { display: none;}
    #recruit .txt p {font-size: 16px; margin-bottom:20px; }
    #recruit .txt a.btn { margin: 20px auto 0 auto;}
    #recruit .photo { width: 100%; text-align: center;}
}

/* Instagram ---------------------------------------------------- */
#instagram-area { clear:both; width: 100%; max-width: 1400px; margin:0 auto; padding:80px 0; }
#instagram-area:after { content:" "; display:block; clear:both;}

#instagram-area h3 { font-size:31px; margin:0 auto; padding-bottom: 1em; line-height: 1.2; letter-spacing: 0.03em; background: url("../images/ico_ten.png") no-repeat center bottom; text-align: center;}
#instagram-area h3 span { font-size:16px;}
.insta_list{ width: 100%; margin:50px auto 70px; padding: 0;}
.insta_list { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; }
.insta_list li { list-style-type: none; position: relative; width: 23%; margin-bottom: 17px;}
.insta_list li:before{ content: ""; display: block; padding-top: 100%;}
.insta_list li:hover { opacity:0.6; filter: alpha(opacity=60); -webkit-transition: all .3s; transition: all .3s;}
.insta_list img{ position: absolute; width: 100%; height: 100%; top: 0; right: 0; bottom: 0; left: 0; margin: auto; object-fit: cover;}

@media only screen and (max-width: 959px) {
    #instagram-area { padding:40px;}
    #instagram-area h3 { font-size:24px;}
    .insta_list{ width: 100%; margin:35px auto; }
    .insta_list li { width: 49%; margin-bottom:10px;}
}

/* MAP ---------------------------------------------------- */
#map-area { width: 100%; margin:0 auto; padding:80px 0; background: url("../images/top_access_bg.jpg") no-repeat center top; background-size:cover; background-position:50%;}
.map{ position:relative; width:100%; max-width: 1400px; height:600px; margin: 0 auto;}
.map iframe { position:absolute; top:0; left:0; width:100%; height: 100%;}

@media only screen and (max-width:1480px) {
    #map-area { padding-left:40px; padding-right: 40px;}
}

@media only screen and (max-width:959px) {
    #map-area { padding:40px;}
    .map{  height:300px;}
}

