@charset "utf-8";
/* ===================
 reset
=================== */
@import 'html-5-reset-stylesheet.css';
/* ===================
 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; */
width: 100%;
min-width: 1200px;
font-size: 16px; font-size: 1.6rem;
-webkit-text-size-adjust: 100%;
background:url(../img/bg-line.jpg) top center repeat-x,
url(../img/bg-body.jpg) top center repeat-y,
url(../img/bg.jpg) 0 0 repeat;
}
*{
  -webkit-appearance: none;
}
@media only screen and (max-width: 768px) {
  body {
  min-width: 100%;
  background:url(../img/bg-line.jpg) top center repeat-x,
  url(../img/bg-body.jpg) top center repeat-y,
  url(../img/bg.jpg) 0 0 repeat;
  background-size: auto 40px, 88% auto, 30px auto;
  }
}
#side_tweet iframe { width: 740px !important; }

/* ===================
 reset-add
=================== */
a:active {
color: #000;
}
a {
color: #333;
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;
}

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

/* ===================
 header
=================== */
@media only screen and (min-width: 769px) {
  header h1{
  margin: 0 auto;
  text-align: center;
  }
  header .nest{
  position: relative
  }
  header .fat-nav{
  width: 1050px;
  margin: 0 auto;
  position: fixed;
  top: 0;
  z-index: 10;
  }
  header{
  background:url(../img/mv-bg.png) center 30px no-repeat;
  padding-top: 30px
  }
  .notop header{
  background:none;
  padding-top: 100px
  }
  .notop header h1{
  width: 50%;
  }
  header ul{
  font-size: 0;
  }
  header ul li{
  display: inline-block;
  text-align: center;
  }
  header ul li:nth-child(1){
  width: 12.76%;
  }
  header ul li:nth-child(2){
  width: 13.90%;
  }
  header ul li:nth-child(3){
  width: 19.43%;
  }
  header ul li:nth-child(4){
  width: 25.52%;
  }
  header ul li:nth-child(5){
  width: 14.67%;
  }
  header ul li:nth-child(6){
  width: 13.72%;
  }
  header ul li a{
  display: block;
  line-height: 72px;
  padding-bottom: 10px;
  transition: all .3s;
  color: #fff;
  font-size: 16px; font-size: 1.6rem;
  letter-spacing: 0.1em;
  background:url(../img/nav-bg.jpg) repeat-x;
  }
  header ul li a:hover{
  background:url(../img/nav-bg-on.jpg) repeat-x;
  }
  .hamburger__icon span{
  display: none;
  }
}
@media only screen and (max-width: 768px) {
  header{
  background:none;
  padding-top: 30px
  }
  header ul{
  padding-top: 100px
  }
  header ul li{
  text-align: center;

  font-size: 20px;font-size: 2.0rem;
  }
  header ul li a{
  display: block;
  padding: 1em 0;
  color: #5fbea9;
  background: #fff;
  margin: 1em 2em;
  }
}
@media only screen and (max-width: 425px) {
  header ul{
  padding-top: 60px
  }
  header ul li{
  font-size: 16px;font-size: 1.6rem;
  }
  header ul li a{
  margin: 0.5em 1em;
  }
}

.content{
padding: 75px 0 0 0;
}
.content .nest{
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;
flex-direction:row-reverse;
-webkit-box-pack:justify;
-moz-box-pack:justify;
-webkit-flex-pack:justify;
-moz-flex-pack:justify;
-ms-flex-pack:justify;
-webkit-justify-content:space-between;
-moz-justify-content:space-between;
justify-content:space-between;
}
.main{
width: 70.48%;
background:url(../img/bg-diary.jpg) center bottom no-repeat;
}
.side{
width: 25.71%;
}
.main h2{
margin-bottom: 35px;
text-align: center;
position: absolute;
top: -30px;
left: calc(50% - 112px);
}
.diary{
position: relative;
margin:30px 0 0 0;
padding: 80px 0;
background:url(../img/bg-diary.jpg) center top repeat-y;
}
#t_diary ul{
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;
}
#t_diary ul li {
width: 45.95%;
margin: 0 0 35px 4.05%;
position: relative
}
#t_diary ul li a{
display: block;
padding-top: 70%;
background-size: cover;
background-repeat: no-repeat;
color:#fff;
}
#t_diary ul li p{
position: absolute;
background: #303338;
bottom: 9px;
left: -16px;
width: 98.53%;
font-size: 13px; font-size: 1.3rem;
padding: 10px;
}
p.more{
width: 160px;
text-align: center;
font-size: 20px; font-size: 2.0rem;
margin-left: auto;
}
p.more a{
display: block;
color: #fff;
line-height: 40px;
transition: all .3s;
padding-right: 5%;
background: #dd5e00;
position: relative
}
p.more a:hover{
background: #a8322a;
}
p.more a:before{
content:"\0bb";
position: absolute;
right: 20%
}
.side section{
background: #fff;
margin-bottom: 30px;
font-size: 13px; font-size: 1.3rem;

}
.side section h3{
margin-bottom: 10px;
padding:3px 0 8px;
font-size: 20px; font-size: 2.0rem;
text-align: center;
letter-spacing: 0.08em;
position: relative
}
.side section h3:before{
content: "";
position: absolute;
width: 0;
height: 0;
margin: auto;
top: 0;
right: 0;
}
.side section p{
padding: 3% 6.25%;
font-size: 15px;font-size: 1.5rem;
}
#side_today{
border: 5px solid #303338;
}
#side_today h3{
color: #80fae0;
background: #303338;
}
#side_today h3:before{
border-style: solid;
border-color: transparent #80fae0 transparent transparent;
border-width: 0 16px 16px 0;
}
#side_timetable{
border: 5px solid #dd5e00;
}
#side_timetable h3{
color: #fff;
background: #dd5e00;
}
#side_timetable h3:before{
border-style: solid;
border-color: transparent #fff transparent transparent;
border-width: 0 16px 16px 0;
}
#side_tweet{
border: 5px solid #0076dd;
}
#side_tweet h3{
color: #fff;
background: #0076dd;
margin-bottom:0;
padding-right: 1em
}
#side_tweet h3:before{
border-style: solid;
border-color: transparent #fff transparent transparent;
border-width: 0 16px 16px 0;
}
#side_tweet h3:after{
content: url(../img/icon-twitter.png);
position: absolute;
top: 3px;
right:23%;
}

@media only screen and (max-width: 768px) {
  .content{
  padding: 8% 0 0 0;
  }
  .main,.side{
  width: 100%;
  float: none;
  }
}
@media only screen and (max-width: 425px) {
  .main{
  background:none;
  }
  .main h2{
  width: 40%;
  margin-bottom: 2%;
  text-align: center;
  position: absolute;
  top: -0.5%;
  left: 30%;
  }
  .diary{
  position: relative;
  background:url(../img/bg-diary.jpg) center top repeat-y;
  background-size: 70%;
  margin:5% 0 0 0;
  padding: 15% 0;
  }
  #t_diary ul {
  margin-left: 5%;
  }
  #t_diary ul li {
  width: 90%;
  }
}
/* ===================
 #timefree
=================== */
.timefree {
position: fixed;
top: 100px;
left: 0;
}
.timefree label {
cursor :pointer;
display: block;
width: 80px;
}
.timefree input {
display: none;
}
.timefree div{
height: 0;
padding: 0;
overflow: hidden;
opacity: 0;
transition: 0.8s;
}
.timefree input:checked ~ div {
padding: 0;
height: auto;
opacity: 1;
}
.timefree li{
font-size: 12px;
border-bottom: 1px solid #000;
}
.timefree li a{
display: block;
background: #333;
color: #ccc;
padding: 10px 20px;
transition: .3s;
}
.timefree li a:hover{
color: #80fae0;
background: #111;
}
@media only screen and (max-width: 425px) {
  .timefree label {
  cursor :pointer;
  display: block;
  width: 60px;
  }
}

/* ===================
 #diary
=================== */
#diary{
padding-bottom:35px;
}
#diary article{
margin:0 0 25px 0;
width: 100%;
word-break: break-all;
background: #fff;
margin-bottom: 30px;
font-size: 13px; font-size: 1.3rem;
border: 5px solid #5fbea9
}
#diary article h3{
line-height: 1.0;
margin-bottom: 10px;
font-size: 18px;
margin-bottom: 10px;
padding:3% 3%;
font-size: 20px; font-size: 2.0rem;
letter-spacing: 0.08em;
position: relative;
background: #5fbea9;
color: #111;
}
#diary article h3:before{
content: "";
position: absolute;
width: 0;
height: 0;
margin: auto;
top: 0;
right: 0;
border-style: solid;
border-color: transparent #111 transparent transparent;
border-width: 0 16px 16px 0;
}
#diary article h3 + p{
font-size: 12px;
color: #5fbea9;
padding-bottom: 10px;
margin:0 10px 10px auto;
text-align: right;
}
#diary article > div{
margin: 0 auto 20px;
max-width: 80%;
}
#diary article > div + p{
padding:0 10%;
font-size: 16px; font-size: 1.6rem;
}
#diary article > p a,
.side a{
color: #e3720f;
text-decoration: underline;
}
#diary article > p a:hover,
.side a:hover{
text-decoration: none;
}
#diary article ul{
margin: 10px 10px 0 0;
text-align:right;
}
#diary article li{
display: inline-block;
margin-bottom: 10px;
}
#diary > ul li{
width: 160px;
text-align: center;
margin: 18px auto 32px;
font-size: 20px; font-size: 2.0rem;
float: left;
}
#diary > ul li + li{
float: right;
}
#diary > ul li a{
display: block;
color: #fff;
line-height: 40px;
transition: all .3s;
padding-right: 5%;
background: #dd5e00;
position: relative
}
#diary > ul li:first-child a{
padding-left: 10%;
padding-right: 0;
}
#diary > ul li a:hover{
background: #a8322a;
}
#diary > ul li:first-child a:before{
content:"\0ab";
position: absolute;
left: -50%;
}
#diary > ul li a:before{
content:"\0bb";
position: absolute;
right: 20%
}
.fb_iframe_widget > span {
  vertical-align: baseline !important;
}
/* ===================
 footer
=================== */
footer{
background: rgba(255, 255, 255, 0.75);
padding: 60px 0 50px;
position: relative;
}
footer > ul{
text-align: center;
}
footer > ul li{
color: #539789;
font-weight: bold;
display: inline-block;
vertical-align: middle;
}
footer > ul li:first-child,footer > ul li:nth-child(2){
margin-right: 24px;
}
footer > ul li:first-child{
width: 140px;
}
#page-top {
position: fixed;
bottom: 20px;
right: 50px;
width:40px;
z-index: 10;
}
@media only screen and (max-width: 768px) {
  footer{
  padding: 30px 0 10px;
  position: relative;
  }
  footer > ul li{
  text-align: center;
  width: 80%;
  margin: 0 5% 2%;
}
}
@media only screen and (max-width: 425px) {
  footer > ul li{
  font-size: 12px;font-size: 1.2rem;
  }
}

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