@charset "utf-8";
/* ===================================================================
 style info : コンテンツエリア関係 他

fonts
 10px = 77%     11px = 85%     12px = 93%     13px = 100%
 14px = 108%    15px = 116%    16px = 123.1%  17px = 131%
 18px = 138.5%  19px = 146.5%  20px = 153.9%  21px = 161.6%
 22px = 167%    23px = 174%    24px = 182%    25px = 189%
 26px = 197%
=================================================================== */

/*----------------------------------------------------
	共通
----------------------------------------------------*/
/* スクロールバーの有無によるズレ対策 */
html {
	overflow-y: scroll;
}

body {
	/*font-family: YakuHanJP, "Noto Sans JP","游ゴシック","YuGothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",verdana,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;*/
	font-family: "Noto Sans JP","游ゴシック","YuGothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",verdana,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-weight: 400;
	color: #212121;
  background-color: #212121
}

body .footer,
body > section {
  position: relative;
  z-index: 1;
}
input, textarea {
	font-family: YakuHanJP, "Noto Sans JP","游ゴシック","YuGothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",verdana,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}

/* for IE6 */
* html body {
	font-family: "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}
* html input, * html textarea {
	font-family: "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

.sp_parts{
  display: none !important;
}

/* リンク
----------------------------------------------------*/
a {
	color: black;
	text-decoration: none;
}


/* メイン（PC）
----------------------------------------------------*/

#eye-c{
  background: url("../img/bg_eye-c_pc.jpg") no-repeat center top;
  background-size: auto 100%;
  height: 600px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 100px;
  overflow: hidden;
}

#eye-c h1{
  position: absolute;
  z-index: 9
}

#eye-c h1 img{
  width: 760px;
  height: auto;
}

#eye-c ul{
  position: relative;
  display: flex;
  min-width: 1200px;
  height: 600px;
  justify-content: space-between;
}

#eye-c ul li{
  position: relative;
  display: flex;
  align-items: flex-end;
  padding: 0 30px;
}

#eye-c .flag1{
  width: 110px;
  height: auto;
  margin:auto 10px 60px;
}

#eye-c .flag2{
  width: 88px;
  height: auto;
  margin:auto 10px -34px;
}

#eye-c .flag3{
  width: 70px;
  height: auto;
  margin:auto 10px -80px;
}

#eye-c .figure{
  width: 266px;
  height: auto;
  position: absolute;
  bottom: 0
}

#eye-c .left .figure{
  left: 0
}

#eye-c .right .figure{
  right: 0
}

#intro{
  width: 1200px;
  margin: 0 auto 100px
}

#intro dl{
  display: flex;
  flex-wrap: wrap;
  color: #fff
}

#intro dd,
#intro dt{
  width: 600px;
  height: 600px;
  display: flex;
  flex-flow: column;
  background-color: #000;
  box-sizing: border-box;
}

#intro dt:nth-child(2),
#intro dd:nth-child(3){
  padding: 80px 80px 0
}

#intro img{
  width: 100%
}

#intro dl h2{
  font-size: 48px;
  font-weight: 900;
  line-height: 70px;
  margin-bottom: 54px
}

#intro dl h2 span{
  color: #fff100
}

#intro dl p{
  text-align: justify;
  font-weight: 400;
  font-size: 18px;
  line-height: 34px
}

#intro dl p+p{
  margin-top: 30px
}

h3.libon{
  display: flex;
  width: 320px;
  height: 50px;
  justify-content: center;
  align-items: center;
  background-color: #fff100;
  position: relative;
  font-size: 30px;
  margin: 0 auto 30px;
  font-weight: 700
}

h3.libon span{
  margin-top: -2px
}

h3.libon.ye{
  background-color: #fff100;
  color: #212121
}

h3.libon.bk{
  background-color: #000000;
  color: #fff
}

h3.libon:before,
h3.libon:after{
  content: "";
  position: absolute;
  display: block;
  width: 10px;
  height: 100%;
  top: 0
}

h3.libon:before{
  left: 0;
}

h3.libon:after{
  right: 0;
  transform: scale(-1, 1);
}

h3.libon.ye:before,
h3.libon.ye:after{
  background: url("../img/arrow_bk.svg") no-repeat ;
}

h3.libon.bk:before,
h3.libon.bk:after{
  background: url("../img/arrow_wh.svg") no-repeat ;
}

h3.libon+h4{
  font-weight: 700;
  font-size: 18px;
  color: #fff;
  text-align: center;
  margin-bottom: 50px
}

h3.libon.bk+h4{
  color: #000;
}

div.comingsoon{
  width: 1200px;
  height: 500px;
  display: flex;
  color: #757575;
  background-color: #424242;
  align-items: center;
  justify-content: center;
  font-size: 40px;
  font-weight: 700;
  margin: 0 auto 
}

.lineup-list ul{
  width: 1200px;
  margin: 0 auto;
}

.lineup-list li{
  background-color: #fff;
  width: 100%;
  display: flex;
  align-items: center;
}

.lineup-list li+li{
  margin-top: 20px
}

.lineup-list li>img{
  width: 300px;
  height: auto;
}

.lineup-list li div{
  padding: 0 50px;
  width: calc(100% - 400px)
}

.lineup-list li div h5{
  font-size: 14px;
  margin-bottom: 6px;
  font-weight: 500;
}

.lineup-list li div h6{
  font-size: 24px;
  margin-bottom: 20px;
  font-weight: 900;
  letter-spacing: -1px;
}

.lineup-list li div p{
  font-size: 16px;
  line-height: 28px;
  margin-top: 10px;
}

.lineup-list li div h6 span{
  display: block;
  font-size: 14px;
  font-weight: 400;
  margin-top: 4px;
  letter-spacing: 0px
}

.lineup-list li div dl{
  display: flex;
  align-items: center;
  font-weight: 700;
}

.lineup-list li div dl dd img{
  width: 50px;
  height: auto;
}

.lineup-list li div dl dt{
  margin-left: 20px;
  font-size: 16px;
}

.lineup-list li div dl dt a{
  text-decoration: underline;
  transition: 0.2s
}

.lineup-list li div dl dt a:hover{
  opacity: 0.6
}

.lineup-list .notice{
  color: #fff;
  width: 960px;
  font-size: 16px;
  font-weight: 400;
  line-height: 30px;
  text-align: justify;
  margin: 60px auto 0;
}

#lineup{
  margin-bottom: 100px
}

#about{
  margin-bottom: 150px
}

#about ul{
  display: flex;
  justify-content: space-between;
  width: 960px;
  margin: 0 auto;
  color: #fff
}

#about ul .box{
  background-color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 320px;
  height: 320px;
  margin-bottom: 40px
}

#about ul .box img{
  width: 170px;
  height: auto;
}

#about ul .btn{
  display: flex;
  font-size: 20px;
  color: #fff;
  font-weight: 700;
  height: 80px;
  background-color: #424242;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  transition: 0.2s;
  position: relative;
}

#about ul .btn:after{
  content: "";
  position: absolute;
  background: url("../img/icon_blank.svg") no-repeat;
  width: 14px;
  height: 14px;
  display: block;
  right: 20px;
}

#about ul .btn:hover{
  opacity: 0.6
}

#about li:nth-child(2){
  width: 560px
}

#about ul h5{
  font-size: 28px;
  font-weight: 700;
  line-height: 46px;
  margin: 30px auto;
}

#about ul p{
  font-size: 16px;
  font-weight: 500;
  line-height: 30px;
  letter-spacing: -0.2px;
  text-align: justify;
}

#about ul p+p{
  margin-top: 30px;
  margin-bottom: 0
}

#outline iframe{
  width: 100%;
  height: 600px;
  margin-bottom: 100px
}

#outline,
#caution{
  background-color: #fff;
}

#caution{
  padding-top: 100px
}

table{
  font-size: 16px;
  line-height: 30px;
  width: 960px;
  margin: 0 auto
}

table th,
table td{
  border:1px solid #e0e0e0;
  padding: 30px
}

table th{
  background-color: #f5f5f5;
  width: 240px;
  text-align: left;
  font-weight: 500
}

#caution{
  padding-bottom: 140px
}

#caution ul{
  width: 600px;
  margin: 0 auto 70px;
  font-size: 16px;
  line-height: 30px;
  font-weight: 400
}

#caution .btn{
  display: flex;
  font-size: 20px;
  color: #000;
  font-weight: 700;
  background-color: #fff100;
  border: 2px solid #000000;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  transition: 0.2s;
  position: relative;
  width: 320px;
  height: 80px;
  box-sizing: border-box;
  margin:0 auto;
}

#caution .btn:after{
  content: "";
  position: absolute;
  background: url("../img/icon_blank_bk.svg") no-repeat;
  width: 14px;
  height: 14px;
  display: block;
  right: 20px;
}

#caution .btn:hover{
  opacity: 0.6
}

footer{
  color: #fff;
  font-size: 10px;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  padding-top: 64px;
  padding-bottom: 50px;
  line-height: 1
}

footer ul{
  display: flex;
  width: 340px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 64px
}

footer ul img{
  height: 110px;
  width: auto;
}

@media screen and (max-device-width : 735px) and (orientation : portrait) {

  .sp_parts{
    display: block !important;
  }
  .pc_parts{
    display: none !important;
  }

  #eye-c{
    height: auto;
    margin-bottom: 20px;
    background: url("../img/bg_eye-c_sp.jpg") no-repeat center top;
    background-size: cover;
    /*height: 80vh*/
  }

  #eye-c h1{
    width: 90%;
    margin-top: -15vw
  }

  #eye-c h1 img{
    width: 100%
  }

  #eye-c ul{
    min-width: auto;
    width: 100%;
    height: auto;
    margin: 70vw 0 0
  }

  #eye-c .left{
    padding: 0 0 0 10px;
  }

  #eye-c .right{
    padding: 0 10px 0 0;
  }

  #eye-c .flag1{
    width: 70px;
    margin-bottom: 20px
  }

  #eye-c .left .flag1,
  #eye-c .left .flag2,
  #eye-c .left .flag3{
    margin-left: -5px
  }

  #eye-c .right .flag1,
  #eye-c .right .flag2,
  #eye-c .right .flag3{
    margin-right: -5px
  }

  #eye-c .flag2{
    width: 50px;
    margin-bottom: -10px;
  }

  #eye-c .flag3{
    width: 30px;
    margin-bottom: -20px
  }

  #eye-c .figure{
    width: 160px
  }

  #eye-c .left .figure{
    left: -10px
  }

  #eye-c .right .figure{
    right: -10px
  }

  #intro{
    width: calc(100% - 40px);
    margin-bottom: 80px
  }

  #intro dl{
    flex-direction: column;
  }

  #intro dd, #intro dt{
    width: 100%;
    height: auto;
  }

  #intro dt:nth-child(2), #intro dd:nth-child(3){
    padding: 20px 20px 40px
  }

  #intro dd:nth-child(1){
    order: 2
  }

  #intro dt:nth-child(2){
    order: 1
  }

  #intro dd:nth-child(3){
    order: 3
  }

  #intro dt:nth-child(4){
    order: 4
  }

  #intro dl h2{
    font-size: 30px;
    line-height: 42px;
    margin-bottom: 20px
  }

  #intro dl p{
    font-size: 16px;
    line-height: 28px;
  }

  #intro dl p+p{
    margin-top: 20px
  }

  h3.libon{
    margin-bottom: 10px
  }

  h3.libon+h4{
    margin-bottom: 30px
  }

  div.comingsoon{
    width: 100%;
    height: 40vh;
  }

  #about{
    margin-bottom: 60px
  }

  #about ul{
    width: calc(100% - 40px);
    flex-direction: column-reverse;
    margin: 0 auto
  }

  #about li:nth-child(2){
    width: 100%;
    margin-bottom: 20px
  }

  #about ul h5{
    margin-top: 0;
    font-size: 20px;
    line-height: 34px;
    margin-bottom: 20px;
    text-align: justify;
    letter-spacing: 1px
  }

  #about ul h5 br{
    display: none;
  }

  #about ul p{
    font-size: 14px;
    line-height: 24px
  }

  #about ul p+p{
    margin-top: 20px
  }

  #about ul .box{
    width: 100%;
    height: 180px;
    margin-bottom: 10px
  }

  #about ul .box img{
    width: 100px
  }

  table,#caution ul{
    width: calc(100% - 40px)
  }

  #outline{
    display: flex;
    flex-direction: column-reverse;
  }

  #outline iframe{
    height: 60vh;
    margin-top: 40px;
    margin-bottom: 0
  }

   #outline,#caution{
    padding-top: 60px
  }

  table{
    font-size: 14px;
    line-height: 28px
  }

  table th, table td{
    display: block;
    padding: 6px 10px;
    width: 100%;
    box-sizing: border-box;
    margin-top: -1px
  }

  #caution{
    padding-bottom: 100px
  }

  #caution ul{
    font-size: 14px;
    line-height: 28px;
    margin-bottom: 40px
  }

  #caution ul li{
    text-indent: -14px;
    padding-left: 14px
  }

  footer{
    padding: 30px 0 20px
  }

  footer ul{
    justify-content: center;
    margin-bottom: 30px
  }

  footer ul img{
    height: 60px
  }

  footer ul li+li{
    margin-left: 30px
  }

.lineup-list ul{
  width: calc(100% - 40px);
}

.lineup-list li{
  width: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.lineup-list li>img{
  width: 100%;
  height: auto;
}

.lineup-list li div{
  padding: 15px 15px 25px;
  width: calc(100% - 30px)
}

.lineup-list li div h5{
  font-size: 14px;
  margin-bottom: 6px;
}

.lineup-list li div h6{
  font-size: 20px;
  margin-bottom: 14px;
  line-height: 28px
}

.lineup-list li.middle div h6{
  font-size: 18px
}

.lineup-list li div h6 span{
  font-size: 12px;
  margin-top: 0px
}

.lineup-list li div p{
  text-align: justify;
  font-size: 14px;
  line-height: 24px
}

.lineup-list li div p br{
  display: none;
}

.lineup-list li div dl dd img{
  width: 40px;
  height: auto;
}

.lineup-list li div dl dt{
  margin-left: 10px;
  font-size: 14px;
  line-height: 22px
}

.lineup-list li div dl dt span{
  display: block;
}

.lineup-list .notice{
  width: calc(100% - 40px);
  font-size: 12px;
  line-height: 24px;
  margin: 40px auto 0;
}

}