.swiper-button-prev,
.swiper-button-next { width:28px; height:28px; margin-top:-21px; }
.swiper-button-prev {
    background: url(../img/arrow-circle-left.svg) no-repeat center center / contain; opacity:.5; }
.swiper-button-next {
    background: url(../img/arrow-circle-right.svg) no-repeat center center / contain; opacity:.5; }
.swiper-pagination-bullet-active{ opacity:1;background:#2f5d50; }
.swiper-container-horizontal>.swiper-pagination-bullets{ bottom:18px; }

.swiper-container   { padding:0 0 35px; background:#fff; line-height:.5; }
.s-right2-wrap      { position:relative; max-width:980px; margin:0 auto; }
.s-right2-text,.s-right2-sub,.animetitle,.animetitle-sub,.s-right2-text2
                    { position:absolute; width:100%; left:0; text-align:center; color:white;
                      text-shadow:0px 0px 3px rgba(0,0,0,.7),0px 0px 4px rgba(0,0,0,.6),
                      0px 0px 5px rgba(0,0,0,.5); z-index:60; }
.swiper-slide-active .s-right2-text,.swiper-slide-active .s-right2-text2
                    { animation:slideFromRight 1.5s ease 0s 1 normal; }
.swiper-slide-active .s-right2-sub
                    { animation:slideFromRightSub 2.5s ease 0s 1 normal; }
.swiper-slide-active .animetitle
                    { animation:animeTitle 2.5s ease 0s 1 normal; }
.swiper-slide-active .animetitle-sub
                    { animation:animeTitleSub 3.5s ease 0s 1 normal; }

@keyframes slideFromRight {
0%, 25% { transform:translateX(80px); opacity:0; }
100% { transform:translateX(0px); opacity:1; }
}
@keyframes slideFromRightSub {
0%, 45% { transform:translateX(80px); opacity:0; }
100% { transform:translateX(0px); opacity:1; }
}
@keyframes animeTitle {
0%, 45% { opacity:0; }
100% { opacity:1; }
}
@keyframes animeTitleSub {
0%, 45% { opacity:0; }
100% { opacity:1; }
}
  
.s-right2-text  { top:4%; }
.s-right2-text2 { top:30%; }
.s-right2-sub   { bottom:5%; }

h1              { font-weight:normal; letter-spacing:0.2em; }
h2              { letter-spacing:0.2em; line-height:1.2; }
h3              { font-weight:normal; letter-spacing:0.2em; }
h4              { color:#ddd; font-weight:normal; line-height:0; width:100%; bottom:10%; }
h5              { line-height:150%; }
h6              { font-weight:normal; }

.admission      { text-shadow:none; font-weight:normal; letter-spacing:0.4em;
                  background-color:rgba(0,0,0,.25); border:1px solid #fff;
                  text-align:center; display:inline-block; margin:0;
                  box-shadow:0px 0px 3px rgba(0,0,0,.4),0px 0px 4px rgba(0,0,0,.3),
                  0px 0px 5px rgba(0,0,0,.2); }

#program        { display:-webkit-box; display:-ms-flexbox; display:flex; position:relative; }
.helvetica      { color:#2f5d50; line-height:1.2; width:100%; bottom:10%; text-align:center; margin-top:5%;
                  font-family:"Helvetica","HelveticaNeue","Arial","Roboto",sans-serif; font-weight:bold; letter-spacing:1em; padding-left:1em; }
#title1>img     { left:4%; top:10%; width:92%; }
#category       { height:400px; background-color:#eee; }
.glaytxt        { color:#777; }
.boldtxt		{ font-weight:bold; }
.newsdate,.newstitle,.newstxt
                { margin:0; vertical-align:middle; line-height:1.5; }
.newsdate2      { font-weight:normal; }
.news1          { padding:.1% 0 .1% 0; }
.newstitle      { color:#2f5d50; font-weight:bold; }
.newsadmission  { background-color:#777; color:#fff; font-weight:normal; padding:.5% 1.5% .3% 1.5%; }
.newsadmissionred  { background-color:#ba5548; color:#fff; font-weight:normal; padding:.5% 1.5% .3% 1.5%; }
.newsadmissiongreen  { background-color:#2f5d50; color:#fff; font-weight:normal; padding:.5% 1.5% .3% 1.5%; }
.newstar        { font-weight:normal; display:block; }
#pastenewslink  { background-color:#2f5d50; color:#fff; padding:.05% 1.2% .05% 1.5%; text-align:center; margin:0 auto; display:block; margin-top:2%; }
.pastenewslinktxt
                { font-weight:normal; text-align:center; }

/*全体*/
.hidden_box     { margin:0 auto; display:block; margin-top:4%;
                  text-align:center; padding:0; }

/*ボタン装飾*/
.hidden_box label {
    background-color:#2f5d50; color:#fff; 
    padding:1% 2% 1% 2.5%;
    font-weight:normal;
    letter-spacing:0.2em;
    cursor:pointer;
    transition:.8s;
}

/*アイコンを表示*/
.hidden_box label:before {
    display:inline-block;
    content:'Ｖ';
    padding-right:.5%;
    transition:0.3s;
    font-weight:lighter;
    transform:scale(1.3, 1);
    color:#aaa;
}

/*ボタンホバー時*/
.hidden_box label:hover { opacity:0.75; }

/*アイコンを切り替え*/
.hidden_box input:checked ~ label:before {
    content:'Ｖ';
    padding-right:.5%;
    font-weight:lighter;
    -webkit-transform:rotate(180deg) scale(1.3, 1);
    transform:rotate(180deg) scale(1.3, 1);
    transform-origin:30% 40%;
    color:#aaa;
}

/*チェックは見えなくする*/
.hidden_box input { display:none; }

/*中身を非表示にしておく*/
.hidden_box .hidden_show {
    height:0;
    padding:0;
    overflow:hidden;
    opacity:0;
    transition:1.5s;
}

/*クリックで中身表示*/
.hidden_box input:checked ~ .hidden_show {
    padding:1.5% 0;
    height:auto;
    opacity:1;
}


@media print, screen and (min-width:769px) {
#mainbox        { height:635px; background-color:#aaa; }
h1              { font-size:32px; }
h2              { font-size:50px; }
h3              { font-size:26px; }
h4              { font-size:22px; left:69%; }
.s-right2-sub>p { font-size:17px; line-height:1.5; }
.admission      { font-size:18px; padding:8px 12px 5px 15px; }
.helvetica      { font-size:18px; }
#pastenewslink  { font-size:13px; }
article         { background-color:#eee; border-bottom:1px solid #aaa; }
article:first-child
                { border-color:#aaa; border-style:solid; border-width:1px 0 1px 0; }
h5,.news1>a>div>p
                { font-size:13px; }
#news,#pastenews
                { margin-top:20px; -webkit-flex-direction:column; -moz-flex-direction:column; -ms-flex-direction:column; flex-direction:column; }
.news1,.newstxt,.newsdatetitle
                { display:-webkit-box; display:-moz-flexbox; display:-ms-flexbox; display:flex; align-items:center; }
.newsdate,.newstitle
                { border-right:1px solid #aaa; text-align:center; }
.newsdate       { width:130px; }
.newstitle      { width:150px; }
.newstxt        { width:560px; padding-left:15px; padding-right:5px; text-align:left; }
.newsdate1      { width:150px; }
.newsdate2      { width:410px; padding-left:15px; }
.newstar        { font-size:12px; text-align:right; padding-right:4%; }
.newslink       { width:140px; }
#pastenewslink  { width:180px; }
.hidden_box>label
                { font-size:13px; }
}

@media only screen and (max-width:768px) and (min-width:641px) {
.swiper-container{ width:100%; }
h4              { font-size:2.6vw; left:69%; }
h1              { font-size:3.3vw; }
h2              { font-size:6.5vw; }
h3              { font-size:2.7vw; }
h5              { line-height:1.2; margin:4% 0 4% 0; }
.s-right2-sub>p { font-size:2vw; line-height:1.5; }
.admission      { font-size:2.5vw; padding:1% 2% 1% 3%; }
.helvetica      { font-size:3vw; margin-top:10%; }
#pastenewslink  { font-size:2vw; }
article         { background-color:#eee; border-color:#aaa; border-style:solid; border-width:1px 0 1px 0; }

h5,.news1,.hidden_box>label
                { font-size:2vw; }
.newsdatetitle  { width:25%; text-align:center; }
.newsdate       { border-color:#aaa; border-style:solid; border-width:0px 0 1px 0; }
.newsdate,.newstitle
                { vertical-align: middle; margin:auto; }
.newstxt        { width:50%; padding:0 2% 0 2%; border-left:1px solid #aaa; margin:1% 0 1% 0;
                  text-align:left; }
#news,#pastenews
                { margin-top:1%; -webkit-flex-direction:column; -moz-flex-direction:column; -ms-flex-direction:column; flex-direction:column; }
#pastenews      { margin-top:5%; }
.news1          { display:-webkit-box; display:-moz-flexbox; display:-ms-flexbox; display:flex; align-items:center; 
                  margin-bottom:3%; }
.newstar        { font-size:1.75vw; text-align:right; padding-right:2%; }
.newslink       { width:25%; }
#pastenewslink  { width:35%; margin-bottom:5%; }
#pastenewslink>p
                { font-size:1.8vw; }
}

@media only screen and (max-width:640px) and (min-width:481px) {
.swiper-container{ width:100%; }
h4              { font-size:2.8vw; left:69%; }
h1              { font-size:3.5vw; }
h2              { font-size:7vw; }
h3              { font-size:2.9vw; }
.s-right2-sub>p { font-size:2.2vw; line-height:1.5; }
.admission      { font-size:2.8vw; padding:1% 3% 1% 3%; }
article         { background-color:#eee; border-color:#aaa; border-style:solid; border-width:1px 0 1px 0; }
h5,.news1,.hidden_box>label
                { font-size:3vw; }
h5              { line-height:1.2; margin-bottom:1%; }
.newsdate       { width:50%; border-right:1px solid #aaa; }
.newstitle      { width:50%; border:none; }
.newstxt        { width:100%; padding-left:2%; padding-right:2%; text-align:center; line-height:1.7; border-top:1px solid #aaa; }
.helvetica      { font-size:3.5vw; margin-top:10%; }
#news,.news1,#pastenews    { -webkit-flex-direction:column; -moz-flex-direction:column; -ms-flex-direction:column; flex-direction:column; 
                  margin-bottom: 1%; }
#pastenews      { margin-top:5%; }
.newsdatetitle  { display:-webkit-box; display:-moz-flexbox; display:-ms-flexbox; display:flex; align-items:center; flex-wrap:wrap;
                  text-align:center; }
.news1          { margin-bottom:5%; }
.newstar        { font-size:2.5vw; text-align:right; padding-right:2%; }
#pastenewslink  { width:40%; margin-bottom:5%; }
#pastenewslink>p
                { font-size:2.5vw; }
}

@media only screen and (max-width:480px) and (min-width:321px) {
.swiper-container{ width:100%; }
.animetitle-sub { width:90%; left:5%; }
#title1>img     { left:10%; top:4%; width:80%; }
.s-right2-text  { top:2%; }
h4              { font-size:3.2vw; left:69%; line-height:1.5; }
h1              { font-size:4vw; }
h2              { font-size:8.5vw; }
h3              { font-size:3.8vw; }
.s-right2-sub>p { font-size:3vw; line-height:1.5; }
.s-right2-sub-txt{ letter-spacing:0.18em; }
.admission      { font-size:3.5vw; padding:1.5% 3% 1% 3%; }
article         { background-color:#eee; border-color:#aaa; border-style:solid; border-width:1px 0 1px 0; }
h5,.news1,.hidden_box>label
                { font-size:3.5vw; }
h5              { line-height:1.2; margin-bottom:1%; }
.newsdate       { width:50%; border-right:1px solid #aaa; }
.newstitle      { width:50%; border:none; }
.newstxt        { width:100%; padding-left:2%; padding-right:2%; text-align:center; line-height:1.7; border-top:1px solid #aaa; }
.helvetica      { font-size:4vw; margin-top:10%; }
#news,.news1,#pastenews    { -webkit-flex-direction:column; -moz-flex-direction:column; -ms-flex-direction:column; flex-direction:column; 
                  margin-bottom: 1%; }
#pastenews      { margin-top:5%; }
.newsdatetitle  { display:-webkit-box; display:-moz-flexbox; display:-ms-flexbox; display:flex; align-items:center; flex-wrap:wrap;
                  text-align:center; }
.news1          { margin-bottom:5%; }
.newstar        { font-size:3vw; text-align:right; padding-right:2%; }
#pastenewslink  { width:50%; margin-bottom:5%; }
#pastenewslink>p
                { font-size:2.8vw; }
}

@media only screen and (max-width:320px){
.swiper-container{ width:100%; }
.animetitle-sub { width:90%; left:5%; }
#title1>img     { left:9%; top:4%; width:82%; }
.s-right2-text  { top:2%; }
h4              { font-size:3.4vw; line-height:1.5; }
h1              { font-size:4.8vw; }
h2              { font-size:9.5vw; }
h3              { font-size:4.5vw; }
.s-right2-sub>p { font-size:3.3vw; line-height:1.5; }
.s-right2-sub-txt{ letter-spacing:0.17em; }
.admission      { font-size:4vw; padding:1.5% 3% 1% 3%; }
article         { background-color:#eee; border-color:#aaa; border-style:solid; border-width:1px 0 1px 0; }
h5,.news1,.hidden_box>label
                { font-size:4vw; }
    h5              { line-height:1.2; margin-bottom:1%; }
.newsdate       { width:50%; border-right:1px solid #aaa; }
#pastenews      { margin-top:5%; }
.newstitle      { width:50%; border:none; }
.newstxt        { width:100%; padding-left:2%; padding-right:2%; text-align:center; line-height:1.7; border-top:1px solid #aaa; }
.helvetica      { font-size:4.5vw; margin-top:10%; }
#news,.news1,#pastenews    { -webkit-flex-direction:column; -moz-flex-direction:column; -ms-flex-direction:column; flex-direction:column; 
                  margin-bottom: 1%; }
.newsdatetitle  { display:-webkit-box; display:-moz-flexbox; display:-ms-flexbox; display:flex; align-items:center; flex-wrap:wrap;
                  text-align:center; }
.news1          { margin-bottom:5%; }
.newstar        { font-size:3.5vw; text-align:right; padding-right:2%; }
#pastenewslink  { width:55%; margin-bottom:5%; }
#pastenewslink>p
                { font-size:3vw; }
}