/* common
------------------------------------------------------------------------------*/
.inner {
  padding: 0 calc( 60 / 750 * 100vw );
}
div.detail {
  margin-top: calc( 47 / 750 * 100vw );
}
div.detail a {
  display: inline-block;
  background: #000;
  min-width: calc( 350 / 750 * 100vw );
  height: calc( 86 / 750 * 100vw );
  border-radius: calc( 43 / 750 * 100vw );
  box-sizing: border-box;
  text-align: center;
  color: #fff;
  font-size: calc( 28 / 750 * 100vw );
  line-height: calc( 28 / 750 * 100vw );
  letter-spacing: 0.1em;
  font-weight: bold;
  padding: calc( 28 / 750 * 100vw ) calc( 28 / 750 * 100vw ) 0;
  text-decoration: none;
}

/* #ttl h2
------------------------------------------------------------------------------*/
#main #ttl h2 {
  position: relative;
  overflow: hidden;
  padding: 0;
}
#ttl h2 video {
  width: 100%;
  vertical-align: bottom;
  line-height: 0.1;
}
#main #ttl::after {
  content: "";
  background: url(
  "/common/img/icn_scroll_sp.png") left top / 100% auto no-repeat;
  width: calc( 12 / 750 * 100vw );
  height: calc( 152 / 750 * 100vw );
  position: absolute;
  right: calc( 50 / 750 * 100vw );
  bottom: calc( -30 / 750 * 100vw );
  z-index: 4999;
}

/* #vision
------------------------------------------------------------------------------*/
#vision .inner {
  background: #00a0e9;
  padding-top: calc( 810 / 750 * 100vw );
  padding-bottom: calc( 120 / 750 * 100vw );
  color: #fff;
}
#vision h2 {
  font-size: calc( 36 / 750 * 100vw );
  line-height: calc( 36 / 750 * 100vw );
  letter-spacing: 0.23em;
  font-weight: bold;
  background: url("/common/img/top_vision_logo.svg") left bottom / calc( 400 / 750 * 100vw ) auto no-repeat;
  position: relative;
  padding-bottom: calc( 112 / 750 * 100vw );
  margin-bottom: calc( 83 / 750 * 100vw );
}
#vision h2::after {
  content: "";
  display: block;
  width: calc( 70 / 750 * 100vw );
  border-bottom: #fff solid calc( 4 / 750 * 100vw );
  position: absolute;
  left: 0;
  bottom: calc( -50 / 750 * 100vw );
}
#vision p.txt {
  font-size: calc( 27 / 750 * 100vw );
  line-height: calc( 53 / 750 * 100vw );
  letter-spacing: 0.12em;
  font-weight: bold;
}
#vision .slide {
  position: absolute;
  left: calc( 60 / 750 * 100vw );
  top: calc( 120 / 750 * 100vw );
	height: calc( 630 / 750 * 100vw );
}
#vision .swiper-container {
	position: relative;
	width: calc( 630 / 750 * 100vw );
	margin: 0 auto;
	box-sizing: border-box;
}
#vision .swiper-slide {
	width: calc( 630 / 750 * 100vw );
	box-sizing: border-box;
}

/* #news
------------------------------------------------------------------------------*/
#news .inner {
  padding-top: calc( 120 / 750 * 100vw );
  padding-bottom: calc( 126 / 750 * 100vw );
}
#news h2 {
  width: calc( 204 / 750 * 100vw );
  margin-bottom: calc( 58 / 750 * 100vw );
}
#news ul {
  display: block;
  border-top: #00a0e9 solid 1px;
}
#news ul li {
  border-bottom: #00a0e9 solid 1px;
  padding: calc( 46 / 750 * 100vw ) 0;
}
#news ul li a {
  position: relative;
  display: block;
  padding-left: calc( 148 / 750 * 100vw );
  font-size: calc( 24 / 750 * 100vw );
  line-height: calc( 32 / 750 * 100vw );
  letter-spacing: 0.075em;
  font-weight: bold;
  text-decoration: none;
}
#news ul li a span.date {
  position: absolute;
  left: 0;
  top: calc( 4 / 750 * 100vw );
  background: #00a0e9;
  color: #fff;
  font-size: calc( 16 / 750 * 100vw );
  line-height: calc( 16 / 750 * 100vw );
  letter-spacing: 0.05em;
  padding: calc( 7 / 750 * 100vw ) calc( 10 / 750 * 100vw );
  text-align: center;
}
#news div.more {
  width: calc( 176 / 750 * 100vw );
  margin-top: calc( 60 / 750 * 100vw );
  line-height: 0.1;
}

/* #message
------------------------------------------------------------------------------*/
#message .inner {
  background: url("/common/img/top_message_img_sp.jpg") left top / 100% auto no-repeat #f3f3f3;
  padding-top: calc( 118 / 750 * 100vw );
  padding-bottom: calc( 120 / 750 * 100vw );
}
#message h2 {
  font-size: calc( 61 / 750 * 100vw );
  line-height: calc( 76 / 750 * 100vw );
  letter-spacing: 0.2em;
  font-weight: bold;
  background: url("/common/img/top_message_logo.svg") left top / calc( 150 / 750 * 100vw ) auto no-repeat;
  position: relative;
  padding-top: calc( 52 / 750 * 100vw );
  margin-bottom: calc( 46 / 750 * 100vw );
  height: calc( 312 / 750 * 100vw );
  box-sizing: border-box;
}
#message h2:first-letter {
  color: #07a2e5;
}
#message p.txt {
  font-size: calc( 27 / 750 * 100vw );
  line-height: calc( 53 / 750 * 100vw );
  letter-spacing: 0.15em;
  font-weight: bold;
}

/* #motto
------------------------------------------------------------------------------*/
#motto .inner {
  padding: calc( 120 / 750 * 100vw ) 0 calc( 110 / 750 * 100vw );
}
#motto h2 {
  width: calc( 630 / 750 * 100vw );
  margin: 0 auto calc( 60 / 750 * 100vw );
}
#motto nav ul.links {
  padding-top: 0;
  padding-bottom: 0;
}
#motto nav ul.links li a {
  color: #000;
  text-decoration: none;
}

/* .manga
------------------------------------------------------------------------------*/
.bnr-manga{
  padding: calc( 120 / 750 * 100vw ) calc( 60 / 750 * 100vw ) calc( 110 / 750 * 100vw );
  max-width: 1000px;
  margin: auto;
}

.bnr-manga img{
  max-width: 100%;
}