/*	lower css
============================== */
#page-top{
font-family: "m-plus-1p", sans-serif;
font-weight: 400;
font-style: normal;
color: #000;
}
#contentsArea{ text-align: left; position: relative; background-image: url(../img/bg_foot.png); background-position: bottom center; background-repeat:repeat-x;}
@media all and (min-width: 768px) {
	#page-top{
	background-image: url(../img/bg.jpg);
	background-repeat: repeat-x;
	background-attachment: fixed;
	background-position: top center;
	background-size: cover;
}
	#contentsArea{padding: 30px 0 120px;}
}
@media all and (max-width: 767px) {
	#page-top::before {
  	content: "";
  	width: 100vw;
  	height: 100vh;
  	background-image: url(../img/bg_sp.jpg);
  	position: fixed;
  	background-size: cover;
  	top: 0px;
  	left: 0px;
  	z-index: -1;
}
	#contentsArea{padding: 15px 0 80px; background-size: auto 145px;}
	
}


/*	header
============================== */
#headerArea header {margin: 0 auto; position: relative; 

}
header#title div a {
display: block; text-indent: -9999px;
  background-position: center center;
  background-image: url(../img/title2026.png);
  background-repeat: no-repeat;
}

@media all and (min-width: 768px) {
	#headerArea header { width: 100%;
	background-position: center top;
background-image: url(../img/bg_title.jpg);
background-repeat: repeat-x;
	}
	header#title div {width:100%; height: 200px; margin: 0 auto;}
	header#title div a {
	width:100%; height: 200px;
	background-size: auto 200px;
	}
}
@media all and (max-width: 767px) {
	#headerArea header { width:100%;
	background-position: center top;
background-image: url(../img/bg_title_sp.jpg);
background-repeat: no-repeat;
	background-size: contain;}
	header#title div a {
	background-image: url(../img/title2026_sp.png);
	width:100%; height:0; padding-top: 26.570%;
	background-size:cover;
	}
}



/*	low h1
============================== */
h1, body.glossary h1 span {
    margin: 0 auto;
    position: relative; text-indent: -9999px; background-repeat: no-repeat; background-size: contain; background-position: top center;
}
body.about h1 {
    background-image: url(../img/about/h1.png);
  }
body.story h1 {
    background-image: url(../img/story/h1.png);
  }
body.news h1 {
    background-image: url(../img/news/h1.png);
  }
body.chart h1 {
    background-image: url(../img/chart/h1.png);
  }
body.caststaff h1 {
    background-image: url(../img/caststaff/h1.png);
  }
body.glossary h1 span {
     display: block;
  }


@media all and (min-width: 768px) {
	h1 {
	  width: 980px;
	  height: 100px; margin-bottom: 40px;
	}
	body.glossary h1 {width: 1000px; height: 150px; margin-bottom: 0px;}
	body.glossary h1 span { height: 150px; margin-bottom: 35px; border-top-left-radius: 30px; border-top-right-radius: 30px; border: solid 10px #fff; background-image: url(../img/glossary/h1.png);}

}
@media all and (max-width: 767px) {
	h1 {width:93%; height:58px; margin-bottom: 25px;}
	body.glossary h1 {width:auto; height: auto; margin-bottom: 0px; border-top-left-radius: 15px; border-top-right-radius: 15px; border: solid 5px #fff;}
	body.glossary h1 span { width: 100%; height: 0; padding-top: 28.225%; border-top-left-radius: 15px; border-top-right-radius: 15px; background-image: url(../img/glossary/h1_sp.png);}
}

/*	wrap
============================== */
.low div.wrap .contentsBlock { background:rgba(255,255,255,1); position: relative;}
.low div.wrap .contentsBlock .contents {position: relative;}


@media all and (min-width: 768px) {
	.low div.wrap .contentsBlock { margin-bottom: 30px; 
	border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;}
	.low div.wrap .contentsBlock .contents { padding: 15px 45px 45px;}
}
@media all and (max-width: 767px) {
	.low div.wrap .contentsBlock { margin: 0 2.4%;
	border-radius: 15px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;}
	.low div.wrap .contentsBlock .contents {padding: 1em;}
}

/*	txtArea
============================== */
section.txtArea { padding: 10px 0px;}
section.txtArea .txt {line-height: 2.0em; padding: 0.5em 0;}
.txt {line-height: 2.0em;}

@media all and (max-width: 767px) {
section.txtArea .txt { font-size: 0.9em;  line-height: 1.8em;}
.txt { font-size: 0.9em;  line-height: 1.8em;}
}

/*	nav#switch
============================== */
nav#switch { margin: 0 auto;}
nav#switch ul {display: flex;
	flex-wrap: wrap;
	justify-content: center;}


nav#switch ul li a, nav#switch ul li span.def { display: block; position: relative;
	border-radius: 15px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;}
nav#switch ul li a { background-repeat: no-repeat; background-position: right 14px center; transition:0.5s;}
nav#switch ul li a span, nav#switch ul li span.def span { display: block; background-repeat: no-repeat; background-position: center center; background-size: contain; text-indent: -9999px;}
nav#switch ul li.naviSpecial a {background-color: #fff; border: solid 3px #C1211D; background-image: url(../img/arrow_special.png);}
nav#switch ul li.naviRegular a {background-color: #fff; border: solid 3px #17A0B2; background-image: url(../img/arrow_regular.png);}
nav#switch ul li.naviSpecial span.def {background-color: #C1211D; border: solid 3px #C1211D;}
nav#switch ul li.naviRegular span.def {background-color: #17A0B2; border: solid 3px #17A0B2;}
nav#switch ul li span.def:before{
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%); 
    border-right: 15px solid transparent;
    border-left: 15px solid transparent;
}
nav#switch ul li.naviSpecial span.def:before{border-top: 20px solid #C1211D;}
nav#switch ul li.naviRegular span.def:before{border-top: 20px solid #17A0B2;}

nav#switch ul li.naviSpecial a span {background-image: url(../img/btn_special.png);}
nav#switch ul li.naviRegular a span {background-image: url(../img/btn_regular.png);}
nav#switch ul li.naviSpecial span.def span {background-image: url(../img/def_special.png);}
nav#switch ul li.naviRegular span.def span {background-image: url(../img/def_regular.png);}

@media all and (min-width: 768px) {
nav#switch { width: 960px; padding-top: 20px;}
nav#switch ul li { width:calc((100% - 20px)/2);}
	nav#switch ul li.naviSpecial { margin-right: 20px;}
	nav#switch ul li.naviSpecial a, nav#switch ul li.naviRegular a {background-size: 34px 30px;}
	nav#switch ul li a:hover { background-image: url(../img/arrow.png);}
nav#switch ul li.naviSpecial a:hover {background-color: #C1211D; border: solid 3px #C1211D;}
nav#switch ul li.naviRegular a:hover {background-color: #17A0B2; border: solid 3px #17A0B2;}
nav#switch ul li.naviSpecial a:hover span {background-image: url(../img/def_special.png);}
nav#switch ul li.naviRegular a:hover span {background-image: url(../img/def_regular.png);}
	nav#switch ul li a span, nav#switch ul li span.def span { height: 54px;}
	
}
@media all and (max-width: 767px) {
nav#switch { width: 95%; padding: 2.5% 0;}
nav#switch ul li { width:calc((100% - 2.5%)/2);}
	nav#switch ul li.naviSpecial { margin-right: 2.5%;}
	nav#switch ul li a { background-position: right 4px center;}
	nav#switch ul li.naviSpecial a, nav#switch ul li.naviRegular a {background-size: 18px 16px;}
	nav#switch ul li a span, nav#switch ul li span.def span { height: 35px;}
	nav#switch ul li.naviSpecial a span { background-size: 111px 30px;}
	nav#switch ul li span.def:before{
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
}
	nav#switch ul li.naviSpecial span.def:before{border-top: 15px solid #C1211D;}
nav#switch ul li.naviRegular span.def:before{border-top: 15px solid #17A0B2;}
}
