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



/*-------基本設定-------*/
*{
  margin:0;
  padding:0;
}
body {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  background: #fff;
}
img {
  vertical-align: bottom;
  border:0;
}
li {
  list-style-type: none;
}
article,aside,canvas,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,summary
{
  display: block;
}
.pc_none {
  display: none;
}

@media only screen and (max-width: 767px) {
  body {
    font-size: 13px;
  }
  .pc_none {
    display: block;
  }
  .sp_none {
    display: none;
  }
}



/*-------header_area-------*/
.header_area {
  border-bottom: solid 2px #f1f1f1;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 20;
}
.header_area .inner {
  max-width: 1220px;
  margin: 34px auto 8px;
  padding: 0 10px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header_area .logo {
  font-size: 1em;
  width: 180px;
}
.header_area .logo a {
  display: block;
}
.header_area .logo img {
  width: 100%;
  height: auto;
}
.header_area .gnav {
}
.header_area .gnav ul {
  display: flex;
  margin: 5px 0 0;
}
.header_area .gnav ul li {
  line-height: 1;
  margin: 0 40px 0 0;
}
.header_area .gnav ul li:last-child {
  margin: 0;
}
.header_area .gnav ul li a {
  display: block;
  padding: 5px 0;
  text-decoration: none;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}
.header_area .gnav ul li.gnav_works a {
  background: url(../img/common/gnav_works.svg) no-repeat center center;
  width: 4.5em;
}
.header_area .gnav ul li.gnav_news a {
  background: url(../img/common/gnav_news.svg) no-repeat center center;
  width: 4.5em;
}
.header_area .gnav ul li.gnav_company a {
  background: url(../img/common/gnav_company.svg) no-repeat center center;
  width: 9.5em;
}
.header_area .gnav ul li.gnav_recruit a {
  background: url(../img/common/gnav_recruit.svg) no-repeat center center;
  width: 4.5em;
}
.header_area .gnav ul li.gnav_cantact a {
  background: url(../img/common/gnav_cantact.svg?v=2207) no-repeat center center;
  width: 6em;
}
.header_area .gnav ul li a:hover {
  opacity: 0.6;
}

@media only screen and (max-width: 767px) {
  .header_area {
    border-bottom: solid 1px #f1f1f1;
  }
  .header_area .inner {
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    display: block;
  }
  .header_area .logo {
    width: 23.7vw;
    margin: 2.3vw auto;
  }
  .header_area .gnav {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
  }
  .header_area .gnav ul {
    margin: 0;
  }
  .header_area .gnav ul li {
    margin: 0;
    width: 20%;
  }
  .header_area .gnav ul li:nth-child(odd) {
    background: #e4e4e4;
  }
  .header_area .gnav ul li:nth-child(even) {
    background: #f3f3f3;
  }
  .header_area .gnav ul li a {
    padding: 0;
    width: 100%;
    height: 14vw;
  }
  .header_area .gnav ul li.gnav_works a {
    background: url(../img/common/gnav_works_sp.svg) no-repeat center center;
    background-size: 70% auto;
    width: auto;
  }
  .header_area .gnav ul li.gnav_news a {
    background: url(../img/common/gnav_news_sp.svg) no-repeat center center;
    background-size: 70% auto;
    width: auto;
  }
  .header_area .gnav ul li.gnav_company a {
    background: url(../img/common/gnav_company_sp.svg) no-repeat center center;
    background-size: 70% auto;
    width: auto;
  }
  .header_area .gnav ul li.gnav_recruit a {
    background: url(../img/common/gnav_recruit_sp.svg) no-repeat center center;
    background-size: 70% auto;
    width: auto;
  }
  .header_area .gnav ul li.gnav_cantact a {
    background: url(../img/common/gnav_cantact_sp.svg?v=2207) no-repeat center center;
    background-size: 90% auto;
    width: auto;
  }
}



/*-------main_area-------*/
.main_area {
  margin: 82px auto 0;
}
.main_area .ttl_area {
  padding: 60px 0 35px;
  text-align: center;
}
.main_area .ttl {
  margin: 0 auto 15px;
}
.main_area .ttl img {
  width: auto;
  height: 42px;
}
.main_area .subttl {
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  position: relative;
  display: inline-block;
}
.main_area .subttl::after {
  content: "";
  position: absolute;
  bottom: -8px;
  display: inline-block;
  width: 100%;
  max-width: 4em;
  height: 5px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #5886cc;
}
.main_area .btn_more {
  text-align: center;
  line-height: 1;
}
.main_area .btn_more a {
  display: inline-block;
  text-decoration: none;
  background: url(../img/common/btn_more.svg) no-repeat center center;
  border: solid 1px rgba(26,26,26,0.25);
  border-radius: 6px;
  line-height: 1;
  padding: 10px 0;
  width: 210px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}
.main_area .btn_more a:hover {
  opacity: 0.6;
}

@media only screen and (max-width: 767px) {
  .main_area {
    margin: 10vw auto 0;
  }
  .main_area .ttl_area {
    padding: 10vw 0 6vw;
  }
  .main_area .ttl {
    margin: 0 auto 2vw;
  }
  .main_area .ttl img {
    height: 8vw;
  }
  .main_area .subttl {
    font-size: 16px;
    line-height: 1.3;
  }
  .main_area .subttl::after {
    bottom: -4px;
    height: 4px;
  }
  .main_area .btn_more a {
    background: url(../img/common/btn_more.svg) no-repeat center center;
    background-size: 60px auto;
    border-radius: 5px;
    padding: 8px 0;
    width: 170px;
  }
}



/*-------footer_area-------*/
.footer_area {
  padding: 95px 0 35px;
}
.footer_area .copyright {
  line-height: 1;
  font-size: 10px;
  color: #a3a3a3;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .footer_area {
    padding: 5vw 0;
    margin: 0 auto 14vw;
  }
}



/*-------top-------*/
#top .main_area .mv_area {
  height: 37.5vw;
  max-height: 600px;
  overflow: hidden;
}
#top .main_area .mv_area .mv_img {
  position: relative;
}
#top .main_area .mv_area .mv_img_img {
  margin-top: -50%;
}
#top .main_area .mv_area .kawaisugi .mv_img_img {
  margin-top: -68%;
}
#top .main_area .mv_area .okashinatensei .mv_img_img {
  margin-top: -22%;
}
#top .main_area .mv_area .kanokano .mv_img_img {
  margin-top: -1%;
}
#top .main_area .mv_area .warumonosan .mv_img_img {
  margin-top: -20%;
}
#top .main_area .mv_area .hensara .mv_img_img {
  margin-top: -10%;
}
#top .main_area .mv_area .dragonlife .mv_img_img {
  margin-top: -24%;
}
#top .main_area .mv_area .mv_img_img img {
  width: 100%;
}
#top .main_area .mv_area .mv_img_txt {
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  text-align: right;
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 1.5em 2em 1em;
  background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.6) 30%, rgba(0,0,0,0.6) 100%);
}
#top .main_area .mv_area .swiper-slide img {
  transform: scale(1.05);
  transition: 7s 1s ease-out;
}
#top .main_area .mv_area .swiper-slide[class*=-active] img {
  transition-delay: 0s;
  transform: scale(1);
}

@media only screen and (max-width: 767px) {
  #top .main_area .mv_area {
    height: 54vw;
  }
  #top .main_area .mv_area .okashinatensei .mv_img_img {
    margin-top: -15%;
  }
  #top .main_area .mv_area .kanokano .mv_img_img {
    margin-top: 0;
  }
  #top .main_area .mv_area .warumonosan .mv_img_img {
    margin-top: -16%;
  }
  #top .main_area .mv_area .hensara .mv_img_img {
    margin-top: -3%;
  }
  #top .main_area .mv_area .dragonlife .mv_img_img {
    margin-top: -18%;
  }
  #top .main_area .mv_area .monaxmedaka .mv_img_img {
    margin-top: -46%;
  }
  #top .main_area .mv_area .mv_img_txt {
    font-size: 10px;
    padding: 1.5em 1em 1.5em;
    width: 100%;
  }
  #top .swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: 0;
  }
}



#top .main_area .topic_area {
  background: #5886cc;
  padding: 12px 0 15px;
  margin: 1px auto 0;
}
#top .main_area .topic_area ul {
  text-align: center;
}
#top .main_area .topic_area ul li {
  list-style: none;
  line-height: 1;
  padding: 0 5px;
}
#top .main_area .topic_area ul li a {
  color: #fff;
  font-size: 14px;
  text-decoration: none;
  border-bottom: solid 1px rgba(255,255,255,1);
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
#top .main_area .topic_area ul li a:hover {
  border-color: rgba(255,255,255,0);
}

@media only screen and (max-width: 767px) {
  #top .main_area .topic_area {
    padding: 0.4em 0 0.6em;
  }
  #top .main_area .topic_area ul li a {
    font-size: 12px;
    line-height: 1.8;
  }
}



#top .main_area .news_area {
  background: #f3f3f3;
  padding: 0 0 60px;
  text-align: center;
}
#top .main_area .news_area .news_list {
  max-width: 1220px;
  padding: 0 10px;
  box-sizing: border-box;
  margin: 0 auto 30px;
  display: inline-block;
}
#top .main_area .news_area .news_list li {
  border-bottom: solid 1px #cdcdcd;
  text-align: left;
}
#top .main_area .news_area .news_list li:last-child {
  border: none;
}
#top .main_area .news_area .news_list .news {
  display: flex;
  padding: 14px 0;
}
#top .main_area .news_area .news_list .news .news_date {
  font-size: 14px;
  color: #666;
  width: 7em;
}
#top .main_area .news_area .news_list .news .news_cat {
  font-size: 14px;
  width: 6em;
}
#top .main_area .news_area .news_list .news .news_cat::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 20px;
  border-radius: 2px;
  vertical-align: middle;
  margin: 0 8px 0 0;
}
#top .main_area .news_area .news_list .news .news_cat.cat_work {
  color: #df479c;
}
#top .main_area .news_area .news_list .news .news_cat.cat_work::before {
  background: #df479c;
}
#top .main_area .news_area .news_list .news .news_cat.cat_event {
  color: #ed6f00;
}
#top .main_area .news_area .news_list .news .news_cat.cat_event::before {
  background: #ed6f00;
}
#top .main_area .news_area .news_list .news .news_cat.cat_info {
  color: #3bb281;
}
#top .main_area .news_area .news_list .news .news_cat.cat_info::before {
  background: #3bb281;
}
#top .main_area .news_area .news_list .news .news_cat.cat_recruit {
  color: #835cb4;
}
#top .main_area .news_area .news_list .news .news_cat.cat_recruit::before {
  background: #835cb4;
}
#top .main_area .news_area .news_list .news .news_ttl {
  font-size: 14px;
  font-weight: bold;
  color: #555;
/*  max-width: calc(100% - 13em);*/ /*文字数が多い時に必要*/
}
#top .main_area .news_area .news_list .news .news_ttl a {
  color: #555;
  text-decoration: none;
  border-bottom: solid 1px rgba(85,85,85,1);
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
#top .main_area .news_area .news_list .news .news_ttl a:hover {
  border-color: rgba(85,85,85,0);
}

@media only screen and (max-width: 767px) {
  #top .main_area .news_area {
    padding: 0 0 8vw;
    text-align: left;
  }
  #top .main_area .news_area .news_list {
    max-width: 100%;
    padding: 0 4vw;
    margin: 0 auto 4vw;
  }
  #top .main_area .news_area .news_list .news {
    display: flex;
    flex-wrap: wrap;
    padding: 2.6vw 0;
  }
  #top .main_area .news_area .news_list .news .news_date {
    font-size: 12px;
  }
  #top .main_area .news_area .news_list .news .news_cat {
    font-size: 12px;
  }
  #top .main_area .news_area .news_list .news .news_cat::before {
    width: 5px;
    height: 14px;
    margin: 0 10px 0 0;
  }
  #top .main_area .news_area .news_list .news .news_ttl {
    font-size: 13px;
    max-width: 100%;
    width: 100%;
  }
}



#top .main_area .works_container {
  padding: 0 0 60px;
}
#top .main_area .works_area_wrap {
  position: relative;
  max-width: 1200px;
  margin: 0 auto 20px;
  padding: 0 60px;
}
#top .main_area .works_area {
  padding: 0 0 5px;
}
#top .main_area .works_area .works {
  text-align: center;
  line-height: 1;
}
#top .main_area .works_area .works a {
  text-decoration: none;
  display: block;
}
#top .main_area .works_area .works .works_img {
  margin: 0 auto 8px;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}
#top .main_area .works_area .works a:hover .works_img {
  opacity: 0.6;
}
#top .main_area .works_area .works .works_img img {
  width: 100%;
  height: auto;
}
#top .main_area .works_area .works .works_year {
  line-height: 1;
  color: #999;
  font-size: 12px;
  margin: 0 auto 8px;
  padding: 3px 0;
  border: solid 1px #999;
  border-radius: 5px;
  width: 5em;
}
#top .main_area .works_area .works .works_ttl {
  line-height: 1.5;
  color: #333;
  font-size: 14px;
  font-weight: bold;
  display: inline;
}
#top .main_area .works_area .works a .works_ttl {
  border-bottom: solid 1px rgba(51,51,51,1);
  transition: all 0.2s ease-out;
}
#top .main_area .works_area .works a:hover .works_ttl {
  border-color: rgba(51,51,51,0);
}
#top .main_area .works_area .works .works_ttl span {
  white-space: nowrap;
}
#top .main_area .works_area_wrap .swiper-button-next,
#top .main_area .works_area_wrap .swiper-button-prev {
  top: 30%;
  border: solid 1px #c6c6c6;
  border-radius: 6px;
  padding: 42px 5px;
  background: #fff;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}
#top .main_area .works_area_wrap .swiper-button-next:hover,
#top .main_area .works_area_wrap .swiper-button-prev:hover {
  opacity: 0.6;
}
#top .main_area .works_area_wrap .swiper-button-prev:after,
#top .main_area .works_area_wrap .swiper-button-next:after {
  content: "" !important;
}
#top .main_area .works_area_wrap .swiper-button-prev:after {
  margin-left: 8px;
  width: 16px;
  height: 16px;
  border-top: 3px solid #5886cc;
  border-right: 3px solid #5886cc;
  transform: rotate(-135deg);
}
#top .main_area .works_area_wrap .swiper-button-next:after {
  margin-right: 8px;
  width: 16px;
  height: 16px;
  border-top: 3px solid #5886cc;
  border-right: 3px solid #5886cc;
  transform: rotate(45deg);
}
#top .main_area .works_more {
  text-align: center;
}

@media only screen and (max-width: 767px) {
  #top .main_area .works_container {
    padding: 0 0 8vw;
  }
  #top .main_area .works_area_wrap {
    max-width: 100%;
    padding: 0 40px;
  }
  #top .main_area .works_area .works .works_year {
    font-size: 10px;
    margin: 0 auto 4px;
    padding: 2px 0;
    border-radius: 4px;
    width: 4.5em;
  }
  #top .main_area .works_area .works .works_ttl {
    font-size: 12px;
  }
  #top .main_area .works_area_wrap .swiper-button-prev,
  #top .main_area .works_area_wrap .swiper-button-next {
    top: 25%;
    border-radius: 4px;
    padding: 16px 0;
  }
  #top .main_area .works_area_wrap .swiper-button-prev {
    left: 5px;
  }
  #top .main_area .works_area_wrap .swiper-button-next {
    right: 5px;
  }
  #top .main_area .works_area_wrap .swiper-button-prev:after {
    margin-left: 8px;
    width: 12px;
    height: 12px;
    border-top: 3px solid #5886cc;
    border-right: 3px solid #5886cc;
    transform: rotate(-135deg);
  }
  #top .main_area .works_area_wrap .swiper-button-next:after {
    margin-right: 8px;
    width: 12px;
    height: 12px;
    border-top: 3px solid #5886cc;
    border-right: 3px solid #5886cc;
    transform: rotate(45deg);
  }
}
#top .main_area .access_area {
  text-align: center;
}
#top .main_area .access_area .address_area {
  margin: 0 0 20px;
}
#top .main_area .access_area .access_name {
  font-size: 14px;
  color: #333;
  margin: 0 auto 10px;
}
#top .main_area .access_area .access_address {
  font-size: 14px;
  color: #333;
}
#top .main_area .access_area .access_tel {
  display: flex;
  justify-content: center;
}
#top .main_area .access_area .access_tel li {
  font-size: 14px;
  color: #333;
}
#top .main_area .access_area .access_tel li:first-child {
  margin: 0 1em 0 0;
}
#top .main_area .access_area .access_tel li a {
  color: #333;
  text-decoration: none;
}
#top .main_area .map_area {
  max-width: 1200px;
  margin: 0 auto;
}
#top .main_area .map_area .map {
  position: relative;
  padding-bottom: 50%;
  height: 0;
  overflow: hidden;
}
#top .main_area .map_area .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

@media only screen and (max-width: 767px) {
  #top .main_area .access_area {
    display: flex;
    flex-direction: column-reverse;
    text-align: left;
  }
  #top .main_area .access_area .address_area {
    margin: 1em 1em 8vw;
  }
  #top .main_area .access_area .access_name {
    font-size: 12px;
  }
  #top .main_area .access_area .access_address {
    font-size: 12px;
  }
  #top .main_area .access_area .access_tel {
    display: block;
  }
  #top .main_area .access_area .access_tel li {
    font-size: 12px;
  }
  #top .main_area .access_area .access_tel li:first-child {
    margin: 0;
  }
  #top .main_area .map_area {
    max-width: 100%;
    margin: 0;
  }
  #top .main_area .map_area .map {
    padding-bottom: 72%;
  }
}



/*-------works-------*/
#works .main_area .works_area {
  display: flex;
  flex-wrap: wrap;
  max-width: 1220px;
  margin: 0 auto;
  padding: 0 10px;
  box-sizing: border-box;
}
#works .main_area .works_area .works {
  text-align: center;
  line-height: 1;
  width: calc(20% - 8px);
  margin: 0 10px 40px 0;
}
#works .main_area .works_area .works:nth-child(5n) {
  margin: 0 0 40px 0;
}
#works .main_area .works_area .works a {
  text-decoration: none;
  display: block;
}
#works .main_area .works_area .works .works_img {
  margin: 0 auto 8px;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}
#works .main_area .works_area .works a:hover .works_img {
  opacity: 0.6;
}
#works .main_area .works_area .works .works_img img {
  width: 100%;
  height: auto;
}
#works .main_area .works_area .works .works_year {
  line-height: 1;
  color: #999;
  font-size: 12px;
  margin: 0 auto 8px;
  padding: 3px 0;
  border: solid 1px #999;
  border-radius: 5px;
  width: 5em;
}
#works .main_area .works_area .works .works_ttl {
  line-height: 1.5;
  color: #333;
  font-size: 14px;
  font-weight: bold;
  display: inline;
}
#works .main_area .works_area .works a .works_ttl {
  border-bottom: solid 1px rgba(51,51,51,1);
  transition: all 0.2s ease-out;
}
#works .main_area .works_area .works a:hover .works_ttl {
  border-color: rgba(51,51,51,0);
}
#works .main_area .works_area .works .works_ttl span {
  white-space: nowrap;
}

@media only screen and (max-width: 767px) {
  #works .main_area .works_area {
    max-width: 100%;
    padding: 0 4vw;
  }
  #works .main_area .works_area .works,
  #works .main_area .works_area .works:nth-child(5n) {
    width: calc(50% - 5px);
    margin: 0 10px 6vw 0;
  }
  #works .main_area .works_area .works:nth-child(2n) {
    margin: 0 0 6vw 0;
  }
  #works .main_area .works_area .works .works_year {
    font-size: 10px;
    margin: 0 auto 4px;
    padding: 2px 0;
    border-radius: 4px;
    width: 4.5em;
  }
  #works .main_area .works_area .works .works_ttl {
    font-size: 12px;
  }
}



/*-------works_detail-------*/
#works .main_area .works_detail_area {
  max-width: 1220px;
  margin: 0 auto;
  padding: 0 10px;
  box-sizing: border-box;
}
#works .main_area .works_detail_area .works_detail_ttl {
  text-align: center;
  margin: 0 auto 60px;
}
#works .main_area .works_detail_area .works_detail_ttl .subttl {
  font-size: 26px;
  line-height: 1.3;
}
#works .main_area .works_detail_area .works_detail_ttl .subttl span {
  white-space: nowrap;
}
#works .main_area .works_detail_area .works_detail_ttl .year {
  font-size: 20px;
  color: #4c4c4c;
  margin: 15px auto 0;
}
#works .main_area .works_detail_area .works_detail_cts {
  max-width: 1100px;
  margin: 0 auto 70px;
  display: flex;
}
#works .main_area .works_detail_area .works_detail_cts .works_detail_img {
  width: 44.2%;
  margin: 0 3.8% 0 0;
}
#works .main_area .works_detail_area .works_detail_cts .works_img {
  margin: 0 auto 15px;
}
#works .main_area .works_detail_area .works_detail_cts .works_img img {
  width: 100%;
  height: auto;
}
#works .main_area .works_detail_area .works_detail_cts .works_yt {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  margin: 0 auto 15px;
}
#works .main_area .works_detail_area .works_detail_cts .works_yt iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#works .main_area .works_detail_area .works_detail_cts .works_detail_txt {
  width: 52%;
}
#works .main_area .works_detail_area .works_detail_cts .works_txt_ttl {
  font-size: 18px;
  font-weight: bold;
  margin: 0 auto 1em;
}
#works .main_area .works_detail_area .works_detail_cts .works_txt_list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 60px;
}
#works .main_area .works_detail_area .works_detail_cts .works_txt_list dt {
  font-size: 14px;
  font-weight: bold;
  color: #4c4c4c;
  line-height: 1.3;
  text-align: right;
  margin: 0 20px 8px 0;
  width: 10em;
}
#works .main_area .works_detail_area .works_detail_cts .works_txt_list dd {
  font-size: 14px;
  color: #333;
  line-height: 1.3;
  width: calc(100% - 10em - 20px);
  margin: 0 0 8px 0;
}
#works .main_area .works_detail_area .works_detail_cts .works_txt_copy {
  font-size: 14px;
  color: #333;
  margin: 0 auto 60px;
}
#works .main_area .works_detail_area .works_detail_cts .works_txt_link {
  display: flex;
}
#works .main_area .works_detail_area .works_detail_cts .works_txt_link li {
  margin: 0 10px 0 0;
}
#works .main_area .works_detail_area .works_detail_cts .works_txt_link li a {
  display: inline-block;
  text-decoration: none;
  border: solid 1px rgba(26,26,26,0.25);
  border-radius: 6px;
  line-height: 1;
  padding: 10px 0;
  width: 210px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}
#works .main_area .works_detail_area .works_detail_cts .works_txt_link li a:hover {
  opacity: 0.6;
}
#works .main_area .works_detail_area .works_detail_cts .works_txt_link .link_site a {
  background: url(../img/works/btn_site.svg) no-repeat center center;
}
#works .main_area .works_detail_area .works_detail_cts .works_txt_link .link_tw a {
  background: url(../img/works/btn_tw.svg) no-repeat center center;
}
#works .main_area .works_detail_area .works_detail_cts .works_txt_link .link_x a {
  background: url(../img/works/btn_x.svg) no-repeat center center;
}
#works .main_area .works_detail_area .works_detail_cts .works_txt_original {
  margin: 0.5em auto 0;
}
#works .main_area .works_detail_area .works_detail_cts .works_txt_original a {
  text-decoration: none;
  color: #000;
  border-bottom: solid 1px rgba(0,0,0,1);
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
#works .main_area .works_detail_area .works_detail_cts .works_txt_original a:hover {
  border-color: rgba(0,0,0,0);
}
#works .main_area .works_detail_area .works_back {
  text-align: center;
  font-size: 16px;
}
#works .main_area .works_detail_area .works_back a {
  text-decoration: none;
  color: #000;
  border-bottom: solid 1px rgba(0,0,0,1);
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
#works .main_area .works_detail_area .works_back a:hover {
  border-color: rgba(0,0,0,0);
}

@media only screen and (max-width: 767px) {
  #works .main_area .works_detail_area {
    max-width: 100%;
    padding: 0 4vw;
  }
  #works .main_area .works_detail_area .works_detail_ttl {
    margin: 0 auto 6vw;
  }
  #works .main_area .works_detail_area .works_detail_ttl .subttl {
    font-size: 18px;
  }
  #works .main_area .works_detail_area .works_detail_ttl .year {
    font-size: 16px;
    margin: 10px auto 0;
  }
  #works .main_area .works_detail_area .works_detail_cts {
    max-width: 100%;
    margin: 0 auto 10vw;
    display: block;
  }
  #works .main_area .works_detail_area .works_detail_cts .works_detail_img {
    width: 100%;
    margin: 0 auto 8vw;
  }
  #works .main_area .works_detail_area .works_detail_cts .works_img {
    margin: 0 auto 10px;
    text-align: center;
  }
  #works .main_area .works_detail_area .works_detail_cts .works_img img {
    max-width: 250px;
  }
  #works .main_area .works_detail_area .works_detail_cts .works_img.works_img_h img {
    max-width: 100%;
  }
  #works .main_area .works_detail_area .works_detail_cts .works_yt {
    margin: 0 auto 10px;
  }
  #works .main_area .works_detail_area .works_detail_cts .works_detail_txt {
    width: 100%;
  }
  #works .main_area .works_detail_area .works_detail_cts .works_txt_ttl {
    font-size: 15px;
  }
  #works .main_area .works_detail_area .works_detail_cts .works_txt_list {
    margin: 0 0 12vw;
  }
  #works .main_area .works_detail_area .works_detail_cts .works_txt_list.staff {
    display: block;
  }
  #works .main_area .works_detail_area .works_detail_cts .works_txt_list.staff dt {
    font-size: 13px;
    text-align: left;
    margin: 0 0 0 0;
    width: 100%;
  }
  #works .main_area .works_detail_area .works_detail_cts .works_txt_list.staff dd {
    font-size: 13px;
    width: 100%;
    margin: 0 0 1em 0;
  }
  #works .main_area .works_detail_area .works_detail_cts .works_txt_list.cast dt {
    font-size: 13px;
    margin: 0 1em 10px 0;
    width: calc(50% - 0.5em);
  }
  #works .main_area .works_detail_area .works_detail_cts .works_txt_list.cast dd {
    font-size: 13px;
    width: calc(50% - 0.5em);
    margin: 0 0 10px 0;
  }
  #works .main_area .works_detail_area .works_detail_cts .works_txt_copy {
    font-size: 13px;
    margin: 0 auto 10vw;
  }
  #works .main_area .works_detail_area .works_detail_cts .works_txt_link {
    display: block;
    text-align: center;
  }
  #works .main_area .works_detail_area .works_detail_cts .works_txt_link li {
    margin: 0 auto 10px;
  }
  #works .main_area .works_detail_area .works_detail_cts .works_txt_link li:first-child {
    margin: 0 auto;
  }
  #works .main_area .works_detail_area .works_detail_cts .works_txt_link li a {
    border-radius: 5px;
    padding: 8px 0;
    width: 170px;
  }
  #works .main_area .works_detail_area .works_detail_cts .works_txt_link .link_site a {
    background: url(../img/works/btn_site.svg) no-repeat center center;
    background-size: auto 16px;
  }
  #works .main_area .works_detail_area .works_detail_cts .works_txt_link .link_tw a {
    background: url(../img/works/btn_tw.svg) no-repeat center center;
    background-size: auto 16px;
  }
  #works .main_area .works_detail_area .works_detail_cts .works_txt_link .link_x a {
    background: url(../img/works/btn_x.svg) no-repeat center center;
    background-size: auto 16px;
  }
  #works .main_area .works_detail_area .works_detail_cts .works_txt_original {
    text-align: center;
  }
  #works .main_area .works_detail_area .works_back {
    font-size: 14px;
    margin: 0 auto 10vw;
  }
}



/*-------news-------*/
#news .main_area .news_area {
  max-width: 1220px;
  margin: 0 auto;
  padding: 0 10px;
  box-sizing: border-box;
  text-align: center;
}
#news .main_area .news_area .news_list {
  display: inline-block;
  text-align: left;
}
#news .main_area .news_area .news_list li {
  border-bottom: solid 1px #cdcdcd;
}
#news .main_area .news_area .news_list li:last-child {
  border: none;
}
#news .main_area .news_area .news_list .news {
  display: flex;
  padding: 14px 0;
}
#news .main_area .news_area .news_list .news .news_date {
  font-size: 14px;
  color: #666;
  width: 7em;
}
#news .main_area .news_area .news_list .news .news_cat {
  font-size: 14px;
  width: 6em;
}
#news .main_area .news_area .news_list .news .news_cat::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 20px;
  border-radius: 2px;
  vertical-align: middle;
  margin: 0 8px 0 0;
}
#news .main_area .news_area .news_list .news .news_cat.cat_work {
  color: #df479c;
}
#news .main_area .news_area .news_list .news .news_cat.cat_work::before {
  background: #df479c;
}
#news .main_area .news_area .news_list .news .news_cat.cat_event {
  color: #ed6f00;
}
#news .main_area .news_area .news_list .news .news_cat.cat_event::before {
  background: #ed6f00;
}
#news .main_area .news_area .news_list .news .news_cat.cat_info {
  color: #3bb281;
}
#news .main_area .news_area .news_list .news .news_cat.cat_info::before {
  background: #3bb281;
}
#news .main_area .news_area .news_list .news .news_cat.cat_recruit {
  color: #835cb4;
}
#news .main_area .news_area .news_list .news .news_cat.cat_recruit::before {
  background: #835cb4;
}
#news .main_area .news_area .news_list .news .news_ttl {
  font-size: 14px;
  font-weight: bold;
  color: #555;;
/*  max-width: calc(100% - 13em);*/ /*文字数が多い時に必要*/
}
#news .main_area .news_area .news_list .news .news_ttl a {
  color: #555;
  text-decoration: none;
  border-bottom: solid 1px rgba(85,85,85,1);
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
#news .main_area .news_area .news_list .news .news_ttl a:hover {
  border-color: rgba(85,85,85,0);
}
#news .main_area .news_area [value="all"]:checked ~ .targets [data-category] {
  display: block;
}
#news .main_area .news_area [value="work"]:checked ~ .targets .target:not([data-category~="work"]),
#news .main_area .news_area [value="event"]:checked ~ .targets .target:not([data-category~="event"]),
#news .main_area .news_area [value="info"]:checked ~ .targets .target:not([data-category~="info"]),
#news .main_area .news_area [value="recruit"]:checked ~ .targets .target:not([data-category~="recruit"]) {
  display: none;
}
#news .main_area .news_area .news_list .no_article {
  font-size: 14px;
  color: #666;
  padding: 1em 0 0;
  text-align: center;
  border: none;
}
#news .main_area .news_area [value="all"]:checked ~ .targets .no_article {
  display: none;
}
#news .main_area .news_area input[type="radio"] {
  position: absolute;
  left: -9999px;
}
#news .main_area .news_area .filters {
  display: flex;
  max-width: 750px;
  margin: 0 auto 40px;
}
#news .main_area .news_area .filters label {
  margin: 0 0 0 10px;
  cursor: pointer;
  display: block;
  border-radius: 6px;
  box-sizing: border-box;
  line-height: 1;
  padding: 8px 0;
  width: 140px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}
#news .main_area .news_area .filters .btn_all label {
  margin: 0 10px 0 0;
  background: url(../img/news/btn_all.svg) no-repeat center center #d9d9d9;
  background-size: auto 14px;
  border: solid 1px #d9d9d9;
}
#news .main_area .news_area .filters .btn_work label {
  background: url(../img/news/btn_work.svg) no-repeat center center #fff;
  background-size: auto 14px;
  border: solid 1px #df479c;
}
#news .main_area .news_area .filters .btn_event label {
  background: url(../img/news/btn_event.svg) no-repeat center center #fff;
  background-size: auto 14px;
  border: solid 1px #ed6f00;
}
#news .main_area .news_area .filters .btn_info label {
  background: url(../img/news/btn_info.svg) no-repeat center center #fff;
  background-size: auto 14px;
  border: solid 1px #3bb281;
}
#news .main_area .news_area .filters .btn_recruit label {
  background: url(../img/news/btn_recruit.svg) no-repeat center center #fff;
  background-size: auto 14px;
  border: solid 1px #835cb4;
}
#news .main_area .news_area .filters label:hover {
  opacity: 0.6;
}
#news .main_area .news_area [value="all"]:checked ~ .filters [for="all"],
#news .main_area .news_area [value="work"]:checked ~ .filters [for="work"],
#news .main_area .news_area [value="event"]:checked ~ .filters [for="event"],
#news .main_area .news_area [value="info"]:checked ~ .filters [for="info"],
#news .main_area .news_area [value="recruit"]:checked ~ .filters [for="recruit"] {
}

@media only screen and (max-width: 767px) {
  #news .main_area .news_area {
    text-align: left;
  }
  #news .main_area .news_area .news_list {
    max-width: 100%;
    padding: 0;
    margin: 0 auto 4vw;
  }
  #news .main_area .news_area .news_list .news {
    display: flex;
    flex-wrap: wrap;
    padding: 2.6vw 0;
  }
  #news .main_area .news_area .news_list .news .news_date {
    font-size: 12px;
  }
  #news .main_area .news_area .news_list .news .news_cat {
    font-size: 12px;
  }
  #news .main_area .news_area .news_list .news .news_cat::before {
    width: 5px;
    height: 14px;
    margin: 0 10px 0 0;
  }
  #news .main_area .news_area .news_list .news .news_ttl {
    font-size: 13px;
    max-width: 100%;
    width: 100%;
  }
  #news .main_area .news_area .news_list .no_article {
    font-size: 13px;
  }
  #news .main_area .news_area .filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 100%;
    margin: 0 auto 6vw;
  }
  #news .main_area .news_area .filters li {
    width: 24%;
  }
  #news .main_area .news_area .filters li.btn_all {
    width: 100%;
    margin: 0 auto 1.5vw;
  }
  #news .main_area .news_area .filters li.btn_all label {
    width: 24%;
    margin: 0 auto;
  }
  #news .main_area .news_area .filters label {
    margin: 0;
    border-radius: 5px;
    padding: 2.4vw 0;
    width: 100%;
  }
  #news .main_area .news_area .filters .btn_all label {
    margin: 0;
    background: url(../img/news/btn_all.svg) no-repeat center center #d9d9d9;
    background-size: auto 3.2vw;
  }
  #news .main_area .news_area .filters .btn_work label {
    background: url(../img/news/btn_work.svg) no-repeat center center #fff;
    background-size: auto 3.2vw;
  }
  #news .main_area .news_area .filters .btn_event label {
    background: url(../img/news/btn_event.svg) no-repeat center center #fff;
    background-size: auto 3.2vw;
  }
  #news .main_area .news_area .filters .btn_info label {
    background: url(../img/news/btn_info.svg) no-repeat center center #fff;
    background-size: auto 3.2vw;
  }
  #news .main_area .news_area .filters .btn_recruit label {
    background: url(../img/news/btn_recruit.svg) no-repeat center center #fff;
    background-size: auto 3.2vw;
  }
}



/*-------news_detail-------*/
#news .main_area .news_detail_area {
  max-width: 700px;
  margin: 0 auto;
  padding: 0 10px;
  box-sizing: border-box;
}
#news .main_area .news_detail_area .news_detail_ttl {
  text-align: center;
  margin: 0 auto 50px;
}
#news .main_area .news_detail_area .news_detail_ttl .news_detail_info {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 20px;
}
#news .main_area .news_detail_area .news_detail_ttl .news_date {
  font-size: 14px;
  color: #999;
  line-height: 1;
  margin: 2px 15px 0 0;
}
#news .main_area .news_detail_area .news_detail_ttl .news_cat {
  border-radius: 6px;
  box-sizing: border-box;
  line-height: 1;
  padding: 4px 0;
  width: 110px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
#news .main_area .news_detail_area .news_detail_ttl .news_cat.cat_work {
  background: url(../img/news/btn_work.svg) no-repeat center center #fff;
  background-size: auto 12px;
  border: solid 1px #df479c;
}
#news .main_area .news_detail_area .news_detail_ttl .news_cat.cat_event {
  background: url(../img/news/btn_event.svg) no-repeat center center #fff;
  background-size: auto 12px;
  border: solid 1px #ed6f00;
}
#news .main_area .news_detail_area .news_detail_ttl .news_cat.cat_info {
  background: url(../img/news/btn_info.svg) no-repeat center center #fff;
  background-size: auto 12px;
  border: solid 1px #3bb281;
}
#news .main_area .news_detail_area .news_detail_ttl .news_cat.cat_recruit {
  background: url(../img/news/btn_recruit.svg) no-repeat center center #fff;
  background-size: auto 12px;
  border: solid 1px #835cb4;
}
#news .main_area .news_detail_area .news_detail_cts {
}
#news .main_area .news_detail_area .news_detail_cts p {
  font-size: 14px;
  color: #333;
  margin: 0 auto 1em;
}
#news .main_area .news_detail_area .news_detail_cts .news_subttl {
  font-size: 16px;
  font-weight: bold;
  color: #5886cc;
  margin: 2em auto 0;
}
#news .main_area .news_detail_area .news_detail_cts p .news_bold {
  font-weight: bold;
}
#news .main_area .news_detail_area .news_detail_cts .news_link {
  color: #333;
  text-decoration: none;
  border-bottom: solid 1px rgba(85,85,85,1);
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
#news .main_area .news_detail_area .news_detail_cts .news_link:hover {
  border-color: rgba(85,85,85,0);
}
#news .main_area .news_detail_area .news_detail_cts .news_linkarea {
  font-size: 14px;
  color: #333;
  margin: 0 auto 1em;
}
#news .main_area .news_detail_area .news_detail_cts .news_linkarea li {
  margin-bottom: 0.5em;
}
#news .main_area .news_detail_area .news_detail_cts .news_linkarea li:last-child {
  margin-bottom: 0;
}
#news .main_area .news_detail_area .news_detail_cts .news_img {
  max-width: 400px;
}
#news .main_area .news_detail_area .news_detail_cts p img {
  width: 100%;
  height: auto;
}
#news .main_area .news_detail_area .news_detail_cts .news_space {
  margin-top: 3em;
}

#news .main_area .news_detail_area .news_detail_cts .news_yt {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
#news .main_area .news_detail_area .news_detail_cts .news_yt iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media only screen and (max-width: 767px) {
  #news .main_area .news_detail_area .news_detail_ttl {
    margin: 0 auto 9vw;
  }
  #news .main_area .news_detail_area .news_detail_ttl .news_detail_info {
    margin: 0 auto 3vw;
  }
  #news .main_area .news_detail_area .news_detail_ttl .news_date {
    font-size: 12px;
    margin: 2px 10px 0 0;
  }
  #news .main_area .news_detail_area .news_detail_ttl .news_cat {
    border-radius: 5px;
    padding: 0.4vw 0;
    width: 20vw;
  }
  #news .main_area .news_detail_area .news_detail_ttl .news_cat.cat_work {
    background: url(../img/news/btn_work.svg) no-repeat center center #fff;
    background-size: auto 2.6vw;
  }
  #news .main_area .news_detail_area .news_detail_ttl .news_cat.cat_event {
    background: url(../img/news/btn_event.svg) no-repeat center center #fff;
    background-size: auto 2.6vw;
  }
  #news .main_area .news_detail_area .news_detail_ttl .news_cat.cat_info {
    background: url(../img/news/btn_info.svg) no-repeat center center #fff;
    background-size: auto 2.6vw;
  }
  #news .main_area .news_detail_area .news_detail_ttl .news_cat.cat_recruit {
    background: url(../img/news/btn_recruit.svg) no-repeat center center #fff;
    background-size: auto 2.6vw;
  }
  #news .main_area .news_detail_area {
    max-width: 100%;
    margin: 0 auto 10vw;
    padding: 0 4vw;
  }
  #news .main_area .news_detail_area .news_detail_cts p {
    font-size: 13px;
  }
  #news .main_area .news_detail_area .news_detail_cts .news_subttl {
    font-size: 15px;
  }
  #news .main_area .news_detail_area .news_detail_cts .news_linkarea {
    font-size: 13px;
  }
  #news .main_area .news_detail_area .news_detail_cts .news_img {
    max-width: 60%;
  }
}



/* 20221010 */
#news .main_area .news_detail_area .news_detail_cts .news_20221010_img {
  max-width: 330px;
  margin: 0 auto;
}

@media only screen and (max-width: 767px) {
  #news .main_area .news_detail_area .news_detail_cts .news_20221010_img {
    max-width: 100%;
/*    margin: 0 auto;*/
  }
}



/* 20231110 */
#news .main_area .news_detail_area .news_detail_cts.news_20231110 .tbl_office {
  width: 100%;
  border-collapse: collapse;
  margin: 0 auto 0.5em;
}
#news .main_area .news_detail_area .news_detail_cts.news_20231110 .tbl_office th {
  border: solid 1px #ccc;
  width: 8em;
  padding: 5px 10px;
  background: #f3f3f3;
  color: #5886cc;
}
#news .main_area .news_detail_area .news_detail_cts.news_20231110 .tbl_office td {
  border: solid 1px #ccc;
  text-align: left;
  padding: 5px 10px;
}
#news .main_area .news_detail_area .news_detail_cts.news_20231110 .tbl_office td .list_department {
  overflow: hidden;
}
#news .main_area .news_detail_area .news_detail_cts.news_20231110 .tbl_office td .list_department dt {
  float: left;
}
#news .main_area .news_detail_area .news_detail_cts.news_20231110 .office_notice {
  text-indent: -1em;
  padding: 0 0 0 1em;
}
#news .main_area .news_detail_area .news_detail_cts.news_20231110 .list_office {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 2em auto 0;
}
#news .main_area .news_detail_area .news_detail_cts.news_20231110 .list_office li {
  width: 320px;
  margin: 0 10px 10px;
}
#news .main_area .news_detail_area .news_detail_cts.news_20231110 .list_office li:nth-child(-n+2) {
  margin-bottom: 20px;
}
#news .main_area .news_detail_area .news_detail_cts.news_20231110 .list_office li img {
  width: 100%;
  height: auto;
}
#news .main_area .news_detail_area .news_detail_cts.news_20231110 .img_notice {
  text-align: right;
}
#news .main_area .news_detail_area .news_detail_cts.news_20231110 .map_area {
  width: 100%;
}
#news .main_area .news_detail_area .news_detail_cts.news_20231110 .map_area .map {
  position: relative;
  padding-bottom: 60%;
  height: 0;
  overflow: hidden;
}
#news .main_area .news_detail_area .news_detail_cts.news_20231110 .map_area .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

@media only screen and (max-width: 767px) {
  #news .main_area .news_detail_area .news_detail_cts.news_20231110 .tbl_office th {
    width: 5em;
  }
  #news .main_area .news_detail_area .news_detail_cts.news_20231110 .tbl_office td .list_department dd {
    margin: 0 0 0 5em;
  }
  #news .main_area .news_detail_area .news_detail_cts.news_20231110 .list_office li {
    width: 44vw;
    margin: 0 1vw 1vw;
  }
  #news .main_area .news_detail_area .news_detail_cts.news_20231110 .list_office li:nth-child(-n+2) {
    margin-bottom: 2vw;
  }
  #news .main_area .news_detail_area .news_detail_cts.news_20231110 .map_area .map {
    padding-bottom: 72%;
  }

}




/*-------campany-------*/
#company .main_area .campany_area {
  max-width: 1220px;
  margin: 0 auto;
  padding: 0 10px;
  box-sizing: border-box;
}
#company .main_area .campany_area .info_area {
  width: 700px;
  margin: 0 auto 60px;
  text-align: center;
}
#company .main_area .campany_area .info_area .subttl {
  text-align: center;
  margin: 0 auto 40px;
}
#company .main_area .campany_area .info_area .tbl_info {
  width: 100%;
  border-collapse: collapse;
}
#company .main_area .campany_area .info_area .tbl_info th {
  border: solid 1px #ccc;
  width: 8em;
  padding: 5px 10px;
  background: #f3f3f3;
  color: #5886cc;
}
#company .main_area .campany_area .info_area .tbl_info td {
  border: solid 1px #ccc;
  text-align: left;
  padding: 5px 10px;
}
#company .main_area .campany_area .info_area .tbl_info td .td_ttl {
  font-weight: bold;
}
#company .main_area .campany_area .info_area .tbl_info td .notice {
  display: inline-block;
  text-indent: -1em;
  padding: 0 0 0 1em;
}
#company .main_area .campany_area .info_area .list_officer {
  display: flex;
  flex-wrap: wrap;
}
#company .main_area .campany_area .info_area .list_officer dt {
  width: 9em;
  font-weight: bold;
}
#company .main_area .campany_area .info_area .list_officer dd {
  width: calc(100% - 9em);
}
#company .main_area .campany_area .history_area {
  width: 700px;
  margin: 0 auto;
  text-align: center;
}
#company .main_area .campany_area .history_area .subttl {
  text-align: center;
  margin: 0 auto 40px;
}
#company .main_area .campany_area .history_area .tbl_info {
  width: 100%;
  border-collapse: collapse;
}
#company .main_area .campany_area .history_area .tbl_info th {
  border: solid 1px #ccc;
  width: 4em;
  padding: 5px 10px;
  background: #f3f3f3;
  color: #5886cc;
}
#company .main_area .campany_area .history_area .tbl_info td {
  border: solid 1px #ccc;
  text-align: left;
  padding: 5px 10px;
}
#company .main_area .access_area {
  text-align: center;
  margin: 0 auto 60px;
  display: flex;
  justify-content: center;
}
#company .main_area .access_area .access {
  width: 600px;
}
#company .main_area .access_area .address_area {
  margin: 0 0 20px;
}
#company .main_area .access_area .access_name {
  font-size: 14px;
  font-weight: bold;
  color: #333;
  margin: 0 auto 10px;
}
#company .main_area .access_area .access_address {
  font-size: 14px;
  color: #333;
}
#company .main_area .access_area .access_tel {
  display: flex;
  justify-content: center;
}
#company .main_area .access_area .access_tel li {
  font-size: 14px;
  color: #333;
}
#company .main_area .access_area .access_tel li:first-child {
  margin: 0 1em 0 0;
}
#company .main_area .access_area .access_tel li a {
  color: #333;
  text-decoration: none;
}
#company .main_area .map_area {
  max-width: 590px;
  margin: 0 auto;
}
#company .main_area .map_area .map {
  position: relative;
  padding-bottom: 60%;
  height: 0;
  overflow: hidden;
}
#company .main_area .map_area .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
#company .main_area .notice_area {
  max-width: 700px;
  margin: 0 auto;
  padding: 0 10px;
  box-sizing: border-box;
}
#company .main_area .notice_area:not(:last-child) {
  margin: 0 auto 60px;
}
#company .main_area .notice_area .notice_ttl {
  font-size: 18px;
  font-weight: bold;
  margin: 0 auto 10px;
}
#company .main_area .notice_area .notice_txt_area {
  margin: 0 auto 30px;
}
#company .main_area .notice_area .notice_txt {
  font-size: 14px;
  color: #333;
}
#company .main_area .notice_area .notice_txt span {
  font-weight: bold;
}
#company .main_area .notice_area .notice_notes {
  font-size: 14px;
  color: #333;
  line-height: 1.4;
  text-indent: -1em;
  padding:  0 0 0 1em;
}
#company .main_area .notice_area .notice_img {
}
#company .main_area .notice_area .notice_img img {
  width: 100%;
  height: auto;
}
#company .main_area .notice_area .notice_parking {
  display: flex;
}
#company .main_area .notice_area .notice_parking .notice_txt_area {
  width: calc(50% - 1em);
  margin: 0 1em 0 0;
}
#company .main_area .notice_area .notice_parking .notice_img {
  width: 50%;
}

@media only screen and (max-width: 767px) {
  #company .main_area .campany_area {
    max-width: 100%;
    padding: 0 4vw;
  }
  #company .main_area .campany_area .info_area {
    width: 100%;
    margin: 0 auto 10vw;
  }
  #company .main_area .campany_area .info_area .subttl {
    margin: 0 auto 6vw;
  }
  #company .main_area .campany_area .info_area .tbl_info th {
    width: 4em;
  }
  #company .main_area .campany_area .history_area {
    width: 100%;
  }
  #company .main_area .campany_area .history_area .subttl {
    margin: 0 auto 6vw;
  }
  #company .main_area .access_area {
    display: block;
    text-align: left;
    margin: 0 auto 8vw;
  }
  #company .main_area .access_area .access {
    width: 100%;
  }
  #company .main_area .access_area .access:first-child {
    margin: 0 auto 8vw;
  }
  #company .main_area .access_area .address_area {
    margin: 0 4vw 2vw;
  }
  #company .main_area .access_area .access_name {
    font-size: 12px;
    margin: 0 auto;
  }
  #company .main_area .access_area .access_address {
    font-size: 12px;
  }
  #company .main_area .access_area .access_tel {
    display: block;
  }
  #company .main_area .access_area .access_tel li {
    font-size: 12px;
  }
  #company .main_area .access_area .access_tel li:first-child {
    margin: 0;
  }
  #company .main_area .map_area {
    max-width: 100%;
    margin: 0;
  }
  #company .main_area .map_area .map {
    padding-bottom: 72%;
  }
  #company .main_area .notice_area {
    max-width: 100%;
    padding: 0 4vw;
  }
  #company .main_area .notice_area:not(:last-child) {
    margin: 0 auto 10vw;
  }
  #company .main_area .notice_area .notice_ttl {
    font-size: 15px;
  }
  #company .main_area .notice_area .notice_txt_area {
    margin: 0 auto 5vw;
  }
  #company .main_area .notice_area .notice_txt {
    font-size: 13px;
  }
  #company .main_area .notice_area .notice_notes {
    font-size: 13px;
  }
  #company .main_area .notice_area .notice_img {
    margin: 0 auto 6vw;
  }
  #company .main_area .notice_area .notice_parking {
    display: flex;
    flex-direction: column-reverse;
  }
  #company .main_area .notice_area .notice_parking .notice_txt_area {
    width: 100%;
    margin: 0 auto 10vw;
  }
  #company .main_area .notice_area .notice_parking .notice_img {
    width: 100%;
  }
}



/*-------recruit-------*/
#recruit .main_area .recruit_area {
  max-width: 1220px;
  margin: 0 auto 80px;
  padding: 0 10px;
  box-sizing: border-box;
}
#recruit .main_area .recruit_area .recruit_catch {
  text-align: center;
  font-size: 14px;
  color: #333;
}
#recruit .main_area .about_area {
  text-align: center;
}
#recruit .main_area .about_area p {
  font-size: 14px;
}
#recruit .main_area .ideal_area {
  text-align: center;
}
#recruit .main_area .ideal_area .ideal_list ul {
  display: inline-block;
}
#recruit .main_area .ideal_area .ideal_list ul li {
  text-align: left;
  text-indent: -1em;
  padding: 0 0 0 1em;
}
#recruit .main_area .type_area {
}
#recruit .main_area .type_area .type {
  display: flex;
  justify-content: center;
}
#recruit .main_area .type_area .type > div {
  margin: 0 0.5em;
  background: #f3f3f3;
  padding: 10px 15px;
  border-radius: 10px;
}
#recruit .main_area .type_area .type .type_ttl {
  font-weight: bold;
  color: #5886cc;
  text-align: center;
  margin: 0 auto 0.5em;
  border-bottom: solid 1px #5886cc;
}
#recruit .main_area .type_area .type ul li {
  text-indent: -1em;
  padding: 0 0 0 1em;
}
#recruit .main_area .type_area .type ul li:not(:last-child) {
  margin: 0 auto 0.5em;
}
#recruit .main_area .type_area .type ul li a {
  color: #5886cc;
}
#recruit .main_area .type_area .type ul li a:hover {
  text-decoration: none;
}
#recruit .main_area .deadline_area {
  text-align: center;
}
#recruit .main_area .deadline_area ul {
  display: inline-block;
  background: #f3f3f3;
  padding: 10px 15px;
  border-radius: 10px;
}
#recruit .main_area .deadline_area ul li {
  text-align: left;
  font-size: 16px;
}
#recruit .main_area .deadline_area ul li:not(:last-child) {
  margin: 0 auto 0.5em;
}
#recruit .main_area .deadline_area ul li .ttl {
  color: #5886cc;
  font-weight: bold;
}
#recruit .main_area .deadline_area ul li .end {
  font-weight: bold;
}
#recruit .main_area .method_area {
  text-align: center;
}
#recruit .main_area .occupation_area {
}
#recruit .main_area .occupation_area .occupation_list {
  text-align: center;
}
#recruit .main_area .occupation_area .occupation_list ul {
  display: inline-block;
  margin: 0 auto 1em;
}
#recruit .main_area .occupation_area .occupation_list ul li {
  text-align: left;
  list-style: disc inside;
  font-size: 14px;
  color: #333;
  margin: 0 auto 0.5em;
}
#recruit .main_area .occupation_area .occupation_list ul li .now {
  color: #5b77a2;
  font-weight: bold;
  margin: 0 0 0 1em;
}
#recruit .main_area .occupation_area .occupation_list ul li .not {
  color: #b43141;
  font-weight: bold;
  margin: 0 0 0 1em;
}
#recruit .main_area .occupation_area .occupation_outline {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#recruit .main_area .occupation_area .occupation_outline .outline_column {
  width: 49%;
  background: #f3f3f3;
  border-radius: 10px;
  padding: 25px;
  box-sizing: border-box;
  margin: 0 0 20px;
}
#recruit .main_area .occupation_area .occupation_outline .outline_ttl {
  font-size: 18px;
  font-weight: bold;
  margin: 0 auto 0.5em;
}
#recruit .main_area .occupation_area .occupation_outline .outline_ttl .now {
  font-size: 14px;
  color: #5b77a2;
  margin: 0 0 0 1em;
}
#recruit .main_area .occupation_area .occupation_outline .outline_ttl .not {
  font-size: 14px;
  color: #b43141;
  margin: 0 0 0 1em;
}
#recruit .main_area .occupation_area .occupation_outline .outline_txt {
  font-size: 14px;
  color: #333;
  margin: 0 auto 1em;
}
#recruit .main_area .occupation_area .occupation_outline .outline_list {
  display: flex;
  flex-wrap: wrap;
}
#recruit .main_area .occupation_area .occupation_outline .outline_list dt {
  font-size: 14px;
  font-weight: bold;
  color: #4c4c4c;
  line-height: 1.3;
  text-align: right;
  margin: 0 15px 10px 0;
  width: 5em;
}
#recruit .main_area .occupation_area .occupation_outline .outline_list dd {
  font-size: 14px;
  color: #333;
  line-height: 1.3;
  text-align: left;
  margin: 0 0 10px 0;
  width: calc(100% - 5em - 15px);
}
#recruit .main_area .occupation_area .occupation_outline .outline_doc {
  margin: 0 0 0 1.5em;
}
#recruit .main_area .occupation_area .occupation_outline .outline_doc li {
  list-style: disc outside;
  margin: 0 auto 0.2em;
}
#recruit .main_area .occupation_area .occupation_outline .list_notes {
}
#recruit .main_area .occupation_area .occupation_outline .list_notes li {
  text-indent: -1em;
  padding: 0 0 0 1em;
}
#recruit .main_area .recruit_detail_area {
  width: 700px;
  margin: 0 auto;
}
#recruit .main_area .recruit_detail_area .ttl_area {
  padding: 0 0 60px;
}
#recruit .main_area .recruit_detail_area .txt_area {
  width: 700px;
  margin: 0 auto 60px;
}
#recruit .main_area .recruit_detail_area .txt_area dt {
  font-weight: bold;
  color: #5886cc;
  margin: 0 auto 5px;
}
#recruit .main_area .recruit_detail_area .txt_area dd:not(:last-child) {
  margin: 0 auto 30px;
}
#recruit .main_area .recruit_detail_area .tbl_info {
  width: 100%;
  border-collapse: collapse;
  margin: 0 auto 60px;
}
#recruit .main_area .recruit_detail_area .tbl_info th {
  border: solid 1px #ccc;
  width: 8em;
  padding: 5px 10px;
  background: #f3f3f3;
  color: #5886cc;
}
#recruit .main_area .recruit_detail_area .tbl_info td {
  border: solid 1px #ccc;
  text-align: left;
  padding: 5px 10px;
}
#recruit .main_area .recruit_detail_area .tbl_info td .info_notice {
  text-indent: -1em;
  padding: 0 0 0 1em;
}
#recruit .main_area .recruit_detail_area .tbl_info td .info_list li {
  text-indent: -1em;
  padding: 0 0 0 1em;
}
#recruit .main_area .recruit_detail_area .btn_entry {
  text-align: center;
}
#recruit .main_area .recruit_detail_area .btn_entry a {
  text-decoration: none;
  display: inline-block;
  background: #5886cc;
  border-radius: 6px;
  padding: 0.5em 5em;
  color: #fff;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}
#recruit .main_area .recruit_detail_area .btn_entry a:hover {
  opacity: 0.6;
}

@media only screen and (max-width: 767px) {
  #recruit .main_area .recruit_area {
    max-width: 100%;
    margin: 0 auto 12vw;
    padding: 0 4vw;
  }
  #recruit .main_area .recruit_area .recruit_catch {
    text-align: left;
    font-size: 13px;
  }



  #recruit .main_area .about_area {
    text-align: left;
  }
  #recruit .main_area .about_area p {
    font-size: 13px;
  }
  #recruit .main_area .type_area .type {
    display: block;
  }
  #recruit .main_area .type_area .type > div {
    margin: 0 auto;
  }
  #recruit .main_area .type_area .type > div:not(:last-child) {
    margin: 0 auto 1em;
  }
  #recruit .main_area .deadline_area ul li {
    font-size: 14px;
  }
  #recruit .main_area .method_area {
    text-align: left;
  }
  #recruit .main_area .occupation_area .occupation_list ul li {
    margin: 0 auto 0.5em;
  }
  #recruit .main_area .occupation_area .occupation_outline {
    display: block;
  }
  #recruit .main_area .occupation_area .occupation_outline .outline_column {
    width: 100%;
    padding: 4vw;
    margin: 0 auto 4vw;
  }
  #recruit .main_area .occupation_area .occupation_outline .outline_ttl {
    font-size: 15px;
    margin: 0 auto 1.5em;
    line-height: 1;
  }
  #recruit .main_area .occupation_area .occupation_outline .outline_ttl .now {
    font-size: 13px;
    margin: 0.5em 0 0;
    display: block;
  }
  #recruit .main_area .occupation_area .occupation_outline .outline_ttl .not {
    font-size: 13px;
    margin: 0.5em 0 0;
    display: block;
  }
  #recruit .main_area .occupation_area .occupation_outline .outline_txt {
    font-size: 13px;
  }
  #recruit .main_area .occupation_area .occupation_outline .outline_list {
    display: block;
  }
  #recruit .main_area .occupation_area .occupation_outline .outline_list dt {
    font-size: 13px;
    text-align: left;
    margin: 0;
    width: 100%;
  }
  #recruit .main_area .occupation_area .occupation_outline .outline_list dd {
    font-size: 13px;
    margin: 0;
    width: 100%;
  }
  #recruit .main_area .recruit_detail_area {
    width: 100%;
    padding: 0 4vw;
    box-sizing: border-box;
  }
  #recruit .main_area .recruit_detail_area .ttl_area {
    padding: 0 0 6vw;
  }
  #recruit .main_area .recruit_detail_area .txt_area {
    width: 100%;
    margin: 0 auto 6vw;
  }
  #recruit .main_area .recruit_detail_area .txt_area dt {
    text-align: center;
  }
  #recruit .main_area .recruit_detail_area .txt_area dd:not(:last-child) {
    margin: 0 auto 4vw;
  }
  #recruit .main_area .recruit_detail_area .tbl_info {
    margin: 0 auto 10vw;
  }
  #recruit .main_area .recruit_detail_area .tbl_info th {
    width: 5em;
  }
  #recruit .main_area .recruit_detail_area .btn_entry {
    margin: 0 auto 6vw;
  }
  #recruit .main_area .recruit_detail_area .btn_entry a:hover {
    opacity: 1;
  }
}



/*-------contact-------*/
#contact .main_area .contact_area {
  max-width: 1220px;
  margin: 0 auto 50px;
  padding: 0 10px;
  box-sizing: border-box;
}
#contact .main_area .contact_area .contact_txt {
  text-align: center;
  font-size: 14px;
  color: #333;
}

@media only screen and (max-width: 767px) {
  #contact .main_area .contact_area {
    max-width: 100%;
    margin: 0 auto 9vw;
    padding: 0 4vw;
  }
  #contact .main_area .contact_area .contact_txt {
    text-align: left;
    font-size: 13px;
  }
}



/*-------form-------*/
.main_area .form_area_wrap {
  background: #f3f3f3;
  padding: 50px 0;
}
.main_area .form_area {
  max-width: 970px;
  margin: 0 auto;
  padding: 0 10px;
  box-sizing: border-box;
}
.main_area .form_area .wsm_confirmarea {
  text-align: center;
  margin: 0 auto 2em;
}
.main_area .form_area .ttl_area {
  padding-top: 0;
}
.main_area .form_area .form_tbl {
  width: 100%;
  border-collapse: collapse;
}
.main_area .form_area .form_tbl th {
  font-size: 14px;
  text-align: right;
  vertical-align: top;
  width: 16em;
  padding: 0 1em 0 0;
  box-sizing: border-box;
}
.wsm_confirm .main_area .form_area .form_tbl th {
  padding: 0 1em 2em 0;
}
.main_area .form_area .form_tbl th .required {
  font-weight: normal;
  display: block;
  line-height: 1;
  margin: 0 -5px 0 0;
}
.main_area .form_area .form_tbl th .wsm_label {
  margin: 0 auto;
}
.main_area .form_area .form_tbl td {
  width: calc(100% - 16em);
}
.wsm_confirm .main_area .form_area .form_tbl td {
  padding: 0 0 2em 0;
}
.main_area .form_area .form_tbl td .wsm_inputarea {
  display: block;
  width: 60%;
}
.main_area .form_area .form_tbl td.cts_area .wsm_inputarea {
  width: 100%;
  line-height: 1;
}
.main_area .form_area .form_tbl td input {
  width: 100%;
  border: solid 2px #ccc;
  border-radius: 0;
  padding: 5px;
}
.main_area .form_area .form_tbl td textarea {
  width: 100%;
  border: solid 2px #ccc;
  border-radius: 0;
  resize: vertical;
  padding: 5px;
  height: 18em;
}
.main_area .form_area .form_tbl td .wsm_selectarea {
  background: #fff;
}
.main_area .form_area .form_tbl td .wsm_selectarea::after {
  border-top: solid 0.6em #5886cc;
}
.main_area .form_area .form_tbl td .wsm_selectarea select {
  border: solid 2px #ccc;
  border-radius: 0;
  padding: 5px;
}
.main_area .form_area .brn_area {
  text-align: center;
  margin: 1em auto 0;
}
.main_area .form_area .brn_area .wsm_btn {
  cursor: pointer;
  background: #5886cc;
  border-radius: 6px;
  padding: 0.5em 5em;
}
.main_area .form_area .brn_area .wsm_btn.wsm_backbtn {
  background: #ddd;
}

.wsm_confirm .main_area .contact_area,
.wsm_sending .main_area .contact_area,
.wsm_done .main_area .contact_area {
  display: none;
}
.wsm_confirm .main_area .recruit_area,
.wsm_sending .main_area .recruit_area,
.wsm_done .main_area .recruit_area {
  display: none;
}

@media only screen and (max-width: 767px) {
  .main_area .form_area_wrap {
    padding: 9vw 0;
  }
  .main_area .form_area {
    max-width: 100%;
    padding: 0 4vw;
  }
  .main_area .form_area .form_tbl th {
    font-size: 13px;
    text-align: left;
    width: 100%;
    padding: 0;
    display: block;
  }
  .wsm_confirm .main_area .form_area .form_tbl th {
    padding: 0;
  }
  .main_area .form_area .form_tbl th .required {
    display: inline;
    margin: 0;
  }
  .main_area .form_area .form_tbl th .wsm_label {
    margin: 0 auto 2px;
  }
  .main_area .form_area .form_tbl td {
    width: 100%;
    display: block;
  }
  .main_area .form_area .form_tbl td .wsm_inputarea {
    width: 100%;
  }
  .main_area .form_area .form_tbl td .wsm_selectarea {
    width: 100%;
    max-width: calc(100vw - 2em);
  }
}
