@charset "UTF-8";
/*
====================================================
■ BASE
====================================================
*/
/*
===== reset ===========================
*/
* {
  margin: 0;
  padding: 0; }

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

fieldset,
img {
  border: 0; }

img {
  vertical-align: top; }

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: normal; }

ol,
ul {
  list-style: none; }

caption,
th {
  text-align: left; }

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

q:before,
q:after {
  content: ''; }

abbr,
acronym {
  border: 0; }

iframe {
  border: none; }

input:focus {
  outline: none; }

/*
===== base ===========================
*/
/* base.css, part of YUI's CSS Foundation */
h1 {
  /*18px via YUI Fonts CSS foundation*/
  font-size: 138.5%; }

h2 {
  /*16px via YUI Fonts CSS foundation*/
  font-size: 123.1%; }

h3 {
  /*14px via YUI Fonts CSS foundation*/
  font-size: 108%; }

h1,
h2,
h3 {
  /* top & bottom margin based on font size */
  margin: 0 0; }

h1,
h2,
h3,
h4,
h5,
h6,
strong {
  /*bringing boldness back to headers and the strong element*/
  font-weight: bold; }

abbr,
acronym {
  /*indicating to users that more info is available */
  border-bottom: 1px dotted #000;
  cursor: help; }

em {
  /*bringing italics back to the em element*/
  font-style: italic; }

blockquote,
ul,
ol,
dl {
  /*giving blockquotes and lists room to breath*/
  margin: 0; }

ol,
ul,
dl {
  /*bringing lists on to the page with breathing room */
  margin: 0; }

ol li {
  /*giving OL's LIs generated numbers*/
  list-style: none; }

ul li {
  /*giving UL's LIs generated disc markers*/
  list-style: none; }

dl dd {
  /*giving UL's LIs generated numbers*/
  margin: 0; }

th,
td {
  /*borders and padding to make the table readable*/
  padding: 0; }

th {
  /*distinguishing table headers from data cells*/
  font-weight: bold;
  text-align: center; }

caption {
  /*coordinated marking to match cell's padding*/
  margin-bottom: .5em;
  /*centered so it doesn't blend in to other content*/
  text-align: center; }

p,
fieldset,
table {
  /*so things don't run into each other*/
  margin: 0; }

/* =============================================================================
   HTML5 display definitions
   ========================================================================== */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block; }

audio,
canvas,
video {
  display: inline-block;
  *display: inline;
  *zoom: 1; }

audio:not([controls]) {
  display: none; }

[hidden] {
  display: none; }

/*
===== link setting ===========================
*/
a {
  color: #ccc;
  text-decoration: underline; }

a:visited {
  color: #ccc; }

a:hover {
  color: #ccc;
  text-decoration: none; }

a:active {
  color: #ccc; }

/* FireFox リンク選択時の点線を消す */
a:link,
a:visited,
a:active,
a:hover {
  overflow: hidden;
  outline: none; }

::-moz-selection {
  background: #fd2155;
  /* Safari */ }

::selection {
  background: #fd2155;
  /* Safari */ }

::-moz-selection {
  background: #fd2155;
  /* Firefox */ }

body {
  font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 400;
  letter-spacing: -0.03em;
  color: #fff;
  background-color: #000; }

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  text-decoration: none; }
  a:link,
  a:visited,
  a:hover {
    text-decoration: none; }
  a:hover {
    text-decoration: underline; }

html, body {
  width: 100%;
  word-break: break-all;
  -webkit-text-size-adjust: none;
  /*文字の大きさを変えない*/ }

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

body {
  background-color: #000; }

#Wrapper {
  position: relative;
  width: 750px;
  overflow-x: hidden;
  margin: 0 auto; }

.mainvisual {
  margin-bottom: 95px; }
  .mainvisual .wrap {
    position: relative;
    width: 100%;
    height: 1248px; }
    .mainvisual .wrap .title {
      position: absolute;
      top: 585px;
      left: 0; }
    .mainvisual .wrap .pct {
      position: absolute;
      top: 365px;
      right: 0; }

.location .title {
  margin-bottom: 45px; }

.location ul {
  width: 100%;
  padding-bottom: 370px;
  background: url(../images/location-bg.jpg) center 40px no-repeat; }
  .location ul li {
    text-align: center;
    margin-bottom: 23px; }

.story {
  padding-top: 490px;
  background: url(../images/story-bg.jpg) top center no-repeat;
  margin-top: -60px;
  margin-bottom: 290px; }
  .story .title {
    margin-bottom: 82px; }
  .story .text {
    width: 675px;
    margin: 0 auto; }
    .story .text .lead {
      text-align: center;
      font-size: 36px;
      font-weight: 600;
      margin-bottom: 30px; }
    .story .text p {
      font-size: 28px;
      line-height: 2.14;
      margin-bottom: 2.1em; }
      .story .text p.colorRed {
        font-size: 36px;
        line-height: 68px;
        color: #a60005;
        font-weight: 600;
        margin-bottom: 1.8em; }

.feature {
  padding-bottom: 360px; }
  .feature .title {
    margin-bottom: 82px; }
  .feature ul li p {
    font-size: 40px;
    font-weight: 600;
    color: #e7d9ff;
    padding: 0 30px; }
  .feature ul li:nth-of-type(1) {
    margin-bottom: 140px; }
    .feature ul li:nth-of-type(1) .subtitle {
      margin-bottom: -40px; }
  .feature ul li:nth-of-type(2) {
    margin-bottom: 100px; }
    .feature ul li:nth-of-type(2) .subtitle {
      margin-bottom: -30px; }
  .feature ul li:nth-of-type(3) {
    margin-bottom: 100px; }
  .feature ul li:nth-of-type(4) {
    margin-bottom: 135px; }
    .feature ul li:nth-of-type(4) .subtitle {
      margin-bottom: -25px; }
  .feature ul li:nth-of-type(5) {
    margin-bottom: 100px; }
    .feature ul li:nth-of-type(5) .subtitle {
      margin-bottom: 20px; }

.comment {
  height: 1200px;
  background: url(../images/comment-bg.jpg) top center no-repeat;
  margin-bottom: 200px; }
  .comment .title {
    margin-bottom: 520px; }
  .comment .text {
    padding: 0 65px 0 70px; }
    .comment .text p {
      font-size: 28px;
      line-height: 1.93;
      letter-spacing: 0; }
    .comment .text .name {
      text-align: right; }
      .comment .text .name span {
        position: relative;
        display: inline-block;
        font-size: 44px;
        font-weight: 600; }
        .comment .text .name span::before {
          content: "";
          position: absolute;
          top: 50%;
          left: -100px;
          width: 90px;
          height: 2px;
          background-color: #fff; }
        .comment .text .name span small {
          font-size: 28px;
          font-weight: 400; }

.voice {
  margin-bottom: 295px; }
  .voice .title {
    margin-bottom: 85px; }

.place {
  margin-bottom: 295px; }
  .place .title {
    margin-bottom: 50px; }
  .place .block {
    font-family: "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
    background: url(../images/place-bg.jpg) top center no-repeat;
    background-size: 100% 100%; }
    .place .block .wrap {
      padding: 128px 88px 95px; }
      .place .block .wrap .pref {
        font-size: 54px;
        line-height: 1.1;
        font-weight: 600;
        letter-spacing: 0.05em;
        padding-bottom: 27px;
        border-bottom: 2px solid #fff; }
      .place .block .wrap .name {
        display: flex;
        align-items: center;
        height: 136px;
        border-bottom: 2px solid #fff;
        margin-bottom: 27px; }
        .place .block .wrap .name span {
          font-size: 37px;
          line-height: 1.32;
          font-weight: 600; }
      .place .block .wrap .detail {
        padding-bottom: 20px;
        border-bottom: 2px solid #fff;
        margin-bottom: 23px; }
        .place .block .wrap .detail.time {
          border-bottom: 0px;
          padding-bottom: 0px; }
        .place .block .wrap .detail span {
          display: block;
          font-size: 36px;
          line-height: 1.1;
          margin-bottom: 8px; }
        .place .block .wrap .detail p {
          font-size: 28px;
          line-height: 1.4; }
          .place .block .wrap .detail p small {
            display: block;
            font-size: 22px; }

.attention {
  padding: 95px 0 450px;
  background: url(../images/attention-bg.jpg) top center no-repeat; }
  .attention .title {
    margin-bottom: 85px; }
  .attention .lead {
    text-align: center;
    font-size: 28px;
    line-height: 50px;
    padding: 0 35px 80px; }
  .attention dl {
    width: 690px;
    margin: 0 auto; }
    .attention dl dt a {
      display: block;
      overflow: hidden;
      height: 118px; }
    .attention dl dd {
      display: none; }
      .attention dl dd .text {
        font-family: "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
        padding: 10px 23px 40px; }
        .attention dl dd .text strong {
          display: block;
          font-size: 32px;
          font-weight: 600; }
        .attention dl dd .text p {
          font-size: 26px;
          line-height: 2;
          padding-left: 1em;
          text-indent: -1em; }
        .attention dl dd .text p + strong {
          margin-top: 55px; }
    .attention dl.opened {
      background: url(../images/attention-wrap.png) top center no-repeat;
      background-size: 690px 100%; }
      .attention dl.opened dt a img {
        position: relative;
        top: -118px; }
      .attention dl.opened dd {
        display: block; }

.contact {
  padding-bottom: 300px;
  background: url(../images/contact-bg.jpg) top center no-repeat; }
  .contact .title {
    margin-bottom: 78px; }
  .contact .lead {
    text-align: center;
    font-size: 28px;
    line-height: 1.79;
    margin-bottom: 80px; }
  .contact .btn {
    text-align: center; }

.info {
  margin-bottom: 300px; }
  .info .title {
    margin-bottom: 96px; }
  .info ul {
    font-size: 24px;
    line-height: 1.2;
    width: 690px;
    margin: 0 auto;
    background: url(../images/info-bg01.png) center top no-repeat; }
    .info ul li {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      padding: 29px 0;
      background: url(../images/info-bg02.png) center bottom no-repeat; }
      .info ul li:nth-of-type(2n) {
        background: url(../images/info-bg01.png) center bottom no-repeat; }
      .info ul li .date {
        width: 162px; }
      .info ul li .text {
        width: 527px; }
        .info ul li .text a {
          color: #fff;
          text-decoration: underline; }
          .info ul li .text a:hover {
            text-decoration: none; }

footer .credit {
  text-align: center;
  padding: 127px 0 510px; }
  footer .credit p {
    font-size: 24px;
    line-height: 1.1; }
    footer .credit p.copyright {
      font-size: 20px; }
  footer .credit .logo {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 318px;
    height: 48px;
    background: url(../images/footer-logo-bg.png) center center no-repeat;
    margin: 25px auto 40px; }

@media screen and (min-width: 751px) {
  a img {
    transition: opacity 0.3s ease-out; }
  a:hover img {
    opacity: 0.5; }
  .sns {
    position: relative;
    width: 335px;
    height: 65px;
    margin: 0 auto; }
    .sns .tw {
      position: absolute;
      top: 0px;
      left: 0px; }
    .sns .fb {
      position: absolute;
      top: 0px;
      left: 93px; }
    .sns .hatena {
      position: absolute;
      top: 0px;
      left: 196px; }
    .sns .line {
      position: absolute;
      top: 0px;
      left: 300px; } }

@media screen and (max-width: 750px) {
  a img {
    transition: opacity 0.3s ease-out; }
  a:active img {
    opacity: 0.5; }
  .sns {
    position: relative;
    width: 670px;
    height: 150px;
    margin: 0 auto; }
    .sns .tw,
    .sns .fb,
    .sns .hatena,
    .sns .line {
      transform: scale(2);
      transform-origin: 0 0;
      -webkit-transform-origin: 0 0; }
    .sns .tw {
      position: absolute;
      top: 0px;
      left: 0px; }
    .sns .fb {
      position: absolute;
      top: 0px;
      left: 180px; }
    .sns .hatena {
      position: absolute;
      top: 0px;
      left: 384px; }
    .sns .line {
      position: absolute;
      top: 0px;
      left: 586px; } }
