@charset "UTF-8";
/* color */
/* border */
/* fontsize */
/* indet */
/* customize */
.nomal {
  font-size: 13px;
  font-size: 1.3rem;
}

.small {
  font-size: 12px;
  font-size: 1.2rem;
  color: rgba(51, 51, 51, 0.8);
}

.big {
  font-size: 20px;
  font-size: 2rem;
}

/* ---------------------------------------------------------
  tsj.css
----------------------------------------------------------*/
.container a {
  display: inline-block;
}

.main_visual {
  display: none;
}
@media print, screen and (min-width: 641px) {
  .main_visual {
    display: block;
  }
}

.tsj_header {
  text-align: center;
}

.tsj_header-visual {
  background: #26a7f8;
  padding: 30px 60px;
}
@media print, screen and (min-width: 641px) {
  .tsj_header-visual {
    height: 350px;
    padding: 0;
    line-height: 365px;
  }
}

.tsj_header-visual img {
  vertical-align: middle;
}

.tsj_header-nav {
  margin-bottom: 30px;
  background: #26a7f8;
}
@media print, screen and (min-width: 641px) {
  .tsj_header-nav {
    margin-bottom: 0;
  }
}
@media print, screen and (min-width: 641px) {
  .tsj_header-nav ul {
    width: 960px;
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    text-align: center;
  }
}
.tsj_header-nav li {
  border-top: 1px solid #fff;
}
@media print, screen and (min-width: 641px) {
  .tsj_header-nav li {
    position: relative;
    border: none;
    width: 100%;
  }
}
@media print, screen and (max-width: 640px) {
  .tsj_header-nav li:last-child {
    border-bottom: 1px solid #fff;
  }
}
.tsj_header-nav li.active a {
  background: #fff;
  color: #26a7f8;
}
@media print, screen and (min-width: 641px) {
  .tsj_header-nav li.active a {
    background: #26a7f8;
    color: #fff;
  }
}
@media print, screen and (min-width: 641px) and (min-width: 641px) {
  .tsj_header-nav li.active a:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    margin-left: -10px;
    width: 20px;
    height: 3px;
    background: #fff;
  }
}
@media print, screen and (min-width: 641px) {
  .tsj_header-nav li:last-child:after {
    content: "";
    position: absolute;
    right: 0;
    top: 18px;
    width: 1px;
    height: 29px;
    background: #fff;
  }
}
.tsj_header-nav a {
  display: block;
  padding: 10px;
  color: #fff;
  text-decoration: none;
}
@media print, screen and (min-width: 641px) {
  .tsj_header-nav a {
    position: relative;
    width: 100%;
    height: 64px;
    padding: 0;
    line-height: 65px;
  }
}
@media print, screen and (min-width: 641px) {
  .tsj_header-nav a:before {
    content: "";
    position: absolute;
    left: 0;
    top: 18px;
    width: 1px;
    height: 29px;
    background: #fff;
  }
}
.tsj_header-nav a:hover {
  opacity: 1;
}
@media print, screen and (min-width: 641px) {
  .tsj_header-nav a:hover:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    margin-left: -10px;
    width: 20px;
    height: 3px;
    background: #fff;
  }
}

@media screen and (min-width: 641px) {
  .lower .clm_main {
    width: 960px;
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.lower .clm_main section .sec {
  margin-bottom: 90px;
}

.title {
  margin-top: 30px;
  margin-bottom: 30px;
  text-align: center;
}

.btn_tsj {
  border-style: solid;
  border-width: 1px;
  border-color: #11284a;
  border-radius: 3px;
  background-color: #11284a;
  color: white;
  text-decoration: none;
  text-align: center;
  padding: 15px;
  -webkit-box-shadow: white 0px 0px 1px 0 inset, #101e30 0px 0px 10px 0 inset;
  -moz-box-shadow: white 0px 0px 1px 0 inset, #101e30 0px 0px 10px 0 inset;
  box-shadow: white 0px 0px 1px 0 inset, #101e30 0px 0px 10px 0 inset;
  line-height: 1;
  border-color: #26a7f8;
  background: #26a7f8;
  -webkit-box-shadow: white 0px 0px 1px 0 inset, #26a7f8 0px 0px 10px 0 inset;
  -moz-box-shadow: white 0px 0px 1px 0 inset, #26a7f8 0px 0px 10px 0 inset;
  box-shadow: white 0px 0px 1px 0 inset, #26a7f8 0px 0px 10px 0 inset;
  display: inline-block;
  *display: inline;
  *zoom: 1;
  padding: 15px 30px;
  min-width: 240px;
  box-sizing: border-box;
}
.btn_tsj img {
  vertical-align: middle;
  margin: 0 5px 3px 0;
  width: auto !important;
}

.list_tsj {
  overflow: hidden;
  *zoom: 1;
}
.list_tsj li {
  float: left;
  width: 47%;
  margin: 0 6% 6% 0;
}
@media screen and (min-width: 641px) {
  .list_tsj li {
    width: 210px;
    margin: 0 38px 38px 0;
  }
}
.list_tsj li:nth-child(2n) {
  margin-right: 0;
}
@media screen and (min-width: 641px) {
  .list_tsj li:nth-child(2n) {
    margin-right: 38px;
  }
}
@media screen and (min-width: 641px) {
  .list_tsj li:last-child {
    margin-right: 0;
  }
}
.list_tsj figure {
  margin-bottom: 5px;
}
.list_tsj h1 {
  font-size: 14px;
  font-size: 1.4rem;
  margin: 0 8px;
}
.list_tsj p {
  font-size: 12px;
  font-size: 1.2rem;
  margin: 0 8px !important;
  line-height: 1.5;
}

.list_member-top a {
  padding: 4px;
  text-decoration: none;
  border: 1px solid #e5e5e5;
  border-radius: 5px;
}
.list_member-top .txt_company, .list_member-top .txt_position {
  font-size: 10px;
  font-size: 1rem;
  margin: 0 8px;
}
.list_member-top .txt_company {
  margin-top: 10px !important;
  line-height: 1.3;
}
.list_member-top .txt_position {
  margin-top: 5px !important;
  line-height: 1;
}
.list_member-top .txt_name {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: bold;
}

.list_activity article {
  padding: 4px 4px 8px 4px;
  text-decoration: none;
  border: 1px solid #e5e5e5;
  border-radius: 5px;
}

.list_member a {
  display: block;
}

.list_news {
  margin-bottom: 6%;
}
@media screen and (min-width: 641px) {
  .list_news {
    margin-bottom: 38px;
  }
}
.list_news li {
  border-bottom: 1px solid #d2d2d2;
}
.list_news li:first-child {
  border-top: 1px solid #d2d2d2;
}
.list_news a {
  display: block;
  text-decoration: none;
  padding: 15px 20px;
  background: url("../img/tsj/common/arrow_blue.png") no-repeat right 20px center;
}
@media screen and (min-width: 641px) {
  .list_news a {
    overflow: hidden;
    *zoom: 1;
  }
}
.list_news time {
  color: #26a7f8;
}
@media screen and (min-width: 641px) {
  .list_news time {
    float: left;
  }
}
.list_news p {
  width: 90%;
}
@media screen and (min-width: 641px) {
  .list_news p {
    width: 740px;
    padding-left: 140px;
  }
}

.btn_contact {
  margin: 10px auto 40px;
  width: 85%;
}
@media screen and (min-width: 641px) {
  .btn_contact {
    width: auto;
    margin: 30px auto 40px;
  }
}

/* ---------------------------------------------------------
  活動一覧
----------------------------------------------------------*/
@media screen and (max-width: 640px) {
  .activity .list_activity li {
    float: none;
    width: 100%;
  }
}
@media screen and (min-width: 641px) {
  .activity .list_activity li {
    width: 280px;
    margin: 0 60px 60px 0;
  }
}
@media screen and (min-width: 641px) {
  .activity .list_activity li:nth-child(3n) {
    margin-right: 0;
  }
}
.activity .list_activity article {
  padding: 10px;
}
.activity .list_activity article figure {
  text-align: center;
}
@media screen and (max-width: 640px) {
  .activity .list_activity article figure {
    margin: 20px 0;
  }
}
@media screen and (min-width: 641px) {
  .activity .list_activity h1 {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 641px) {
  .activity .list_activity p {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.5;
  }
}

/* ---------------------------------------------------------
  インタビュー&メンバー
----------------------------------------------------------*/
@media screen and (min-width: 641px) {
  .lower .member .clm_main {
    width: 710px;
  }
}

@media screen and (min-width: 641px) {
  .member .list_news a {
    padding: 0;
    background: none;
  }
}
.member .list_pager {
  font-size: 12px;
  font-size: 1.2rem;
}
@media screen and (min-width: 641px) {
  .member .btn_contact {
    width: 960px;
    margin: 0 auto;
    padding-top: 40px;
    border-top: 1px solid #11284a;
  }
}

/* ---------------------------------------------------------
  コンセプト
----------------------------------------------------------*/
@media screen and (min-width: 641px) {
  .concept .tsj_header-visual {
    height: 550px;
    line-height: 550px;
  }
}
.concept .container {
  background: #26a7f8;
  color: #fff;
}
.concept .container a {
  color: #fff;
  display: inline-block;
}
.concept .container .box {
  padding: 60px 30px 45px 30px;
  background: none;
  border: 1px solid #fff;
  box-shadow: none;
}
.concept .tsj_header-nav {
  margin-bottom: 0;
}
@media screen and (min-width: 641px) {
  .concept .breadcrumb {
    margin-top: 45px;
  }
}
.concept .breadcrumb li:first-child {
  background: url("../img/tsj/common/icon_home-white.png") no-repeat left center;
}
.concept .block {
  margin-bottom: 160px;
}
.concept .block .ttl {
  margin-bottom: 2em;
}
.concept .block p {
  margin-bottom: 2em;
}
.concept .block01 {
  margin-top: 40px;
  padding-bottom: 277px;
  background-image: url("../img/tsj/concept/bg01.png");
  background-repeat: no-repeat;
  background-position: center bottom;
}
@media screen and (min-width: 641px) {
  .concept .block01 {
    padding-bottom: 0;
    background-position: right bottom;
  }
}
.concept .block02 {
  padding-bottom: 311px;
  background-image: url("../img/tsj/concept/bg02.png");
  background-repeat: no-repeat;
  background-position: center bottom;
}
@media screen and (min-width: 641px) {
  .concept .block02 {
    padding-bottom: 0;
    background-position: right bottom;
  }
}
.concept .block03 {
  padding-bottom: 235px;
  background-image: url("../img/tsj/concept/bg03.png");
  background-repeat: no-repeat;
  background-position: center bottom;
}
@media screen and (min-width: 641px) {
  .concept .block03 {
    padding-bottom: 0;
    background-position: right bottom;
  }
}
.concept .block04 {
  text-align: center;
}
.concept .ttl_join {
  margin-bottom: 2em;
}
.concept .list_btn li {
  margin-bottom: 15px;
}
@media screen and (min-width: 641px) {
  .concept .list_btn li {
    width: 200px;
    display: inline-block;
    *display: inline;
    *zoom: 1;
    margin: 0 15px 15px 15px;
  }
}
