.header_logo {
  -webkit-transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1);
  transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1);
  opacity: 0
}
.header_logo.open {
  opacity: 1
}
@media only screen and (max-width: 768px) {
  .main .inner {
    padding: 0 6vw
  }
}
#visual {
  position: relative;
  height: 1076px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #visual {
    height: 56.04167vw
  }
}
@media only screen and (max-width: 768px) {
  #visual {
    height: auto
  }
}
#visual > figure {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1920px;
  height: 100%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%)
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #visual > figure {
    width: 100vw
  }
}
@media only screen and (max-width: 768px) {
  #visual > figure {
    position: static;
    width: 100%;
    height: auto;
    -webkit-transform: none;
    transform: none
  }
}
#visual .visual_title {
  position: absolute;
  top: 330px;
  left: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 654px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%)
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #visual .visual_title {
    top: 17.1875vw;
    width: 34.0625vw
  }
}
@media only screen and (max-width: 768px) {
  #visual .visual_title {
    top: 50%;
    left: 50%;
    width: 58.4vw
  }
}
#visual .visual_title figure {
  overflow: hidden
}
#visual .visual_title figure:nth-child(1) img {
  -webkit-transition-delay: 1s;
  transition-delay: 1s
}
#visual .visual_title figure:nth-child(2) img {
  -webkit-transition-delay: 1.1s;
  transition-delay: 1.1s
}
#visual .visual_title figure:nth-child(3) img {
  -webkit-transition-delay: 1.2s;
  transition-delay: 1.2s
}
#visual .visual_title figure:nth-child(4) img {
  -webkit-transition-delay: 1.3s;
  transition-delay: 1.3s
}
#visual .visual_title figure:nth-child(5) img {
  -webkit-transition-delay: 1.4s;
  transition-delay: 1.4s
}
#visual .visual_title figure img {
  -webkit-transform: translateX(102%);
  transform: translateX(102%);
  -webkit-transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1);
  transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1)
}
#visual .visual_title.-show figure img {
  -webkit-transform: translateX(0);
  transform: translateX(0)
}
#visual .visual_sns {
  position: absolute;
  top: 90px;
  left: 90px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  z-index: 9999
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #visual .visual_sns {
    top: 4.6875vw;
    left: 4.6875vw
  }
}
@media only screen and (max-width: 768px) {
  #visual .visual_sns {
    display: none
  }
}
#visual .visual_snsItem {
  width: 32px;
  margin: 0 5px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #visual .visual_snsItem {
    width: 1.66667vw;
    margin: 0 .26042vw
  }
}
@media only screen and (max-width: 768px) {
  #visual .visual_snsItem {
    width: 6.4vw;
    margin: 0 1vw
  }
}
#visual .visual_snsItem a {
  display: inline-block;
  -webkit-transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1);
  transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1)
}
.pc #visual .visual_snsItem a:hover {
  opacity: .6
}
#intro .inner {
  position: relative
}
@media only screen and (max-width: 768px) {
  #intro .inner {
    padding: 0 12vw
  }
}
#intro .column {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 120px;
  padding: 0 80px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #intro .column {
    margin-top: 6.25vw;
    padding: 0 4.16667vw
  }
}
@media only screen and (max-width: 768px) {
  #intro .column {
    margin-top: 10vw;
    padding: 0
  }
}
#intro .intro_title {
  position: absolute;
  top: 0;
  left: 50%;
  display: inline-block;
  font-size: 160px;
  font-weight: 600;
  letter-spacing: -.1em;
  white-space: nowrap;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  opacity: .6;
  color: #F3F4F5
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #intro .intro_title {
    font-size: 8.33333vw
  }
}
@media only screen and (max-width: 768px) {
  #intro .intro_title {
    top: 8vw;
    font-size: 14.8vw
  }
}
#intro .intro_catch {
  margin-top: 166px;
  padding-top: 115px;
  font-size: 60px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .1rem;
  text-align: center
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #intro .intro_catch {
    margin-top: 8.64583vw;
    padding-top: 5.98958vw;
    font-size: 3.125vw
  }
}
@media only screen and (max-width: 768px) {
  #intro .intro_catch {
    position: relative;
    left: 50%;
    display: inline-block;
    margin-top: 8vw;
    padding-top: 10vw;
    font-size: 6.8vw;
    line-height: 1.52941;
    text-align: left;
    -webkit-transform: translateX(-46%);
    transform: translateX(-46%)
  }
}
#intro .intro_txt {
  width: 670px;
  font-size: 18px;
  line-height: 2.22222;
  letter-spacing: .16rem
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #intro .intro_txt {
    width: 34.89583vw;
    font-size: .9375vw
  }
}
@media only screen and (max-width: 768px) {
  #intro .intro_txt {
    width: 100%;
    font-size: 2.8vw;
    line-height: 2.14286
  }
}
@media only screen and (max-width: 768px) {
  #intro .intro_txt:last-child {
    margin-top: 6vw
  }
}
#service {
  position: relative;
  /*margin-top: 295px;*/
  margin-top: 140px;
  background-image: url(../img/home/bg_service.jpg);
  background-repeat: no-repeat;
  background-position: left top 230px;
  background-size: 340px 222px;
  z-index: 10
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #service {
    /*margin-top: 15.36458vw;*/
	margin-top: 8vw;
	margin-bottom: 12vw;
    background-image: url(../img/home/bg_service.jpg);
    background-position: left top 11.97917vw;
    background-size: 17.70833vw 11.5625vw
  }
}
@media only screen and (max-width: 768px) {
  #service {
    margin-top: 16vw
  }
}
@media only screen and (max-width: 768px) {
  #service .inner {
    padding: 0
  }
}
#service .sec_title {
  position: relative;
  left: 50%;
  padding: 180px 0 36px;
  -webkit-transform: translateX(6.25vw);
  transform: translateX(6.25vw);
  color: #fff
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #service .sec_title {
    padding: 9.375vw 0 1.875vw
  }
}
@media only screen and (max-width: 768px) {
  #service .sec_title {
    left: auto;
    padding: 12vw 0 5.2vw;
    -webkit-transform: none;
    transform: none
  }
}
#service .sec_title::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 150%;
  height: 5px;
  background-color: #fff
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #service .sec_title::after {
    height: .26042vw
  }
}
@media only screen and (max-width: 768px) {
  #service .sec_title::after {
    height: .6vw
  }
}
#service .sec_title .didot {
  -webkit-transform: translateX(-10px);
  transform: translateX(-10px)
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #service .sec_title .didot {
    -webkit-transform: translateX(-.52083vw);
    transform: translateX(-.52083vw)
  }
}
@media only screen and (max-width: 768px) {
  #service .sec_title .didot {
    -webkit-transform: translateX(-1vw);
    transform: translateX(-1vw)
  }
}
#service .service_wrap {
  position: relative;
  padding-bottom: 160px;
  background-color: #000;
  z-index: 20
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #service .service_wrap {
    padding-bottom: 8.33333vw
  }
}
@media only screen and (max-width: 768px) {
  #service .service_wrap {
    padding: 0 6vw 9.2vw;
    overflow: hidden
  }
}
#service .service_wrap::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #000;
  z-index: -10
}
#service .service_wrap::after {
  content: '';
  position: absolute;
  top: 230px;
  left: 0;
  display: block;
  width: 400px;
  height: 32px;
  background-color: #464646
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #service .service_wrap::after {
    top: 11.97917vw;
    width: 20.83333vw;
    height: 1.66667vw
  }
}
@media only screen and (max-width: 768px) {
  #service .service_wrap::before, #service .service_wrap::after {
    display: none
  }
}
#service .service_lead {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 140px;
  padding-left: 160px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #service .service_lead {
    margin-top: 7.29167vw;
    padding-left: 8.33333vw
  }
}
@media only screen and (max-width: 768px) {
  #service .service_lead {
    margin-top: 16vw;
    padding-left: 0
  }
}
#service .service_leadTxt {
  width: 680px;
  font-size: 18px;
  line-height: 2.22222;
  letter-spacing: .16rem;
  color: #fff
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #service .service_leadTxt {
    width: 35.41667vw;
    font-size: .9375vw
  }
}
@media only screen and (max-width: 768px) {
  #service .service_leadTxt {
    width: 100%;
    font-size: 2.8vw;
    line-height: 2.14286
  }
}
@media only screen and (max-width: 768px) {
  #service .service_leadTxt:last-child {
    margin-top: 12vw
  }
}
#service .service_listWrap {
  position: relative;
  margin: 105px 0 0 160px;
  padding: 55px 0 80px;
  background-color: #fff
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #service .service_listWrap {
    margin: 5.46875vw 0 0 8.33333vw;
    padding: 2.86458vw 0 4.16667vw
  }
}
@media only screen and (max-width: 768px) {
  #service .service_listWrap {
    margin: 12vw 0 0;
    padding: 8vw 0 12vw
  }
}
#service .service_listWrap::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: -10
}
@media only screen and (max-width: 768px) {
  #service .service_listWrap::before {
    display: none
  }
}
#service .service_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  padding: 0 40px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #service .service_list {
    padding: 0 2.08333vw
  }
}
@media only screen and (max-width: 768px) {
  #service .service_list {
    display: block;
    padding: 0 8vw
  }
}
#service .service_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 440px;
  -webkit-transition: all 0.5s cubic-bezier(0.21, 0.51, 0.51, 1);
  transition: all 0.5s cubic-bezier(0.21, 0.51, 0.51, 1);
  -webkit-transform: translateY(10%) scale(1.07);
  transform: translateY(10%) scale(1.07);
  opacity: 0
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #service .service_item {
    /*width: 22.91667vw
	width: 35vw;*/
    width: 34vw;
  }
}
@media only screen and (max-width: 768px) {
  #service .service_item {
    width: 100%
  }
}
@media only screen and (max-width: 768px) {
  #service .service_item:not(:first-child) {
    margin-top: 10vw
  }
}
#service .service_item:nth-child(n+4) {
  margin-top: 84px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #service .service_item:nth-child(n+4) {
    /*margin-top: 4.375vw*/
	margin-top: 0
  }
}
@media only screen and (max-width: 768px) {
  #service .service_item:nth-child(n+4) {
    margin-top: 10vw
  }
}
#service .service_item:nth-child(4), #service .service_item:nth-child(5) {
  padding: 40px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #service .service_item:nth-child(4), #service .service_item:nth-child(5) {
    padding: 2.08333vw
  }
}
@media only screen and (max-width: 768px) {
  #service .service_item:nth-child(4), #service .service_item:nth-child(5) {
    padding: 0
  }
}
#service .service_item.-show {
  -webkit-transform: translateY(0) scale(1);
  transform: translateY(0) scale(1);
  opacity: 1
}
#service .service_item a {
  padding: 40px;
  -webkit-transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1);
  transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1)
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #service .service_item a {
    padding: 2.08333vw
  }
}
@media only screen and (max-width: 768px) {
  #service .service_item a {
    padding: 0
  }
}
.pc #service .service_item a:hover {
  background-color: #E8DFD2
}
#service .service_desc {
  position: relative;
  margin-top: 32px;
  padding-bottom: 70px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #service .service_desc {
    margin-top: 1.66667vw;
    padding-bottom: 3.64583vw
  }
}
@media only screen and (max-width: 768px) {
  #service .service_desc {
    margin-top: 3.2vw;
    padding-bottom: 0
  }
}
#service .service_desc_title img {
  height: 24px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #service .service_desc_title img {
    height: 1.25vw
  }
}
@media only screen and (max-width: 768px) {
  #service .service_desc_title img {
    height: 4.4vw
  }
}
#service .service_desc_title span {
  display: block;
  margin-top: 10px;
  font-size: 12px;
  font-weight: normal;
  line-height: 1.66667;
  letter-spacing: .16rem
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #service .service_desc_title span {
    margin-top: .52083vw;
	margin-left:.3vw;
    font-size: .625vw
  }
}
@media only screen and (max-width: 768px) {
  #service .service_desc_title span {
    margin-top: 2vw;
    font-size: 2.8vw
  }
}
#service .service_desc_txt {
  margin-top: 30px;
  font-size: 18px;
  line-height: 1.66667;
  letter-spacing: .16rem
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #service .service_desc_txt {
    margin-top: 1.5625vw;
    font-size: .9375vw
  }
}
@media only screen and (max-width: 768px) {
  #service .service_desc_txt {
    display: none
  }
}
#service .service_desc_more {
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  width: 235px;
  padding-bottom: 15px;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: .16rem;
  background-image: url(../img/home/icon_outlink.png);
  background-position: right top 4px;
  background-repeat: no-repeat;
  background-size: 14px 14px;
  -webkit-transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1);
  transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1)
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #service .service_desc_more {
    width: 12.23958vw;
    padding-bottom: .78125vw;
    font-size: .9375vw;
    background-position: right top .20833vw;
    background-size: .72917vw .72917vw
  }
}
@media only screen and (max-width: 768px) {
  #service .service_desc_more {
    position: relative;
    width: 26vw;
    margin: 6vw 0 0 auto;
    padding-bottom: 1.6vw;
    font-size: 2.4vw;
    background-position: right top;
    background-size: 2vw 2vw
  }
}
#service .service_desc_more::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 5px;
  background-color: #000
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #service .service_desc_more::after {
    height: .26042vw
  }
}
@media only screen and (max-width: 768px) {
  #service .service_desc_more::after {
    height: .4vw
  }
}
#media {
  position: relative;
  margin-top: 230px;
  background-image: url(../img/home/bg_media.jpg);
  background-position: right top 230px;
  background-repeat: no-repeat;
  background-size: 340px 222px;
  z-index: 10
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #media {
    /*margin-top: 11.97917vw;*/
	margin-top: 2vw;
    background-position: right top 11.97917vw;
    background-size: 17.70833vw 11.5625vw
  }
}
@media only screen and (max-width: 768px) {
  #media {
    margin-top: 44vw;
    background: none
  }
}
@media only screen and (max-width: 768px) {
  #media .inner {
    padding: 0
  }
}
#media .sec_title {
  position: relative;
  display: inline-block;
  padding: 180px 0 36px;
  -webkit-transform: translateX(-16%);
  transform: translateX(-16%)
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #media .sec_title {
    padding: 9.375vw 0 1.875vw
  }
}
@media only screen and (max-width: 768px) {
  #media .sec_title {
    left: auto;
    display: block;
    padding: 12vw 0 5.2vw;
    text-align: right;
    -webkit-transform: none;
    transform: none
  }
}
#media .sec_title::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  width: 150%;
  height: 5px;
  background-color: #000
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #media .sec_title::after {
    height: .26042vw
  }
}
@media only screen and (max-width: 768px) {
  #media .sec_title::after {
    height: .6vw
  }
}
#media .sec_title > .textAnim_wrap {
  margin-left: 10px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #media .sec_title > .textAnim_wrap {
    margin-left: .52083vw
  }
}
#media .media_wrap {
  position: relative;
  padding: 0 80px 260px;
  background-color: #DCCDB9;
  z-index: 20
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #media .media_wrap {
    /*padding: 0 4.16667vw 13.54167vw*/
	padding: 0 4.16667vw 8vw
  }
}
@media only screen and (max-width: 768px) {
  #media .media_wrap {
    padding: 0 6vw
  }
}
#media .media_wrap::before {
  content: '';
  position: absolute;
  top: 0;
  right: 50%;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #DCCDB9;
  z-index: -10
}
#media .media_wrap::after {
  content: '';
  position: absolute;
  top: 230px;
  right: 0;
  display: block;
  width: 400px;
  height: 32px;
  background-color: #E8DFD2
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #media .media_wrap::after {
    top: 11.97917vw;
    width: 20.83333vw;
    height: 1.66667vw
  }
}
@media only screen and (max-width: 768px) {
  #media .media_wrap::before, #media .media_wrap::after {
    display: none
  }
}
#media .media_list {
  margin-top: 230px;
  padding: 0 80px 0 0
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #media .media_list {
    /*margin-top: 11.97917vw;*/
	margin-top: 8vw;
    padding: 0 4.16667vw 0 0
  }
}
@media only screen and (max-width: 768px) {
  #media .media_list {
    margin-top: 0;
    padding: 0
  }
}
#media .media_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start
}
@media only screen and (max-width: 768px) {
  #media .media_item {
    display: block;
    margin-top: 16vw
  }
}
#media .media_item:not(:first-child) {
  margin-top: 100px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #media .media_item:not(:first-child) {
    margin-top: 5.20833vw
  }
}
@media only screen and (max-width: 768px) {
  #media .media_item:last-child {
    padding-bottom: 16vw
  }
}
#media .media_item figure {
  width: 780px;
  background-color: #fff
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #media .media_item figure {
    width: 40.625vw
  }
}
@media only screen and (max-width: 768px) {
  #media .media_item figure {
    width: 100%
  }
}
#media .media_item figure a {
  display: block;
  -webkit-transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1);
  transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1)
}
.pc #media .media_item figure a:hover {
  opacity: .6
}
#media .media_desc {
  width: 515px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #media .media_desc {
    width: 26.82292vw
  }
}
@media only screen and (max-width: 768px) {
  #media .media_desc {
    width: 100%
  }
}
#media .media_desc_title {
  position: relative;
  margin-top: 24px;
  padding-bottom: 30px;
  font-size: 30px;
  letter-spacing: .1rem
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #media .media_desc_title {
    margin-top: 1.25vw;
    padding-bottom: 1.5625vw;
    font-size: 1.5625vw
  }
}
@media only screen and (max-width: 768px) {
  #media .media_desc_title {
    padding-bottom: 4vw;
    font-size: 6vw
  }
}
#media .media_desc_title::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 5px;
  background-color: #000
}
#media .media_desc_title span {
  font-size: 14px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #media .media_desc_title span {
    font-size: .72917vw
  }
}
@media only screen and (max-width: 768px) {
  #media .media_desc_title span {
    font-size: 2.8vw
  }
}
#media .media_desc_title span:nth-of-type(1), #media .media_desc_title span:nth-of-type(2) {
  display: block;
  padding-bottom: 10px;
  line-height: 1.4;
  letter-spacing: .16rem
}
@media only screen and (max-width: 768px) {
  #media .media_desc_title span:nth-of-type(1), #media .media_desc_title span:nth-of-type(2) {
    padding-bottom: 2vw
  }
}
.en #media .media_desc_title span:nth-of-type(3) {
  display: none
}
#media .media_desc_sns {
  position: absolute;
  right: 0;
  bottom: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #media .media_desc_sns {
    bottom: 1.5625vw
  }
}
@media only screen and (max-width: 768px) {
  #media .media_desc_sns {
    position: static;
    margin-top: 4vw
  }
}
#media .media_desc_snsItem {
  width: 32px;
  margin: 0 5px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #media .media_desc_snsItem {
    width: 1.66667vw;
    margin: 0 .26042vw
  }
}
@media only screen and (max-width: 768px) {
  #media .media_desc_snsItem {
    width: 6.4vw;
    margin: 0 1vw
  }
}
#media .media_desc_snsItem a {
  display: inline-block;
  -webkit-transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1);
  transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1)
}
.pc #media .media_desc_snsItem a:hover {
  opacity: .6
}
#media .media_desc_txt {
  margin-top: 50px;
  font-size: 18px;
  line-height: 2.22222;
  letter-spacing: .16rem
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #media .media_desc_txt {
    margin-top: 2.60417vw;
    font-size: .9375vw
  }
}
@media only screen and (max-width: 768px) {
  #media .media_desc_txt {
    margin-top: 9vw;
    font-size: 2.8vw;
    line-height: 2.14286
  }
}
#media .media_desc_link {
  margin-top: 30px;
  font-size: 18px;
  line-height: 1.44444;
  letter-spacing: .16rem;
  word-break: break-all
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #media .media_desc_link {
    margin-top: 1.5625vw;
    font-size: .9375vw
  }
}
@media only screen and (max-width: 768px) {
  #media .media_desc_link {
    margin-top: 4vw;
    font-size: 2.8vw
  }
}
#works {
  margin-top: 224px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #works {
    /*margin-top: 12.29167vw
	margin-top: 3vw*/
      margin-top: 8vw
  }
}
@media only screen and (max-width: 768px) {
  #works {
    margin-top: 20vw
  }
}
#works .sec_title {
  text-align: center
}
#works .works_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 185px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #works .works_list {
    /*margin-top: 9.63542vw*/
	margin-top: 6vw
  }
}
@media only screen and (max-width: 768px) {
  #works .works_list {
    display: block;
    margin-top: 12vw
  }
}
#works .works_item {
  width: 660px;
  padding: 0 30px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #works .works_item {
    width: 34.375vw;
    padding: 0 1.5625vw
  }
}
@media only screen and (max-width: 768px) {
  #works .works_item {
    width: 66vw;
    padding: 0 3vw
  }
}
#works .works_item.-latest {
  padding: 0;
  width: 770px;
  -webkit-transition: all 1s cubic-bezier(0.21, 0.51, 0.51, 1);
  transition: all 1s cubic-bezier(0.21, 0.51, 0.51, 1);
  -webkit-transform: translateY(10%) scale(1.07);
  transform: translateY(10%) scale(1.07);
  opacity: 0
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #works .works_item.-latest {
    width: 40.10417vw
  }
}
@media only screen and (max-width: 768px) {
  #works .works_item.-latest {
    width: 100%
  }
}
@media only screen and (max-width: 768px) {
  #works .works_item.-latest:last-child {
    margin-top: 8.8vw
  }
}
#works .works_item.-latest.-show {
  -webkit-transform: translateY(0) scale(1);
  transform: translateY(0) scale(1);
  opacity: 1
}
#works .works_item.-latest .works_title {
  margin-top: 34px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #works .works_item.-latest .works_title {
    margin-top: 1.77083vw
  }
}
#works .works_title {
  margin-top: 20px;
  font-size: 18px;
  letter-spacing: .16rem
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #works .works_title {
    margin-top: 1.04167vw;
    font-size: .9375vw
  }
}
@media only screen and (max-width: 768px) {
  #works .works_title {
    margin-top: 4.8vw;
    font-size: 3.6vw
  }
}
#works .works_category {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.42857;
  letter-spacing: .16rem;
  color: #ccc
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #works .works_category {
    margin-top: .52083vw;
    font-size: .72917vw
  }
}
@media only screen and (max-width: 768px) {
  #works .works_category {
    margin-top: 2vw;
    font-size: 2.8vw
  }
}
#works .works_slide {
  position: relative;
  margin-top: 134px;
  padding-bottom: 145px;
  overflow: hidden
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #works .works_slide {
    margin-top: 6.97917vw;
    padding-bottom: 7.55208vw
  }
}
@media only screen and (max-width: 768px) {
  #works .works_slide {
    margin-top: 13.6vw;
    padding-bottom: 23.6vw
  }
}
#works .works_slideWrap {
  width: 1320px;
  margin: 0 auto
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #works .works_slideWrap {
    width: 68.75vw
  }
}
@media only screen and (max-width: 768px) {
  #works .works_slideWrap {
    width: 66vw
  }
}
@media only screen and (max-width: 768px) {
  #works .works_slide .works_title, #works .works_slide .works_category {
    display: none
  }
}
#works .works_link {
  position: absolute;
  right: 60px;
  bottom: 0;
  width: 184px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #works .works_link {
    right: 3.125vw;
    width: 9.58333vw
  }
}
@media only screen and (max-width: 768px) {
  #works .works_link {
    right: 6vw;
    width: 26vw
  }
}
#works .works_link a {
  position: relative;
  display: block;
  padding-bottom: 15px;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: .16rem;
  background-image: url(../img/home/icon_outlink.png);
  background-position: right top 4px;
  background-repeat: no-repeat;
  background-size: 14px 14px;
  -webkit-transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1);
  transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1)
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #works .works_link a {
    padding-bottom: .78125vw;
    font-size: .9375vw;
    background-position: right top .20833vw;
    background-size: .72917vw .72917vw
  }
}
@media only screen and (max-width: 768px) {
  #works .works_link a {
    padding-bottom: 1.6vw;
    font-size: 2.4vw;
    background-position: right top;
    background-size: 2vw 2vw
  }
}
#works .works_link a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 5px;
  background-color: #000
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #works .works_link a::after {
    height: .26042vw
  }
}
@media only screen and (max-width: 768px) {
  #works .works_link a::after {
    height: .4vw
  }
}
.pc #works .works_link a:hover {
  opacity: .6
}
#works .swiper-container {
  overflow: visible
}
#works .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
  transition-timing-function: linear !important
}
#members {
  margin-top: 454px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #members {
    /*margin-top: 23.64583vw*/
	margin-top: 6vw
  }
}
@media only screen and (max-width: 768px) {
  #members {
    /*margin-top: 34vw*/
	margin-top: 0vw
  }
}
@media only screen and (max-width: 768px) {
  #members .inner {
    padding: 0 6vw
  }
}
#members .sec_title {
  text-align: center
}
#members .member_txt {
  width: 1140px;
  margin: 134px auto 0;
  font-size: 18px;
  line-height: 2.22222;
  letter-spacing: .16rem
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #members .member_txt {
    width: 59.375vw;
    /*margin: 6.97917vw auto 0;*/
    margin: 3vw auto 0;
    font-size: .9375vw
  }
}
@media only screen and (max-width: 768px) {
  #members .member_txt {
    width: 100%;
    margin: 14vw 0 0;
    font-size: 2.8vw;
    line-height: 2.14286
  }
}
#members .member_navi {
  margin-top: 200px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #members .member_navi {
    /*margin-top: 10.41667vw*/
	margin-top: 6vw
  }
}
@media only screen and (max-width: 768px) {
  #members .member_navi {
    margin-top: 14vw
  }
}
#members .member_navi_slide {
  padding: 0 80px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #members .member_navi_slide {
    padding: 0 4.16667vw
  }
}
@media only screen and (max-width: 768px) {
  #members .member_navi_slide {
    position: relative;
    width: 60vw;
    margin: 0 auto;
    padding: 0
  }
}
#members .member_navi_item a {
  display: inline-block;
  letter-spacing: .16rem;
  text-align: center;
  -webkit-transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1);
  transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1)
}
.pc #members .member_navi_item a:hover {
  opacity: .6
}
#members .member_navi_name {
  margin-top: 30px;
  font-size: 18px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #members .member_navi_name {
    margin-top: 1.5625vw;
    font-size: .9375vw
  }
}
@media only screen and (max-width: 768px) {
  #members .member_navi_name {
    margin-top: 4vw;
    font-size: 3.6vw
  }
}
#members .member_navi_position {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.42857;
  color: #666
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #members .member_navi_position {
    margin-top: .52083vw;
    font-size: .72917vw
  }
}
@media only screen and (max-width: 768px) {
  #members .member_navi_position {
    margin-top: 2vw;
    font-size: 2.8vw
  }
}
#members .swiper-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap
}
@media only screen and (max-width: 768px) {
  #members .swiper-wrapper {
    -webkit-box-pack: initial;
    -ms-flex-pack: initial;
    justify-content: initial;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: initial;
    flex-flow: initial
  }
}
#members .swiper-slide {
  width: 300px;
  -webkit-transition: all 0.5s cubic-bezier(0.21, 0.51, 0.51, 1);
  transition: all 0.5s cubic-bezier(0.21, 0.51, 0.51, 1);
  -webkit-transform: translateY(10%) scale(1.07);
  transform: translateY(10%) scale(1.07);
  opacity: 0
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #members .swiper-slide {
    width: 15.625vw
  }
}
@media only screen and (max-width: 768px) {
  #members .swiper-slide {
    width: 100%;
    -webkit-transform: none;
    transform: none;
    opacity: 1
  }
}
#members .swiper-slide:nth-child(n+5) {
  margin-top: 70px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #members .swiper-slide:nth-child(n+5) {
    margin-top: 3.64583vw
  }
}
@media only screen and (max-width: 768px) {
  #members .swiper-slide:nth-child(n+5) {
    margin-top: 0
  }
}
#members .swiper-slide.-show {
  -webkit-transform: translateY(0) scale(1);
  transform: translateY(0) scale(1);
  opacity: 1
}
#members .swiper-button-prev, #members .swiper-button-next {
  display: none;
  top: auto;
  bottom: 2vw;
  width: 2.8vw;
  height: 5.6vw;
  margin: 0;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain
}
@media only screen and (max-width: 768px) {
  #members .swiper-button-prev, #members .swiper-button-next {
    display: block
  }
}
#members .swiper-button-prev:focus, #members .swiper-button-next:focus {
  outline: none
}
#members .swiper-button-prev::after, #members .swiper-button-next::after {
  display: none
}
.pc #members .swiper-button-prev:hover, .pc #members .swiper-button-next:hover {
  opacity: .6
}
#members .swiper-button-prev {
  left: 0;
  background-image: url(../img/common/icon_arrow_prev.png)
}
#members .swiper-button-next {
  right: 0;
  background-image: url(../img/common/icon_arrow_next.png)
}
#company {
  margin-top: 315px;
  padding: 210px 0 240px;
  background-color: #DCCDB9
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #company {
    /*margin-top: 16.40625vw;*/
	/*padding: 10.9375vw 0 12.5vw*/
	margin-top: 12vw;
    padding: 12vw 0 12vw
  }
}
@media only screen and (max-width: 768px) {
  #company {
    margin-top: 35vw;
    padding: 28vw 0 24vw
  }
}
@media only screen and (max-width: 768px) {
  #company .inner {
    padding: 0 6vw
  }
}
#company .sec_title {
  text-align: center
}
#company .company_info {
  margin-top: 244px;
  padding: 0 80px;
  font-size: 18px;
  line-height: 2;
  letter-spacing: .16rem;
  text-align: left
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #company .company_info {
    /*margin-top: 12.70833vw;*/
	margin-top: 8vw;
    padding: 0 4.16667vw;
    font-size: .9375vw
  }
}
@media only screen and (max-width: 768px) {
  #company .company_info {
    margin-top: 20vw;
    padding: 0 6vw;
    font-size: 2.8vw;
    line-height: 1.71429
  }
}
#company .company_infoWrap {
  width: 100%
}
#company .company_infoWrap tr:not(:last-child) td {
  padding-bottom: 60px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #company .company_infoWrap tr:not(:last-child) td {
    padding-bottom: 3.125vw
  }
}
@media only screen and (max-width: 768px) {
  #company .company_infoWrap tr:not(:last-child) td {
    padding-bottom: 7.2vw
  }
}
#company .company_infoWrap th:first-of-type {
  width: 12.5%
}
@media only screen and (max-width: 768px) {
  #company .company_infoWrap th:first-of-type {
    width: 30%
  }
}
@media only screen and (max-width: 768px) {
  .en #company .company_infoWrap th:first-of-type {
    display: none
  }
}
#company .company_infoWrap th:last-of-type {
  width: 27.08333%;
  padding-left: 100px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #company .company_infoWrap th:last-of-type {
    padding-left: 5.20833vw
  }
}
@media only screen and (max-width: 768px) {
  #company .company_infoWrap th:last-of-type {
    width: 46%;
    padding-left: 0
  }
}
@media only screen and (max-width: 768px) {
  .ja #company .company_infoWrap th:last-of-type {
    display: none
  }
}
#company .company_infoWrap td:first-of-type {
  width: 37.5%;
  border-right: 1px solid #000
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #company .company_infoWrap td:first-of-type {
    padding-right: 5.20833vw
  }
}
@media only screen and (max-width: 768px) {
  #company .company_infoWrap td:first-of-type {
    width: 70%;
    border: none;
    white-space: nowrap
  }
}
@media only screen and (max-width: 768px) {
  .en #company .company_infoWrap td:first-of-type {
    display: none
  }
}
#company .company_infoWrap td:last-of-type {
  width: 23.61111%
}
@media only screen and (max-width: 768px) {
  #company .company_infoWrap td:last-of-type {
    width: 54%
  }
}
@media only screen and (max-width: 768px) {
  .ja #company .company_infoWrap td:last-of-type {
    display: none
  }
}
@media only screen and (max-width: 768px) {
  #remote .inner {
    padding: 0 6vw
  }
}
#remote .remote_lead {
  margin-top: 210px;
  font-size: 32px;
  letter-spacing: .16rem;
  text-align: center
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #remote .remote_lead {
    margin-top: 10.9375vw;
    font-size: 1.66667vw
  }
}
@media only screen and (max-width: 768px) {
  #remote .remote_lead {
    margin-top: 18vw;
    font-size: 4.8vw;
    line-height: 1.66667
  }
}
#remote .remote_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 164px;
  padding: 0 80px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #remote .remote_wrap {
    margin-top: 8.54167vw;
    padding: 0 4.16667vw
  }
}
@media only screen and (max-width: 768px) {
  #remote .remote_wrap {
    display: block;
    margin-top: 16vw;
    padding: 0
  }
}
#remote .remote_wrap > figure {
  width: 511px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #remote .remote_wrap > figure {
    width: 26.61458vw
  }
}
#remote .remote_detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 820px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #remote .remote_detail {
    width: 42.70833vw
  }
}
@media only screen and (max-width: 768px) {
  #remote .remote_detail {
    width: 100%
  }
}
#remote .remote_detail_txt {
  font-size: 18px;
  line-height: 2.22222;
  letter-spacing: .16rem
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #remote .remote_detail_txt {
    font-size: .9375vw
  }
}
@media only screen and (max-width: 768px) {
  #remote .remote_detail_txt {
    font-size: 2.8vw;
    line-height: 2.14286
  }
}
@media only screen and (max-width: 768px) {
  #remote .remote_detail > figure {
    margin-top: 6vw
  }
}
#remote .remote_detail_photos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: auto
}
@media only screen and (max-width: 768px) {
  #remote .remote_detail_photos {
    margin-top: 5.2vw
  }
}
#remote .remote_detail_photos figure {
  width: 354px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #remote .remote_detail_photos figure {
    width: 18.4375vw
  }
}
@media only screen and (max-width: 768px) {
  #remote .remote_detail_photos figure {
    width: 41.2vw
  }
}
#contact {
  margin-top: 460px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #contact {
    /*margin-top: 23.95833vw*/
	margin-top: 12vw
  }
}
@media only screen and (max-width: 768px) {
  #contact {
    margin-top: 35vw
  }
}
#contact .inner {
  padding-bottom: 400px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #contact .inner {
    /*padding-bottom: 20.83333vw*/
	padding-bottom: 12vw
  }
}
@media only screen and (max-width: 768px) {
  #contact .inner {
    padding: 0 6vw 42vw
  }
}
#contact .sec_title {
  text-align: center
}
#contact .contact_txt {
  width: 1140px;
  margin: 220px auto 0
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #contact .contact_txt {
    width: 59.375vw;
    /*margin: 11.45833vw auto 0*/
	margin: 8vw auto 0
  }
}
@media only screen and (max-width: 768px) {
  #contact .contact_txt {
    width: 100%;
    margin: 16vw 0 0
  }
}
#contact .contact_note, #contact .contact_complete {
  margin-top: 80px;
  text-align: center
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #contact .contact_note, #contact .contact_complete {
    margin-top: 4.16667vw
  }
}
@media only screen and (max-width: 768px) {
  #contact .contact_note, #contact .contact_complete {
    margin-top: 10vw;
    text-align: left
  }
}
#contact .contact_complete {
  display: none
}
#contact .contact_txt, #contact .contact_note, #contact .contact_complete {
  font-size: 18px;
  line-height: 2.22222;
  letter-spacing: .16rem
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #contact .contact_txt, #contact .contact_note, #contact .contact_complete {
    font-size: .9375vw
  }
}
@media only screen and (max-width: 768px) {
  #contact .contact_txt, #contact .contact_note, #contact .contact_complete {
    font-size: 2.8vw;
    line-height: 2.14286
  }
}
#contact .contact_form {
  width: 100%;
  max-width: 1044px;
  margin: 255px auto 0;
  font-size: 18px;
  letter-spacing: .16rem
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #contact .contact_form {
    /*margin: 13.28125vw auto 0;*/
	margin: 8vw auto 0;
    font-size: .9375vw
  }
}
@media only screen and (max-width: 768px) {
  #contact .contact_form {
    margin: 26vw 0 0;
    font-size: 2.8vw
  }
}
@media only screen and (max-width: 768px) {
  #contact .contact_form tr:not(:first-child) th {
    padding-top: 14vw
  }
}
#contact .contact_form tr:last-child th {
  padding-top: 30px;
  vertical-align: top
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #contact .contact_form tr:last-child th {
    padding-top: 1.5625vw
  }
}
@media only screen and (max-width: 768px) {
  #contact .contact_form tr:last-child th {
    padding-top: 14vw
  }
}
#contact .contact_form th {
  width: calc(305/1044*100%);
  text-align: left
}
@media only screen and (max-width: 768px) {
  #contact .contact_form th {
    display: block;
    width: 100%
  }
}
#contact .contact_form th sup {
  font-size: 14px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #contact .contact_form th sup {
    font-size: .72917vw
  }
}
@media only screen and (max-width: 768px) {
  #contact .contact_form th sup {
    font-size: 2.4vw
  }
}
#contact .contact_form td {
  padding: 15px 0
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #contact .contact_form td {
    padding: .78125vw 0
  }
}
@media only screen and (max-width: 768px) {
  #contact .contact_form td {
    display: block;
    padding: 3vw 0 0
  }
}
#contact .contact_form td > ul li {
  line-height: 30px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #contact .contact_form td > ul li {
    line-height: 1.5625vw
  }
}
@media only screen and (max-width: 768px) {
  #contact .contact_form td > ul li {
    line-height: 5vw
  }
}
#contact .contact_form td > ul li:last-child {
  margin-top: 24px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #contact .contact_form td > ul li:last-child {
    margin-top: 1.25vw
  }
}
@media only screen and (max-width: 768px) {
  #contact .contact_form td > ul li:last-child {
    margin-top: 2vw
  }
}
#contact .contact_form input {
  border: 1px solid #000
}
#contact .contact_form input[type="radio"] {
  width: 30px;
  height: 30px;
  margin: 0 20px 0 0;
  vertical-align: bottom
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #contact .contact_form input[type="radio"] {
    width: 1.5625vw;
    height: 1.5625vw;
    margin: 0 1.04167vw 0 0
  }
}
@media only screen and (max-width: 768px) {
  #contact .contact_form input[type="radio"] {
    width: 4.8vw;
    height: 4.8vw;
    margin: 0 4vw 0 0
  }
}
#contact .contact_form input[type="text"] {
  width: 100%;
  height: 60px;
  padding: 5px 10px;
  font-size: 18px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #contact .contact_form input[type="text"] {
    height: 3.125vw;
    padding: .26042vw .52083vw;
    font-size: .9375vw
  }
}
@media only screen and (max-width: 768px) {
  #contact .contact_form input[type="text"] {
    height: 12vw;
    font-size: 2.8vw
  }
}
#contact .contact_form textarea {
  width: 100%;
  height: 240px;
  padding: 5px 10px;
  font-size: 18px;
  line-height: 2.22222
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #contact .contact_form textarea {
    height: 12.5vw;
    padding: .26042vw .52083vw;
    font-size: .9375vw
  }
}
@media only screen and (max-width: 768px) {
  #contact .contact_form textarea {
    height: 38vw;
    font-size: 2.8vw;
    line-height: 2.14286
  }
}
#contact .contact_form .error {
  display: none;
  color: #f43958;
  line-height: 40px
}
#contact .contact_form .error.-active {
  display: block
}
#contact .contact_form_btn {
  margin-top: 80px;
  text-align: center
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #contact .contact_form_btn {
    margin-top: 4.16667vw
  }
}
@media only screen and (max-width: 768px) {
  #contact .contact_form_btn {
    margin-top: 20vw
  }
}
#contact .contact_form_btn input {
  cursor: pointer;
  width: 456px;
  height: 100px;
  margin: 0 auto;
  line-height: 100px;
  font-size: 24px;
  letter-spacing: .16rem;
  text-align: center;
  border: 1px solid #000;
  background-color: #000;
  -webkit-transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1);
  transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1);
  color: #fff
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #contact .contact_form_btn input {
    width: 23.75vw;
    height: 5.20833vw;
    line-height: 5.20833vw;
    font-size: 1.25vw
  }
}
@media only screen and (max-width: 768px) {
  #contact .contact_form_btn input {
    width: 100%;
    height: 20vw;
    line-height: 20vw;
    font-size: 4.8vw
  }
}
.pc #contact .contact_form_btn input:hover {
  background-color: #fff;
  color: #000
}
#contact .contact_form_btn input[type=submit] {
  -webkit-appearance: none;
  border-radius: 0
}
.sec_title {
  font-size: 24px;
  letter-spacing: .1rem
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  .sec_title {
    font-size: 1.25vw
  }
}
@media only screen and (max-width: 768px) {
  .sec_title {
    font-size: 2.8vw
  }
}
.sec_title .didot {
  display: block;
  padding-bottom: 10px;
  font-size: 120px;
  letter-spacing: initial
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  .sec_title .didot {
    padding-bottom: .52083vw;
    font-size: 6.25vw
  }
}
@media only screen and (max-width: 768px) {
  .sec_title .didot {
    padding-bottom: 2vw;
    font-size: 10vw
  }
}



#banner{
	width: 100%;
	margin: 80px auto 0;
	text-align: center;
}
#banner img {
	margin: 0 auto;
	width:70%;
}

#banner a:hover {
  opacity: .6
}

@media only screen and (max-width: 768px) {
#banner img {
	margin: 0 auto;
	width:100%;
}
}



#works .works_link_cnt {
  /*margin: 0 auto;*/
  margin: 60px auto 0;
  bottom: 0;
  width: 300px;
  border: solid 1px #000;
  padding: 20px
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #works .works_link_cnt {
    /*right: 3.125vw;
    width: 9.58333vw*/
	width: 18vw
  }
}
@media only screen and (max-width: 768px) {
  #works .works_link_cnt {
    right: 6vw;
    /*width: 26vw*/
	width: 50vw
  }
}
#works .works_link_cnt a {
  position: relative;
  display: block;
  padding-bottom: 15px;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: .16rem;
  background-image: url(../img/home/icon_outlink.png);
  background-position: right top 4px;
  background-repeat: no-repeat;
  background-size: 14px 14px;
  -webkit-transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1);
  transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1)
}
@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #works .works_link_cnt a {
    /*padding-bottom: .78125vw;*/
	padding-bottom: 0;
    font-size: .9375vw;
    background-position: right top .20833vw;
    background-size: .72917vw .72917vw
  }
}
@media only screen and (max-width: 768px) {
  #works .works_link_cnt a {
    padding-bottom: 1.6vw;
    font-size: 2.4vw;
    background-position: right top;
    background-size: 2vw 2vw
  }
}

@media only screen and (min-width: 769px) and (max-width: 1919px) {
  #works .works_link_cnt a::after {
    height: .26042vw
  }
}
@media only screen and (max-width: 768px) {
  #works .works_link_cnt a::after {
    height: .4vw
  }
}
.pc #works .works_link_cnt a:hover {
  opacity: .6
}