@charset "utf-8";
/* ===================
 reset
=================== */
@import 'html-5-reset-stylesheet.css';
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/css?family=Noto+Serif);
/* ===================
 font-family
=================== */
html{
font-size: 62.5%;
}
body{
font-family : -apple-system, "BlinkMacSystemFont", "Noto Sans Japanese", "Yu Gothic" , "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", osaka, sans-serif;
line-height:1.4;
color:#333;
/*-webkit-user-select: none;*/
-webkit-text-size-adjust: 100%;
width: 100%;
min-width: 1140px;
font-size: 16px; font-size: 1.6rem;
-webkit-text-size-adjust: 100%;
background: #fafaf8;
padding-top: 85px;
}
*{
  -webkit-appearance: none;
}
@media only screen and (max-width: 768px) {
  body {
  min-width: 100%;
  }
}
@media only screen and (max-width: 425px) {
  body {
  padding-top: 14%;
  }
}
@media only screen and (max-width: 320px) {
  body {
  padding-top: 17%;
  }
}
/* ===================
 reset-add
=================== */
a:active {
color: #000;
}
a {
color: #660033;text-decoration: none;
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-box-shadow: none;
box-shadow: none;
outline: none;
}
ol, ul {
list-style: none;
}
img {
max-width:100%;
vertical-align: bottom;
}
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  img {
  width:100%;
  }
  p.detail_comment img,
  #t_diary p img {
  width:auto !important;
  }

}

/* ===================
 common
=================== */
.nest {
width: 1140px;
margin: 0 auto;
}
.cf:after {
content: "";
clear: both;
display: block;
}
@media only screen and (max-width: 768px) {
  .nest {
  width: 100%;
  }
}

/* ===================
 header
=================== */
body{
position: relative
}
header{
padding: 28px 0 24px 0;
width: 100%;
background: rgba(255,255,255,0.9);
box-shadow:0 -20px 20px 20px rgba(0,0,0,0.1);
position: absolute;
top: 0;
left: 0;
right: 0;
z-index: 20;
}
header h1{
width: 20.88%;
margin-left: 4%;
float: left;
transition: all .3s;
}
header nav{
margin: 0 4.02% 0 auto;
}
header ul{
text-align: right;
}
header ul li{
display: inline-block;
margin: 0 1.75% 0 0;
font-size: 14px; font-size: 1.4rem;

}
header ul li:last-child{
margin: 0;
}
header ul li a{
display: block;
line-height: 26px;
transition: all .3s;
}
header ul li a:hover{
opacity: 0.6
}
.nest{
position: relative;
}
#mv h2{
position: absolute;
top: 420px;
right: 0;
transition: all .3s;
width: 434px;
}
#mv h2:hover{
opacity: 0.8;
}
@media only screen and (max-width: 768px) {
  header{
  padding: 28px 0 24px 0;
  position: fixed;
  background: #fff
  }
  header h1{
  width: 31.7%;
  margin-left: 5.3%;
  }
  #mv h2{
  position: absolute;
  width: 93.3%;
  top: 90%;
  right: 3.35%;
  transition: all .3s;
  }
  #mv h2:hover{
  opacity: 0.8;
  }

}
@media only screen and (max-width: 425px) {
  header{
  padding: 18px 0 20px 0;
  position: fixed;
  background: #fff
  }
}

@media only screen and (max-width: 768px) {


  header ul{
  text-align: center;
  margin-top: 90px;
  padding-bottom: 50px
  }
  header ul li{
  display: block;
  margin: 0 0 0 0;
  font-size: 20px;
  }
  header ul li a{
  line-height: 50px;
  color: #fff;
  }
}




.content{
background:url(../images/bg.png);
padding: 35px 0 23px 0;
}
.main{
width: 51.75%;
margin-left: 4.8%;
float: left;
}
.side{
width: 33.33%;
margin-right: 4.8%;
float: right;
}
.main section > div{
background: #fff;
padding: 20px 3.39%;
}
.main section h3{
padding: 16px 8.5%;
margin-top: 18px;
}
#t_program a,
#diary article a{
text-decoration: underline;
transition: all .3s;
}
#t_program a:hover,
#diary article a:hover{
text-decoration: none;
}
#t_diary h3{
background: #272534;
padding: 26px 8.5%;
}
#t_diary dt{
font-size: 14px;
margin-bottom: 12px;
}
#t_diary dt span{
font-size: 18px;
font-weight: bold;
color: #272534;
display: block
}
p.more{
width: 168px;
border: 3px solid #272534;
text-align: center;
margin: 18px auto 0;
}
p.more a{
display: block;
line-height: 40px;
color: #272534;
transition: all .3s;
}
p.more a:hover{
background: #272534;
color: #fff;
}

#t_oshimon{
margin-bottom: 20px;
}
#t_oshimon > p img{
position: absolute;
bottom:0;
right: 0;
}
#t_oshimon > p{
background: #fff;
color: #981d44;
padding:7px 0 12px 5.3%;
position: relative;
}
#t_oshimon > div{
background: #eee;
border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px;
padding: 20px 8.9%;
}
#t_oshimon dt{
width: 18.7%;
clear: left;
float: left;
margin-bottom: 5px;
}
#t_oshimon dd{
margin-left: 22.6%;
margin-bottom: 5px;
padding-top: 2px;
}


.side > ul li{
width: 33%;
float: left;
margin-top: 13px;
}
.side > ul li a{
color: #fff;
display: block;
line-height: 44px;
background: #55acef;
text-align: center;
transition: all .3s;
}

.side > ul li:nth-of-type(2) a {
background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;/*グラデーション①*/
}

.side > ul li:nth-of-type(2) a:hover {
background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 90%) no-repeat;
background: linear-gradient(135deg, #427eff 0%, #f13f79 90%) no-repeat;/*グラデーション①*/
}

.side > ul li:last-child a{
background: #00a8e9;
}
.side > ul li a:hover{
background: #439ED6;
}
.side > ul li:last-child a:hover{
background: #059ECE;
}

.one-column {
width: 90%;
margin: 0 auto;
background: #FFF;
}
.one-column p {
padding: 10px;
}
@media only screen and (max-width: 768px) {
      .content{
      padding: 35px 0 0 0;
      }
      .one-column {
      margin:29% auto 0;
      float: none;
      }
      .main{
      width: 100%;
      margin:0 0 0;
      float: none;
      }
      .side{
      width: 100%;
      margin:0 0;
      float: none;
      background: #e5e5e5;
      }
      #t_program{
      width: 93.3%;
      margin:0 3.35% 0;
      word-break: break-all;
      }
      #t_program div > img{
      width: auto;
      }
      .main section#t_diart > div{
      background: #fff;
      padding: 38px 3.39%;
      }
      .main section h3{
      padding: 16px 0;
      margin-top: 18px;
      }
      #t_diary h3{
      padding: 36px 0;
      }
      #t_diary dt{
      font-size: 24px;
      margin-bottom: 24px;
      }
      #t_diary dt span{
      font-size: 28px;
      }
      p.more{
      width: 53.6%;
      margin: 38px auto 0;
      }
      p.more a{
      line-height: 60px;
      font-size: 22px;
      }
      #t_oshimon{
      margin-bottom: 0;
      }
      #t_oshimon h3{
      background: #fff
      }
      #t_oshimon > p img{
      position: absolute;
      left: 4.6%;
      width: 28.8%;
      }
      #t_oshimon > p{
      background: #fff;
      color: #981d44;
      padding:0 3.35% 15px 37.33%;
      font-size: 24px;
      }
#t_oshimon > div{
background: #eee;
border-bottom-left-radius:0;
border-bottom-right-radius:0;
padding: 20px 8% 30px;
}
#t_oshimon dl{
width: 54%;
float: left;
}
#t_oshimon dl + img{
width: 42%;
float: right;
}
#t_oshimon dt{
width: 25%;
clear: left;
float: none;
margin-bottom: 5px;
}
#t_oshimon dd{
margin-left: 0;
margin-bottom: 10px;
padding-top: 2px;
}
    #t_tweet{
    padding: 34px 8%;
    }
    .side > ul li{
    margin-top: 0;
    margin-bottom: 35px;
    font-size: 16px;
    }
    .side > ul li a{
    line-height: 82px;
    }
}

@media only screen and (max-width: 425px) {
  .content{
  padding: 18px 0 0 0;
  }
  #t_diary h3{
  padding: 13px 8.5% 20px;
  }
  #t_diary dt{
  font-size: 14px;
  margin-bottom: 12px;
  }
  #t_diary dt span{
  font-size: 16px;
  }
  #t_tweet{
  max-width: 425px;
  padding: 18px 8%;
  }
  #t_tweet iframe.twitter-timeline-rendered {
  width: 360px !important;
  }
  .side > ul li{
  margin-bottom: 18px;
  font-size: 16px;
  }
  .side > ul li a{
  line-height: 42px;
  }
  p.more a{
  line-height: 40px;
  font-size: 16px;
  }
      #t_oshimon > p{

      font-size: 16px;
      }

}
@media only screen and (max-width: 320px) {
  .main{
  margin:22% 0 0;
  }
  #t_tweet iframe.twitter-timeline-rendered {
  width: 300px !important;
  }
}

/* ===================
 #oshimon
=================== */

#oshimon,#diary{
text-align: center;
margin: 0 4.8%;
padding-bottom:35px;
}
#oshimon h3,
#diary h3 {
position: relative;
line-height: 1.4;
padding:0.25em 2em;
display: inline-block;
top:0;
font-size: 22px;
color: #fff;
margin: 50px 0;
}
#oshimon h3 span,#diary h3 span{
font-size: 12px;
font-weight: normal;
display: block;
}
#oshimon h3:before,#oshimon h3:after,
#diary h3:before,#diary h3:after{
position: absolute;
top: 0;
content:'';
width: 8px;
height: 100%;
display: inline-block;
}
#oshimon h3:before,
#diary h3:before{
border-left: solid 1px #fff;
border-top: solid 1px #fff;
border-bottom: solid 1px #fff;
left: 0;
}
#oshimon h3:after,
#diary h3:after{
content: '';
border-top: solid 1px #fff;
border-right: solid 1px #fff;
border-bottom: solid 1px #fff;
right: 0;
}

#oshimon > div,
#diary > div {
display:-webkit-box;
display:-moz-box;
display:-ms-flexbox;
display:-webkit-flex;
display:-moz-flex;
display:flex;
-webkit-box-lines:multiple;
-moz-box-lines:multiple;
-webkit-flex-wrap:wrap;
-moz-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
text-align: left;
}
#oshimon > div div.oshi-box {
margin:0 1% 10px 0;
width: 32%;
height: 300px;
color: #fff;
position: relative;
overflow: hidden;
}
#oshimon > div div.oshi-box .inner {
width: 100%;
height: 300px;
position: absolute;
-webkit-background-size: cover;
     -o-background-size: cover;
        background-size: cover;
background-position: center center;
transition: all 0.5s ease-out;
transform: matrix3d(
1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, 0,
0, 0, 0, 1
);
will-change: transform;
}
#oshimon > div div.oshi-box .inner:hover {
transform: matrix3d(
1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, 0,
0, 0, 0, 0.9
);
}
#oshimon > div div.oshi-box dl {
position: absolute;
pointer-events: none;
width: 100%;
z-index:1;
bottom: 0;
background: rgba(255,255,255,.8);
color: #660033;
}

#oshimon > div dl:nth-child(4n){
margin:0 0 10px 0;
}
#oshimon > div dl span{
font-size: 12px;
display: block;
}
#oshimon > div dt{
margin: 5px 5px 0 5px;
}
#oshimon > div dt img{
border: 3px solid #fff;
}
#oshimon > div dd{
font-weight: bold;
margin: 0 5px 5px 5px;
}
#oshimon > div dd:last-child{
font-size: 14px;
font-weight: normal
}
@media only screen and (max-width: 768px) {
#oshimon > div div.oshi-box {
width: 48%;
height: 200px;
}
#oshimon > div div.oshi-box .inner {
width: 100%;
height: 200px;
}
  #oshimon > div dl {
  width: 31.33%;
  }
  #oshimon > div dl:nth-child(4n){
  margin:0 3% 10px 0;
  }
  #oshimon > div dl:nth-child(3n){
  margin:0 0 10px 0;
  }
}
@media only screen and (max-width: 425px) {
  #oshimon h3 {
  font-size: 14px;
  margin: 30px 0;
  }
  #oshimon > div dl {
  width: 48.5%;
  }
  #oshimon > div dl:nth-child(3n){
  margin:0 3% 10px 0;
  }
  #oshimon > div dl:nth-child(2n){
  margin:0 0 10px 0;
  }
}
/* ===================
 #diary
=================== */
#diary article{
background: #fff
}
#diary article {
margin:0 0 25px 0;
padding:20px 2.5%;
width: 100%;
word-break: break-all;
}
#diary article h4{
line-height: 1.0;
margin-bottom: 10px;
font-size: 18px;
}
#diary article h4 + p{
font-size: 12px;
color: #666;
border-bottom: 1px solid #ccc;
padding-bottom: 10px;
margin-bottom: 5px;
}
#diary article ul + img + p{
width: 46%;
}
#diary article ul + img{
width: 50%;
float: right;
margin:0 0 20px 20px;
}
#diary article ul{
text-align: right;
}
#diary article  li{
display: inline-block;
/*
width: 20px;
margin-bottom: 10px;
*/

}
#diary > ul li{
width: 168px;
text-align: center;
margin: 18px auto 32px;
}
#diary > ul li a{
display: block;
line-height: 40px;
color: #272534;
transition: all .3s;
background: #272534;
color: #fff;
border: 3px solid #272534;
}
#diary > ul li a:hover{
background: transparent;
border: 3px solid #fff;
}
#diary > ul li{
float: left
}
#diary > ul li + li{
float: right
}
@media only screen and (max-width: 425px) {
  #diary article ul + img + p{
  width: 100%;
  }
  #diary article ul + img{
  width: 100%;
  float: none;
  margin:0 0 20px 0;
  }
  #diary > ul li{
  width: 138px;
  font-size: 14px;
  margin: 0 auto 16px;
  }
  #diary > ul li a{
  line-height: 30px;
  }
}
/* ===================
 footer
=================== */
footer{
background: #fff;
background:url(../images/footer-bg.png) repeat-y center 0;
}
footer .nest{
background: #eee;
}
footer .nest h3{
width: 438px;
float: left
}
footer .nest p{
padding: 20px 20px 0 0;
}
footer > p{
padding:32px 0;
background: #fff;
text-align: center
}
#page-top {
position: fixed;
bottom: 20px;
right: 50px;
width:40px;
z-index: 10;
}
@media only screen and (max-width: 768px) {
  footer{
  background:url(../images/footer-bg-sp.jpg) center 0;
  }
  footer .nest{
  background:url(../images/footer-img.jpg) no-repeat 90% 0;
  background-size: 41.6% auto
  }
  footer .nest h3{
  width: 36.6%;
  margin:0 0 22px 8.1%;
  padding: 45px 0 0 0 ;
  float: none;
  }
  footer .nest p{
  padding: 0 0 50px 0;
  width: 36.6%;
  margin-left: 8.1%;
  color: #fff;
  font-size: 20px;
  }
  footer > p{
  padding:32px 0;
  background: #fff;
  text-align: center
  }
  footer > p img{
  width: 37.6%;
  }
  #page-top {
  position: fixed;
  bottom: 20px;
  right: 5%;
  width:40px;
  z-index: 10;
  }
}
@media only screen and (max-width: 425px) {
  footer .nest{
  background:url(../images/footer-img.jpg) no-repeat 50% 20px;
  background-size: 30% auto
  }
  footer .nest h3{
  width: 60%;
  margin:0 20% 22px;
  padding: 50% 0 0 0 ;
  float: none;
  }
  footer .nest p{
  padding: 0 0 25px 0;
  width: 80%;
  margin: 0 10%;
  color: #fff;
  font-size: 20px;
  }
  footer .nest p{

  font-size: 14px;
  }
  footer > p{
  padding:16px 0;
  }
}


@media all and (min-width:769px){
  .sp {
  display: none;
  }
}
@media all and (max-width: 768px) {
  .pc {
  display: none;
  }
}

@media all and (min-width:426px){
  .spp {
  display: none;
  }
}
@media all and (max-width: 425px) {
  .pcc {
  display: none;
  }
}

@media all and (min-width:769px){
  .sp {
  display: none;
  }
  .fat-nav {
      display: block !important;
  }
  body {
      overflow: visible !important;
  }
}

.lock {
overflow:hidden;
}
.modal-content {
position:relative;
display:none;
width:50%;
margin:30px;
padding:10px 20px;
}
@media all and (max-width: 768px) {
  .modal-content {
  width: 80%;
  }
}
.modal-content p {
margin:0;
padding:0;
color: #fff;
text-align: left!important;
margin-bottom: 10px;
text-align: center!important
}
.modal-content p:last-child{
margin: 50px auto 0;
text-align: center!important;
}
.modal-content p:last-child a{
display: inline-block;
padding: 8px 12px;
color: #333;
border: 3px solid #fff;
color: #fff;
text-align: center;
font-size: 16px; font-size: 1.6rem;
text-decoration: none;
}
.modal-content p + img{
margin-top: 20px
}
.modal-content img{
margin-bottom: 20px
}
.modal-overlay {
z-index:30;
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:120%;
background: rgba(152,29,68, 0.95);
}
.modal-wrap {
z-index:31;
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
overflow:auto;
}
.modal-open {
color:#00f;
text-decoration:underline;
}
.modal-open:hover {
cursor:pointer;
color:#f00;
}
.modal-close {
color:#00f;
text-decoration:underline;
}
.modal-close:hover {
cursor:pointer;
color:#f00;
}
