@charset "UTF-8";
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, main, summary, time, mark, audio, video {
  background: transparent;
  border: 0;
  font-size: 100%;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

body {
  line-height: 1;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

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

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

a {
  background: transparent;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  border: 0;
  border-top: 1px solid #ccc;
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

img {
  vertical-align: top;
}

/* @mixin base-common */
html {
  color: #333;
  font-size: 62.5%;
  font-family: "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
  line-height: 1;
  width: 100%;
  height: 100%;
}

body {
  padding: 0;
  margin: 0;
  font-size: 140%;
  line-height: 1.8;
  height: 100%;
  background: #EBEBEB;
}

a {
  color: #000;
  text-decoration: none;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}
a:hover {
  opacity: 0.7;
  text-decoration: none;
}
a img {
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}

li {
  list-style: none;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}


/* **
*
* layout
*
*/

/*  loading
------------------------------------------------------------*/
.loading {
  opacity: 0;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: rgba(255,255,255,0.8);
}
.loading-bd {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 205px;
  height: 264px;
  margin: -132px 0 0 -102px;
  text-align: center;
}
.loading-anime {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 180px;
}
.loading-txt {
  opacity: 0;
  position: absolute;
  bottom: 0;
}
.anime {
  position: absolute;
  margin: 0 auto;
  width: 80px;
  height: 80px;
  left: 50%;
  top: 50%;
  margin-top: -40px;
  margin-left: -40px;
  background: url(../images/anime2.png) no-repeat 0 50%;
  /*一秒間に動くフレーム数*/
  -webkit-animation: play 0.8s steps(28) 1;
  animation: play 0.8s steps(28) 1;
  -webkit-background-size: auto 80px ;
       -o-background-size: auto 80px ;
          background-size: auto 80px ;
}
@-webkit-keyframes play {
  0% { background-position: 0 0; } 100% {background-position: -2240px 0; }
}
@keyframes play {
  0% { background-position: 0 0; } 100% {background-position: -2240px 0; }
}
.anime2 {
  margin: 0 auto;
  width: 140px;
  height: 140px;
}
.anime2.active {
  background: url(../images/anime2.png) no-repeat 0 0;
  /*一秒間に動くフレーム数*/
  -webkit-animation: playL 0.8s steps(28) infinite;
  animation: playL 0.8s steps(28) infinite;
  -webkit-background-size: auto 140px ;
       -o-background-size: auto 140px ;
          background-size: auto 140px ;
}
@-webkit-keyframes playL {
  0% { background-position: 0 0; } 100% {background-position: -3920px 0; }
}
@keyframes playL {
  0% { background-position: 0 0; } 100% {background-position: -3920px 0; }
}

/*.sample {
  margin: 0 auto;
  width: 100px;
  height: 100px;
  background: url(../images/sample.png) no-repeat 0 0;
  -webkit-animation: smplePlay 0.8s steps(28);
  animation: smplePlay 0.8s steps(28);
}
@-webkit-keyframes smplePlay {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -2800px 0;
  }
}
@keyframes smplePlay {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -2800px 0;
  }
}*/

/*  page
------------------------------------------------------------*/
#bg-canvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /*opacity: 0.45;*/
}

.page {
  opacity: 0;
  position: relative;
  padding-top: 30px;
  padding-bottom: 30px;
  /*opacity: 0;*/
}
body.done .page {
  opacity: 1;
}
.page-hd {
  text-align: center;
}
.list {
  /*width: 990px;*/
  /*width: 325px;*/
  width: 100%;
  padding: 20px 25px 0;
  font-size: 0;
  overflow: hidden;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
.list-item {
  display: none;
  position: relative;
  float: left;
  width: 48%;
  margin: 10px 1% 0 1%;
  vertical-align: top;
  /*opacity: 0;*/
}
.list-item:nth-child(-n+2) {
  margin-top: 0;
}
.list-item a {
  display: block;
  height: 100%;
  padding: 20px 16px 0;
  font-size: 1.0rem;
  line-height: 1.471;
  vertical-align: top;
  background: rgba(255,255,255,0.7);
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  color: #999;
}
.list-item-in {
  position: relative;
  height: 104px;
}
.list-item-text {
  overflow: hidden;
  width: 100%;
}
.list-item-text-in {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
.list-item-text-in:first-letter {
  font-size: 1.6rem;
}
.list-item-name {
  position: absolute;
  left: 0;
  bottom: 20px;
  width: 100%;
  padding-top: 12px;
  border-top: 1px solid rgba(219, 219, 219, 0.5);
  line-height: 1.1;
}
.cover {
  /*display: none;*/
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(235, 235, 235, 0.74);
}
.cover .anime {
}

/*  modal
------------------------------------------------------------*/
.remodal {
  /*width: 700px;*/
  padding: 0 40px;
  height: auto;
  background: none;
}
.remodal-overlay {
  background-color: #fff;
  opacity: 0.8;
}
.modal_item_wrap {
  position: relative;
  /*width: 590px;*/
  padding: 38px 30px;
  margin: 0 auto;
  background-color: white;
  border: 1px solid #b9aa82;
  text-align: left;
  font-size: 1.3rem;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
.modal_item_wrap .close {
  position: absolute;
  top: -38px;
  right: -15px;
  width: 25px;
  height: 25px;
  background: url(../images/modal-close.png) no-repeat 0 0;
  -webkit-background-size: 25px;
       -o-background-size: 25px;
          background-size: 25px;
}
.modal_item {
  position: relative;
  /*background: url("../images/frame.png") no-repeat 50% 0;*/
  z-index: 200;
  color: #686868;
}
.modal_item .modal_item__in {
  position: relative;
}
.modal_item .item-img img {
  width: 100%;
}
.modal_item .txt {
  margin-top: 13px;
  vertical-align: middle;
  line-height: 1.6;
}
.modal_item .txt:first-letter {
  font-size: 3.0rem;
}
.modal_item .name {
  position: relative;
  padding-top: 13px;
  border-top: 1px solid #dfdfdf;
}
/*.modal_item .name:before {
  content: '';
  display: inline-block;
  position: absolute;
  left: 50%;
  top: -25px;
  width: 458px;
  height: 1px;
  margin-left: -229px;
  opacity: 0.5;
  background-color: #b9aa82;
}*/
.modal_item .ico-heart {
  display: inline-block;
  width: 23px;
  height: 26px;
  margin-right: 7px;
  background: url(../images/ico-heart.png) no-repeat 0 0;
  -webkit-background-size: 100%;
       -o-background-size: 100%;
          background-size: 100%;
  vertical-align: middle;
}

/*************************************
helper classes
*************************************/
.mt00 { margin-top: 0 !important; }
.mt03 { margin-top: 3px !important; }
.mt05 { margin-top: 5px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mt35 { margin-top: 35px !important; }
.mt40 { margin-top: 40px !important; }
.mt45 { margin-top: 45px !important; }
.mt50 { margin-top: 50px !important; }
.mt55 { margin-top: 55px !important; }
.mt60 { margin-top: 60px !important; }
.mt65 { margin-top: 65px !important; }
.mt70 { margin-top: 70px !important; }
.mt75 { margin-top: 75px !important; }
.mt80 { margin-top: 80px !important; }
.mt85 { margin-top: 85px !important; }
.mt90 { margin-top: 90px !important; }
.mt95 { margin-top: 95px !important; }
.mt100 { margin-top: 100px !important; }
.mb00 { margin-bottom: 0 !important; }
.mb05 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb35 { margin-bottom: 35px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb45 { margin-bottom: 45px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb55 { margin-bottom: 55px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb65 { margin-bottom: 65px !important; }
.mb70 { margin-bottom: 70px !important; }
.mb75 { margin-bottom: 75px !important; }
.mb80 { margin-bottom: 80px !important; }
.mb85 { margin-bottom: 85px !important; }
.mb90 { margin-bottom: 90px !important; }
.mb95 { margin-bottom: 95px !important; }
.mb100 { margin-bottom: 100px !important; }
.ml00 { margin-left: 0 !important; }
.ml05 { margin-left: 5px !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml25 { margin-left: 25px !important; }
.ml30 { margin-left: 30px !important; }
.ml35 { margin-left: 35px !important; }
.ml40 { margin-left: 40px !important; }
.ml45 { margin-left: 45px !important; }
.ml50 { margin-left: 50px !important; }
.ml55 { margin-left: 55px !important; }
.ml60 { margin-left: 60px !important; }
.ml65 { margin-left: 65px !important; }
.ml70 { margin-left: 70px !important; }
.ml75 { margin-left: 75px !important; }
.ml80 { margin-left: 80px !important; }
.ml85 { margin-left: 85px !important; }
.ml90 { margin-left: 90px !important; }
.ml95 { margin-left: 95px !important; }
.ml100 { margin-left: 100px !important; }
.mr00 { margin-right: 0 !important; }
.mr05 { margin-right: 5px !important; }
.mr10 { margin-right: 10px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr25 { margin-right: 25px !important; }
.mr30 { margin-right: 30px !important; }
.mr35 { margin-right: 35px !important; }
.mr40 { margin-right: 40px !important; }
.mr45 { margin-right: 45px !important; }
.mr50 { margin-right: 50px !important; }
.mr55 { margin-right: 55px !important; }
.mr60 { margin-right: 60px !important; }
.mr65 { margin-right: 65px !important; }
.mr70 { margin-right: 70px !important; }
.mr75 { margin-right: 75px !important; }
.mr80 { margin-right: 80px !important; }
.mr85 { margin-right: 85px !important; }
.mr90 { margin-right: 90px !important; }
.mr95 { margin-right: 95px !important; }
.mr100 { margin-right: 100px !important; }
.pt00 { padding-top: 0 !important; }
.pt05 { padding-top: 5px !important; }
.pt10 { padding-top: 10px !important; }
.pt15 { padding-top: 15px !important; }
.pt20 { padding-top: 20px !important; }
.pt25 { padding-top: 25px !important; }
.pt30 { padding-top: 30px !important; }
.pt35 { padding-top: 35px !important; }
.pt40 { padding-top: 40px !important; }
.pt45 { padding-top: 45px !important; }
.pt50 { padding-top: 50px !important; }
.pt55 { padding-top: 55px !important; }
.pt60 { padding-top: 60px !important; }
.pt65 { padding-top: 65px !important; }
.pt70 { padding-top: 70px !important; }
.pt75 { padding-top: 75px !important; }
.pt80 { padding-top: 80px !important; }
.pt85 { padding-top: 85px !important; }
.pt90 { padding-top: 90px !important; }
.pt95 { padding-top: 95px !important; }
.pt100 { padding-top: 100px !important; }
.pb00 { padding-bottom: 0 !important; }
.pb05 { padding-bottom: 5px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb15 { padding-bottom: 15px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb25 { padding-bottom: 25px !important; }
.pb30 { padding-bottom: 30px !important; }
.pb35 { padding-bottom: 35px !important; }
.pb40 { padding-bottom: 40px !important; }
.pb45 { padding-bottom: 45px !important; }
.pb50 { padding-bottom: 50px !important; }
.pb55 { padding-bottom: 55px !important; }
.pb60 { padding-bottom: 60px !important; }
.pb65 { padding-bottom: 65px !important; }
.pb70 { padding-bottom: 70px !important; }
.pb75 { padding-bottom: 75px !important; }
.pb80 { padding-bottom: 80px !important; }
.pb85 { padding-bottom: 85px !important; }
.pb90 { padding-bottom: 90px !important; }
.pb95 { padding-bottom: 95px !important; }
.pb100 { padding-bottom: 100px !important; }
.pl00 { padding-left: 0 !important; }
.pl05 { padding-left: 5px !important; }
.pl10 { padding-left: 10px !important; }
.pl15 { padding-left: 15px !important; }
.pl20 { padding-left: 20px !important; }
.pl25 { padding-left: 25px !important; }
.pl30 { padding-left: 30px !important; }
.pl35 { padding-left: 35px !important; }
.pl40 { padding-left: 40px !important; }
.pl45 { padding-left: 45px !important; }
.pl50 { padding-left: 50px !important; }
.pl55 { padding-left: 55px !important; }
.pl60 { padding-left: 60px !important; }
.pl65 { padding-left: 65px !important; }
.pl70 { padding-left: 70px !important; }
.pl75 { padding-left: 75px !important; }
.pl80 { padding-left: 80px !important; }
.pl85 { padding-left: 85px !important; }
.pl90 { padding-left: 90px !important; }
.pl95 { padding-left: 95px !important; }
.pl100 { padding-left: 100px !important; }
.pr00 { padding-right: 0 !important; }
.pr05 { padding-right: 5px !important; }
.pr10 { padding-right: 10px !important; }
.pr15 { padding-right: 15px !important; }
.pr20 { padding-right: 20px !important; }
.pr25 { padding-right: 25px !important; }
.pr30 { padding-right: 30px !important; }
.pr35 { padding-right: 35px !important; }
.pr40 { padding-right: 40px !important; }
.pr45 { padding-right: 45px !important; }
.pr50 { padding-right: 50px !important; }
.pr55 { padding-right: 55px !important; }
.pr60 { padding-right: 60px !important; }
.pr65 { padding-right: 65px !important; }
.pr70 { padding-right: 70px !important; }
.pr75 { padding-right: 75px !important; }
.pr80 { padding-right: 80px !important; }
.pr85 { padding-right: 85px !important; }
.pr90 { padding-right: 90px !important; }
.pr95 { padding-right: 95px !important; }
.pr100 { padding-right: 100px !important; }

/* px */
.fz10 { font-size: 10px !important; }
.fz11 { font-size: 11px !important; }
.fz12 { font-size: 12px !important; }
.fz13 { font-size: 13px !important; }
.fz14 { font-size: 14px !important; }
.fz15 { font-size: 15px !important; }
.fz16 { font-size: 16px !important; }
.fz17 { font-size: 17px !important; }
.fz18 { font-size: 18px !important; }
.fz19 { font-size: 19px !important; }
.fz20 { font-size: 20px !important; }
.fz21 { font-size: 21px !important; }
.fz22 { font-size: 22px !important; }
.fz23 { font-size: 23px !important; }
.fz24 { font-size: 24px !important; }
.fz25 { font-size: 25px !important; }
.fz26 { font-size: 26px !important; }
.fz27 { font-size: 27px !important; }
.fz28 { font-size: 28px !important; }
.fz29 { font-size: 29px !important; }
.fz30 { font-size: 30px !important; }
.fz31 { font-size: 31px !important; }
.fz32 { font-size: 32px !important; }
.fz33 { font-size: 33px !important; }
.fz34 { font-size: 34px !important; }
.fz35 { font-size: 35px !important; }
.fz36 { font-size: 36px !important; }
.fz37 { font-size: 37px !important; }
.fz38 { font-size: 38px !important; }
.fz39 { font-size: 39px !important; }
.fz40 { font-size: 40px !important; }

/* rem */
.fz10 { font-size: 1.0rem !important; }
.fz11 { font-size: 1.1rem !important; }
.fz12 { font-size: 1.2rem !important; }
.fz13 { font-size: 1.3rem !important; }
.fz14 { font-size: 1.4rem !important; }
.fz15 { font-size: 1.5rem !important; }
.fz16 { font-size: 1.6rem !important; }
.fz17 { font-size: 1.7rem !important; }
.fz18 { font-size: 1.8rem !important; }
.fz19 { font-size: 1.9rem !important; }
.fz20 { font-size: 2.0rem !important; }
.fz21 { font-size: 2.1rem !important; }
.fz22 { font-size: 2.2rem !important; }
.fz23 { font-size: 2.3rem !important; }
.fz24 { font-size: 2.4rem !important; }
.fz25 { font-size: 2.5rem !important; }
.fz26 { font-size: 2.6rem !important; }
.fz27 { font-size: 2.7rem !important; }
.fz28 { font-size: 2.8rem !important; }
.fz29 { font-size: 2.9rem !important; }
.fz30 { font-size: 3.0rem !important; }
.fz31 { font-size: 3.1rem !important; }
.fz32 { font-size: 3.2rem !important; }
.fz33 { font-size: 3.3rem !important; }
.fz34 { font-size: 3.4rem !important; }
.fz35 { font-size: 3.5rem !important; }
.fz36 { font-size: 3.6rem !important; }
.fz37 { font-size: 3.7rem !important; }
.fz38 { font-size: 3.8rem !important; }
.fz39 { font-size: 3.9rem !important; }
.fz40 { font-size: 4.0rem !important; }

.lh00 { line-height: 0 !important; }
.lh11 { line-height: 1.1 !important; }
.lh12 { line-height: 1.2 !important; }
.lh13 { line-height: 1.3 !important; }
.lh14 { line-height: 1.4 !important; }
.lh15 { line-height: 1.5 !important; }
.lh16 { line-height: 1.6 !important; }
.lh17 { line-height: 1.7 !important; }
.lh18 { line-height: 1.8 !important; }
.lh19 { line-height: 1.9 !important; }
.lh20 { line-height: 2.0 !important; }
.lh21 { line-height: 2.1 !important; }
.lh22 { line-height: 2.2 !important; }
.lh23 { line-height: 2.3 !important; }
.lh24 { line-height: 2.4 !important; }
.lh25 { line-height: 2.5 !important; }

.ta-c { text-align: center; }
.ta-l { text-align: left; }
.ta-r { text-align: right; }
.dy-n { display: none; }
.dy-b { display: block; }
.dy-ib { display: inline-block; }
.dy-i { display: inline; }
.fl-l { float: left; }
.fl-r { float: right; }
.va-m { vertical-align: middle; }
.va-bl { vertical-align: baseline; }
.va-t { vertical-align: top; }
.va-b { vertical-align: bottom; }
.td-u { text-decoration: underline; }

