@charset "UTF-8";

@media screen and (min-width:768px){
  html{
    font-size : 62.5%;
  }
}
@media screen and (max-width:767px){
  html{
    font-size : 1.33vw;
  }
}

/* ie11 */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  img[src$=".svg"] {
    width: 100%;
    height: auto;
  }
}

body{
	color: #323246;
  font-size: 1.4rem;
  font-family: dnp-shuei-mincho-pr6n, sans-serif;
  font-feature-settings: 'palt';
  letter-spacing : 0.04em;
  line-height : 1.65;
  -webkit-font-smoothing  : antialiased;
	-moz-osx-font-smoothing : grayscale;
  -webkit-text-size-adjust: 100%;
}

.wrapper{overflow-x:hidden;}

img{
  display : block;
  width   : 100%;
}

a{
  color: #323246;
  display: block;
  text-decoration: none;
  transition: .2s;
}

a:hover{
  filter: brightness(1.1);
}

/* ie11 */
_:-ms-lang(x)::-ms-backdrop, a:hover{
  opacity:0.8;
}

.onsp{
  display: none;
}

/*
// background
*/
.bg{
  background: url("../images/bg.png") no-repeat top center/cover;
  height:100vh;
  position: fixed;
  width: 100vw;
  z-index: -1;
}

.tablet .bg{
  background: url("../images/bg.png") no-repeat top right 23%/cover;
}

/*
// header
*/

.header{
  align-items: center;
  color:#fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height:100vh;
  min-width: 1280px;
  width: 100vw;
}

.header__logo{
  margin: 0 0 80px;
  width: 200px;
}

.header__copy{
  text-shadow: 0px 0px 10px rgba(0,0,0,0.2);
  font-size:2.4rem;
  font-weight:500;
}



/*
// nav
*/

.nav{
  align-items: center;
  background: #fff;
  display: flex;
  height: 80px;
  justify-content: space-between;
  left: 0;
  min-width: 1280px;
  position: fixed;
  top:-80px;
  transition: 0.2s;
  width:100%;
  z-index: 9;
}

.nav.active{
  top:0px;
}

.nav--subpage{
  display: flex !important;
  position: static !important;
}

.nav__logo{
  padding:20px;
  width: 220px;
}

.nav__btn{
  width: 80px;
}

.menu--wrapper{
  height: 120vh;
  position: fixed;
  right: -100vw;
  top:0;
  transition: 1s;
  width:100%;
  z-index: 10;
}

.menu--wrapper.active{
  right: 0;
}

.menu{
  background: #323246;
  color: #fff;
  font-weight:500;
  height: 120vh;
  padding: 80px 0 0;
  position: absolute;
  right:0;
  text-align: center;
  top:0;
  width:50%;
}

.menu a,.menu button{
  color: #fff;
  font-weight:500;
  line-height: 1;
}

.menu__title{
  font-size:2.0rem;
  margin: 0 0 80px; 
}

.menu__link{
  font-size:4.0rem;
  margin: 0 0 1em;
}

.menu__close-btn{
  font-size:2.0rem;
  margin: 80px 0 0; 
}



.main{
  background: rgba(255,255,255,0.95);
  min-width: 1280px;
  width: 100%;
}

.section{
  margin: auto;
  padding: 80px 100px;
  width: 1280px;
}

.section__title{
  border-bottom:6px solid #323246; 
  display: inline-block;
  font-size:6.4rem;
  font-weight:400;
  letter-spacing: 0.2em;
  line-height: 1;
  margin: 0 0 70px;
}

.under__line {
    text-decoration: underline;
}

/*
// footer
*/

.footer{
  align-items: center;
  background: #323232; 
  color: #fff;
  display: flex;
  flex-direction: column;
  height:252px;
  justify-content: center;
  min-width: 1280px;
  width: 100%;
}

.footer__logo{
  margin: 0 auto 40px;
  width: 220px;
}
    
.footer__copyright{
  display: block;
  font-size: 1.2rem;
  text-align: center;
}


.about{
  padding: 80px 100px 160px;
  position:relative;
}

.about__image{
  box-shadow: 5px 5px 5px rgba(0,0,0,0.1);
  position:absolute;
  top:200px;
  right:100px;
  width: 640px;
  z-index: 1;
}

.about__copy{
  font-size:4.0rem;
  font-weight:500;
  letter-spacing: 0.1em;
  margin: 0 0 40px;
  position: relative;
  z-index: 2;
}

.about__description{
  letter-spacing: 0.2em;
  position: relative;
  z-index: 2;
}


.business__list--wrapper{
  display: flex;
  justify-content: space-between;
}

.business__list{
  background: #323246;
  border-radius: 10px;
  color:#fff;
  padding: 40px;
  text-align: center;
  width: 500px;
}

.business__list__title{
  font-size:4.0rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1;
  margin: 0 0 40px;
}
.business__list__image{
  margin: 0 0 40px;
}

.business__list__description{
  line-height: 1.35;
}

.business__list:nth-child(2){
  position: relative;
}

/*
.business__list:nth-child(2):after{
  background: url("../images/business__list--link-arrow.png") no-repeat center center/cover;
  bottom:34px;
  content:'';
  display: block;
  height: 50px;
  position: absolute;
  right:40px;
  width: 50px;
}
*/

.slider_item {
    width: 90%;
}

.slider_item a {
  color:#fff;
}

.company__info{
  display: flex;
  flex-wrap: wrap;
  margin: -20px auto 0;
  width: 750px;
}

.company__info dt{
  border-bottom :1px solid #d6d6da;
  padding: 20px 50px 20px 0;
  text-align: right;
  width: 220px;
}

.company__info dd{
  border-bottom :1px solid #d6d6da;
  padding: 20px 0;
  width: 530px;
}



.contact__description{
  margin:0 0 40px;
}
.contact__form{
  margin: auto;
  width:540px;
}

.contact__form dt{
  margin:0 0 5px;
}

.contact__form dd{
  margin:0 0 20px;
}

.contact__form input{
  background: #323246;
  border: none;
  border-radius:5px;
  color:#fff;
  height:34px;
  padding: 0 5px;
  width: 100%;
}

.contact__form__message textarea{
  background: #323246;
  border: none;
  border-radius:5px;
  color:#fff;
  height:130px !important;
  padding: 0 5px;
  width: 100% !important;
}

.contact__form__privacy-description textarea{
  background: 0;
  border: 1px solid #323246;
  border-radius: 0;
  height:130px;
  padding: 0 5px;
  width: 100%;
}

.contanct__form__btn{
  background: url("../images/btn--arrow.png") #008c78 no-repeat center right 20px/30px auto;
  border-radius: 32px;
  color:#fff;
  display: block;
  height: 64px;
  margin: 40px auto 0;
  transition: .2s;
  width: 332px;
}

.contanct__form__btn:hover{
  filter: brightness(1.1);
}

/* ie11 */
_:-ms-lang(x)::-ms-backdrop, .contanct__form__btn:hover{
  opacity:0.8;
}

.thanks{
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: calc(100vh - 332px);
  text-align: center;
}

.thanks__title{
  font-size:4.0rem;
  margin: 0 0 80px;
}

.thanks__description{
  
}

.thanks__description a{ 
  text-decoration: underline;
}


/**********************

// sp style

**********************/


@media screen and (max-width:750px){
  .onsp{
    display: block;
  }
  
  .onpc{
    display: none;
  }
  
  body{
    font-size:2.8rem;
  }
  
  
  /*
  // background
  */
  .bg{
    background: url("../images/bg--sp.png") no-repeat center center/cover;
  }

  /*
  // header
  */

  .header{
    min-width: unset;
  }

  .header__logo{
    margin: 0 0 10.666vw;
    width: 48vw;
  }

  .header__copy{
    text-shadow: 0px 0px 1.333vw rgba(0,0,0,0.2);
    font-size:4.0rem;
  }



  /*
  // nav
  */

  .nav{
    height: 16vw;
    min-width: unset;
    top:-16vw;
  }
  
  .nav.active{
    top:0vw;
  }

  .nav__logo{
    padding:0 2.666vw;
    width: 50vw;
  }

  .nav__btn{
    width: 16vw;
  }



  .menu{
    padding: 16vw 0 0;
    width:80%;
  }

  .menu__title{
    font-size:3.2rem;
    margin: 0 0 10.666vw; 
  }

  .menu__link{
    font-size:6.0rem;
  }

  .menu__close-btn{
    font-size:3.2rem;
    margin: 10.666vw 0 0; 
  }



  .main{
    min-width: unset;
  }

  .section{
    padding: 16vw 5.333vw;
    width: 100%;
  }

  .section__title{
    border-bottom:3px solid #323246; 
    font-size:6.4rem;
    margin: 0 0 9vw;
  }

  /*
  // footer
  */

  .footer{
    height:40vw;
    min-width: unset;
  }

  .footer__logo{
    margin: 0 auto 5.333vw;
    width: 50vw;
  }

  .footer__copyright{
    font-size: 2.0rem;
  }
  
  

  .about{
    padding: 16vw 5.333vw;
    position:static;
  }

  .about__image{
    box-shadow: 5px 5px 5px rgba(0,0,0,0.1);
    position:static;
    width: 100%;
  }

  .about__copy{
    font-size:4.0rem;
    margin: 0 0 5.333vw;
    position: static;
  }

  .about__description{
    margin: 0 0 5.333vw;
    position: static;
  }

  


  .business__list--wrapper{
    display: block;
  }

  .business__list{
    border-radius: 2.666vw;
    margin: 0 0 5.333vw;
    padding: 5.333vw;
    width: 100%;
  }

  .business__list__title{
    font-size:4.8rem;
    margin: 0 0 5.333vw;
  }
  .business__list__image{
    margin: 0 0 5.333vw;
  }

/*
  .business__list:nth-child(2):after{
    bottom: 7vw;
    height: 8vw;
    right: 5.333vw;
    width: 8vw;
  }
*/

  .company__info{
    margin: 0 auto;
    width: 100%;
  }

  .company__info dt{
    border-bottom:none;
    font-size:3.2rem;
    font-weight: 500;
    padding: 4vw 0 0.6vw;
    text-align: left;
    width: 100%;
  }

  .company__info dd{
    padding: 1.333vw 0 4vw;
    width: 100%;
  }



  .contact__description{
    margin:0 0 5.333vw;
  }
  .contact__form{
    max-width: 520px;
    width:100%;
  }

  .contact__form dt{
    font-size:3.2rem;
    margin:0 0 0.6vw;
  }

  .contact__form dd{
    margin:0 0 2.666vw;
  }

  .contact__form input{
    border-radius: 1.333vw;
    font-size:3.2rem;
    height:10.666vw;
    padding: 0 1.333vw;
  }

  .contact__form__message textarea{
    border-radius: 1.333vw;
    font-size:3.2rem;
    height:40vw !important;
    padding: 0 1.333vw;
  }

  .contact__form__privacy-description textarea{
    font-size:2.8rem;
    height:40vw;
    padding: 0 1.333vw;
  }

  .contanct__form__btn{
    background: url("../images/btn--arrow.png") #008c78 no-repeat center right 2.666vw/4vw auto;
    border-radius: 6vw;
    height: 12vw;
    margin: 5.333vw auto 0;
    max-width: 380px;
    width: 80%;
  }


  .thanks{
    min-height: calc(100vh - 56vw);
    text-align: left;
  }

  .thanks__title{
    font-size:6.0rem;
    margin: 0 0 10.666vw;
    text-align: center;
  }
  
  .thanks__description a{
    display:block;
    text-align: center;
  }


}


/**********************

// override mfp style

**********************/

#mfp_loading,
#mfp_loading_screen,
#mfp_overlay_background,
#mfp_overlay,
#mfp_thanks{
  display: none;
}

#mfp_hidden {
overflow: hidden;
width: 1px;
height: 1px;
padding: 0px;
margin: 0px;
}

.mfp_err{
  color:#ff0000;
}