/*
###################################################################################################################################

#visual

###################################################################################################################################
*/
/*visual ------------------------------------------------------------------------------------*/
#visual h1 {
  color: #FFFFFF;
}
@media screen and (min-width:768px), print {
  /*visual pc ------------------------------------------------------------------------------------*/
  #visual {
    background-image: url(../../images/area/data/mv_case_01_pc.png);
  }
}
@media screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  /*visual tab ------------------------------------------------------------------------------------*/
}
@media only screen and (max-width: 767px) {
  /*visual sp ------------------------------------------------------------------------------------*/
  #visual {
    background-image: url(../../images/area/data/mv_case_01_sp.png);
  }
}
/*
###################################################################################################################################

body.area

###################################################################################################################################
*/
body.area .list .ttl {
  font-weight: 500;
}
@media (min-width:768px), print {
  /*body.area pc ------------------------------------------------------------------------------------*/
  body.area .list > li {
    flex-basis: 31.6%;
    margin-bottom: 70px;
  }
  body.area .list .ttl {
    font-size: 2rem;
    margin: 15px 0 10px;
  }
  body.area .list .txt {
    margin-bottom: 40px;
  }
  body.area .list .btn01 > a {
    padding: 8px 0;
  }
}
@media screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  /*body.area tab ------------------------------------------------------------------------------------*/
}
@media (max-width: 767px) {
  /*body.area sp ------------------------------------------------------------------------------------*/
  body.area #sec01 {
    margin: 8.33vw 0;
  }
  body.area .list > li {
    margin-bottom: 8.33vw;
  }
  body.area .list > li:last-child {
    margin-bottom: 0;
  }
  body.area .list .ttl {
    margin: 4.17vw 0;
    font-size: 4.17vw;
  }
  body.area .list .txt {
    margin-bottom: 4.17vw;
  }
}
/*
###################################################################################################################################

body.data

###################################################################################################################################
*/
/*
###################################################################################################################################

#sec01

###################################################################################################################################
*/
/*sec01 ------------------------------------------------------------------------------------*/
body.data #sec01 .download_btn > a {
  display: inline-block;
  color: #FFFFFF;
  background-color: #56BD87;
  text-decoration: none;
  line-height: 1.1;
}
body.data #sec01 .download_btn > a:before {
  content: "";
  border: 1px solid;
  border-color: #FFFFFF #FFFFFF transparent transparent;
  transform: rotate(45deg);
  position: absolute;
  bottom: 0;
  margin: auto 0;
  top: 0;
}
body.data #sec01 .tbl_style01 td {
  vertical-align: top;
}
body.data #sec01 .tbl_style01 td:last-child {
  vertical-align: middle;
}
@media screen and (min-width:768px), print {
  /*sec01 pc ------------------------------------------------------------------------------------*/
  body.data #sec01 {
    padding-bottom: 100px;
  }
  body.data #sec01 .lead {
    margin: 0 100px 40px;
  }
  body.data #sec01 .tbl_style01 th {
    background-color: #EAF4FC;
  }
  body.data #sec01 .tbl_style01 th:first-child, body.data #sec01 .tbl_style01 td:first-child {
    /*width: 41.6%;*/
      width: 35%;
  }
  body.data #sec01 .tbl_style01 th:nth-child(2), body.data #sec01 .tbl_style01 td:nth-child(2) {
    /*width: 41.6%;*/
      width: auto;
  }
  body.data #sec01 .tbl_style01 .txt {
    font-size: 1.2rem;
    margin-top: 10px;
  }
  body.data #sec01 .download_btn > a {
    /*padding: 10px 40px 10px 20px;*/
    padding: 10px 20px 10px 10px;
    width: 120px;
    position: relative;
    font-size: 1.4rem;
  }
  body.data #sec01 .download_btn > a:before {
    width: 5px;
    height: 5px;
    /*right: 10px;*/
    right:25px;
  }
  body.data #sec01 .tbl_style01 th:last-child, body.data #sec01 .tbl_style01 td:last-child {
    text-align: center;
      width: 15%;
  }
}
@media screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  /*sec01 tab ------------------------------------------------------------------------------------*/
}
@media only screen and (max-width: 767px) {
  /*sec01 sp ------------------------------------------------------------------------------------*/
  body.data #sec01 {
    padding: 8.33vw 0 10.42vw;
  }
  body.data #sec01 .lead {
    margin-bottom: 5.56vw;
  }
  body.data #sec01 .tbl_style01 {
    border-right: 1px solid #8b8b8b;
    border-left: 1px solid #8b8b8b;
    border-top: 1px solid #8b8b8b;
  }
  body.data #sec01 .tbl_style01 th, body.data #sec01 .tbl_style01 td {
    display: block;
    padding: 2.78vw 6vw;
    border: none;
    border-bottom: 1px solid #8b8b8b;
  }
  body.data #sec01 .tbl_style01 th {
    text-align: left;
    background-color: #AECEE9;
    font-weight: 500;
  }
  body.data #sec01 .tbl_style01 th:last-child {
    display: none;
  }
  body.data #sec01 .tbl_style01 td:first-child {
    padding: 3.47vw 6vw;
    background-color: #EAF4FC;
  }
  body.data #sec01 .tbl_style01 td:nth-child(2) {
    padding: 4.17vw 6vw 0;
    border-bottom: none;
  }
  body.data #sec01 .tbl_style01 td:last-child {
    padding: 0 5.56vw 6vw;
  }
  body.data #sec01 .tbl_style01 .txt {
    font-size: 2.78vw;
    margin-top: 1.39vw;
  }
  body.data #sec01 .btn_wrap {
    width: 41.67vw;
    margin-right: auto;
    text-align: center;
  }
  body.data #sec01 .download_btn {
    margin-top: 6vw;
  }
  body.data #sec01 .download_btn > a {
    /*padding: 2vw 6vw;*/
    padding: 2vw 6vw 2vw 4vw;
    position: relative;
    text-align: center;
    width: calc(100% - 12vw);
  }
  body.data #sec01 .download_btn > a:before {
    width: 1.39vw;
    height: 1.39vw;
    /*right: 3vw;*/
    right: 7vw;
    top:0.5vw;
  }
}
/*
###################################################################################################################################

body.list

###################################################################################################################################
*/
/*
###################################################################################################################################

#sec01

###################################################################################################################################
*/
/*sec01 ------------------------------------------------------------------------------------*/
body.list #sec01 {
  background: linear-gradient(45deg, #ecf5fe, #cbe2ff);
}
body.list #sec01 .group_list > li .ttl {
  text-align: center;
  font-weight: 700;
}
body.list #sec01 .group_box {
  position: relative;
}
body.list #sec01 .group_list {
  position: relative;
}
body.list #sec01 .group_list > li .txt {
  text-align: center;
}
body.list #sec02 .lead {
  text-align: center;
}
body.list #sec02 .job_list > li {
  border-bottom: 1px solid #c9c8c8;
}
body.list #sec02 .job_list > li:first-child {
  padding-top: 0px;
}
body.list #sec03 .tbl_style02 td .web_btn > a {
  text-decoration: none;
  color: #303030;
  border: 1px solid #C1C1C1;
  display: inline-block;
  position: relative;
  text-align: center;
}
body.list #sec03 .tbl_style02 td .web_btn > a:before {
  content: "";
  position: absolute;
  background-image: url(../../images/common/icon_job_01.svg);
  background-repeat: no-repeat;
  top: 0px;
  margin: auto 0;
  bottom: 0px;
}
@media screen and (min-width:768px), print {
  /*sec01 pc ------------------------------------------------------------------------------------*/
  body.list #topicspath {
    position: absolute;
    left: 0px;
    right: 0px;
  }
  body.list #sec01 {
    padding: 135px 0 40px;
  }
  body.list #sec01 .container {
    max-width: 875px;
    min-width: 875px;
  }
  body.list #sec01 .group_list {
    height: 450px;
  }
  body.list #sec01 .group_pic {
    position: absolute;
    left: 0;
    right: 0px;
    bottom: 0px;
    margin: 0 auto;
    z-index: 1;
    text-align: center;
  }
  body.list #sec01 .group_list > li {
    width: 229px;
    height: 163px;
    position: absolute;
    top: 0;
    background-image: url(../../images/area/list/bg_list_01.png);
    justify-content: center;
    align-items: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
  }
  body.list #sec01 .group_list > li:nth-child(1) {
    margin: 0 auto;
    right: 0;
    left: 0;
  }
  body.list #sec01 .group_list > li:nth-child(2) {
    left: 75px;
    top: 55px;
  }
  body.list #sec01 .group_list > li:nth-child(3) {
    right: 75px;
    top: 55px;
  }
  body.list #sec01 .group_list > li:nth-child(4) {
    left: 0px;
    top: 240px;
  }
  body.list #sec01 .group_list > li:nth-child(5) {
    right: 0px;
    top: 240px;
  }
  body.list #sec01 .group_list > li .inner {
    padding: 0 5px;
  }
  body.list #sec01 .group_list > li .ttl {
    margin-bottom: 15px;
    font-size: 1.6rem;
  }
  body.list #sec01 .group_list > li .ttl span {
    font-size: 1.3rem;
  }
  body.list #sec01 .group_list > li .txt {
    font-size: 1.4rem;
    line-height: 1.4;
  }
  body.list #sec02 {
    margin: 70px 0 100px;
  }
  body.list #sec02 .secttl {
    margin-bottom: 25px;
  }
  body.list #sec02 .lead {
    margin-bottom: 65px;
    font-size: 1.6rem;
  }
  body.list #sec02 .job_list > li {
    padding: 40px 0;
  }
  body.list #sec02 .job_list > li .pic {
    flex-basis: 38.3%;
  }
  body.list #sec02 .job_list > li .txtbox {
    flex-basis: 57.5%;
  }
  body.list #sec02 .job_list > li .ttl {
    font-size: 1.8rem;
    margin: 20px 0 5px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    font-weight: 500;
  }
  body.list #sec02 .job_list > li .ttl:first-child {
    margin-top: 0px;
  }
  body.list #sec02 .job_list > li .txt {
    font-size: 1.4rem;
  }
  body.list #sec03 {
    padding: 0px 0 70px;
  }
  body.list #sec03 .tbl_style02 th:first-child, body.list #sec03 .tbl_style02 td:first-child {
    /*width: 210px;*/
      width: 30%;
  }
  body.list #sec03 .tbl_style02 th:last-child, body.list #sec03 .tbl_style02 td:last-child {
    /*width: 920px;*/
      width: 70%;
  }
  body.list #sec03 .tbl_style02 td dl.flexbox {}
  body.list #sec03 .tbl_style02 td dl.flexbox dt {
    flex-basis: 81.5%;
  }
  body.list #sec03 .tbl_style02 td dl.flexbox dd {
    flex-basis: 15.7%;
  }
  body.list #sec03 .tbl_style02 td .web_btn {}
  body.list #sec03 .tbl_style02 td .web_btn > a {
    font-size: 1.4rem;
    display: block;
    padding-left: 20px;
    width: 70px
  }
  body.list #sec03 .tbl_style02 td .web_btn > a:before {
    width: 19px;
    height: 18px;
    left: 15px;
  }
}
@media screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  /*sec01 tab ------------------------------------------------------------------------------------*/
  body.list #topicspath {
    max-width: 1400px;
    padding: 0 100px;
  }
}
@media only screen and (max-width: 767px) {
  /*sec01 sp ------------------------------------------------------------------------------------*/
  body.list #sec01 {
    padding: 8.33vw 0;
  }
  body.list #sec01 .group_list {
    justify-content: space-between;
    align-items: center;
    display: flex;
    flex-flow: wrap;
    margin-bottom: 4.86vw;
  }
  body.list #sec01 .group_list > li {
    flex-basis: 42.36vw;
    height: 32.64vw;
    margin-bottom: 2.78vw;
  }
  body.list #sec01 .group_list > li:nth-child(1) {
    flex-basis: 100%;
  }
  body.list #sec01 .group_list > li .inner {
    justify-content: center;
    align-items: center;
    display: flex;
    flex-flow: column;
    flex-basis: 42.36vw;
    height: 32.64vw;
    background-image: url(../../images/area/list/bg_list_01_sp.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    margin: 0 auto;
  }
  body.list #sec01 .group_list > li .ttl {
    margin-bottom: 2.78vw;
    letter-spacing: 0.02em;
  }
  body.list #sec01 .group_list > li .ttl, body.list #sec01 .group_list > li .txt {
    padding: 0 3vw;
  }
  body.list #sec02 {
    margin: 8.33vw 0 9.72vw;
  }
  body.list #sec02 .lead {
    margin-bottom: 6.94vw;
  }
  body.list #sec02 .job_list > li {
    padding: 8.33vw 0;
    display: block;
  }
  body.list #sec02 .job_list > li .ttl {
    font-weight: 700;
    margin: 3.47vw 0;
    font-size: 4vw;
  }
  body.list #sec03 {
    margin: 8.33vw 0;
  }
  body.list #sec03 .tbl_style02 td dl.flexbox {
    display: block;
  }
  body.list #sec03 .tbl_style02 td .web_btn > a {
    /*width: 31.94vw;*/
    width: 19vw;
    /*padding: 2vw 0;*/
    padding: 1vw 0;
    padding-left: 20px;
  }
  body.list #sec03 .tbl_style02 td .web_btn > a:before {
    width: 3.75vw;
    height: 3.47vw;
    /*left: 6vw;*/
    left: 4vw;
  }
  body.list #sec03 .tbl_style02 .add_txt {
    margin-bottom: 4.17vw;
  }
}
/*
###################################################################################################################################

body.case

###################################################################################################################################
*/
/*
###################################################################################################################################

#sec01

###################################################################################################################################
*/
/*sec01 ------------------------------------------------------------------------------------*/
body.case #sec01 .cat_list > li.green {
  background-color: #76CCB7;
}
body.case #sec01 .cat_list > li.blue {
  background-color: #1ba1e6;
}
body.case #sec01 .cat_list > li.yellow {
  background-color: #f49937;
}
body.case #sec01 .cat_list > li.pink {
  background-color: #fa5789;
}
body.case #sec01 .cat_list > li.purple {
  background-color: #b55df3;
}
body.case #sec01 .cat_list > li > a {
  text-decoration: none;
  color: #FFFFFF;
  display: block;
}
body.case .meta {
  align-items: center;
}
body.case #sec01 .list > li .ttl {
  font-weight: 700;
}
body.case #sec01 .list .ttl > a {
  color: #2F2F2F;
}
body.case .meta .cat > li a {
  color: #ffffff;
  display: block;
  line-height: 1.1;
  text-decoration: none;
}
body.case .meta .cat > li.green > a {
  background-color: #76CCB7;
}
body.case .meta .cat > li.blue > a {
  background-color: #1ba1e6;
}
body.case .meta .cat > li.yellow > a {
  background-color: #f49937;
}
body.case .meta .cat > li.pink > a {
  background-color: #fa5789;
}
body.case .meta .cat > li.purple > a {
  background-color: #b55df3;
}
@media screen and (min-width:768px), print {
  /*sec01 pc ------------------------------------------------------------------------------------*/
  body.case #sec01 {
    padding-bottom: 95px;
  }
  body.case #sec01 .btn01 > a {
    padding: 8px 0;
  }
  body.case #sec01 .cat_list {
    margin-bottom: 30px;
    justify-content: center;
  }
  body.case #sec01 .cat_list > li > a {
    font-size: 1.2rem;
    padding: 4px 10px 6px;
    line-height: 1.1;
  }
  body.case #sec01 .cat_list > li + li {
    margin-left: 10px;
  }
  body.case #sec01 .list {
    margin: 0 -1.15% 60px;
  }
  body.case #sec01 .list > li {
    flex-basis: 31%;
    margin: 0 1.15% 80px;
  }
  body.case #sec01 .list > li .pic {
    margin-bottom: 15px;
  }
  body.case #sec01 .list > li .ttl {
    margin-bottom: 20px;
    font-size: 1.7rem;
    letter-spacing: 0.03em;
  }
  body.case #sec01 .list > li .txt {
    margin-bottom: 35px;
  }
  body.case .meta {
    margin-bottom: 15px;
  }
  body.case .meta dt {
    margin-right: 10px;
  }
  body.case .meta .cat > li a {
    padding: 4px 10px 6px;
    font-size: 1.2rem;
  }
}
@media screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  /*sec01 tab ------------------------------------------------------------------------------------*/
  body.case #sec01 .cat_list > li > a {
    letter-spacing: 0.02em;
  }
  body.case .meta .cat > li a {
    letter-spacing: 0.02em;
  }
}
@media only screen and (max-width: 767px) {
  /*sec01 sp ------------------------------------------------------------------------------------*/
  body.case #sec01 {
    padding: 8.33vw 0 9vw;
  }
  body.case #sec01 .btn01 > a {
    padding: 4.86vw 0;
  }
  body.case #sec01 .cat_list {
    margin-bottom: 4.17vw;
  }
  body.case #sec01 .cat_list > li > a {
    font-size: 2.78vw;
    padding: 1vw 2vw;
  }
  body.case #sec01 .cat_list > li {
    margin-right: 2.78vw;
    margin-bottom: 2.78vw;
  }
  body.case #sec01 .list > li {
    flex-basis: 100%;
    margin-bottom: 6.94vw;
  }
  body.case #sec01 .list > li .pic {
    margin-bottom: 2.78vw;
  }
  body.case #sec01 .list > li .ttl {
    margin-bottom: 4.17vw;
  }
  body.case #sec01 .list > li .txt {
    margin-bottom: 6.25vw;
    font-size: 3vw;
  }
  body.case .meta {
    margin-bottom: 2vw;
  }
  body.case .meta dt {
    margin-right: 2vw;
    font-size: 3vw;
  }
  body.case .meta .cat > li a {
    padding: 1vw 2vw 1.6vw;
    font-size: 2.78vw;
  }
}
/*
###################################################################################################################################

body.single

###################################################################################################################################
*/
/*
###################################################################################################################################

#sec01

###################################################################################################################################
*/
/*sec01 ------------------------------------------------------------------------------------*/
body.single #contents {
  background-color: #EFF6F7;
}
body.single #sec01 .bg_white {
  background-color: #FFFFFF;
}
body.single #sec01 .postttl {
  font-weight: 500;
  line-height: 1.1;
}
body.single #sec01 .btn_wrap .prev > a:before {
  content: "＜";
}
body.single #sec01 .btn_wrap .next > a:after {
  content: "＞";
}
body.single #sec01 .navi_wrap {
  align-items: center;
}
body.single #sec01 .btn_wrap .prev > a, body.single #sec01 .btn_wrap .next > a, body.single #sec01 .btn_wrap .btn01 > a {
  color: #303030;
}
@media screen and (min-width:768px), print {
  /*sec01 pc ------------------------------------------------------------------------------------*/
  body.single #topicspath {
    margin: 25px auto 40px;
  }
  body.single #sec01 .bg_white {
    padding: 40px 150px 105px;
  }
  body.single #sec01 .postttl {
    margin-bottom: 50px;
    font-size: 3rem;
  }
  body.single #sec01 .btn_wrap {
    position: relative;
  }
  body.single #sec01 .btn_wrap .prev > a, body.single #sec01 .btn_wrap .next > a {
    font-size: 1.4rem;
  }
  body.single #sec01 .btn_wrap .btn01 {
    position: absolute;
    top: 0px;
    left: 0px;
    margin: 0 auto;
    right: 0px;
    width: 240px;
  }
  body.single #sec01 .btn_wrap .btn01 > a {
    padding: 15px 0;
  }
  body.single #sec01 .navi_wrap {
    margin: 0 195px;
    height: 60px;
  }
  body.single #sec01 .post-content {
    margin-bottom: 80px;
  }
}
@media screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  /*sec01 tab ------------------------------------------------------------------------------------*/
}
@media only screen and (max-width: 767px) {
  /*sec01 sp ------------------------------------------------------------------------------------*/
  body.single #sec01 {
    padding: 6.25vw 0 10.42vw;
  }
  body.single #sec01 .bg_white {
    padding: 5.56vw 6vw 13.19vw;
  }
  body.single #sec01 .postttl {
    font-size: 5.56vw;
    line-height: 1.5;
    margin-bottom: 3.47vw;
  }
  body.single #sec01 .btn_wrap .btn01 > a {
    margin: 0;
  }
  body.single #sec01 .navi_wrap {
    margin-bottom: 6.94vw;
  }
  body.single #sec01 .post-content {
    margin-bottom: 14.58vw;
  }
}