@charset "utf-8";

/* -------------------------
  1. common
  2. intro
  3. outline
  4. cast
  5. timetable
  6. about
  7. nameframe
------------------------- */

/* -------------------------
  1. common
------------------------- */

@font-face {
  font-family: "Noto Sans Japanese";
  font-weight: 400;
  src: local("NotoSansJP-Regular.otf"),
    url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.otf) format("opentype");
}

@font-face {
  font-family: "Noto Sans Japanese";
  font-weight: 500;
  src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.otf) format("opentype");
}

@font-face {
  font-family: "Noto Sans Japanese";
  font-weight: 700;
  src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.otf) format("opentype");
}

@font-face {
  font-family: "Noto Sans Japanese";
  font-weight: 900;
  src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.otf) format("opentype");
}

html {
  min-width: 1060px;
}

body {
  background: #2a3759;
  color: #fff;
  font: 400 16px/1 "Noto Sans Japanese", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body.ios p,
body.android p {
  -webkit-text-size-adjust: 150%;
  text-size-adjust: 150%;
}

a {
  color: #345bc7;
  text-decoration: underline;
}

a:hover {
  text-decoration: none;
}

*::-moz-selection {
  background: #b6d2fa;
}

*::selection {
  background: #b6d2fa;
}

/* header */

header {
  background: url(../img/top/visual-bg-dot.png), #ecf5ff url(../img/top/visual-bg.jpg) no-repeat 50% 50%;
  background-size: auto, cover;
  border-top: 0px solid #2a3759;
  padding-bottom: 31px;
}

h1 {
  margin: 0 auto;
  text-align: center;
  width: 1000px;
}

h1 img {
//  margin-top: 165px;
//  margin-top: 30px;
}

header .info {
  background: rgba(255, 255, 255, .6);
  border: 1px solid #fff;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(96, 145, 220, .3);
  box-sizing: border-box;
  color: #333;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: 22px;
  font-weight: 700;
  -webkit-justify-content: space-around;
  justify-content: space-around;
//  margin: 90px auto 0;
  margin: 40px auto 0;
  padding: 22px 20px 24px;
  width: 1000px;
}

header .info li {
  line-height: 1.5;
  margin: 100 10px;
}

header .info .ttl {
  color: #3c4f7e;
  font-size: 18px;
}

header .info .arw {
  color: #53607E;
  font-size: 16px;
}

/* nav */

nav {
  background: linear-gradient(#455a90, #2f3f68);
  border-bottom: 1px solid #3b5291;
  border-top: 1px solid #3b5291;
  box-shadow: 0 10px 15px rgba(30, 39, 61, .3);
  position: relative;
  width: 100%;
  z-index: 1;
}

#nav.fixed {
  left: 0;
  position: fixed;
  top: 0;
}

nav ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 0 auto;
  width: 1000px;
}

nav li {
  font-size: 18px;
  font-weight: 700;
  text-shadow: 0 0 5px #000529;
  margin: 24px 0 26px;
  padding: 0 29px 0 30px;
  position: relative;
}

nav li::before {
  background: #4a619b;
  bottom: 0;
  box-shadow: 0 0 3px rgba(1, 4, 39, .5);
  content: "";
  display: block;
  height: 35px;
  left: 0;
  margin: auto;
  position: absolute;
  top: 0;
  width: 1px;
}

nav li:first-child::before {
  display: none;
}

nav a {
  color: #fff;
  display: block;
  text-decoration: none;
  transition: all .3s;
}

nav a:hover {
  text-shadow: 0 0 8px #237bff, 0 0 8px #237bff;
}

/* main */

#main {
  background: #f1f2f7;
}

#main p {
  line-height: 1.75;
}

#main h2 {
  color: #3c4f7e;
  font-size: 36px;
  padding-top: 79px;
  text-align: center;
  text-shadow: 0 1px 1px #fff, 0 1px 0 #fff;
}

#main h2.line {
  background: url(../img/line.png) no-repeat 50% 100%;
  padding-bottom: 25px;
}

#main h2.dark {
  color: #fff;
  text-shadow: 0 -1px 1px #212121, 0 -1px 0 #212121;
}

#main h2 small {
  color: #9bb3eb;
  display: block;
  font-size: 16px;
  margin-top: 5px;
}

#main > div > p {
  color: #333;
  margin: 0 auto;
  line-height: 1.56;
  text-align: center;
  width: 1000px;
}

#main > div > h2 + p,
#main > div > p ~ p {
  margin-top: 18px;
}

/* box */

.box {
  background: #fff;
  border: 4px solid #cbd0df;
  box-shadow: 0 0 20px rgba(0, 3, 32, .5);
  box-sizing: border-box;
  margin: 49px auto 0;
  padding: 0 20px 51px;
  width: 1000px;
}

.box.dark {
  background: #121b31;
  border: 4px solid #1b253c;
}

.box h2 {
  padding-top: 47px !important;
}

.box.dark h2 {
  background: url(../img/lineBlue.png) no-repeat 50% 100% !important;
  color: #fff !important;
  text-shadow: 0 -1px 1px #212121, 0 -1px 0 #212121 !important;
}

.box p {
  color: #333;
  font-weight: 500;
  line-height: 1.55;
  text-align: center;
}

.box.dark p {
  color: #fff;
}

.box h2 + p {
  margin-top: 19px;
}

.box p:first-child {
  margin-top: 47px;
}

.box p ~ p {
  margin-top: 24px;
}

/* notice */

#main .notice {
  font-size: 12px;
  margin-top: 26px;
}

/* generic */

#main .generic {
  background: #121b31;
  padding-bottom: 78px;
}

#main .generic > p {
  color: #fff;
}

/* footer */

footer {
  background: #2a3759;
}

footer p {
  font-size: 14px;
  font-weight: 700px;
  margin: 0 auto;
  padding: 10px 0 11px;
  text-align: center;
  width: 1000px;
}

/* -------------------------
  2. intro
------------------------- */

#intro {
  background: #2f3d61;
  padding-bottom: 64px;
}

#intro #copy {
  margin: 0 auto;
  padding-top: 59px;
  text-align: center;
  width: 1000px;
}

#intro #copy p {
  font-size: 18px;
  line-height: 1.6;
}

#intro #copy p ~ p {
  margin-top: 15px;
}

#intro #copy .ttl {
  font-size: 28px;
  font-weight: 900;
  line-height: 1.35;
  text-shadow: 0 0 8px #237bff, 0 0 8px #237bff;
}

/* -------------------------
  3. outline
------------------------- */

#outline {
  background: #e9ecf5;
  padding-bottom: 75px;
}

#outline .wrap {
  margin: 0 auto;
  overflow: hidden;
  width: 1000px;
}

#outline .left,
#outline .right {
  margin-top: 54px;
  width: 460px;
}

#outline .left {
  float: left;
}

#outline .right {
  float: right;
}

#outline h3 {
  background: linear-gradient(to right, #ccd6ed, #e4e9f4);
  color: #3c4f7e;
  line-height: 1.4;
  padding: 8px 13px 9px;
}

#outline p + h3 {
  margin-top: 49px;
}

#outline h3 .arw {
  color: #fff;
  font-size: 13px;
}

#outline p {
  color: #333;
  line-height: 1.55;
  margin-left: 30px;
  margin-right: 30px;
  margin-top: 19px;
}

#outline p small {
  font-size: 12px;
}

/* -------------------------
  4. cast
------------------------- */

#cast {
  background: url(../img/cast/bg.png);
  padding-bottom: 93px;
}

#cast ul {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 0 auto;
  width: 1000px;
}

#cast li {
  margin: 50px 0 0 37px;
  text-align: center;
  width: 170px;
}

#cast li:nth-child(-n+5) {
  margin-top: 44px;
}

#cast li:first-child,
#cast li:nth-child(5n+1) {
  margin-left: 0;
}

#cast li > img {
  border: 3px solid #eff1f6;
}

#cast .name {
  background: url(../img/cast/name-bg.png);
  box-sizing: border-box;
  display: inline-block;
  font-weight: 700;
  height: 55px;
  line-height: 1.1;
  margin-top: 9px;
  padding: 10px 0 ;
  position: relative;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  min-width: 122px;
}

#cast .name::before,
#cast .name::after {
  content: "";
  display: block;
  height: 55px;
  position: absolute;
  top: 0;
  width: 26px;
}

#cast .name::before {
  background: url(../img/cast/name-bg-left.png);
  left: -24px;
}

#cast .name::after {
  background: url(../img/cast/name-bg-right.png);
  right: -24px;
}

#cast .name small {
  font-size: 12px;
  font-weight: 100;
  line-height: 1;
}
#cast .name small rt,
#cast .name small rp{
  padding:0;
  font-weight: 100;
}

/* -------------------------
  5. timetable
------------------------- */

#timetable {
  background: #42454c;
  padding-bottom: 77px;
}

#timetable .wrap {
  margin: 0 auto;
  width: 1000px;
}

#timetable table {
  margin: 70px auto 0;
  width: 702px;
}

#timetable th,
#timetable td {
  box-sizing: border-box;
  line-height: 1.2;
  text-align: center;
  vertical-align: top;
}

#timetable table tr > * {
  width: 193px;
}

#timetable table tr > *:first-child {
  width: 123px;
}

#timetable th {
  font-size: 15px;
  font-weight: 700;
  padding: 18px 14px 0 0;
  text-align: right;
}

#timetable th small {
  color: #b6b6b6;
  font-size: 14px;
}

#timetable .time th {
  font-size: 14px;
  padding: 0 0 1px;
  text-align: center;
}

#timetable td {
  background: url(../img/timetable/table-line.gif) repeat-x 0 28px;
  padding: 13px 0 25px;
}

#timetable td .circle {
  color: #9bb3eb;
  font-size: 31px;
}

#timetable td .circle-p {
  color: #af9dec;
  font-size: 31px;
}


#timetable .notice {
  font-size: 12px;
  font-weight: 500;
  margin: 33px auto 0;
  width: 702px;
}

/* -------------------------
  6. about
------------------------- */

#about {
  padding-bottom: 78px;
}


/***　テーブル設定
*******************************************/


.table01 table {
border: 1px #000000;
border-collapse: collapse;
background-color: #fff;
}

.table01 th {
	width: 78px;
	padding:10px 0 10px 12px;
	font-weight:normal;
border: 1px #000000 solid;
text-align: left;
vertical-align: middle;
}

.table01 td {
	width: 316px;
	padding:10px 0 10px 12px;
border: 1px #000000 solid;
text-align: left;
vertical-align: middle;
}


.table02 table {
border: 1px #000000;
border-collapse: collapse;
background-color: #fff;
color:black;
}

.table02 th {
	width: 78px;
	padding:14px 0 14px 12px;
	font-weight:normal;
border: 1px #000000 solid;
text-align: left;
vertical-align: middle;
}

.table02 td {
	width: 840px;
	padding:14px 0 14px 17px;
border: 1px #000000 solid;
text-align: left;
vertical-align: middle;
}


.table03 table img{
	margin:5px 0;
	border:none;
}

.table03 table span{
	color:#821414;
}

.table03 th {
	width: 90px;
	vertical-align:top;
}

.table03 td {
	width: 840px;
	padding:0px 0 0 3px;
    text-align: left;
	vertical-align:top;
}

.table04 table img{
	border:none;
}

.table04 th {
	width: 132px;
	vertical-align: bottom;
}

.table04 td {
	width: 800px;
	padding:0px 0 0 3px;
    text-align: left;
	vertical-align: top !important;
}

.warp_report table {
border: 1px #000000;
border-collapse: collapse;
background-color: #fff;
}

.warp_report th {
	height:13px;
	padding:8px 22px;
	font-weight:bold;
	font-size:14px;
	line-height:14px;
    border: 1px #000000 solid;
    text-align: center;
    vertical-align: middle;
    background:#e6e6e6;
}


.warp_report td {
	height:40px;
	padding:10px 15px;
	font-size:14px;
	line-height:14px;
	font-weight:normal;
    border: 1px #000000 solid;
    vertical-align: middle;
}

.warp_report .date {
	width:169px;
}

.warp_report .saturday {
	width:169px;
	background:#dcebff;
}

.warp_report .sunday {
	width:169px;
	background:#f9d2d0;
}

.warp_report .ed_title {
	width:180px;
	padding:0 10px 0 45px;
	font-size:16px;
}

.warp_icon01{
	background:url(../images/warp_icon01.jpg) no-repeat 15px 14px;
}

.warp_icon02{
	background:url(../images/warp_icon02.jpg) no-repeat 15px 14px;
}

.warp_icon03{
	background:url(../images/warp_icon03.jpg) no-repeat 15px 14px;
}

.warp_icon04{
	background:url(../images/warp_icon04.jpg) no-repeat 15px 14px;
}

.warp_report .ed_contents {
	width:540px;
	line-height:21px;
	font-size:16px;
}


.table_color_blue{
	background-color: #dcebff;
}

.table_color_red{
	background-color: #f9d2d0;
}





/***　
*******************************************/