@charset "UTF-8";
/* CSS Document */

body{
	margin:0;
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-size:16px;
	line-height:2.5em;
}
@media screen and (max-width:480px) {
	body{
		font-size:14.7px;
		line-height:2.2em;
	}
}
@media screen and (min-width:481px) {
	.pc_none{
		display:none;
	}
}
@media screen and (max-width:480px) {
	.sp_none{
		display:none;
	}
}
h5{
	font-size:16.5px;
}
::selection
{
    background: #000;
    color: #ffffff;
}

/* shutter */
.shutter{
  position:fixed;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background-color: #000;
  z-index:9999;
}

.shutter::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  background-color: #fff;
  width: 0;
  height: 1px;
}
.shutter {
  -webkit-animation: byeShutter 2.6s forwards;
          animation: byeShutter 2.6s forwards;
}

.shutter::before {
  -webkit-animation: shutterOpen 2.6s forwards;
          animation: shutterOpen 2.6s forwards;
}


@keyframes byeShutter {
  70% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    display: none;
    z-index: -1;
  }
}

@keyframes shutterOpen {
  0% {
    width: 0;
    height: 1px;
  }
  50% {
    width: 100%;
    height: 1px;
  }
  90% {
    width: 100%;
    height: 100%;
  }
  100% {
    width: 100%;
    height: 100%;
  }
}



/* fadein */

.fade {
  opacity : 0;
  transform: translateY(80px);
  transition: all 0.7s;
}
.fade_half {
  opacity : 0;
  transform: translateY(80px);
  transition: all 1.4s;
}

.fade1 {
  opacity : 0;
  transform: translateX(80px);
  transition: all 0.7s;
}

.fade2 {
  opacity : 0;
  transform: translateX(-80px);
  transition: all 0.7s;
}

@media screen and (max-width:480px) {

	.fade1 {
  		opacity : 0;
 		transform: translateY(30px);
  		transition: all 0.5s;
	}
	.fade2 {
  		opacity : 0;
 		transform: translateY(30px);
  		transition: all 0.5s;
	}
}





/* curtain scroll */

.overlay,
.animate-elm.-max-width:before,
.animate-elm.-transform:before {
  background-color: #f1f1f1;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  -webkit-transition: 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
  transition: 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
}

.overlay-max-width,
.animate-elm.-max-width:before {
  max-width: 100%;
}

.overlay-transform,
.animate-elm.-transform:before {
  -webkit-transform: translateX(0%);
          transform: translateX(0%);
}

.animate-elm {
  margin: 0 auto;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  position: relative;
  overflow: hidden;
}

.animate-elm.-max-width:before,
.animate-elm.-transform:before {
  content: "";
}

.animate-elm.show.-max-width:before,
.animate-elm.show .overlay-max-width {
  max-width: 0;
}

.animate-elm.show.-transform:before,
.animate-elm.show .overlay-transform {
  -webkit-transform: translateX(101%);
          transform: translateX(101%);
}




header{
	width:100vw;
	height:10vh;
	position:relative;
}

header top{
	width:80%;
	max-width:1000px;
	min-height:15vh;
	position:absolute;
	top:5vh;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
}

header top img{
}


header top h1{
	font-size:14px;
	margin:0;
	text-align:center;
}

header top h1 span{
	color:#fff;
	padding:5px 30px;
	margin:0;
	background:#000;
}

header top h1 span span{
	padding:0;
	margin:0;
}

.moreBtn a {
    position: relative;
    display: block;
    margin: 0 auto;
    padding: 16px 0;
    background-color: #fff;
    color: #000;
    font-size: 16px;
    text-align: center;
    text-decoration: none;
}
 
.moreBtn a:after {
    display: inline-block;
    position: absolute;
    width: 12px;
    height: 12px;
    background: url(../img/common/mr_icon_arrows.svg) no-repeat center center;
    background-size: 12px 12px;
    content: "";
    top:0;
    bottom:0;
	margin:auto 0 auto 1em;;  
}
#top_request_workbook .moreBtn a:after{
	background: url(../img/common/mr_icon_arrows_black.svg) no-repeat center center;
}	

@media screen and (max-width:768px) {
	header{
		height:15vh;
	}

	header top{
		width:90%;
		max-width:100%;
		height:15vh;
		top:10vh;
	}
	header top h1 span{
		padding:5px 10px;
	}

}

@media screen and (max-width:480px) {
	header{
		height:0;
	}

	header top h1{
		position:absolute;
		top:0;
			-webkit-writing-mode: vertical-rl;
      		-ms-writing-mode: tb-rl;
         	writing-mode: vertical-rl;
	}
	header top{
		width:90%;
		height:100vh;
		width:initial;
		max-width:initial;
		min-height:initial;
		top:0;
		bottom:initial;
		left:0;
		right:initial;
	}

	header top img{
		height:100%;
	}

	header top h1 span{
		display:none;
	}
	header top h1 span strong{
	}
	header top h1 strong:before{
	}
	.moreBtn a {
    	font-size: 100%;
	}
	.moreBtn a:after {
		margin:auto 0 auto 0.2em;;  
	}
}



/*　top image */

#top_images{
	height:90vh;
}


#top_images .main_image{
}

#top_images .main_image ul{
	width:95vw;
	padding:0;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}

#top_images .main_image ul li{
	list-style:none;
	height:43vh;
}

#top_images .main_image ul li:nth-child(1){
	background:url("../img/top/top_images_01.jpg") no-repeat center;
	background-size:cover;
	width:24.5%;
	margin-bottom:0.5vw;
}
#top_images .main_image ul li:nth-child(2){
	background:url("../img/top/top_images_02.jpg") no-repeat center;
	background-size:cover;
	width:50%;
	margin-bottom:0.5vw;
}
#top_images .main_image ul li:nth-child(3){
	background:url("../img/top/top_images_03.jpg") no-repeat center;
	background-size:cover;
	width:24.5%;
	margin-bottom:0.5vw;
}
#top_images .main_image ul li:nth-child(4){
	background:url("../img/top/top_images_04.jpg") no-repeat center;
	background-size:cover;
	width:40%;
}
#top_images .main_image ul li:nth-child(5){
	background:url("../img/top/top_images_05.jpg") no-repeat center;
	background-size:cover;
	width:30.5%;
}
#top_images .main_image ul li:nth-child(6){
	background:url("../img/top/top_images_06.jpg") no-repeat center;
	background-size:cover;
	width:28.5%;
}


@media screen and (max-width:768px) {
	#top_images{
		width:100%;
		height:95vh;
	}
	#top_images .main_image ul li{
		list-style:none;
		height:41vh;
	}
}

@media screen and (max-width:480px) {
	#top_images{
		width:100%;
		height:100vh;
	}
	#top_images .main_image ul{
		width:100vw;
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
	}
	#top_images .main_image ul li{
		height:33.33vh;
	}
	#top_images .main_image ul li:nth-child(1){
		width:35%;
		margin-bottom:0.5vw;
		order: 1;
	}
	#top_images .main_image ul li:nth-child(2){
		width:64.5%;
		margin-bottom:0.5vw;
		order: 2;
	}
	#top_images .main_image ul li:nth-child(3){
		width:30%;
		margin-bottom:0.5vw;
		order: 4;
	}
	#top_images .main_image ul li:nth-child(4){
		width:69.5%;
		order: 3;
	}
	#top_images .main_image ul li:nth-child(5){
		width:64.5%;
		order: 6;
	}
	#top_images .main_image ul li:nth-child(6){
		width:35%;
		order: 5;
	}

}



/*　top about */
#top_about{
	padding:15vh 0 15vh 0;
	background:linear-gradient(90deg,#eee 0%,#eee 80%,#fff 80%,#fff 100%);
}
#top_about .about_detail{
	width:100%;
	margin:auto;
	display:flex;
	justify-content:space-between;
}

#top_about .about_detail li{
	list-style:none;
}

#top_about .about_detail li:nth-child(1){
	list-style:none;
	width:50vw;
}
#top_about .about_detail li:nth-child(2){
	list-style:none;
	width:45vw;
}

#top_about .about_detail li:nth-child(1) dd{
	max-width:600px;
	box-sizing:border-box;
	float:right;
	margin:0;
}

#top_about .about_detail li:nth-child(1) dd h6{
	color:#fff0;
	font-size:80px;
	margin:0;
	line-height:1em;
	-webkit-text-stroke: 1px #aaa;
  	text-stroke: 1px #aaa;
}

#top_about .about_detail li:nth-child(2) .animate-elm {
    height: 50vh;
}


#top_about .about_detail li img{
	width:100%;
	filter: drop-shadow(10px 20px 10px rgba(0,0,0,0.3));
}

@media screen and (max-width:959px) {
	#top_about .about_detail{
		width:95vw;
	}
	#top_about .about_detail li:nth-child(1) dd{
		max-width:initial;
		box-sizing:border-box;
		float:initial;
	}
	#top_about .about_detail li:nth-child(2){
		width:40vw;
	}
	#top_about .about_detail li:nth-child(2) .animate-elm {
    	height: 70vh;
	}
}

@media screen and (max-width:768px) {
	#top_about{
		padding:10vh 0 10vh 0;
	}
	#top_about .about_detail{
		width:95vw;
		display:initial;
	}
	#top_about .about_detail li:nth-child(1){
		list-style:none;
		width:95vw;
		margin:auto;
	}
	#top_about .about_detail li dd:nth-child(1){
		width:90vw;
		padding:0;
		margin:auto;
	}
	#top_about .about_detail li:nth-child(1) dd{
		width:100%;
		float:initial;
		margin:0 auto;
		padding:0;
	}

	#top_about .about_detail li:nth-child(2){
		width:100vw;
		margin:auto;
	}
	#top_about .about_detail li:nth-child(2) .animate-elm {
    	height:40vh;
	}

}

@media screen and (max-width:480px) {
	#top_about .about_detail li:nth-child(1) dd h6{
		font-size:320%;
	}
}


/*　top quality */

#top_quality{
    background-size:cover;
    background-position:right;
    margin:15vh 0;
    display:flex;
    justify-content:space-between;
}

#top_quality li{
	width:45%;
	list-style:none;
}


#top_quality li:nth-child(1){
	padding:0 2vw;
}
#top_quality li:nth-child(1) dt{
	max-width:600px;
	padding:0;
	box-sizing:border-box;
	float:right;
}

#top_quality li:nth-child(1) h6{
	color:#fff;
	font-size:80px;
	margin:0;
	line-height:1em;
	-webkit-text-stroke: 1px #aaa;
  	text-stroke: 1px #fff;
}

#top_quality li:nth-child(2){
    display:flex;
    justify-content:space-between;
}

#top_quality li:nth-child(2) dd{
    width:49%;
    margin:0;
}

#top_quality li:nth-child(2) dd:nth-child(2){
	margin-top:70px;
}


#top_quality li:nth-child(2) dd .animate-elm {
    height: 50vh;
}


@media screen and (max-width:959px) {
	#top_quality li:nth-child(2) dd{
    	width:49%;
	}
	#top_quality li:nth-child(2) dd .animate-elm {
   	 height: 60vh;
	}
}



@media screen and (max-width:768px) {
	#top_quality{
		width:100%;
    	background-size:initial;
    	background-position:initial;
   		margin:10vh 0;
    	display:inline-block;
	}
	#top_quality li:nth-child(1) dt{
		max-width:initial;
		float:initial;
	}
	#top_quality li:nth-child(1) h6{
	}

	#top_quality li{
		width:95%;
		display:inline-block;
		margin:auto;
	}
	#top_quality li:nth-child(2){
		width:90%;
		background-size:cover;
	}
	#top_quality li:nth-child(2) dd .animate-elm {
		 height: 50vh;
	}
}

@media screen and (max-width:480px) {

	#top_quality li:nth-child(1) h6{
		font-size:320%;
	}
}



/*　top　service  */
#top_service{
	padding:15vh 0;
	background:#f9f9f9;
}

#top_service .service_detail{
	display:flex;
	justify-content:space-between;
}

#top_service .service_detail li{
	list-style:none;
}
#top_service .service_detail li:nth-child(1){
	width:35%;
}

#top_service .service_detail li:nth-child(2){
	width:60%;
}


#top_service .service_detail li:nth-child(1) .animate-elm {
    height: 70vh;
}


#top_service .service_detail li:nth-child(2) dl{
	max-width:800px;
	margin:0 0 5vh 0;
}

#top_service .service_detail li:nth-child(2) dl h6{
	color:#fff0;
	font-size:80px;
	margin:0;
	line-height:1em;
	-webkit-text-stroke: 1px #aaa;
  	text-stroke: 1px #aaa;
}


#top_service .service_detail li:nth-child(2) dl:nth-child(2){
	display:flex;
	justify-content:space-between;
}

#top_service .service_detail li:nth-child(2) dl:nth-child(2) dd {
	width:100%;
	margin:0;
}
#top_service .service_detail li:nth-child(2) dl:nth-child(2) dd .animate-elm {
	height: 35vh;
}


#top_service .service_plan{
	margin:0;
}

#top_service .service_plan ul{
	width:95%;
	max-width:1200px;
	margin:0 auto;
	padding:0;
}

#top_service .service_plan ul li{
	width:100%;
	list-style:none;
	border-left:1px solid #ccc;
	border-right:1px solid #ccc;
	border-bottom:1px solid #ccc;
	padding:50px;
	position:relative;
	display:flex;
	justify-content:space-between;
	box-sizing:border-box;
}
#top_service .service_plan ul li:first-child{
	border-top:1px solid #ccc;
}
#top_service .service_plan ul li dt{
	width:38%;
	text-align:center;
}
#top_service .service_plan ul li dt .animate-elm {
	height: 300px;
	background-size:90% auto;
	background-position:center;
}
#top_service .service_plan ul li dt img{
	width:80%;
}

#top_service .service_plan ul li dd{
	width:60%;
	margin:0;
}

#top_service .service_plan ul li dd h5{
	font-size:20px;
}


#top_service .service_plan ul li dd h5,
#top_service .service_plan ul li dd h6{
	margin:0;
}

#top_service .service_plan ul li dd h6{
	font-size:40px;
	position:absolute;
	top:1em;
	left:0.4em;
	  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
    z-index:10;
}


@media screen and (max-width:959px) {
	#top_service .service_detail li:nth-child(1) .animate-elm {
    	height: 80vh;
	}
	#top_service .service_plan ul li dd h6{
	font-size:35px;
	}
	#top_service .service_plan ul li dt .animate-elm {
		height: 40vh;
	}
}

@media screen and (max-width:768px) {
	#top_service .service_detail{
		display:inline;
		justify-content:inline;
	}

	#top_service .service_detail li{
		width:100%;
		margin:auto;
	}
	#top_service .service_detail li:nth-child(1){
		width:100%;
	}
	#top_service .service_detail li:nth-child(1) .animate-elm {
    	height:40vh;
	}

	#top_service .service_detail li:nth-child(2){
		width:100%;
	}

	#top_service .service_detail li:nth-child(2) dl{
		max-width:initial;
	}
	#top_service .service_detail li:nth-child(2) dl:nth-child(1){
		width:95%;
		margin:20px auto 0 auto;
	}
	#top_service .service_detail li:nth-child(2) dl:nth-child(2){
		display:none;
	}

	#top_service .service_detail li:nth-child(2) dl:nth-child(2) dd{
		width:50%;
	}

	#top_service .service_plan ul{
		width:95%;
		max-width:initial;
	}

	#top_service .service_plan ul li{
		width:100%;
		list-style:none;
		padding:10px 0 0 10%;
		display:inline-block;
	}

	#top_service .service_plan ul li dt{
		width:70%;
		text-align:center;
		margin:auto;
	}
	#top_service .service_plan ul li dt .animate-elm {
		height: 30vh;
	}
	#top_service .service_plan ul li dt img{
		width:50%;
		float:right;
	}
	#top_service .service_plan ul li dd{
		width:96%;

	}
	#top_service .service_plan ul li dd h6{
		font-size:30px;
		position:absolute;
		top:1em;
		left:0.4em;
	}


}

@media screen and (max-width:480px) {
	#top_service{
		padding:0 0 4vh 0;
	}
	#top_service .service_detail li:nth-child(2) dl h6{
		font-size:320%;
	}
	#top_service .service_plan ul li{;
		padding:10px 0 0 2.5em;
	}
	#top_service .service_plan ul li dd h6{
		font-size:140%;
		top:1em;
		left:0;
	}
	#top_service .service_plan ul li dt{
		width:100%;
		text-align:center;
		margin:auto;
	}
}

/*　top works */


#top_works{
	margin:20vh auto 10vh auto;
	position:relative;
}


#top_works h6{
	color:#fff;
	height:1.5em;
	font-size:130px;
	-webkit-text-stroke: 1px #aaa;
  	text-stroke: 1px #aaa;
    position:absolute;
    line-height:1em;
    text-align:center;
    left:0;
    right:0;
    top:0;
    bottom:0;
    margin:auto;
}


#top_works .sample.sample02{
}

#top_works .sample02 .swiper-wrapper {
  align-items: stretch;
}

#top_works .sample02 .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  height: auto;
  padding-bottom: 40px;
}

#top_works .sample02 .sample02-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 80%;
  max-width:800px;
}

#top_works .sample02 .sample02-inner p{
  width: 100%;
  margin:0;
}

#top_works .sample02 .sample02-inner p img{
  width: 100%;
  box-shadow:10px 30px 20px #ccc;
}

#top_works .sample02 .swiper-button-prev,
#top_works .sample02 .swiper-button-next {
  display: none;
  width: 30px;
  height: 32.58px;
  fill: #666;
  stroke: none;
  stroke-width: 0;
  background-image: none;
  z-index: 10000;
}

#top_works .sample02 .swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 0;
}

#top_works .sample02 .swiper-pagination-bullet-active {
  background: #666;
}

#top_works .sample02 .swiper-button-prev,
#top_works .sample02 .swiper-button-next {
    display: block;
}

@media screen and (max-width:768px) {
	#top_works{
		margin:10vh auto 10vh auto;
	}
}

@media screen and (max-width:480px) {
	#top_works h6{
		font-size:300%;
	}
	#top_works .sample02 .swiper-button-prev,
	#top_works .sample02 .swiper-button-next {
 		width: 20px;
  		fill: #666;
  		stroke: none;
  		stroke-width: 0;
  		background-image: none;
  		z-index: 10000;
	}
}




/*　top work exp */


#top_work_exp{
	margin:0 auto 0 auto;
	position:relative;
}

#top_work_exp ul{
	width:100%;
	padding:0;
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	margin:0;
}

#top_work_exp ul li{
	width:33.33%;
	list-style:none;
}

#top_work_exp ul li .animate-elm{
	height:300px;
}


@media screen and (max-width:959px) {
	#top_work_exp ul{
	}
	#top_work_exp ul li{
		width:50%;
	}

}

@media screen and (max-width:768px) {
	#top_work_exp{
		margin:0 auto 5vh auto;
	}
}

@media screen and (max-width:480px) {
	#top_work_exp{
		margin:0 auto;
	}

	#top_work_exp ul{
	}
	#top_work_exp ul li{
		width:100%;
		margin:0 0 5px 0;
	}
	#top_work_exp ul li .animate-elm{
		height:30vh;
	}

}




/*　top request_workbook */
#top_request_workbook{
	padding:5vh 0;
	background:#ffeb3b;
}

#top_request_workbook ul{
	width:70%;
	max-width:1200px;
	margin:	auto;
	padding:0;
	display:flex;
	justify-content:
	space-between;
}
#top_request_workbook ul li{
	list-style:none;
	width:50%;
}
#top_request_workbook ul li:nth-child(1){
	align-items:center;
	display:flex;
}
#top_request_workbook ul li:nth-child(1) dl{
	color:#fff;
	list-style:none;
	margin:auto;
	box-sizing:border-box;
	padding:30px;
	box-sizing:border-box;
	z-index:1;
	background:#000;
	box-sizing:border-box;
}
#top_request_workbook ul li:nth-child(1) dl p{
	font-size:90%;
	line-height:2.0em;
	margin:30px 0;
}

#top_request_workbook ul li:nth-child(1) h6{
	font-size:80px;
	color:#fff;
}

#top_request_workbook ul li:nth-child(1) h5{
	margin:0.5em 0 0.8em;;
	line-height:1.5em;
}
#top_request_workbook ul li:nth-child(1) h6{
	margin:0.5em 0 0.5em;
	line-height:0em;
}
#top_request_workbook ul li:nth-child(2){
}
#top_request_workbook ul li:nth-child(2) img{
	height:100%;
	position:relative;
	float:right;
}
@media screen and (max-width:1199px) {
	#top_request_workbook ul{
		width:90%;
	}
}

@media screen and (max-width:959px) {
	#top_request_workbook ul{
		justify-content:unset;
		flex-direction:column-reverse;
	}
	#top_request_workbook ul li:nth-child(1){
		width:90%;
		max-width:600px;
		margin:-150px auto 0;
	}
	#top_request_workbook ul li:nth-child(1) dl{
	}
	#top_request_workbook ul li:nth-child(2){
		width:100%;
		text-align:center;
	}
	#top_request_workbook ul li:nth-child(2) img{
		height:auto;
		width:100%;
		position:unset;
		float:unset;
	}
}

@media screen and (max-width:768px){
	#top_request_workbook ul li:nth-child(1){
	}
	#top_request_workbook ul{
		flex-direction:column-reverse;
	}
	#top_request_workbook ul li:nth-child(1) dl{
		padding:5%;
	}
	#top_request_workbook ul li:nth-child(1) h6{
		font-size:60px;
		color:#fff;
	}
	#top_request_workbook ul li:nth-child(2){
	}
	#top_request_workbook ul li:nth-child(2) .animate-elm {
	}
}

@media screen and (max-width:599px){
	#top_request_workbook ul{
	}
	#top_request_workbook ul li:nth-child(1) dl{
	}
}

@media screen and (max-width:480px){
	#top_request_workbook ul li:nth-child(1) h6{
	}
	#top_request_workbook ul li:nth-child(2) .animate-elm {
	}

}


/*　top award */

#top_award{
	background:#f5f5f5;
	padding:5vh 0;
	margin:0vh 0 0 0;
}

#top_award ul{
	width:80%;
	max-width:1200px;
	padding:0;
	margin:auto;
	position:relative;
	display:flex;
	justify-content:space-between;
}
#top_award ul div.animate {
	width:33%;
}

#top_award ul div.animate-elm {
	height: 45vh;
	background-size:cover;
}


#top_award ul div.mark{
	position:absolute;
	top:-40px;
	left:-100px;
	z-index:10;
}
#top_award ul div.mark img{
	width:180px;
	margin:0 0 20px 0;
	display:block;
}

#top_award ul div.exp{
	position:absolute;
	bottom:-80px;
	right:-100px;
	z-index:10;
}

#top_award ul div.exp dt{
	width:100%;
	max-width:400px;
	padding:40px;
	background:#FFEB3Bee;
	margin:auto;
}

#top_award ul div.exp dt h4{
	margin:0;
	font-size:20px;
	line-height:1.5em;
	text-align:center;
}
#top_award ul div.exp dt h4 span{
}
#top_award ul div.exp dt h4 span::before,
#top_award ul div.exp dt h4 span::after{
	content: "\A";
	white-space: pre;
}

#top_award ul div.exp dt p{
	font-size:90%;
	line-height:2em;
}


@media screen and (max-width:959px) {
	#top_award ul{
		width:100%;
	}
	#top_award ul div.mark{
		position:absolute;
		top:-3vh;
		left:2%;
	}
	#top_award ul div.mark img{
		width:150px;
	}

	#top_award ul div.exp{
		width:100%;
		bottom:-15vh;
		left:0;
	}
	#top_award ul div.exp dt{
		width:90%;
		max-width:initial;
		padding:20px;
	}
	#top_award ul div.exp dt h4 span::before,
	#top_award ul div.exp dt h4 span::after{
		content:initial;
		white-space:initial;
	}
}

@media screen and (max-width:768px) {
	#top_award{
		background:#f5f5f5;
		padding:15vh 0 20vh 0;
		margin:0 0 0 0;
	}
	#top_award ul{
		width:100%;
		padding:0;
		margin:auto;
		position:relative;
		display:inline-block;
		justify-content:initial;
	}
	#top_award ul div.animate {
		width:100%;
	}
	#top_award ul div.animate:nth-child(2),
	#top_award ul div.animate:nth-child(3){
		display:none;
	}
	#top_award ul div.animate-elm {
		height: 40vh;
	}
	#top_award ul div.exp{
		width:100%;
		position:absolute;
		bottom:-15vh;
		left:0;
	}
	#top_award ul div.exp dt{
		width:100%;
		max-width:initial;
		padding:20px;
		box-sizing:border-box;
	}

}

@media screen and (max-width:480px) {
	#top_award{
		padding:0;
	}

	#top_award ul div.mark img{
		width:30vw;
	}
	#top_award ul div.exp dt h4{
		font-size:120%;
	}
	#top_award ul div.exp dt h4 span::before,
	#top_award ul div.exp dt h4 span::after{
	content: "\A";
	white-space: pre;
	}

	#top_award ul div.exp{
		position:initial;
	}
}


/*　top store */
#top_store{
	margin:20vh auto 20vh auto;
}

#top_store ol{
	width:90vw;
	max-width:1200px;
	margin: 0 auto 30px auto;
}

#top_store ol h6{
	color:#fff;
	font-size:80px;
	margin:0;
	line-height:1em;
	-webkit-text-stroke: 1px #aaa;
  	text-stroke: 1px #fff;
}

#top_store ol h6 span{
	padding-right:0.3em;
}
#top_store ol h5{
	margin:0.5em;
}

#top_store ol h6 span::before {
	content: "\A" ;
	white-space: pre ;
}

#top_store ul{
	width:96%;
	max-width:1200px;
	padding:0;
	margin:70px auto 0 auto;
	display:flex;
	justify-content:space-between;
}
#top_store ul li{
	width:49%;
	list-style:none;
	position:relative;
	padding:0 50px 0 50px;
	box-sizing:border-box;

}
#top_store ul li dt{
	height:350px;
	 overflow:hidden;
}

#top_store ul li dt img{
	width:100%;
	height:100%;
	object-fit: cover;
	
}
#top_store ul li dd{
	margin:1px 0 0 0;
}


#top_store ul li dd p.en_title{
	height:500px;
	margin:0;
	color:#000;
	position:absolute;
	font-size:100%;
	font-weight:bold;
	  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
    top:0;
    left:0;
}
#top_store ul li dd p.en_title span {
	margin-top:0.5em;
	margin-bottom:0.5em;
}


#top_store ul li dd table.store_detail{
	width:100%;
	border-spacing:initial;
	border-collapse: collapse;
}

#top_store ul li dd table tr{
}


#top_store ul li dd table tr td.title{
	font-size:107%;
	font-weight:bold;
	text-align:center;
	padding:10px 0;
}
#top_store ul li dd table tr td.copy{
	padding:0 20px;
	line-height:2em;
}
#top_store ul li dd table tr td{
	font-size:90%;
	padding-left:2em;
	border:1px solid #ccc;
}
#top_store ul li dd table tr td.detail_title{
	width:20%;
	font-weight:bold;
	text-align:center;
	padding-left:0;
}

#top_store ul li dd table tr td span{
	width:40px;
	float:right;
	display:inline-block;
	background:#000;
	text-align:center;
}

#top_store ul li dd table tr td span img{
	width:15px;
	vertical-align:middle;
}

@media screen and (max-width:959px) {
	#top_store ul li{
	width:49%;
	list-style:none;
	position:relative;
	padding:0 0 0 2.5em;
	box-sizing:border-box;

	}
}

@media screen and (max-width:768px) {
	#top_store{
		margin:10vh auto;
	}

	#top_store ul{
		width:96%;
		padding:0;
		margin:70px auto 0 auto;
		display:inline-block;;
		justify-content:initial;
	}
	#top_store ul li{
		width:100%;
		padding:0 0 0 3em;
		box-sizing:border-box;
		margin-bottom:5vh;

	}
	#top_store ul li dd p.en_title{
		height:auto;
		font-size:110%;
	}

}

@media screen and (max-width:480px) {
	#top_store ol{
		padding:0;
	}
	
	#top_store ol h6{
		font-size:320%;
	}
	#top_store ol h5{
		margin:0;
	}

	#top_store ul{
		margin:0 auto 0 auto;
	}
	#top_store ul li{
		padding:0 0 0 2.3em;

	}
	#top_store ul li dt{
		height:30vh;
	}
	#top_store ul li dd table tr td{
		padding-left:1em;
	}
	#top_store ul li dd table tr td.copy{
		padding:0 3%;
	}
}


/*　top contact */
#top_contact{
	background:#f5f5f5;
}
#top_contact ul{
	width:50%;
	margin:auto;
	padding:15vh 0;
}

#top_contact ul h6{
	color:#fff0;
	font-size:80px;
	margin:0;
	line-height:1em;
	-webkit-text-stroke: 1px #aaa;
  	text-stroke: 1px #fff;
  	text-align:center;
}


#top_contact ul .btn a {
    position: relative;
    display: block;
    width: 100%;
    max-width:700px;
    margin: 50px auto 0 auto;
    padding: 30px 0;
    background-color: #000;
    color: #fff;
    font-size: 16px;
    text-align: center;
    text-decoration: none;
}
 
#top_contact ul .btn a:after {
    display: inline-block;
    position: absolute;
    width: 12px;
    height: 12px;
    background: url(../img/common/mr_icon_arrows.svg) no-repeat center center;
    background-size: 12px 12px;
    content: "";
    top:0;
    bottom:0;
	margin:auto 0 auto 1em;;  
}

@media screen and (max-width:959px) {
	#top_contact ul{
	width:70%;
	}

}

@media screen and (max-width:480px) {
	#top_contact ul{
		width:95%;
		margin:auto;
		padding:10vh 0;
	}
	#top_contact ul h6{
		font-size:320%;
	}

	#top_contact ul .btn a {
    	width: 90%;
    	padding: 20px 0;
    	max-width:initial;
	}
}



/*　footer */
footer{
	color:#fff;
	background:#000;
	padding:100px 50px 50px 50px;
	box-sizing:border-box;
}

footer dd.brand_logo{
	margin:0;
	display:flex;
	justify-content:space-between;
}
footer dd.brand_logo li{
	list-style:none;
	margin:0 0 100px 0 ;
}

footer dd.brand_logo li:nth-child(1){
	width:30%;
	text-align:left;
}

footer dd.brand_logo li:nth-child(1) img{
	width:250px;
}

footer dd.brand_logo li:nth-child(2) dd:nth-child(1){
	margin-bottom:20px;
}
footer dd.brand_logo li:nth-child(2) dd:nth-child(1) a{
	margin-left:2em;
	color:#fff;
	text-decoration:none;
	vertical-align:bottom;
}
footer dd.brand_logo li:nth-child(2) dd:nth-child(2){
	width:130px;
	float:right;
	display:flex;
	justify-content:space-between;
}
footer dd.brand_logo li:nth-child(2) dd:nth-child(2) img{
	width:30px;
}

footer dd.main_logo{
	margin:0;
	display:flex;
}

footer dd.main_logo li{
	list-style:none;
}

footer dd.main_logo li:nth-child(1){
	font-size:80%;
	width:70%;
}
footer dd.main_logo li:nth-child(1) dt{
	line-height:2em;
}
footer dd.main_logo li:nth-child(1) dt:nth-child(1){
	margin-bottom:1.5em;
}
footer dd.main_logo li:nth-child(1) dt:nth-child(1) a{
	color:#fff;
	font-size:200%;
	font-weight:bold;
	text-decoration:none;
}
footer dd.main_logo li:nth-child(1) dt:nth-child(2),
footer dd.main_logo li:nth-child(1) dt:nth-child(3),
footer dd.main_logo li:nth-child(1) dt:nth-child(4),
footer dd.main_logo li:nth-child(1) dt:nth-child(5),
footer dd.main_logo li:nth-child(1) dt:nth-child(6){
	font-size:90%;
}
footer dd.main_logo li:nth-child(1) dt span{
	margin-right:2em;
	font-weight:bold;
	margin:0 0 0 0.5em;
}
footer dd.main_logo li:nth-child(1) dt span a{
	color:#fff;
	text-decoration:none;
}


footer dd.main_logo li:nth-child(2){
	width:30%;
	text-align:right;
	position:relative;
}

footer dd.main_logo li:nth-child(2) div{
	position:absolute;
	bottom:0;
	right:0;
}

footer dd.main_logo li:nth-child(2) div img{
	width:80px;
	border:1px solid #fff;
}
footer dd.main_logo li:nth-child(2) div p{
	font-size:60%;
	margin:0;
	line-height:3em;
}

@media screen and (max-width:768px) {
	footer dd.brand_logo{
		width:100%;
		margin:0;
		display:inline-block;
	}
	footer dd.brand_logo li:nth-child(1){
		width:100%;
		margin:0 0 5vh 0;
		text-align:center;
	}
	footer dd.brand_logo li:nth-child(1) img{
		width:50%;
	}
	footer dd.brand_logo li:nth-child(2) dd:nth-child(1){
		width:70%;
		margin:0 auto;
		display:flex;
		justify-content:space-between;
	}
	footer dd.brand_logo li:nth-child(2) dd:nth-child(1) a{
		margin:0;
	}
	footer dd.brand_logo li:nth-child(2) dd:nth-child(2){
		width:40%;
		margin:5vh auto 0 auto;
		float:initial;
	}
	footer dd.brand_logo li:nth-child(2) dd:nth-child(2) img{
		width:7vw;
	}

	footer dd.main_logo{
		width:100%;
		display:inline-block;
	}
	footer dd.main_logo li:nth-child(1){
		width:70%;
		margin:0 auto 50px auto;
	}
	footer dd.main_logo li:nth-child(1) dt:nth-child(1){
		font-size:120%;
		text-align:center;
		margin:0 0 20px 0;
	}
	footer dd.main_logo li:nth-child(1) dt:nth-child(1) a{
		font-size:250%;
	}
	footer dd.main_logo li:nth-child(2){
		width:100%;
		text-align:initial;
		position:relative;
	}
	footer dd.main_logo li:nth-child(1) dt:nth-child(2),
	footer dd.main_logo li:nth-child(1) dt:nth-child(3),
	footer dd.main_logo li:nth-child(1) dt:nth-child(4),
	footer dd.main_logo li:nth-child(1) dt:nth-child(5),
	footer dd.main_logo li:nth-child(1) dt:nth-child(6){
		font-size:100%;
	}

	footer dd.main_logo li:nth-child(2) div{
		width:100%;
		position:initial;
		text-align:center;
	}

}

@media screen and (max-width:480px) {
	footer{
		padding:10vh 0 5vh 0;
		box-sizing:border-box;
	}
	footer dd.brand_logo li{
		margin:0 0 30px 0 ;
	}
	footer dd.brand_logo li:nth-child(1) img{
		width:70%;
	}
	footer dd.main_logo li:nth-child(1) dt:nth-child(1){
		margin:0 0 40px 0;
	}
	footer dd.brand_logo li:nth-child(2) dd:nth-child(1){
		font-size:110%;
		width:80%;
		text-align:center;
		flex-wrap:wrap;
	}
	footer dd.brand_logo li:nth-child(2) dd:nth-child(1) a{
		width:50%;
		text-align:left;
		display:block;
		margin:0 auto 0.5em auto;
	}
	footer dd.brand_logo li:nth-child(2) dd:nth-child(2){
		width:50%;
	}
	footer dd.brand_logo li:nth-child(2) dd:nth-child(2) img{
		width:8vw;
	}
	footer dd.main_logo li:nth-child(1){
		width:90%;
		margin:20px auto 50px auto;
	}
	footer dd.main_logo li:nth-child(1) dt:nth-child(1) a{
		font-size:220%;
	}
	footer dd.main_logo li:nth-child(1) dt:nth-child(1) a:after{
		content: "\A" ;
		white-space: pre ;
	}
	footer dd.main_logo li:nth-child(1) dt span{
		font-size:120%;
		margin:0 0 0 0.5em;
	}
	footer dd.main_logo li:nth-child(1) dt span:before{
	}
	footer dd.main_logo li:nth-child(1) dt:nth-child(2),
	footer dd.main_logo li:nth-child(1) dt:nth-child(3),
	footer dd.main_logo li:nth-child(1) dt:nth-child(4),
	footer dd.main_logo li:nth-child(1) dt:nth-child(5),
	footer dd.main_logo li:nth-child(1) dt:nth-child(6){
		font-size:80%;
		margin-bottom:1em;
	}

}


/*  TOPへ戻るボタン  */
#footer_contact {
	width: 100%;
	/*width: 100vw;*/
	position: fixed;
	bottom: 0;
	left: 0;
	Z-index:99;
	color: #fff;
}
#pageTop {
	padding: 0;
	margin: 0;
	position: absolute;
	right: 20px;
	z-index: 100;
}
#pageTop a {
	display: block;
	padding: 2px 0 0 8px;
	border-radius: 3px;
	width: 50px;
	height: 50px;
	background-color: #000;
	opacity: 0.8;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	font-size: 40px;
	margin-top: -20px;
}
#pageTop i {
	padding-right: 5px;
}
#footer_contact .contactBar {
	display: none;
}


@media screen and ( max-width:959px) {
	/* 191206鈴木追加 responsiveのoverflow防止 */
	body > section {
		/*overflow-x: hidden; 指定しないとアイコンずれる */
	}
	#top_works h6 {
		font-size: 15vw;
	}
	/*  TOPへ戻る */
	#pageTop {
		line-height: 2.0em; /* 指定しないとアイコンずれる */
		position: absolute;
		top: -50px;
		right: 10px;
		z-index: 100;
	}
	#pageTop a {
		display: block;
		z-index: 999;
		padding: 0px 0 0 6px;
		border-radius: 3px;
		width: 35px;
		height: 35px;
		background-color: #000;
		opacity: 0.8;
		color: #fff;
		font-weight: bold;
		text-decoration: none;
		text-align: center;
		font-size:33px;
		margin-top: 0; /* pcのバックマージン打ち消し */
	}
	#pageTop i {
		padding-right: 5px;
	}
	/* ---------------------------------------------
	スマホ 固定フッター
	--------------------------------------------- */
	#footer_contact .contactBar {
		display: block;
		position: relative;
	}
	#form #footer_contact .contactBar,
	#entryForm #footer_contact .contactBar {
		display: none !important;
	}
	#footer_contact .contactBar ul.area_nomal{
		list-style: none;
		padding: 0;
		margin: 0;
		display:flex;
	}
	#footer_contact .contactBar ul.area_nomal li{
		width:33%;
		width:50%;
		background:rgba(0,0,0,0.83);
		text-align:center;
		padding:7px 0;
		margin-right:0.5%;
		box-sizing:border-box;
	}
	#footer_contact .contactBar ul.area_nomal li:nth-child(3){
		margin-right:0;
	}
	#footer_contact .contactBar ul.area_nomal li a{
		display:block;
		width:100%;
		height:100%;
	}
	#footer_contact .contactBar ul.area_nomal li img{
		height:20px;
		display: block;
		margin: 0 auto;
	}
	#footer_contact .contactBar ul.area_nomal li dd{
		color:#fff;
		font-size:10px;
		font-weight:bold;
		line-height: 1.67em;
		padding: 0;
		margin: 0;
	}
	#footer_contact .contactBar .area_tel{
		width:100%;
		background:rgba(0,0,0,0.83);
		padding:0;
		margin-top:1px;
		box-sizing:border-box;
		text-align:center;
	}
	#footer_contact .contactBar .area_tel a{
		display:block;
		width:100%;
		height:100%;
		padding:17px 0;
	}
	#footer_contact .contactBar .area_tel img{
		height:20px;
		display:inline-block;
		vertical-align:middle;
	}
	#footer_contact .contactBar .area_tel dd{
		font-size:11px;
		font-weight:bold;
		color:#fff;
		display:inline-block;
		margin: 0;
	}
	#footer_contact .contactBar .area_tel dd span{
		font-size:10px;
		margin:0 0 0 5px;
	}
	@media screen and (min-width:667px) {	
		#footer_contact .contactBar ul.area_nomal li a{
			display:block;
			width:100%;
			height:100%;
			padding:5px 0;
		}
		#footer_contact .contactBar ul.area_nomal li img{
			height:25px;
		}
		#footer_contact .contactBar ul.area_nomal li dd{
			color:#fff;
			font-size:12px;
			font-weight:bold;
		}
	}
}
