@charset "UTF-8";
* {-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}
html {-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;box-sizing: border-box;}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,form,input,p,th,td,img{margin:0;padding:0;font-size:14px;color:#555;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
table {border-collapse:collapse;border-spacing:0;}
ol,ul {list-style:none;}
li {display: inline-block;*display: inline;*zoom: 1;}
a img {border-style:none;//IE8}
img{max-width: 100%;}
a {color:#509be5;text-decoration:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:none;}
a:link{color:#509be5;}
a:visited{color:#509be5;}
a:hover{color:#509be5;}
a:focus{outline:0}
a:hover,a.selected,a:link{text-decoration:none;}
a,img{vertical-align:top}
.clrfx:before,.clrfx:after {content: " ";display: table;clear: both;}
.clrfx {*zoom: 1;}
.fl {float: left;}
.fr {float: right;}
.vh{visibility: hidden;}
.tac{text-align: center; margin-bottom:8px;}
.tal{text-align: left;}
.tar{text-align: right;}
.ml_05 {margin-left: -0.5em;}
.hoverOp:hover{filter: alpha(opacity=60);opacity: 0.6;}
a.hovOp:hover{filter: alpha(opacity=50);opacity: 0.5;-webkit-transition: all 0.5s ease-out;-moz-transition: all 0.5s ease-out;-o-transition: all 0.5s ease-out;transition: all 0.5s ease-out;}
.clrbr{display: inline-block;padding-bottom: 20px;}
.sp { display: none; }
.pc { display: block; }

body {
  letter-spacing: 1px;
  font:normal 18px/28px "秀英丸ゴシック B", "Shuei MaruGo B", "ヒラギノ丸ゴ Pro W3", "Hiragino Maru Gothic Pro", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #3E3A39;
  background-image: url(../images/img_bg.png);
}

.invisible{
  visibility: hidden;
}

.flex-container {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -webkit-align-content: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.flex-child {
  border: 1px solid pink;
  background-color: white;
  padding: 10px;
  margin: 4px;
  width: 262px;
  box-sizing: border-box;
  border-radius: 5px;
}

.icon-current {
  width: 150px;
  transition: width .15s ease;
}

#header.min .icon-current{
    width: 70px;
}

.nav-icon-container{
    position: relative;
    transition: left .15s ease 0s, right .15s ease 0s;
}

.nav-icon-container.prev{ left: 0; cursor: pointer;}
.nav-icon-container.next{ right: 0; cursor: pointer;}

.is_sp .nav-icon-container.prev.touch,
.is_pc .nav-icon-container.prev:hover{
    left: -5px;
}

.is_sp .nav-icon-container.next.touch,
.is_pc .nav-icon-container.next:hover{
    right: -5px;
}


.icon-prev {
  width: 70px;
  cursor: pointer;
  position: relative;
}

.icon-next {
  width: 70px;
  cursor: pointer;
  position: relative;
}


.icon-prev-arrow {
  width: 40px;
}
.icon-next-arrow {
  width: 40px;
}

nav .icon {
  vertical-align: middle;
}

.logo img {
  width: 230px;
  max-width: 100%;
}

nav#selector {
  background-color: #FFE30A;
  overflow: hidden;
  height: 160px;
  width: 100%;
  padding-top: 10px;
  position: fixed !important;
  transition: height .15s ease;
  z-index: 1000;
}

.min nav#selector {
    height: 80px;
}

nav#selector ul.flex-container {
  max-width: 980px;
  margin: 0 auto;
}

.gallery {
  padding-top: 180px;
  margin-bottom: 110px;
}

.gallery li {
  margin: 14px;
  transition: transform .15s ease .0s;
}

.is_sp .gallery li.touch,
.is_pc .gallery li:hover {
    transform: scale(1.05);
  transition: transform .15s ease .05s;
}

.nav-fixed {
  position: fixed !important;
  top: 0;
  width: 100%;
  z-index: 10000;
}

.btn {
  -webkit-border-radius: 28;
  -moz-border-radius: 28;
  border-radius: 28px;
  font-family: Arial;
  color: #dddddd;
  font-size: 16px;
  background: #ffffff;
  padding: 2px 20px;
  margin: 0px 4px;
  border: solid #dddddd 2px;
  text-decoration: none;
}

.btn.active {
  color: #111111;
  border-color: #4f4f4f;
}

a.btn {
  color: #666;
}

.btn:hover:not(.active) {
  color: #111111;
  border-color: #4f4f4f;
}

.hash {
  font-weight: bold;
}

#footer-fixed {
  background-color: #FFE30A;
  position: fixed;
  bottom: 0px;
  left: 0px;
  width: 100%;
  padding: 6px;
  display: table;
  font-size: 16px;
  box-sizing: border-box;
}

#footer-fixed a:hover{
    
}

.about-book {
  font-size: 16px;
}

.footer-link, .footer-top, .footer-share {
  display: table-cell;
}

.footer-share img {
  width: 45px;
  padding: 6px;
}

.footer-share {
  text-align: right;
  vertical-align: middle;
}

.footer-top {
  text-align: center;
}

img.goTop {
  max-width: 430px;
  vertical-align: text-top;
}

.is_sp .links a.touch,
.is_pc .links a:hover{
    text-decoration: underline;
}

/* sp
 * --------------------------------------------------------------------------- */
@media only screen and (max-width: 800px) {
  #footer-fixed, .footer-link, .footer-top, .footer-share {
    display: block;
    width: 100%;
    text-align: center;
  }
  img.goTop {
    max-width: 100%;
  }
  #selector .flex-container li {
    max-width: 33.3%;
    white-space: nowrap;
  }
}

@media only screen and (max-width: 641px) {
.gallery{
    padding-top: 105px !important;
}

.icon-current {
    width: 70px !important;
}
    
nav#selector{
    height: 80px !important;
}

.links ul{
    width: 48% !important;
    display: inline-block;
}

.links li{
    font-size: 80% !important;
}

.footer-top .goTop{
    width: 80%;
    margin: 0 0 5px 0;
    transition: opacity .15s ease;
}

.is_sp .footer-top .goTop.touch,
.is_pc .footer-top .goTop:hover{
    opacity: .7;
}

.footer-share a{
    margin: 0 5px;
    display: inline-block;
}

.footer-share img{
    width: 35px !important;
    height: auto;
}
    
}

@media only screen and (max-width: 479px) {
  br { display: none; }
  br.br { display: block; }
  .sp { display: block; }
  .pc { display: none; }
  .icon-prev-arrow {
    width: 30px;
  }
  .icon-next-arrow {
    width: 30px;
  }
  nav#selector {
    height: 140px;
  }
  .gallery {
    padding-top: 160px;
    margin-bottom: 180px;
  }
}
@media only screen and (max-width: 321px) {
  nav#selector {
    height: 120px;
  }
  .gallery {
    padding-top: 126px;
    margin-bottom: 180px;
  }
}
