@charset "UTF-8";
/* ============================================================

  style info : ブラウザごとの初期スタイルをリセット

============================================================ */
body {
  -webkit-text-size-adjust: none;
}

html, body, div, p,
dl, dt, dd,
ul, ol, li,
h1, h2, h3, h4, h5, h6,
form, fieldset, input, textarea,
pre, blockquote,
th, td {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset, img {
  border: none;
}

input, textarea, select {
  font-size: 100%;
}

img {
  vertical-align: top;
}

address, caption, cite, code, dfn, th, var {
  font-style: normal;
  font-weight: normal;
}

em, strong, th {
  font-style: normal;
  font-weight: bold;
}

ol, ul {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: bold;
  /*line-height: 1.4;*/
}

q:before, q:after {
  content: '';
}

abbr, acronym {
  border: none;
}

* html .cf {
  zoom: 1;
}

* + html .cf {
  zoom: 1;
}

.cf:after {
  content: '';
  display: block;
  clear: both;
  font-size: 0;
}

/* width */
.w20 {
  width: 20px !important;
}

.w30 {
  width: 30px !important;
}

.w50 {
  width: 50px !important;
}

.w80 {
  width: 80px !important;
}

.w100 {
  width: 100px !important;
}

.w120 {
  width: 120px !important;
}

.w150 {
  width: 150px !important;
}

.w160 {
  width: 160px !important;
}

.w180 {
  width: 180px !important;
}

.w200 {
  width: 200px !important;
}

.w250 {
  width: 250px !important;
}

.w300 {
  width: 300px !important;
}

.w330 {
  width: 330px !important;
}

.w350 {
  width: 350px !important;
}

.w380 {
  width: 380px !important;
}

.w400 {
  width: 400px !important;
}

.w450 {
  width: 450px !important;
}

.w500 {
  width: 500px !important;
}

.w600 {
  width: 600px !important;
}

body {
  background-color: #fff000;
  color: #4b4948;
  font-size: 14px;
  text-align: center;
  line-height: 1.6;
}

.ie body {
  font-size: 88%;
}

body,
input,
textarea,
select {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.win body,
.win input,
.win textarea,
.win select {
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

th, td {
  color: #221815;
  line-height: 1.6;
}

a {
  outline: none;
}

a:link,
a:visited,
a:hover,
a:active {
  color: #990000;
  cursor: pointer;
  text-decoration: underline;
}

a:hover {
  text-decoration: none;
  filter: alpha(opacity=80);
  -moz-opacity: 0.80;
  opacity: 0.80;
  zoom: 1;
}

.section {
  width: 880px;
  margin: 105px auto;
  text-align: left;
}
.section h2 {
  width: 100%;
  margin: 0 0 69px;
  padding-bottom: 54px;
  background: url(../img/h2_bg.png) no-repeat center bottom;
  text-align: center;
}

.c-csp {
  display: block;
  text-align: left;
  text-indent: -9999em;
  overflow: hidden;
}

.c-bdr-dot {
  padding-bottom: 105px;
  background: url(../img/bdr_9px_dashed_x.png) repeat-x center bottom;
}
.c-bdr-dot > *:last-child {
  margin-bottom: 0;
}

.c-ttl-border-5 .ttl,
.c-ttl-border-3 .ttl {
  display: block;
}
.c-ttl-border-5.is-center .ttl,
.c-ttl-border-3.is-center .ttl {
  margin: 0 auto;
}

.c-ttl-border-5 {
  margin-bottom: 65px;
}
.c-ttl-border-5 .ttl {
  padding-bottom: 18px;
  border-bottom: 5px solid #4b4948;
}

.c-ttl-border-3 {
  margin-bottom: 25px;
}
.c-ttl-border-3 .ttl {
  padding-bottom: 10px;
  border-bottom: 3px solid #4b4948;
}

#globalNav {
  position: absolute;
  bottom: 15px;
  left: 0;
  width: 100%;
  z-index: 999;
  zoom: 1;
  line-height: 1;
}
.fixed #globalNav {
  position: fixed;
  left: 0;
  top: 0;
  overflow: hidden;
  width: 100%;
  height: 83px;
  margin-top: 0;
}
.ie6 .fixed #globalNav {
  width: auto;
  position: relative;
  left: auto;
  top: auto;
  margin-top: -54px;
}
#globalNav .layoutInner {
  margin: 15px 15px 0;
  text-align: center;
  background-color: #fff;
}
#globalNav ul {
  clear: both;
  display: inline-block;
  margin: 0 auto;
  padding: 14px 0;
}
.ieOld #globalNav ul {
  display: inline;
  zoom: 1;
}
#globalNav ul li {
  float: left;
  padding-left: 8px;
  background: url(../img/nav_line.png) no-repeat left center;
}
#globalNav ul li:first-child {
  padding-left: 0;
  background: none;
}
#globalNav ul li a {
  display: inline-block;
  padding: 10px 25px;
}
#globalNav ul li.top a {
  padding: 3px 30px 3px 10px;
}
#globalNav ul .join a {
  margin-top: -2px;
  padding: 0 10px 0 30px;
}

#footer {
  z-index: 100;
  zoom: 1;
  width: 100%;
  text-align: center;
}
#footer .copyright {
  padding: 0 0 24px;
  font-size: 79%;
}
#footer .pagetop {
  width: 100%;
  background-color: #fff;
}
#footer .pagetop a {
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 23px 0 20px;
  background-color: #4b4948;
}

.c-info-row {
  display: table;
  table-layout: fixed;
  width: 100%;
}
.c-info-row .info-item .txt-label,
.c-info-row .info-item .txt-info {
  display: table-cell;
  vertical-align: top;
  padding-bottom: 0.8em;
}
.c-info-row .info-item .txt-label {
  padding-right: 0.8em;
  width: 6.5em;
}
.c-info-row .info-item .txt-label.is-3em {
  width: 3.5em;
}
.c-info-row .info-item .txt-label:after {
  content: ':';
  float: right;
}

.slide,
.slick-list,
.slick-track,
.slide-item {
  width: 100%;
  height: 100%;
}

.slick-dots {
  position: absolute;
  left: 0;
  bottom: 105px;
  width: 100%;
  text-align: center;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin-left: 9px;
  width: 15px;
  height: 15px;
  background: url(../img/icn_slide_off.png) no-repeat left top;
}
.slick-dots li:first-child {
  margin-left: 0;
}
.slick-dots li.slick-active {
  background-image: url(../img/icn_slide_on.png);
}
.slick-dots button {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.slide-year {
  background: url(../img/pic_top2017.png) no-repeat center #fff000;
  background-size: 100% auto;
}
@media screen and (min-width: 1281px) {
  .slide-year {
    background-size: 1280px auto;
  }
}
.slide-year.is-tst {
  background-image: url(../img/pic_top2017_tst.png);
}
.slide-year.is-2016 {
  background-image: url(../img/pic_top2016.png);
}
.slide-year h1,
.slide-year h1 a {
  display: block;
  width: 100%;
  height: 100%;
}

.slide-tilelogo {
  background: url(../img/bg_tilelogo.png) repeat-x center center;
}
.slide-tilelogo .text,
.slide-tilelogo .text a {
  display: block;
  width: 100%;
  height: 100%;
}
.slide-tilelogo .text {
  background: url(../img/pic_tilelogo.png) no-repeat center center;
}
.slide-tilelogo .text {
  display: block;
  text-align: left;
  text-indent: -9999em;
  overflow: hidden;
}

.slide-topMovie {
  position: relative;
  background-color: #000;
  box-sizing: border-box;
}
.slide-topMovie iframe {
  width: 100% !important;
  height: 80% !important;
}

.top-concept-intro {
  margin: 70px 0 95px;
}
.top-concept-intro:last-child {
  margin-bottom: 0;
}
.top-concept-intro .lead {
  padding: 0 0 67px 98px;
}
.top-concept-intro .message {
  background: url(../img/pic_concept.png) no-repeat 539px 90px;
}

.top-purpose {
  margin: 95px 0;
  text-align: center;
}
.top-purpose:last-child {
  margin-bottom: 0;
}
.top-purpose .txt-catch {
  margin-bottom: 80px;
}
.top-purpose .txt-lead {
  margin-bottom: 63px;
}
.top-purpose .pic-figure {
  margin-bottom: 72px;
}

#camp {
  padding: 9px 0 0px;
}
#camp .layoutInner {
  width: 100%;
  margin: 0;
}

.top-camp-intro {
  margin: 90px 0 110px;
}
.top-camp-intro h2 {
  margin-bottom: 95px;
}
.top-camp-intro h2 .sub {
  margin-top: 30px;
}
.top-camp-intro .area-txt {
  background: url(../img/bg_camp.png) no-repeat right center;
}
.top-camp-intro .catch {
  margin: 0 0 53px 39px;
}

.top-camp-structural {
  margin: 50px 0 70px;
}
.top-camp-structural .structural-items {
  margin: 0;
  padding: 0;
  list-style: none;
}
.top-camp-structural .structural-items li {
  list-style-image: none;
  list-style-type: none;
}
.top-camp-structural .structural-items:after {
  content: '';
  display: block;
  clear: both;
  font-size: 0;
}
.top-camp-structural .structural-item {
  float: left;
  margin-left: 48px;
  border: 10px solid #fff;
  width: 241px;
  height: 597px;
  text-align: center;
}
.top-camp-structural .structural-item:first-child {
  margin-left: 0;
}
.top-camp-structural .structural-item img {
  display: inline-block;
  vertical-align: middle;
}
.top-camp-structural .structural-item .txt-number {
  padding-bottom: 9px;
  font-weight: bold;
  font-size: 45px;
  font-size: rem(45);
  line-height: 92px;
  background: url(../img/bdr_9px_dashed_x.png) repeat-x center bottom;
}
.top-camp-structural .structural-item .txt-label {
  height: 200px;
  background: url(../img/bdr_9px_dashed_x.png) repeat-x center bottom;
}
.top-camp-structural .structural-item .txt-label:before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}
.top-camp-structural .structural-item .txt-desc {
  height: 285px;
}
.top-camp-structural .structural-item .txt-desc:before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}

.top-camp-info {
  position: relative;
  margin: 70px auto;
  padding: 60px 0 30px;
  border: 10px solid #fff;
  width: 866px;
  text-align: left;
}
.top-camp-info:after {
  content: '';
  position: absolute;
  left: 125px;
  top: 0;
  z-index: -1;
  display: block;
  width: 10px;
  height: 100%;
  background: #fff;
}
.top-camp-info .section-title,
.top-camp-info .text {
  margin-left: 160px;
  margin-right: 30px;
}
.top-camp-info .section-title {
  margin-top: 60px;
  margin-bottom: 30px;
}
.top-camp-info .section-title:first-child {
  margin-top: 0;
}
.top-camp-info .text {
  margin-top: 30px;
  font-size: 20px;
  line-height: 1.85em;
  letter-spacing: 0.06em;
  font-weight: bold;
}
.top-camp-info dl {
  position: relative;
  z-index: 10;
  margin: 30px 30px 45px 0;
  line-height: 1.5;
  font-size: 122%;
  text-align: left;
}
.top-camp-info dl dt {
  width: 100px;
  /*margin: 0 0 1em;*/
  padding-right: 35px;
  background: url(../img/icn_arw_r.png) no-repeat right 0.4em;
  text-align: right;
}
.top-camp-info dl dd {
  margin: -1.5em 0 1em 160px;
}
.top-camp-info dl dd .note {
  font-size: 14px;
}
.top-camp-info dl dd a {
  color: #4B4948;
  text-decoration: underline;
}
.top-camp-info dl dd a:hover {
  color: #4B4948;
  text-decoration: none;
}
.top-camp-info dl.schedule dd {
  margin-bottom: .6em;
}
.top-camp-info .walking-btn img {
  position: relative;
  top: -2px;
  vertical-align: middle;
  line-height: 0;
}
.top-camp-info .pic {
  margin: 30px 0;
}
.top-camp-info .pic:last-child {
  margin-bottom: 0;
}
.top-camp-info .pic.is-center {
  text-align: center;
}
.top-camp-info .pic.is-right {
  padding-right: 30px;
  text-align: right;
}
.top-camp-info .btn {
  text-align: center;
}

.top-camp-otherinfo {
  overflow: hidden;
  position: relative;
  margin-top: 87px;
  background: url(../img/bdr_8px_dashed_y.png) left top repeat-y;
}
.top-camp-otherinfo:before, .top-camp-otherinfo:after {
  content: '';
  position: absolute;
  left: -1px;
  display: block;
  width: 100%;
  height: 9px;
  background: url(../img/bdr_9px_dashed_x.png) left top repeat-x;
}
.top-camp-otherinfo:before {
  top: 0;
}
.top-camp-otherinfo:after {
  bottom: 0;
}
.top-camp-otherinfo .inner {
  padding: 65px 65px 75px 65px;
  background: url(../img/bdr_8px_dashed_y.png) right top repeat-y;
}
.top-camp-otherinfo .shoulder {
  display: inline-block;
  margin-bottom: 40px;
  padding-bottom: 10px;
  border-bottom: solid 3px #4b4948;
  line-height: 0;
}
.top-camp-otherinfo .section-title {
  margin-bottom: 25px;
}
.top-camp-otherinfo .lead {
  margin: 0;
  padding: 0;
  font-size: 17px;
  font-weight: bold;
  line-height: 2em;
}
.top-camp-otherinfo .step {
  margin-top: 30px;
}
.top-camp-otherinfo .step .title {
  font-size: 18px;
}
.top-camp-otherinfo .step .text {
  margin: 15px 0 0 25px;
  font-size: 17px;
  line-height: 1.8;
}
.top-camp-otherinfo .step .note {
  font-size: 12px;
}

.top-camp-bosaifes {
  margin: 60px 30px 20px 0;
}
.top-camp-bosaifes + dl {
  margin-top: 30px;
  margin-bottom: 30px;
}
.top-camp-bosaifes .txt-desc {
  margin-left: 160px;
  font-size: 20px;
  line-height: 1.85em;
  letter-spacing: 0.06em;
  font-weight: bold;
}
.top-camp-bosaifes .txt-desc p {
  margin-top: 2em;
}
.top-camp-bosaifes .txt-desc p:first-child {
  margin-top: 0;
}
.top-camp-bosaifes .area-info {
  display: table;
  table-layout: fixed;
  margin: 30px 0 30px 160px;
  padding: 30px 27px;
  background-color: #fff;
}
.top-camp-bosaifes .area-txt,
.top-camp-bosaifes .area-img {
  display: table-cell;
  vertical-align: top;
}
.top-camp-bosaifes .area-img {
  padding-left: 20px;
  width: 240px;
}
.top-camp-bosaifes .info-item {
  font-size: 15px;
  font-size: rem(15);
  line-height: 1.46667em;
  letter-spacing: 0.06em;
}
.top-camp-bosaifes .sns-items:after {
  content: '';
  display: block;
  clear: both;
  font-size: 0;
}
.top-camp-bosaifes .sns-item {
  float: left;
  margin-left: 8px;
}
.top-camp-bosaifes .sns-item:first-child {
  margin-left: 0;
}

.top-camp-archives {
  position: relative;
  margin: 65px auto;
  padding: 60px 40px 55px 170px;
  border: 10px solid #fff;
  text-align: left;
}
.top-camp-archives:after {
  content: '';
  position: absolute;
  left: 125px;
  top: 0;
  z-index: -1;
  display: block;
  width: 10px;
  height: 100%;
  background: #fff;
}
.top-camp-archives .section-title {
  margin-bottom: 40px;
}
.top-camp-archives .movie-items .item {
  margin-top: 50px;
}
.top-camp-archives .movie-items .item:first-child {
  margin-top: 0;
}
.top-camp-archives .movie-items .movie {
  margin-bottom: 20px;
}
.top-camp-archives .movie-items .movie iframe {
  display: block;
}
.top-camp-archives .movie-items .txt-year {
  text-align: center;
}

#skills .skillList {
  margin: 0 0 -65px;
}
#skills .skillList dl {
  padding: 0 0 65px;
}
#skills .skillList dl dt {
  border-bottom: 10px solid #fff;
}

#about .lead {
  margin: 0 0 71px 0;
}
#about h3 {
  margin: 53px 0 21px 3px;
}

#contact {
  text-align: center;
}
#contact .txt {
  margin: 0 auto 52px;
}
#contact .btn {
  margin: 0 auto;
}

/* shibuya_camp.html */
body#camp #globalNav {
  position: static;
  padding: 0;
}

body#camp #globalNav .layoutInner {
  position: static;
  width: auto;
  margin: 15px 15px 0;
  background-color: #FFFFFF;
}

body#camp .section {
  margin: 0 auto;
  padding: 0;
  background: none;
}

body#camp .section h2 {
  padding: 85px 0 54px;
}

body#camp .layoutInner {
  background: url("../img/bg_camp.png") no-repeat 557px 302px;
}

body#camp #footer {
  position: static;
  padding: 36px 0 27px;
}
