/* -------------------------------
 * 
 * KyusyuStage
 * 2021.05.18
 * 
-------------------------------  */

/*
 * reset styles
-------------  */

*,*:after,*:before{
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html{
  font-size: 10px;
}

body{
  font-size: 1.6rem;
  line-height: 1.6;
  color: #333;
  font-family: 'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','メイリオ', Meiryo,'ＭＳ ゴシック',sans-serif;
}

a{
  color: #2d599c;
}

a:hover{
  color: #3a93df;
  text-decoration: none;
}

a:hover img{
  opacity: 0.7;
}

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

img{
  border: 0;
  max-width: 100%;
}

ul {
	list-style: none;
}

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

input,
button,
textarea,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  border-radius: 0;
  font-size: 16px;
  color: inherit;
}

label {
  /* iOSでのlabelとinput,select,textareaの関連付け */
  cursor: pointer;
}

input {
  background-color: #eee;
  border: 1px solid transparent;
  transition: border 0.2s ease-out;
  color: inherit;
  outline: 0;
}

input:focus {
  border-bottom: 1px solid#e74c3c;
}


/*
 * margin  styles
-------------  */
.mt-0{  margin-top: 0!important;}
.mt-5{  margin-top: 5px!important;}
.mt-10{  margin-top: 10px!important;}
.mt-15{  margin-top: 15px!important;}
.mt-20{  margin-top: 20px!important;}
.mt-25{  margin-top: 25px!important;}
.mt-30{  margin-top: 30px!important;}
.mt-35{  margin-top: 35px!important;}
.mt-40{  margin-top: 40px!important;}
.mt-50{  margin-top: 50px!important;}

.mb-0{  margin-bottom: 0!important;}
.mb-10{  margin-bottom: 10px!important;}
.mb-15{  margin-bottom: 15px!important;}
.mb-20{  margin-bottom: 20px!important;}
.mb-25{  margin-bottom: 25px!important;}
.mb-30{  margin-bottom: 30px!important;}
.mb-35{  margin-bottom: 35px!important;}
.mb-40{  margin-bottom: 40px!important;}

.mlt-0{  margin-left: 0!important;}
.ml-5{  margin-left: 5px!important;}
.ml-10{  margin-left: 10px!important;}
.ml-15{  margin-left: 15px!important;}
.ml-20{  margin-left: 20px!important;}
.ml-25{  margin-left: 25px!important;}
.ml-30{  margin-left: 30px!important;}
.ml-35{  margin-left: 35px!important;}
.ml-40{  margin-left: 40px!important;}

.mr-0{  margin-right: 0!important;}
.mr-10{  margin-right: 10px!important;}
.mr-15{  margin-right: 15px!important;}
.mr-20{  margin-right: 20px!important;}
.mr-25{  margin-right: 25px!important;}
.mr-30{  margin-right: 30px!important;}
.mr-35{  margin-right: 35px!important;}
.mr-40{  margin-right: 40px!important;}

.ta-c{text-align: center!important;}
.ta-r{text-align: right!important;}


/*
 * content  styles
-------------  */

body{
  background: #fafafa;
}

.wrapper{
  width: 1200px;
  min-height: 980px;
  margin: 0 auto;
  display: flex;
  background: #fff;
  box-shadow: 0px 0px 15px -5px #777777;
}

header{
  position: relative;
  z-index: 5;
  width: 280px;
  overflow: visible;
}

.header-wrap h1{
  padding: 30px 30px 10px;
}

.header-wrap nav ul li a{
  display: block;
  padding: 10px 30px;
  text-decoration: none;
  color: #2658b4;
  font-size: 1.6rem;
  font-weight: bold;
}

.header-wrap nav ul li a:hover{
  background: #efefef;
}

.header-wrap nav ul li.current a{
  background: #2658b4;
  color: #fff;
}

.header-wrap nav ul li.current a:hover{
  background: #2658b4;
}

.header-wrap nav ul li.current{
  position: relative;
}

.header-wrap nav ul li.current::before{
    position: absolute;
    display: block;
    content: '';
    top: 50%;
    right: -20px;
    transform: translateY(-10px);
    width: 10px;
    height: 10px;
    border: 10px solid transparent;
    border-left: 10px solid #2658b4;
}

.header-wrap nav ul li.current::after{
    position: absolute;
    display: block;
    content: '';
    top: 0;
    right: -1px;
    width: 1px;
    height: 100%;
    background: #2658b4;
}

.header-logo{
  padding: 10px 30px 10px;
}

.bn-list{
  margin-top: 20px;
  padding: 10px 30px;
}

.bn-list li img{
  display: block;
}

.bn-list li + li{
  margin-top: 10px;
}

.contents{
  position: relative;
  flex: 1;
  border-left: solid 1px #e6e6e6;
  min-height: 100vh;
  padding-bottom: 340px;
}

.col2{
  display: flex;
  justify-content: space-between;
}

.col2 > *{
  width: 48%;
}

footer{
  position: absolute;
  bottom: 0;
  width: 100%;
  margin-top: 80px;
  padding: 40px 30px;
  font-size: 1.3rem;
  background: #e6e6e6;
}

.foot-inner{
  position: relative;
  z-index: 2;
  margin: 0 auto;
  padding: 0 100px;
}

.foot-inner-data{
  display: flex;
  flex-wrap: wrap;
}

.foot-inner dl{
  display: flex;
  margin: 10px 0;
}

.foot-inner dt,
.foot-inner dd{
}

.foot-inner dt{
  font-weight: bold;
}

.foot-inner dd{
  padding: 6px 0;
}

.foot-inner span{
  display: inline-block;
  width: 5em;
  padding: 5px;
  font-weight: bold;
  border: solid 1px #333;
  text-align: center;
}

.foot-inner dd{
  margin-left: 15px;
}

.foot-inner dd a{
  color: #333;
}

.foot-inner p img{
  vertical-align: middle;
}

.foot-copy{
  font-size: 1rem;
  padding-top: 15px;
  text-align: center;
}

.foot-inner::before,
.foot-inner::after{
  position: absolute;
  z-index: 10;
  display: block;
  content: ' ';
}

.foot-inner::before{
  top: 10px;
  left: -10px;
  width: 90px;
  height: 102px;
  background: url("../img/chara01.png") no-repeat center center;
  background-size: cover;
}

.foot-inner::after{
  top: 25px;
  right: -10px;
  width: 76px;
  height: 84px;
  background: url("../img/chara02.png") no-repeat center center;
  background-size: cover;
}


footer .copy{
  margin-top:25px;
  font-size: 1.2rem;
}

.pgtop{
  position: fixed;
  z-index: 100;
  bottom: 0;
  right: 10%;
}

.pgtop a{
  position: relative;
  z-index: 1000;
  display: block;
  float: right;
}

.pgtop img{
  display: block;
}

.btn{
  position: relative;
  display: block;
  border-radius: 5px;
  padding: 20px;
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  font-size: 1.8rem;
  text-align: center;
  max-width: 420px;
}

.btn img{
  vertical-align: middle;
}

.btn:hover{
  color: #fff;
}

a.btn:hover{
  opacity: 0.8;
}

.icn-pdf::after,.icn-arw::after{
  position: absolute;
  content: '';
  top: 50%;
  right: 25px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.icn-pdf::after{
  width: 27px;
  height: 30px;
  background-image: url("../img/icn_pdf.png");
  transform: translateY(-15px);
}

.icn-arw::after{
  width: 26px;
  height: 26px;
  background-image: url("../img/icn_arw.png");
  transform: translateY(-13px);
}

.btn-blu01{
  background: linear-gradient(180deg, rgba(9,73,138,1) 0%, rgba(9,73,138,1) 49%, rgba(7,64,121,1) 50%, rgba(7,64,121,1) 100%);
  border: solid 2px rgba(7,64,121,1);
}

.btn-blu02{
  background: linear-gradient(180deg, rgba(4,108,108,1) 0%, rgba(4,108,108,1) 49%, rgba(2,93,93,1) 50%, rgba(2,93,93,1) 100%);
  border: solid 2px rgba(2,93,93,1);
}

.btn-ore{
  background: linear-gradient(180deg, rgba(208,80,30,1) 0%, rgba(208,80,30,1) 49%, rgba(206,71,18,1) 50%, rgba(206,71,18,1) 100%);
  border: solid 2px rgba(206,71,18,1);
}

.btn-red{
  background: linear-gradient(180deg, rgba(216,37,19,1) 0%, rgba(216,37,19,1) 49%, rgba(214,25,6,1) 50%, rgba(214,25,6,1) 100%);
  border: solid 2px rgba(214,25,6,1);
}

.btn-gre{
  background: linear-gradient(180deg, rgba(45,145,19,1) 0%, rgba(45,145,19,1) 49%, rgba(34,139,6,1) 50%, rgba(34,139,6,1) 100%);
  border: solid 2px rgba(34,139,6,1);
}

.btn-gry{
  background: #696969;
}

.t-ind01{
  display: block;
  text-indent: -1em;
  margin-left: 1em;;
}

.tag-uke{
  display: inline-block;
  margin-left: 10px;
  padding: 3px 4px;
  font-size: 1.3rem;
  background: #A91212;
  color: #fff;
  line-height: 1;
  animation: flash 2s linear infinite;
}

@keyframes flash {
  0% {
    opacity: 1;
  }
  20% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
}


/*
 * print styles
-------------  */

@media print{

  .pgtop{
    display: none!important;
  }
}