@charset "UTF-8";


/* -------------------- */
/* ------ common ------ */
/* -------------------- */


html{color:#000;background:#FFF}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;*font-size:100%}legend{color:#000}#yui3-css-stamp.cssreset{display:none}

*{
	-webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
	font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	box-sizing: border-box;
}

body{
	font-size: 12px;
	line-height: 2;
}

a{
	text-decoration: none;
	color: inherit;
}

img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.wrap{
	width: 90%;
	margin: 0 auto;
}

.link{
  transition: .3s;
}

.link:hover{
  transition: .3s;
  opacity: .8;
}

.pc{display: none;}
.ptb40-60{padding: 40px 0;}
.ptb60-80{padding: 60px 0;}
.pb60-80{padding-bottom: 60px;}
.ptb80-100{padding: 80px 0;}
.mtb60-80{margin: 60px 0;}

.page-kv{
	background-color: #000;
	height: 200px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.page-kv h2{
	font-size: 20px;
	color: #fff;
	font-weight: bold;
	letter-spacing: .2em;
}

@media screen and (min-width: 768px) {

	body{
    min-width: 960px;
		font-size: 14px;
	}

	.wrap{
		width: 960px;
	}

	.sp{display: none!important;}
  .pc{display: block!important;}
	.ptb40-60{padding: 60px 0;}
	.ptb60-80{padding: 80px 0;}
  .pb60-80{padding-bottom: 80px;}
	.ptb80-100{padding: 100px 0;}
	.mtb60-80{margin: 80px 0;}

	.page-kv{
		height: 250px;
	}

}


/* ---------------------- */
/* -------- font -------- */
/* ---------------------- */


/* A-OTF Futo Go B101 Pr6N */
.futo-go{
  font-family: a-otf-futo-go-b101-pr6n, sans-serif;
  font-weight: 500;
  font-style: normal;
}

/* URW DIN Condensed */
.urw-din-cond-m{
  font-family: urw-din-condensed, sans-serif;
  font-weight: 500;
  font-style: normal;
}

.urw-din-cond-xl{
  font-family: urw-din-condensed, sans-serif;
  font-weight: 200;
  font-style: normal;
}

/* Brother 1816 */
.brother-thin-ita{
  font-family: brother-1816, sans-serif;
  font-weight: 100;
  font-style: italic;
}

.brother-light{
  font-family: brother-1816, sans-serif;
  font-weight: 200;
  font-style: normal;
}

.brother-light-ita{
  font-family: brother-1816, sans-serif;
  font-weight: 200;
  font-style: italic;
}

.brother-regular{
  font-family: brother-1816, sans-serif;
  font-weight: 400;
  font-style: normal;
}

.brother-bold{
  font-family: brother-1816, sans-serif;
  font-weight: 700;
  font-style: normal;
}

.brother-bold-ita{
  font-family: brother-1816, sans-serif;
  font-weight: 700;
  font-style: italic;
}


/* ------------------------ */
/* -------- header -------- */
/* ------------------------ */


.header-logo{
	width: 35px;
	position: fixed;
	left: 20px;
	top: 20px;
  z-index: 100;
}

@media screen and (min-width: 768px) {

	.header-logo{
		width: 50px;
		left: 40px;
		top: 30px;
	}

}


/* -------------------------------- */
/* -------- hamburger icon -------- */
/* -------------------------------- */


.hm-menu-icon{
	width: 32px;
	height: 32px;
  border: 1px solid #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
	position: fixed;
	right: 20px;
	top: 20px;
  transition: .4s;
  cursor: pointer;
  z-index: 100;
  transform: translate3d(0, 0, 0);
}

.hm-menu-icon .hm-inner{
  width: 18px;
  height: 12px;
  position: relative;
}

.hm-menu-icon span{
  display: block;
  width: 100%;
  height: 1px;
  background: #fff;
  position: absolute;
  left: 0;
  transition: all .4s;
}

.hm-menu-icon span:nth-of-type(1){
  top: 0;
}

.hm-menu-icon span:nth-of-type(2){
  top: 50%;
  transform: translateY(-50%);
}

.hm-menu-icon span:nth-of-type(3){
  bottom: 0;
}

.hm-menu-icon.active span:nth-of-type(1) {
  -webkit-transform: translateY(5.5px) translateX(0.5px) rotate(-45deg);
  transform: translateY(5.5px) translateX(0.5px) rotate(-45deg);
}

.hm-menu-icon.active span:nth-of-type(2) {
  opacity: 0;
}

.hm-menu-icon.active span:nth-of-type(3) {
  -webkit-transform: translateY(-5.5px) translateX(0.5px) rotate(45deg);
  transform: translateY(-5.5px) translateX(0.5px) rotate(45deg);
}

@media screen and (min-width: 768px) {

  .hm-menu-icon{
    right: 40px;
    top: 30px;
  }

}


/* -------------------------------- */
/* -------- hamburger menu -------- */
/* -------------------------------- */


#menu{
  color: #fff;
  background: rgb(15, 16, 16);
  width: 100%;
  min-height: 100%;
	position: fixed;
	top: 0;
  display: none;
  z-index: 80;
}

#menu ul{
	width: 100%;
	position: absolute;
	top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  padding: 30px;
}

#menu li{
  opacity: 0;
  transform : translate(0, 100px);
  transition : .3s ease-out 0s;
  margin-bottom: 10px;
}

#menu li:last-child{
	margin-bottom: 0;
}

#menu li:nth-of-type(1){
  transition-delay: .2s;
}

#menu li:nth-of-type(2){
  transition-delay: .3s;
}

#menu li:nth-of-type(3){
  transition-delay: .4s;
}

#menu li:nth-of-type(4){
  transition-delay: .5s;
}

#menu li.open-fade{
  opacity : 1;
  transform : translate(0, 0);
}

#menu li.close-fade{
  opacity : 0;
  transform : translate(0, -100px);
}

#menu li a{
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 3px;
  display: block;
}

.menu-open{
  display: block!important;
  z-index: 300;
}

@media screen and (min-width: 768px) {

  #menu{
    width: 375px;
    min-height: auto;
    position: fixed;
    right: 40px;
    top: 30px;
    display: block !important;
    transition: none;;
  }

  #menu ul{
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    left: calc(100% - 375px);
    transform: translateY(0) translateX(0);
    -webkit-transform: translateY(0) translateX(0);
    padding: 14px 0;
  }

  #menu li{
    opacity: 1;
    transition : none;
    transform : translate(0, 0);
    margin: 0 35px 0 0;
  }

  #menu li:last-child{
    margin: 0;
  }

  #menu li:nth-of-type(2),
  #menu li:nth-of-type(3),
  #menu li:nth-of-type(4){
    transition-delay: none;
  }

  #menu li a{
    font-size: 12px;
  }

}


/* --------------------- */
/* -------- top -------- */
/* --------------------- */


/*---- top common ----*/
#top{
  background: #000;
  overflow: hidden;
}

#top main{
  background: #000;
  position: relative;
  z-index: 10;
}

#top h2.title{
  color: #fff;
  font-size: 18px;
  text-align: center;
  letter-spacing: 2px;
  line-height: 1.8;
  margin-bottom: 40px;
}

#top h2.title .main-title,
#top h2.title .sub-title{
  display: block;
}

#top h2.title .sub-title{
  font-size: 12px;
  letter-spacing: 1px;
}

@media screen and (min-width: 768px) {

  #top{
    overflow: visible;
  }

  #top h2.title{
    color: #fff;
    font-size: 20px;
    letter-spacing: 3px;
    line-height: 2;
  }

  #top h2.title .sub-title{
    font-size: 14px;
  }

}

/*---- top kv ----*/
#top .top-kv{
  height: 100vh;
  position: relative;
}

#top .top-kv::before,
#top .top-kv::after{
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}

#top .top-kv::before{
  background: rgba(0, 0, 0, 0.2);
}

#top .top-kv::after{
  background: -moz-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
  background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
}

#top .top-kv .wrap{
  height: 100vh;
}

#top .catch-copy{
  color: #fff;
  font-size: 30px;
  letter-spacing: 4px;
  line-height: 1.5;
  position: absolute;
  bottom: 30px;
  left: 20px;
  z-index: 20;
}

#top .catch-copy span{
  display: block;
}

@media screen and (min-width: 768px) {

  #top .top-kv .wrap{
    position: relative;
  }

  #top .catch-copy{
    font-size: 56px;
    letter-spacing: 7px;
    line-height: 1.4;
    bottom: 20px;
    left: 0;
  }

}

/*---- top video ----*/
#video{
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  overflow: hidden;
  background-attachment: fixed;
}

#video #video-inner{
  min-width: 120%;
  min-height: 120%;
  position: absolute;
}

#video video{
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}

@media screen and (min-width: 768px) {

  #video{
    min-width: 960px;
  }

}

/*---- top evolution ----*/
#top #top-evolution{
  background: #000;
}

#top #top-evolution h2.title{
  margin-bottom: 90px;
}

#top-evolution .contents{
  color: #fff;
  max-width: 550px;
  margin: 0 auto;
}

#top-evolution .contents .text-area{
  position: relative;
  z-index: 2;
}

#top-evolution .contents p{
  letter-spacing: 1.6px;
  line-height: 1.8;
}

#top-evolution .contents.top p:nth-of-type(3),
#top-evolution .contents.top p:nth-of-type(4),
#top-evolution .contents.bottom p:nth-of-type(2),
#top-evolution .contents.bottom p:nth-of-type(3){
  color: #929292;
}

/* top */
#top-evolution .contents.top{
  position: relative;
  margin-bottom: 110px;
}

#top-evolution .contents.top .pulse-img{
  width: 100px;
  margin-bottom: 30px;
}

#top-evolution .contents.top p:nth-of-type(1){
  font-size: 18px;
  margin-bottom: 30px;
}

#top-evolution .contents.top p:nth-of-type(2){
  font-size: 14px;
  margin-bottom: 20px;
}

#top-evolution .contents.top p:nth-of-type(3){
  margin-bottom: 10px;
}

#top-evolution .contents.top .img-area{
  width: 230px;
  position: absolute;
  top: 60px;
  right: -20px;
}

#top-evolution .contents.top .img-area,
#top-evolution .contents.top p,
#top-evolution .contents.top .pulse-img{
  opacity : 0;
  transition : all 1500ms;
}

#top-evolution .contents.top p,
#top-evolution .contents.top .pulse-img{
  transform : translate(0, 100px);
}

#top-evolution .contents.top p:nth-of-type(1){transition-delay: .2s;}
#top-evolution .contents.top p:nth-of-type(2){transition-delay: .4s;}
#top-evolution .contents.top p:nth-of-type(3){transition-delay: .6s;}
#top-evolution .contents.top p:nth-of-type(4){transition-delay: .8s;}
#top-evolution .contents.top .img-area{transition-delay: 1s;}

#top-evolution .contents.top .pulse-img.fade,
#top-evolution .contents.top p.fade{
  opacity : 1;
  transform : translate(0, 0);
}

#top-evolution .contents.top .img-area.fade{
  opacity: 1;
}

/* bottom */
#top-evolution .contents.bottom{
  position: relative;
}

#top-evolution .contents.bottom p:nth-of-type(1){
  font-size: 16px;
  margin-bottom: 50px;
}

#top-evolution .contents.bottom p:nth-of-type(2){
  margin-bottom: 10px;
}

#top-evolution .contents.bottom .img-area{
  width: 450px;
  position: absolute;
  top: 100px;
  top: 30px;
  right: -150px;
}

#top-evolution .contents.bottom .img-area{
  opacity : 0;
  transition : all 2000ms;
}

#top-evolution .contents.bottom p{
  opacity : 0;
  transition : all 1500ms;
  transform : translate(0, 100px);
}

#top-evolution .contents.bottom p:nth-of-type(2){transition-delay: .2s;}
#top-evolution .contents.bottom p:nth-of-type(3){transition-delay: .4s;}
#top-evolution .contents.bottom .img-area{transition-delay: .6s;}

#top-evolution .contents.bottom p.fade,
#top-evolution .contents.bottom .img-area.fade{
  opacity : 1;
}

#top-evolution .contents.bottom p.fade{
  transform : translate(0, 0);
}

@media screen and (min-width: 768px) {

  #top #top-evolution h2.title{
    margin-bottom: 40px;
  }

  #top-evolution{
    position: relative;
  }

  #top-evolution .contents{
    max-width: 100%;
    margin: 0;
  }

  #top-evolution .contents:nth-of-type(even){
    flex-direction: row-reverse;
  }

  #top-evolution .contents .text-area{
    position: static;
    z-index: 0;
  }

  #top-evolution .contents p{
    text-align: left;
    letter-spacing: 2px;
  }

  /* top */
  #top-evolution .contents.top{
    display: flex;
    justify-content: space-between;
    position: static;
    margin-bottom: 90px;
  }

  #top-evolution .contents.top .text-area{
    width: 70%;
  }

  #top-evolution .contents.top .pulse-img{
    width: 140px;
    margin: 0 0 40px 0;
  }

  #top-evolution .contents.top p:nth-of-type(1){
    font-size: 22px;
    letter-spacing: 3.5px;
    margin-bottom: 40px;
  }

  #top-evolution .contents.top p:nth-of-type(2){
    font-size: 16px;
    margin-bottom: 30px;
  }

  #top-evolution .contents.top p:nth-of-type(3){
    margin-bottom: 15px;
  }

  #top-evolution .contents.top .img-area{
    width: 30%;
    position: absolute;
    top: 180px;
    right: 10%;
  }

  /* bottom */
  #top-evolution .contents.bottom{
    display: flex;
    justify-content: space-between;
    position: static;
  }

  #top-evolution .contents.bottom .text-area{
    width: 50%;
  }

  #top-evolution .contents.bottom p:nth-of-type(1){
    font-size: 22px;
    letter-spacing: 3px;
    margin-bottom: 40px;
  }

  #top-evolution .contents.bottom p:nth-of-type(2){
    margin-bottom: 20px;
  }

  #top-evolution .contents.bottom .img-area{
    width: 40%;
    position: static;
  }

  #top-evolution .contents.bottom .img-area img{
    margin-top: 180px;
  }

}

/*---- film-img-area ----*/
#film-img-area .img-contents{
  display: flex;
  flex-wrap: wrap;
}

#film-img-area .img-contents .contents{
  width: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
  transition: .3s;
}

#film-img-area .img-contents .contents img{
  object-fit: cover;
  object-position: 50% 50%;
}

#film-img-area .img-contents .contents img:nth-of-type(2){
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: .3s;
  transition: .3s;
}

#film-img-area .img-contents .contents .text{
  width: 100%;
  height: 100%;
  line-height: 1.6;
  position: absolute;
  bottom: -120%;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  -webkit-transition: .3s;
  transition: .3s;
  padding: 10px;
  opacity: 1;
  z-index: 10;
}

#film-img-area .img-contents .contents .text p{
  color: #fff;
  text-align: center;
}

#film-img-area .img-contents .contents:hover .text{
  bottom: 0;
  left: 0;
}

#film-img-area .img-contents .contents:hover img:nth-of-type(2){
  opacity: 1;
}

@media screen and (min-width: 768px) {

  #film-img-area .img-contents .contents{
    width: 25%;
  }

}

@media screen and (min-width: 1200px) {

  #film-img-area .img-contents .contents{
    width: 20%;
  }

}

/*---- top about ----*/
#top-about{
  background-color: #fff;
  position: relative;
  z-index: 2;
}

#top-about #top-about-bg{
  width: 280px;
  position: absolute;
  top: 0;
  right: 0;
  transform: translate3d(0, 0, 0);
  z-index: -1;
}

#top-about #top-about-bg.sp-position{
  position: absolute!important;
  top: 0!important;
  right: 0!important;
}

#top-about h2.title{
  color: #000;
}

/*company-introduction*/
#top-about .company-introduction{
  margin-bottom: 40px;
}

#top-about .company-introduction .about-company-logo{
  margin-bottom: 20px;
}

#top-about .company-introduction .about-company-logo img{
  display: block;
  width: 80px;
  margin: 0 auto 15px;
}

#top-about .company-introduction .about-company-logo p{
  text-align: center;
  letter-spacing: 2px;
  line-height: 1.4;
}

#top-about .company-introduction .about-company-logo p span{
  display: block;
}

#top-about .company-introduction .text-area p{
  max-width: 500px;
  margin: 0 auto;
}

#top-about .company-introduction .text-area p:nth-of-type(1){
  max-width: 500px;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 1.6px;
  margin-bottom: 20px;
}

#top-about .company-introduction .text-area p:nth-of-type(2){
  max-width: 500px;
  color: #4d4d4d;
  letter-spacing: 1.6px;
}

#top-about .company-introduction .fade-ele{
  opacity: 0;
  transition : all 1500ms;
  transform : translate(0, 100px);
}

#top-about .company-introduction .text-area p:nth-of-type(1){transition-delay: .2s;}
#top-about .company-introduction .text-area p:nth-of-type(2){transition-delay: .4s;}

#top-about .company-introduction .fade-ele.fade{
  opacity : 1;
  transform : translate(0, 0);
}

/*management*/
#top-about .management{
  margin-bottom: 40px;
}

#top-about .management span.arrow{
  text-align: center;
  display: block;
  margin: 20px auto 30px;
}

#top-about .management span.arrow span{
  display: inline-block;
  width: 8px;
  height: 8px;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
}

#top-about .management .management-img img{
  display: block;
  width: 160px;
  margin: 0 auto;
}

#top-about .management .management-img p{
  text-align: center;
  letter-spacing: 1.6px;
}

#top-about .management .text-area{
  width: 90%;
  background: #fff;
  box-shadow: 0px 9px 10px -3px rgba(0,0,0,0.5);
  position: relative;
  padding: 20px;
  margin: 0 auto;
}

#top-about .management .text-area::after{
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  box-shadow: 0 -1px 1px rgba(0,0,0,0.09);
}

#top-about .management .text-area p{
  text-align: center;
  font-weight: bold;
}

#top-about .management .text-area p:nth-of-type(1){
  font-size: 16px;
  letter-spacing: 1.6px;
  margin-bottom: 10px;
}

#top-about .management .text-area p:nth-of-type(2){
  max-width: 360px;
  text-align: left;
  letter-spacing: 1px;
  margin: 0 auto;
}

#top-about .management .fade-ele{
  opacity: 0;
  transition : all 1500ms;
  transform : translate(0, 100px);
}

#top-about .management .arrow:nth-of-type(1){transition-delay: .2s;}
#top-about .management .management-img:nth-of-type(2){transition-delay: .4s;}
#top-about .management .arrow:nth-of-type(2){transition-delay: .6s;}
#top-about .management .management-img:nth-of-type(3){transition-delay: .8s;}
#top-about .management .text-area{transition-delay: 1s;}

#top-about .management .fade-ele.fade{
  opacity : 1;
  transform : translate(0, 0);
}

/*management-type*/
#top-about .management-type{
  margin-bottom: 40px;
}

#top-about .management-type .type{
  margin-bottom: 15px;
}

#top-about .management-type .type:last-of-type{
  margin-bottom: 0;
}

#top-about .management-type .type .img-area{
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.8);
}

#top-about .management-type .type p{
  color: #fff;
  background: #000;
  text-align: center;
  letter-spacing: 1px;
  padding: 5px 0;
}

#top-about .management-type .fade-ele{
  opacity: 0;
  transition : all 1500ms;
  transform : translate(0, 100px);
}

#top-about .management-type .type:nth-of-type(2){transition-delay: .2s;}
#top-about .management-type .type:nth-of-type(3){transition-delay: .4s;}
#top-about .management-type .type:nth-of-type(4){transition-delay: .6s;}
#top-about .management-type .type:nth-of-type(5){transition-delay: .8s;}
#top-about .management-type .type:nth-of-type(6){transition-delay: 1s;}

#top-about .management-type .fade-ele.fade{
  opacity : 1;
  transform : translate(0, 0);
}

#top-about .etc{
  font-size: 16px;
  text-align: center;
  letter-spacing: 2px;
}

@media screen and (min-width: 768px) {

	#top-about{
		padding: 0;
	}

  #top-about #top-about-bg{
    width: 100%;
    z-index: -1;
		position: -webkit-sticky;
		position: sticky;
		display: flex;
		justify-content: flex-end;
  }

	  #top-about #top-about-bg > div{
	  width: 400px;
	}

	#top-about > .wrap{
		margin-top: -600px;
		padding: 80px 0;
	}

  #top-about h2.title{
    margin-bottom: 80px;
  }

  /*company-introduction*/
  #top-about .company-introduction{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 80px;
  }

  #top-about .company-introduction .about-company-logo{
    width: 47%;
    background: #fff;
    box-shadow: 0px 9px 10px -3px rgba(0,0,0,0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 157.5px 0;
    padding: 120px 0;
    margin: 0;
  }

  #top-about .company-introduction .about-company-logo::after{
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    box-shadow: 0 -1px 1px rgba(0,0,0,0.09);
  }

  #top-about .company-introduction .text-area{
    width: 47%;
  }

  #top-about .company-introduction .text-area p{
    max-width: 100%;
    text-align: left;
    margin: 0;
  }

  #top-about .company-introduction .text-area p:nth-of-type(1){
    font-size: 16px;
    letter-spacing: 3px;
  }

  #top-about .company-introduction .text-area p:nth-of-type(2){
    font-size: 12px;
    letter-spacing: 1.8px;
  }

  /*management*/
  #top-about .management{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 80px;
  }

  #top-about .management .management-img{
    width: 28%;
  }

  #top-about .management span.arrow span{
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    border-bottom: none;
  }

  #top-about .management span.arrow:nth-of-type(2){
    margin-right: 30px;
  }

  #top-about .management .management-img img{
    width: 100%;
  }

  #top-about .management .management-img p{
    font-size: 12px;
  }

  #top-about .management .text-area{
    width: 38%;
    padding: 50px 30px;
    margin: 0;
  }

  #top-about .management .text-area p{
    text-align: left;
  }

  #top-about .management .text-area p:nth-of-type(1){
    font-size: 18px;
    letter-spacing: 3px;
  }

  #top-about .management .text-area p:nth-of-type(2){
    max-width: 100%;
    font-size: 12px;
    letter-spacing: 2px;
  }

  /*management-type*/
  #top-about .management-type{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 80px;
  }

  #top-about .management-type .type{
    width: 32%;
    margin-bottom: 30px;
  }

  #top-about .management-type .type:nth-of-type(n+4){
    margin-bottom: 0;
  }

  #top-about .management-type .type p{
    padding: 15px 0;
    margin-top: -1px;
  }

  #top-about .etc{
    font-size: 18px;
  }

}


/* ------------------------- */
/* -------- company -------- */
/* ------------------------- */


#company table{
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
}

#company th,#company td{
	padding: 20px 10px;
	border-bottom: 1px solid #eee;
}

#company th{
	width: 30%;
}

#company td{
	width: 70%;
}

#company .first{
	padding-top: 0;
}


/* ------------------------- */
/* -------- contact -------- */
/* ------------------------- */


#contact{
	border-bottom: 1px solid #000;
}

#contact .attention{
	max-width: 750px;
	margin: 0 auto 40px;
}

#contact .attention p{
	color: #ff2b2b;
}

#contact .attention li{
	list-style: disc;
	font-size: 12px;
	margin-left: 20px;
}

#contact table{
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
}

#contact th,#contact td{
	display: block;
}

#contact th{
	padding-top: 20px;
	margin-bottom: 5px;
}

#contact td{
	border-bottom: 1px solid #eee;
	padding-bottom: 20px;
}

#contact th .required{
	color: #ff2b2b;
	display: inline-block;
}

#contact .first{
	padding-top: 0;
}

#contact input[type='text'],
#contact input[type='email'],
#contact input[type='tel'],
#contact textarea{
  width: 100%;
  padding: 5px;
  border-radius: 5px;
  border: 1px solid #ccc;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

#contact textarea{
	height: 200px;
}

#contact .submit-step1,
#contact .submit-step2{
	margin-top: 40px;
}

#contact .return-wrap{
	margin-bottom: 10px;
}

#contact .confirmation-wrap button,
#contact .return-wrap button,
#contact .submit-wrap button{
  border: none;
  display: block;
  width: 100%;
  max-width: 300px;
  padding: 10px;
  border-radius: 5px;
  background-color: #000;
  color: #fff;
  font-weight: bold;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  margin: 0 auto;
	letter-spacing: .4em;
	text-align: center;
}

#contact .return-wrap button{
	background-color: #cecece;
	color: #000;
}

#contact .error,
#contact .complete-txt{
	color: #ff2b2b;
}

#contact .complete-txt{
	text-align: center;
	font-weight: bold;
	font-size: 16px;
	margin-top: 40px;
}

#contact .to-top{
  display: block;
  width: 100%;
  max-width: 300px;
  padding: 10px;
  border-radius: 5px;
  background-color: #000;
  color: #fff;
  font-weight: bold;
  margin: 10px auto 0;
	text-align: center;
}

@media screen and (min-width: 768px) {

	#contact th,#contact td{
		display: table-cell;
		padding: 40px 0;
		border-bottom: 1px solid #eee;
		vertical-align: top;
	}

	#contact th{
		margin-bottom: 5px;
		width: 30%
	}

	#contact td{
		width: 70%
	}

	#contact .submit-step2{
		display: flex;
		justify-content: center;
	}

	#contact .return-wrap{
		margin-bottom: 0;
		margin-right: 10px;
	}

	#contact .confirmation-wrap button,
	#contact .return-wrap button,
	#contact .submit-wrap button{
		width: 300px;
	}

}


/* ------------------------- */
/* -------- privacy -------- */
/* ------------------------- */


#privacy .privacy-main h3{
	font-weight: bold;
	font-size: 20px;
}

#privacy .block{
	margin-bottom: 30px;
}

#privacy .block:last-child{
	margin-bottom: 0;
}

#privacy ol li{
	list-style: decimal;
	margin-left: 20px;
}

#privacy ul li{
	list-style: disc;
	margin-left: 20px;
}


/* --------------------- */
/* -------- 404 -------- */
/* --------------------- */


#error404 .error404-main p{
	line-height: 2;
	padding: 120px 0;
}

@media screen and (min-width: 768px) {

	#error404 .error404-main p{
		padding: 200px 0;
		text-align: center;
	}

}


/* ------------------------ */
/* -------- footer -------- */
/* ------------------------ */


footer{
	background-color: #fff;
  position: relative;
  z-index: 10;
}

.footer-logo{
	margin: 0 auto 20px;
	max-width: 100px;
}

.footer-link{
	display: flex;
	justify-content: space-between;
	width: 80%;
	margin: 0 auto;
	max-width: 320px;
}

@media screen and (min-width: 768px) {

	.footer-logo{
		width: 120px;
	}

}


/* ----------------------------- */
/* ---- footer-contact-link ---- */
/* ----------------------------- */


.footer-contact-link{
	background-color: #000;
  position: relative;
  z-index: 10;
}

.footer-contact-link p{
	text-align: center;
	color: #fff;
}

.footer-contact-link .txt-jp{
	font-size: 14px;
	font-weight: bold;
  letter-spacing: 1.6px;
}

.footer-contact-link .txt-en{
	font-size: 12px;
  letter-spacing: 1.4px;
}

.footer-contact-link a{
	display: block;
	background-color: #fff;
	padding: 15px 10px;
	max-width: 250px;
	margin: 40px auto 0;
	font-weight: bold;
	text-align: center;
	font-size: 12px;
  letter-spacing: 1px;
}

@media screen and (min-width: 768px) {

	.footer-contact-link .txt-jp{
		font-size: 16px;
    letter-spacing: 2px;
	}

	.footer-contact-link .txt-en{
    letter-spacing: 1.8px;
	}

	.footer-contact-link a{
		padding: 20px 10px;
		margin: 50px auto 0;
		font-size: 12px;
	}

}
