@charset "UTF-8";
/* ---------------------------------------------
*   reset style
--------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

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

a img {
  border: none;
}

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

.fa {
  padding-left: .5rem;
}
.mb1 {
  margin-bottom: 1em;
}
.mb2 {
  margin-bottom: 2em;
}
.fs80 {
  font-size: 80%;
}
/* ==========================================================
*
*   base settings
*
========================================================== */
/*  html, body
--------------------------------------------- */
body {
  min-width: 1045px;
  overflow-x: hidden;
}

body, html {
  font-size: 15px;
}

@media screen and (max-width: 640px) {
  body {
    min-width: 320px;
  }
  body, html {
    font-size: 0.42667rem;
  }
  footer {
    font-size: 15px;
  }
}

/*  #chofucinemafestival
--------------------------------------------- */
#chofucinemafestival {
  color: #000;
    font-family: "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  line-height: 1.5;
  overflow: hidden;
}

#chofucinemafestival [data-fadein] {
  opacity: 0;
}

@media screen and (max-width: 640px) {
  #chofucinemafestival {
    overflow: hidden;
    line-height: 1.5;
  }
}

@media screen and (orientation: landscape) {
  #chofucinemafestival {
    overflow: hidden;
  }
}

/*  <a> tag
--------------------------------------------- */
a {
  color: inherit;
  text-decoration: none;
}

/*  <img> tag
--------------------------------------------- */
img {
  max-width: 100%;
  width: auto;
  height: auto;
  vertical-align: bottom;
}

/*  <hr> tag as anchor target
--------------------------------------------- */
hr[id^="anchor-"] {
  display: block;
  width: auto;
  height: 0;
  border: 0;
  background: 0;
  padding: 0;
  margin: 0;
  padding-top: 64px;
  margin-top: -64px;
}

@media screen and (max-width: 640px) {
  hr[id^="anchor-"] {
    padding-top: 33.5px;
    margin-top: -33.5px;
  }
  hr[id^="anchor-post"] {
    padding-top: 0px;
    margin-top: 0px;
  }
}

/*  js-tel-disabled
--------------------------------------------- */
.js-tel-disabled {
  cursor: default;
  outline: none;
}

.js-tel-disabled:hover {
  text-decoration: none;
  opacity: 1;
}

/*  PC/SP レスポンシブの出しわけスタイル
--------------------------------------------- */
@media screen and (min-width: 641px) {
  .pc-hide {
    display: none !important;
  }
}

@media screen and (max-width: 640px) {
  .sp-hide {
    display: none !important;
  }
}

/* ==========================================================
*
*   base blocks
*
========================================================== */
/* ---------------------------------------------
*   header
--------------------------------------------- */
.header {
  position: fixed;
  z-index: 99;
  width: 100%;
  top: 0;
  left: 0;
  background-color: #fff;
  padding: 12px 0;
}
.header.shadow {
  -webkit-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.6);
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.6);
}

.header__inner {
  width: 1222px;
  max-width: 1400px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin-right: auto;
  margin-left: auto;
}

.header__logo {
  float: left;
  width: 241px;
  margin-right: 20px;
}

.header__logo a {
  -webkit-transition: opacity .3s;
  -o-transition: opacity .3s;
  transition: opacity .3s;
}

.header__logo a:hover {
  opacity: .7;
}


.header__nav-list {
  float: left;
  margin-top: 18px;
}
.header__sns-list {
  float: right;
  margin-top: 18px;
}
.header__nav-list:after {
  content: "";
  clear: both;
  display: block;
}

.header__nav-list-item {
  float: left;
  font-size: 14px;
  font-weight: bold;
}
.header__nav-list-item.top {
  display: none;
}


.parallax_wrapper {
  position: relative;
}
.parallax_wrapper .bg1 {
  background-image:url(/img/circle01.png);
  background-repeat: repeat;
  height:100%;
  width:100%;
  top: 0;
  left: 0;
  position: absolute;
  z-index:2;
  pointer-events: none;
}



.header__sns-list-item {
  float: left;
}
.header__nav-list-item a:hover,
.header__nav-list-item a.active {
  border-bottom: 2px solid #d61518;
  padding-bottom:10px;
}
.header__sns-list-item img {
  height: 23px;
}
.header__sns-list-item:first-of-type {
  margin-right: 20px;
}

.header__nav-list-item:nth-of-type(n+2) {
  margin-left: 9px;
}

.header__nav-list-item:before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 9px;
  background-size: 100%;
  margin-right: 6px;
}
.header__nav-list a.blank {
  color: #000;
  text-decoration: none;
  position: relative;
  padding-right: 16px;
  margin-right: 4px;
}
.header__nav-list a.blank:after {
  position: absolute;
  content: '';
  top: 0;
  right: 0;
  width: 13px;
  height: 12px;
  background: url(/img/icon_blank_black.png) 0 0 no-repeat;
}

@media screen and (max-width: 640px) {
  .header {
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.7);
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.7);
    padding: 1.2rem 0;
  }
  .header__inner {
    width: 92%;
    padding-left: 0;
    padding-right: 0;
  }
  .header__logo {
    width: 120px;
  }
  .header__nav {
    position: fixed;
    top: 39.5px;
    left: 0;
    width: 100%;
    z-index: 99;
    float: none;
    margin-top: 0;
    display: none;
    background-color: #fff;
  }
  .header__nav-list {
    text-align: center;
    color: #000;
  }
  .header__nav-list-item {
    float: none;
    font-size: 2rem;
    border-bottom: 1px solid #ccc;
  }
  .header__nav-list-item:nth-of-type(n+2) {
    margin-left: 0;
  }
  .header__nav-list-item:before {
    content: none;
  }
  .header__nav-link,
  .header__sns-list {
    display: block;
    width: 100%;
    padding: 2rem 0;
  }
  .header__sns-list {
    margin-top: 0;
}
  .header__sp-trigger {
    float: right;
    width: 35px;
  }
  .body-global-nav-opened .header__sp-trigger {
    width: 25.34px;
    margin-right: 4px;
  }
  .header__sp-trigger__image--open {
    display: none;
  }
  .body-global-nav-opened .header__sp-trigger__image--open {
    display: inline;
  }
  .body-global-nav-opened .header__sp-trigger__image--close {
    display: none;
  }
  .header__nav-list,
  .header__sns-list {
    float: none;
  }
  .header__sns-list {
    text-align: center;
    border-bottom: 1px solid #000;
    box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.6);

  }
  .header__sns-list-item {
    float: none;
    display: inline;
  }
  .header__nav-list-item a:hover,
  .header__nav-list-item a.active {
    border-bottom: none;
    padding-bottom:1.2rem;
  }
.parallax_wrapper .bg1 {
  background-image:url(/img/circle_sp.png);
  background-size: 100% auto;
  opacity: .8;
  height:100%;
}
.header__nav-list a.blank:after {
  position: absolute;
  content: '';
  top: 1.5rem;
  right: 40%;
  width: 13px;
  height: 12px;
  background: url(/img/icon_blank_black.png) 0 0 no-repeat;
}
}

@media screen and (min-width: 641px) {
  .header__nav {
    display: block !important;
  }
}

/* ---------------------------------------------
*   keyvisual
--------------------------------------------- */
.top-elm{
  width: 1222px;
  margin-right: auto;
  margin-left: auto;
  margin-top:75px;
}
.keyvisual {
  margin-top: 75px;
  margin-bottom: 90px;
  height: 766px;
  width: 1222px;
  margin-right: auto;
  margin-left: auto;
  position: relative;
}


.keyvisual__image-upper,
.keyvisual__image-lower {
  width: 1045px;
  padding-right: 10px;
  padding-left: 10px;
  max-width: 1400px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin-right: auto;
  margin-left: auto;
}
.keyvisual__image-lower img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 458px;
}
@media screen and (max-width: 640px) {
  .top-elm{
    width: 100%;
    margin-top: 12.8vw;
  }
  .keyvisual {
    width: 100%;
    margin-top: 12.8vw;
    margin-bottom: 4vw;
    height: 62.8vw;
    -webkit-background-size: 90%;
    background-size: 90%;
  }
  .keyvisual__upper {
    padding: 1% 0 2.5%;
  }
  .keyvisual__lower {
    margin-top: 2%;
  }
.keyvisual__image-lower img {
  width: 50%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 5%;
}
  .keyvisual__image-upper,
  .keyvisual__image-lower {
    width: 100%;
    padding-right: 2%;
    padding-left: 3.6%;
  }

}

.slick-dots li button:before
{
    font-family: 'slick';
    font-size: 100px;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 20px;
    height: 20px;

    content: '•';
    text-align: center;

    opacity: .25;
    color: black;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
    opacity: 1;
    color: #e80000;
}
@media screen and (max-width: 640px) {
  .slick-dots li button:before {
    font-size: 50px;
  }
  .slick-dots {
    bottom: -35px;
  }
}
/* ---------------------------------------------
*   overview
--------------------------------------------- */
.overview {
  text-align: center;
  font-size: 18px;
  line-height: 1.6;
}
.overview p{
  text-align: center;
  font-size: 18px;
  line-height: 1.6;
}
.overview a {
  color: #d61518;
  text-decoration: underline;
}
.overview a:hover,
.award__inner a:hover {
  text-decoration: none;
}
.overview .overview__image-higher,
.overview .overview__image-lower {
  margin-right: auto;
  margin-left: auto;
}
.overview .overview__image-higher {
  margin-bottom: 25px;
}
@media screen and (max-width: 640px) {
  .overview {
    margin-top: 50px;
  }
  .overview__inner {
    width: 90%;
    margin-right: auto;
    margin-left: auto;
  }
  .overview .overview__image-higher,
  .overview .overview__image-lower {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
  .overview p {
    font-size: 2rem;
  }
}

/* ---------------------------------------------
*   news
--------------------------------------------- */
.news {
  padding: 55px 0;
  background: #ffffff;
  position: relative;
}
.news__inner {
  width: 1092px;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  z-index: 20;
}
.news h3 {
  text-align: center;
  font-size: 46px;
  line-height: 1;
  margin-bottom: 38px;
}
.news h3 span{
  font-size: 20px;
}
.news .newslist {
  max-height: 210px;
  overflow-y: scroll;
}
.news .newslist dt {
    float: left;
    width: 10%;
    margin-right: 5%;
    margin-bottom: 1em;
}
.news .newslist dd {
    float: left;
    width: 85%;
    margin-bottom: 1rem;
}
.news .newslist dd a {
    text-decoration: underline;
}
.news .newslist dd a:hover {
    text-decoration: none;
}

@media screen and (max-width: 640px) {
.news {
  padding: 30px 0;
}
.news .newslist {
  max-height: 350px;
}
.news__inner {
  width: 90%;
  text-align: center;
}
.news .news__inner {
  max-height: 420px;
}
.news h2 {
  font-size: 1rem;
}
.news h3 {
  font-size: 4rem;
  margin-bottom: 19px;
}
.news .newslist dt {
    margin: 0;
    width: 100%;
    text-align: left;
    font-size: 2rem;
}
.news .newslist dd {
    width: 100%;
    text-align: left;
    font-size: 2rem;
    margin-bottom: 2rem;
}
}

/* ---------------------------------------------
*   schedule
--------------------------------------------- */
.schedule {
  padding: 55px 0;
  background: #ffe100;
  position: relative;
}
.schedule__inner {
  width: 1092px;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  z-index: 20;
}
.schedule__inner a {
  color: #cc0000;
  text-decoration: underline;
}
.schedule__inner a:hover {
  text-decoration: none;
}
.schedule h3 {
  text-align: center;
  font-size: 46px;
  line-height: 1;
  margin-bottom: 38px;
}
.schedule h3 span{
  font-size: 20px;
}
.schedule h4 {
  font-weight: bold;
  border-bottom: 1px solid #000;
  margin-bottom: 1em;
  }
.schedule table {
  width: 100%;
  font-size: 18px;
}
.schedule th {
  background: #000;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  width: 270px;
  padding: 45px 20px;
  border-right: 4px solid #ffe100;
  border-bottom: 4px solid #ffe100;
}
.schedule td {
  background: #fff;
  color: #000;
  vertical-align: middle;
  padding: 20px;
  border-bottom: 4px solid #ffe100;
}

@media screen and (max-width: 640px) {
.schedule {
  padding: 30px 0;
}
.schedule__inner {
  width: 90%;
text-align: center;
}
.schedule h3 {
  font-size: 4rem;
  margin-bottom: 19px;
}
.schedule table{
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
.schedule td,
.schedule th {
  width: 95%;
  display: block;
  font-size: 2rem;
  padding: 1rem
}
.schedule th {
  border-bottom:0px;
  border-right:0px;
  }
  .schedule td {
  border-right:0px;
  text-align: center;
  }
}
/* ---------------------------------------------
*   films
--------------------------------------------- */
.films {
  padding: 55px 0;
  background: #e50012;
  position: relative;
}
.films__inner {
  width: 1092px;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  z-index: 20;
}
.films h3 {
  text-align: center;
  font-size: 46px;
  line-height: 1;
  margin-bottom: 38px;
  color: #fff;
}
.films h3 span{
  font-size: 20px;
}
.films .message {
  text-align: center;
  font-size: 36px;
  font-weight: bold;
  color: #fff;
}
.films a:hover .events-cassette__content {
  color: #e50012;
  -webkit-transition: all .4s;
  transition: all .4s;
}
@media screen and (max-width: 640px) {
.films {
  padding: 30px 0;
}
.films__inner {
  width: 90%;
}
.films h3 {
  font-size: 4rem;
  margin-bottom: 19px;
}
.films .message {
  font-size: 3rem;
  }
}
/* ---------------------------------------------
*   award
--------------------------------------------- */
.award {
  padding: 55px 0;
  background: #009fe8;
  position: relative;
}
.award__inner {
  width: 1092px;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  z-index: 20;
}

.award h3 {
  text-align: center;
  font-size: 46px;
  line-height: 1;
  margin-bottom: 38px;
  color: #fff;
}
.award h3 span{
  font-size: 20px;
}
.award .message {
  text-align: center;
  font-size: 36px;
  font-weight: bold;
  color: #fff;
}
.award table {
  width: 100%;
  font-size: 18px;
}
.award th {
  background: #000;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  width: 270px;
  padding: 45px 20px;
  border-right: 4px solid #009fe8;
  border-bottom: 4px solid #009fe8;
}
.award td {
  background: #fff;
  color: #000;
  vertical-align: middle;
  padding: 20px;
  border-bottom: 4px solid #009fe8;
}
.award a:hover .events-cassette__content {
  color: #006acc;
  -webkit-transition: all .4s;
  transition: all .4s;
}
@media screen and (max-width: 640px) {
.award {
  padding: 30px 0;
}
.award__inner {
  width: 90%;
text-align: center;
}
.award h3 {
  font-size: 4rem;
  margin-bottom: 19px;
}
.award p {
  font-size: 2rem;
}
.award table{
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
.award td,
.award th {
  width: 95%;
  display: block;
  font-size: 2rem;
  padding: 1rem
}
  .award th {
    border-bottom:0px;
    border-right:0px;
  }
  .award td {
    border-right:0px;
  }
  .award .message {
    font-size: 3rem;
  }
}














a.blank {
  color: #d61518;
  text-decoration: underline;
  position: relative;
  padding-right: 16px;
  margin-right: 4px;
}
a.blank:hover {
  text-decoration: none;
}
a.blank:after {
  position: absolute;
  content: '';
  width: 13px;
  height: 12px;
  background: url(/img/icon_blank.png) 0 0 no-repeat;
  bottom:3px;
  right:0;
}
a.blank.large:after{
  top:calc(50% - 6px);
}
.award--film_list{
  letter-spacing:-0.4em;
}
.award--film_list > *{
  letter-spacing:normal;
  display:inline-block;
  vertical-align:top;
}
.award--film_list dt{
  width:4.5em;
}
.award--film_list dd{
  width:calc(100% - 4.5em);
}
.footer__nav-list a.blank {
  color: #fff;
  text-decoration: none;
  position: relative;
  padding-right: 16px;
  margin-right: 4px;
}
.footer__nav-list a.blank:after {
  position: absolute;
  content: '';
  top: 0;
  right: 0;
  width: 13px;
  height: 12px;
  background: url(/img/icon_blank_white.png) 0 0 no-repeat;
}

/* ---------------------------------------------
*   events
--------------------------------------------- */
.events {
  padding: 55px 0;
  background: #910782;
  position: relative;
}
.events__inner {
  width: 1092px;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  z-index: 20;
}

.events h3 {
  text-align: center;
  font-size: 46px;
  line-height: 1;
  margin-bottom: 38px;
  color: #fff;
}
.events h3 span {
  font-size: 20px;
}
.events a:hover .events-cassette__content {
  color: #910782;
  -webkit-transition: all .4s;
  transition: all .4s;
}
.events .message {
  text-align: center;
  font-size: 36px;
  font-weight: bold;
  color: #fff;
}
@media screen and (max-width: 640px) {
.events {
  padding: 30px 0;
}
.events__inner {
  width: 90%;
}
.events h3 {
  font-size: 4rem;
  margin-bottom: 19px;
}
.events p {
  font-size: 2rem;
}
.events .message {
  font-size: 3rem;
}
}

/* ---------------------------------------------
*   cassette
--------------------------------------------- */
.cassette {
  width: 350px;
  float: left;
  margin-bottom: 40px;
}
.events-cassette:after {
    content: "";
    clear: both;
    display: block;
}
.events-cassette {
  margin-bottom: 20px;
}
.cassette .events-cassette__image {
  overflow: hidden;
  width: 350px;
  height: 215px;
}
.cassette .events-cassette__image img{
  width: 100%;
}
.cassette a .events-cassette__image img {
  display: block;
  transition-duration: .6s;
}
.cassette a:hover .events-cassette__image img {
  transform: scale(1.1);
  transition-duration: .6s;
}
.cassette {
  margin-left: 21px;
}
.cassette:nth-of-type(3n+1) {
  margin-left: 0;
}
.cassette a {
  display: inline-block;
}
.cassette a:hover {

}
.events-cassette__content {
  background: #fff;
  padding: 15px;
  -webkit-transition: all .4s;
  transition: all .4s;
}
.events-cassette__content h4 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
}
.events-cassette__content p {
  font-size: 14px;
  margin-bottom: 15px;
}
.events-cassette__content th,
.events-cassette__content td {
  font-size: 12px;
  vertical-align: top;
  padding: 1px 0;
  margin-bottom: 2px;
  line-height: 1.5;
}

@media screen and (max-width: 640px) {
.cassette {
  width: 100%;
  float: none;
  margin-bottom: 2rem;
}
.cassette:nth-of-type(n+2) {
  margin-left: 0;
}
.events-cassette__content th {
  width: 4rem;
}
.cassette .events-cassette__image {
  width: 100%;
  height: auto;
}
}


/* ---------------------------------------------
*   archives
--------------------------------------------- */
.events.archives {
  background-color:#666;
}
.events.archives a:hover .events-cassette__content {
  color: #666;
}

/* ---------------------------------------------
*   access
--------------------------------------------- */
.access {
  padding: 55px 0;
  background: #8dc21f;
  color: #fff;
  position: relative;
}
.access__inner {
  width: 1222px;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  z-index: 20;
}
.access__inner:after {
    content: "";
    clear: both;
    display: block;
}
.access h3 {
  text-align: center;
  font-size: 46px;
  line-height: 1;
  margin-bottom: 38px;
  color: #fff;
}
.access h3 span{
  font-size: 20px;
}
.access .map {
  float: left;
  margin-right: 65px;
}
.access .train {
  padding-bottom: 20px;
  border-bottom: 1px solid #fff;
  margin-bottom: 20px;
  float: left;
  width: 504px;
}
.access .train p {
  position: relative;
  padding-left:72px;
  font-size: 18px;
  line-height: 1.4;
  color: #000;
}
.access .train p:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 52px;
  height: 73px;
  background: url(/img/icon_train.png) 0 0 no-repeat;
}
.access .building {
  float: left;
}
.access .building .building__inner {
  position: relative;
  padding-left:72px;
  font-size: 18px;
  line-height: 1.4;
}
.access .building .building__inner:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 52px;
  height: 73px;
  background: url(/img/icon_building.png) 0 0 no-repeat;
}
.access .building .building__inner th {
  width: 9em;
  color: #000;
}
.access .building .building__inner td {
  width: 7em;
  color: #000;
}
.button {
  position: relative;
  display: inline-block;
  padding: .9em 3.9em;
  background-color: #fff;
  border: 2px solid #fff;
  color: #121212;
  text-align: center;
  text-decoration: none;
  font-size: 16px;
  font-weight: bold;
  margin-top: 40px;
  -webkit-transition: all .4s;
  transition: all .4s;
}
.button:after {
  position: absolute;
  content: '';
  top: 50%;
  right: 25px;
  width: 7px;
  height: 11px;
  margin-top: -5px;
  background: url(/img/icon_bullet.png) 0 0 no-repeat;
}
.button:hover {
  background-color: #121212;
  border: 2px solid #121212;
  color: #fff;
  -webkit-transition: all .4s;
  transition: all .4s;
}
.button:hover::after {
  animation: arrow .4s;
}
@keyframes arrow {
  50% {
    right: 20px;
  }
  100% {
    right: 25px;
  }
}

@media screen and (max-width: 640px) {
.access {
  padding: 30px 0;
}
.access__inner {
  width: 90%;
  text-align: center;
}
.access h3 {
  font-size: 4rem;
  margin-bottom: 19px;
}
.access p {
  font-size: 2rem;
}
.access .map {
  float: none;
  margin-right: 0;
  margin-bottom: 2rem;
}
.access .train {
  width: 100%;
}
.access .train p:before {
  width: 26px;
  height: 36.5px;
  background: url(/img/icon_train.png) 0 0 no-repeat;
  background-size: 100% auto;
}
.access .train p {
  position: relative;
  padding-left:36px;
  font-size: 2rem;
  text-align: left;
}
.access .building .building__inner:before {
  width: 26px;
  height: 36.5px;
  background: url(/img/icon_building.png) 0 0 no-repeat;
  background-size: 100% auto;
}
.access .building .building__inner {
  padding-left:36px;
  font-size: 2rem;
}
.access .building .building__inner th,
.access .building .building__inner td {
  padding-bottom: 1rem;
}
.button {
  padding: .9em 4.9em;
  margin-top: 20px;
}
.button:hover {
  background-color: #fff;
  border: 2px solid #fff;
  color: #121212;
}
}
/* ---------------------------------------------
*   contact
--------------------------------------------- */
.contact {
  padding: 55px 0;
}
.contact__inner {
  width: 1092px;
  margin-right: auto;
  margin-left: auto;
}
.contact__inner:after {
  content: "";
  clear: both;
  display: block;
}
.contact h3 {
  text-align: center;
  font-size: 46px;
  line-height: 1;
  margin-bottom: 38px;
  color: #121212;
}
.contact h3 span{
  font-size: 20px;
}
.contact .logo_ccc {
  text-align: center;
  margin-bottom: 16px;
}
.contact .department {
  background: #000;
  color: #fff;
  font-size: 18px;
  height: 40px;
  line-height: 40px;
  width: 494px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 25px;
  text-align: center;
}
.contact .contact_info {
  width: 494px;
  margin-right: auto;
  margin-left: auto;
  font-size: 30px;
}
.contact .contact_info .tel {
  position: relative;
  padding-left:78px;
  margin-bottom: 16px;
}
.contact .contact_info .tel span {
  font-size: 37%;
}
.contact .contact_info .tel:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 44px;
  height: 36px;
  background: url(/img/icon_tel.png) 0 0 no-repeat;
}
.contact .contact_info .fax {
  position: relative;
  padding-left:78px;
  margin-bottom: 16px;
}
.contact .contact_info .fax:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 44px;
  height: 42px;
  background: url(/img/icon_fax.png) 0 0 no-repeat;
}
.contact .contact_info .mail {
  font-size: 22px;
  position: relative;
  padding-left:78px;
  margin-bottom: 50px;
}
.contact .contact_info .mail:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 44px;
  height: 32px;
  background: url(/img/icon_mail.png) 0 0 no-repeat;
}

.sns_container_outer {
  width: 666px;
  margin-right: auto;
  margin-left: auto;
}
.sns_container_outer:after {
  content: "";
  clear: both;
  display: block;
}

.contact .sns_container {
  width: 318px;
  float: left;
  border: 1px solid #ccc;
  margin-bottom: 60px;
}
.contact .sns_container:nth-of-type(n+2) {
  margin-left: 26px;
}

@media screen and (max-width: 640px) {
.contact {
  padding: 30px 0;
}
.contact__inner {
  width: 90%;
  text-align: center;
}
.contact h3 {
  font-size: 4rem;
  margin-bottom: 19px;
}
.contact p {
  font-size: 2rem;
}
.contact .department {
  font-size: 2rem;
  height: 40px;
  line-height: 40px;
  width: 100%;
}
.contact .contact_info {
  width: 100%;
  font-size: 3rem;
  text-align: left;
}
.contact .contact_info .mail {
  font-size: 2rem;
}
.contact .contact_info .tel:before {
  width: 22px;
  height: 18px;
  background: url(/img/icon_tel.png) 0 0 no-repeat;
  background-size: 100% auto;
}
.contact .contact_info .fax:before {
  width: 22px;
  height: 21px;
  background: url(/img/icon_fax.png) 0 0 no-repeat;
  background-size: 100% auto;
}
.contact .contact_info .mail:before {
  width: 22px;
  height: 16px;
  background: url(/img/icon_mail.png) 0 0 no-repeat;
  background-size: 100% auto;
}
.contact .contact_info .tel,
.contact .contact_info .fax,
.contact .contact_info .mail {
  padding-left:39px;
}
.contact .sns_container_outer {
  width: 100%;
}
.contact .sns_container {
  width: 90%;
  float: none;
  margin-bottom: 2rem;
  margin-left: auto;
  margin-right: auto;
  padding: 0 2px;
}
.contact .sns_container:nth-of-type(n+2) {
  margin-left: auto;
  margin-right: auto;
  padding: 0 2px;
}
/*iOSバグ対応*/
.contact .sns_container iframe {
  width: 740px !important;
}
}





.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget iframe[style]{
    width: 100% !important;
}

footer {
  background: #000;
  color: #fff;
  padding: 60px 0;
}
.footer__inner {
  width: 1222px;
  padding-right: 10px;
  padding-left: 10px;
  max-width: 1400px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin-right: auto;
  margin-left: auto;
}
.footer__inner:after {
  content: "";
  clear: both;
  display: block;
}
.footer__nav {
  width: 900px;
  margin-right: auto;
  margin-left: auto
}
footer .logo_footer {
  text-align: center;
}
footer .logo_footer img {
  width: 241px;
}
.footer__nav-list {
  float: left;
  margin-top: 25px;
}
.footer__sns-list {
  float: left;
  margin-top: 25px;
}
.footer__nav-list:after {
  content: "";
  clear: both;
  display: block;
}
.footer__nav-list-item {
  float: left;
  font-size: 14px;
  font-weight: bold;
}
.footer__sns-list-item {
  float: left;
}
.footer__sns-list-item img {
  height: 23px;
}
.footer__sns-list-item {
  margin-left: 22px;
}
.footer__sns-list-item:first-child {
  margin-left: 44px;
}

.footer__nav-list-item:nth-of-type(n+2) {
  margin-left: 20px;
}
.footer__inner .host {
  font-weight: bold;
  line-height: 2;
}
.footer__inner .sponsor {
  margin-top: 10px;
}
.footer__inner .child {
  font-size: 12px;
  margin-top: 5px;
  line-height: 2;
}
.footer__ttl{
    text-align:center;
    font-weight: bold;
    line-height: 2;
    margin:2em auto 1em;
}
.footer__nav-bottom-list{
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:2em;
}
.footer__nav-bottom-list-item{
    font-size: 14px;
    font-weight: bold;
    margin:0;
    background: #fff;
    color: #000;
    padding: .5rem 1rem;
    border-right: 1px solid #000;
    text-align: center;
}
.footer__nav-bottom-list-item:hover {
  opacity: .5;
}
@media screen and (max-width: 640px) {
  .footer__nav-bottom-list-item:hover {
    opacity: 1;
  }
}

.footer__nav-bottom-list-item:last-child {
    border-right: none;
}
footer hr {
  margin: 30px 0 10px;
}

@media screen and (max-width: 640px) {
  footer {
    padding: 30px 0;
  }
  footer .logo_footer img {
    width: 50%;
  }
  .footer__inner,
  .footer__nav {
    width: 100%;
  }
  .footer__nav-list {
    width: 50%;
    padding-left: 1rem;
  }
  .footer__nav-list-item {
    width: 100%;
  }
  .footer__sns-list-item:first-child {
    margin-left: 1rem;
  }
  .footer__nav-list-item,
  .footer__nav-list-item:nth-of-type(n+2) {
    margin-left:0;
    padding-bottom: 0.75rem;
  }
  .footer__sns-list {
    padding-left: 1rem;
  }
  .footer__inner .host {
    font-size: 2rem;
    line-height: 2;
    font-weight: normal;
  }
  .footer__inner .sponsor {
    font-size: 1.5rem;
    margin-top: 5px;
    line-height: 2;
  }
  .footer__nav-bottom-list-item{
      padding: 1rem 2rem;
  }
}

.parallax__nav {
  display: none;
      animation-duration: 0.5s;
      animation-name: fade-out;
      -moz-animation-duration: 0.5s;
      -moz-animation-name: fade-out;
      -webkit-animation-duration: 0.5s;
      -webkit-animation-name: fade-out;
    }
@-webkit-keyframes fadeout {
  0% {
    opacity :1;
  }
  95%{
    opacity :1;
  }
  100% {
    opacity:0;
  }
}
.parallax__nav.block {
  display: block;
  position: fixed;
  top: 200px;
  right: 0;
  margin-top: -105px;
  width: 44px;
  height: 305px;
  background: url(/img/bg_indicator.png) 0 0 no-repeat;
  padding: 2px 0 0 13px;
  z-index: 50;
      animation-duration: 0.5s;
      animation-name: fade-in;
      -moz-animation-duration: 0.5s;
      -moz-animation-name: fade-in;
      -webkit-animation-duration: 0.5s;
      -webkit-animation-name: fade-in;
    }

    @keyframes fade-in {
      0% {
        display: none;
        opacity: 0;
      }

      1% {
        display: block;
        opacity: 0;
      }

      100% {
        display: block;
        opacity: 1;
      }
    }

    @-moz-keyframes fade-in {
      0% {
        display: none;
        opacity: 0;
      }

      1% {
        display: block;
        opacity: 0;
      }

      100% {
        display: block;
        opacity: 1;
      }
    }

    @-webkit-keyframes fade-in {
      0% {
        display: none;
        opacity: 0;
      }

      1% {
        display: block;
        opacity: 0;
      }

      100% {
        display: block;
        opacity: 1;
      }
    }
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@media screen and (max-width: 640px) {
  .parallax__nav.block {
    display: none;
  }
}

.parallax__nav-list-item {
  display: block;
  width: 20px;
  height: 34px;
  margin-bottom: 4px;
}
.parallax__nav-list-item:last-child {
  margin-bottom: 0;
}
.parallax__nav-link {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.parallax__nav-list-item .parallax__nav-link.active[href="#top"] {
  background-color: #fff;
}
.parallax__nav-list-item .parallax__nav-link.active[href="#anchor-schedule"],
.parallax__nav-list-item .parallax__nav-link[href="#anchor-schedule"]:hover {
  background-color: #ffe100;
}
.parallax__nav-list-item .parallax__nav-link.active[href="#anchor-films"],
.parallax__nav-list-item .parallax__nav-link[href="#anchor-films"]:hover {
  background-color: #e50012;
}
.parallax__nav-list-item .parallax__nav-link.active[href="#anchor-award"],
.parallax__nav-list-item .parallax__nav-link[href="#anchor-award"]:hover {
  background-color: #009fe8;
}
.parallax__nav-list-item .parallax__nav-link.active[href="#anchor-events"],
.parallax__nav-list-item .parallax__nav-link[href="#anchor-events"]:hover {
  background-color: #910782;
}
.parallax__nav-list-item .parallax__nav-link.active[href="#anchor-archives"],
.parallax__nav-list-item .parallax__nav-link[href="#anchor-archives"]:hover {
  background-color: #666;
}
.parallax__nav-list-item .parallax__nav-link.active[href="#anchor-access"],
.parallax__nav-list-item .parallax__nav-link[href="#anchor-access"]:hover {
  background-color: #8dc21f;
}
.parallax__nav-list-item .parallax__nav-link.active[href="#anchor-contact"],
.parallax__nav-list-item .parallax__nav-link[href="#anchor-contact"]:hover {
  background-color: #fff;
}





/* ---------------------------------------------
/*  contents
--------------------------------------------- */
.breadcrumbs_lists {
  padding-top: 15px;
  padding-bottom: 30px;
  color: #d61518;
  font-size: 14px;
}
.breadcrumbs_lists .item_list {
  display: inline-block;
}
.breadcrumbs_lists .item_list:before {
  content: ">";
  color: #121212;
  display: inline-block;
  letter-spacing: normal;
  margin-left: 4px;
  margin-right: 4px;
}
.breadcrumbs_lists .item_list:first-child:before {
  display: none;
}
.breadcrumbs_lists .item_list span {
  color: #121212;
}
#main {
  width: 910px;
  float: left;
  margin-right: 26px;
  padding-left: 78px;
}
.contents__outer:after {
    content: "";
    clear: both;
    display: block;
}

.contents__outer {
  margin-top: 75px;
  width: 1222px;
  margin-right: auto;
  margin-left: auto;
  border-bottom: 1px solid #910782;
  padding-bottom: 40px;
}
.contents__inner h1 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 14px;
}
.contents__inner h2 {
  font-size: 20px;
  font-weight: bold;
  margin: 2em 0 .5em;
}
.contents__inner .comment {
  line-height: 1.8;
}
.contents__inner .comment h2 {
  font-size: 23px;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 1em;
  border-bottom: 1px solid #000;
  position: relative;
  padding-left: 33px;
}
.contents__inner .comment h2:before {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 28px;
    height: 28px;
    background: url(/img/icon_crown.png) 0 0 no-repeat;
    background-size: 100% auto;
}
.contents__inner .comment h2 a.blank {
    text-decoration: none;
    margin-right: 0;
    padding-right: 0;
}
.contents__inner .comment h2 a.blank:after {
    background: none;
}
.contents__inner a {
  color: #d61518;
}
#films .contents__inner h1 {
  border-bottom: 1px solid #e50012;
  padding-bottom: 5px;
}
#events .contents__inner h1 {
  border-bottom: 1px solid #910782;
  padding-bottom: 5px;
}
#award .contents__inner h1 {
  border-bottom: 1px solid #009fe8;
  padding-bottom: 5px;
}
.contents__inner p {
  margin-bottom: 1.8em;
}
.contents__inner .fontsize_small {
  font-size: 80%;
 }
.contents__inner .list {
  list-style: disc;
  padding-left: 2em;
 }
  .contents__inner .list li {
  margin-bottom: 1em;
 }
.contents__inner .comment .award_detail {
  width: 100%;
  margin: 4em 0;
}
.contents__inner .comment .award_detail th {
  width: 15%;
}
.contents__inner .comment .award_detail td {
  width: 85%;
}
.contents__inner .comment .award_detail th,
.contents__inner .comment .award_detail td {
  border-bottom: 1px solid #ccc;
  padding: 1em;
}
.contents__inner .comment .photos {
  display: flex;
  margin-bottom: 2em;
}
.contents__inner .comment .photos li:nth-child(even) {
  padding: 0 1em;
}

.contents__inner .image__outer {
  width: 806px;
  margin: 0 auto 35px;
  text-align: center;
}
.contents__inner .half .image__outer {
  width: 403px;
}
.contents__inner .image__outer img {
  max-width: 100%;
}
.contents__inner .image__outer figcaption {
  margin-top: .5em;
}
.contents__inner .image__outer figcaption.copy {
  text-align: right;
  font-size: .8em;
}
.contents__inner .info {
  width: 764px;
  margin: 60px auto 40px;
  padding: 20px;
}
#films .contents__inner .info {
  border: 1px solid #e50012;
}
#events .contents__inner .info {
  border: 1px solid #910782;
}
.contents__inner .info dt {
  float: left;
}
.contents__inner .info dl:after {
    content: "";
    clear: both;
    display: block;
}
#films .contents__inner .info dl {
  display: table-cell;
  }
#films .contents__inner .info dt,
#films .contents__inner .info dd {
  display: table-cell;
  }
.contents__inner .share_buttons__lists .share_buttons {
  width: 208px;
  float: left;
  padding: 0 13px;
  line-height: 36px;
}
.contents__inner .share_buttons__lists {
  width: 702px;
  margin: 0 auto 40px;
}
.contents__inner .share_buttons__lists:after {
    content: "";
    clear: both;
    display: block;
}
.contents__inner .share_buttons__lists .share-fb {
  background: #3b5a9a;
}
.contents__inner .share_buttons__lists .share-tw {
  background: #1da1f2;
}
.contents__inner .share_buttons__lists .share-line {
  background: #00b900;
}
.contents__inner .share_buttons__lists a {
  display: block;
  color: #fff;
  position: relative;
  font-weight: bold;
}
.contents__inner .share_buttons__lists .ic {
  display: block;
  position: absolute;
  top: 50%;
  left: 30%;
  margin-top: -10px;
  width: 0;
  height: 0;
  overflow: hidden;
  padding: 20px 0 0 28px;
  background: url(/img/contents/icons_share.png) no-repeat;
  background-size: 56px auto;
}
.contents__inner .share_buttons__lists .ic.ic-tw {
  position: absolute;
  left: 28%;
  background-position: 0 -20px;
}
.contents__inner .share_buttons__lists .ic.ic-line {
  position: absolute;
  left: 22%;
  background-position: 0 -48px;
  background-size: 64px auto;
}
.contents__inner .share_buttons__lists .name {
  display: block;
  text-align: center;
  padding-left: 20px;
}
.contents__inner .share_buttons__lists .share-tw .name {
  padding-left: 28px;
}
.contents__inner .share_buttons__lists .share-line .name {
  padding-left: 30px;
}
.contents__inner .half {
  width: 50%;
  float: left;
}
#side {
  width: 206px;
  float: right;
  margin-top: 40px;
}
#films #side {
  border: 1px solid #e50012;
}
#films #side .box__header {
  background: #e50012;
  padding: 10px;
}
#events #side {
  border: 1px solid #910782;
}
#events #side .box__header {
  background: #910782;
  padding: 10px;
}
#award #side {
  border: 1px solid #009fe8;
}
#award #side .box__header {
  background: #009fe8;
  padding: 10px;
}
#archives  #side {
  border: 1px solid #666;
}
#archives #side .box__header {
  background: #666;
  padding: 10px;
}
#side h2 {
  color: #fff;
  font-weight: bold;
}
#side h3 {
  font-weight: bold;
  margin: .6em 0 .4em;
}
#side .box__inner {
  padding: 10px;
}
#side .box__inner img {
  width: 187px;
}
#films #side .box__inner {
  border-bottom: 1px solid #e50012;
}
#films #side .box__inner a:hover {
  color: #e50012;
  transition: all .4s;
}
#events #side .box__inner {
  border-bottom: 1px solid #910782;
}
#events #side .box__inner a:hover {
  color: #910782;
  transition: all .4s;
}
#award #side .box__inner {
  border-bottom: 1px solid #009fe8;
}
#award #side .box__inner a:hover {
  color: #009fe8;
  transition: all .4s;
}
#films #side .box__inner:last-child,
#events #side .box__inner:last-child,
#award #side .box__inner:last-child {
  border-bottom: none;
}

@media screen and (max-width: 640px) {
.contents__outer {
    margin-top: 16vw;
    width: 90%;
    margin-right: auto;
    margin-left: auto;
    border-bottom: 1px solid #910782;
    padding-bottom: 40px;
}
.breadcrumbs {
  display: none;
}
#main {
    width: 100%;
    float: none;
    margin-right: 0;
    padding-left: 0;
    font-size: 2rem;
}

.contents__inner .share_buttons__lists {
    width: 100%;
    margin: 0 auto 20px;
}
.contents__inner .share_buttons__lists .share_buttons {
    width: 32%;
    float: left;
    padding: 0 1%;
    line-height: inherit;
}
.contents__inner .share_buttons__lists .share_buttons:first-child {
padding-left: 0;
}
.contents__inner .share_buttons__lists .share_buttons:last-child {
padding-right: 0;
}
.contents__inner .share_buttons__lists .ic {
  position: static;
  display: inline-block;
  margin: 0;
  padding: 15px 0 0 21px;
  background-size: 42px auto;
}
.contents__inner .share_buttons__lists .ic.ic-tw {
  position: static;
  display: inline-block;
  background-size: 42px auto;
  background-position: 0 -15px;
}
.contents__inner .share_buttons__lists .ic.ic-line {
  position: static;
  display: inline-block;
  background-size: 42px auto;
  background-position: 0 -30px;
}
.contents__inner .share_buttons__lists a {
  text-align: center;
  padding: 5px 0;
  font-size: 10px;
}
.contents__inner .share_buttons__lists .name,
.contents__inner .share_buttons__lists .share-tw .name,
.contents__inner .share_buttons__lists .share-line .name {
    padding-left: 0;
}

.contents__inner .comment .award_detail th,
.contents__inner .comment .award_detail td {
  width: 90%;
  display: block;
  padding: 2.5% 5%;
  border-bottom: none;
}
.contents__inner .comment .award_detail th {
  background: #ccc;
}
.contents__inner .comment .award_detail td {
  padding-bottom: 5%;
}
.contents__inner .comment .photos {
  flex-direction: column;
}
.contents__inner .comment .photos li:nth-child(even) {
  padding: 1em 0;
}
.contents__inner .list {
  padding-left: 1em;
 }

.contents__inner .image__outer {
    width: 100%;
    margin: 0 auto 35px;
}
.contents__inner .half .image__outer {
    width: 100%;
}
.contents__inner .info {
    width: 100%;
    margin: 30px auto 20px;
    padding: 0;
}
.contents__inner .info dl {
    padding: 10px;
}
.contents__inner .half {
  width: 100%;
  float: none;
}
#side {
    width: 100%;
    float: none;
    margin-top: 50px;
    font-size: 2rem;
}
#side .box__inner img {
    width: 100%;
}
}





.mainvisual {
  margin-top: 75px;
  margin-bottom: 10px;
  width: 100%;
  height: auto;
  background: url(/img/about/bg_mainvisual.png) center center no-repeat;
  background-size: cover;
  position: relative;
  padding-bottom: 130px;
  animation: fadeIn 3s ease 0s 1 normal;
  -webkit-animation: fadeIn 3s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

.mainvisual__inner {
  width: 1222px;
  margin-right: auto;
  margin-left: auto;
}

.mainvisual__inner p {
  font-size: 30px;
  font-weight: bold;
  text-align: center;
}
.concept {
  width: 612px;
  margin: 0 auto;
}
.concept:after {
  content: "";
  clear: both;
  display: block;
}
.concept li {
  float: left;
  padding: 50px 0;
  transition: 1s;
}
.concept li:nth-child(2) {
  padding: 50px 22px;
  transition: 1.5s;
}
.concept li:nth-child(3) {
  transition: 2s;
}
.concept .concept__circle{
  opacity: 0;
  transform: translate(0,60px);
  -webkit-transform: translate(0,60px);
}
.concept .concept__circle.fadein{
  opacity: 1.0;
  transform: translate(0,0);
  -webkit-transform: translate(0,0);
}

.contents-info__inner {
    width: 1092px;
    margin-right: auto;
    margin-left: auto;
}
.contents-info.purple .bg_heading {
  background: url(/img/about/bg_circle_purple.png) no-repeat left top;
}
.contents-info.purple .bg_heading h2 {
  padding: 185px 0 0 13px;
}
.contents-info.purple {
  margin-bottom: 40px;
}
.contents-info.purple .info {
  padding: 20px 0 0 400px;
  font-size: 1.2em;
}
.contents-info.purple .caution {
  color: #d61518;
  font-size: .7em;
  display: block;
  text-align: right;
  margin: 5px 0 20px;
}
.contents-info.purple .button {
  border: 1px solid #474747;
  margin: 20px 0 25px;
  padding: .9em 3.9em;
  font-weight: bold;
}

.contents-info.yello .bg_heading {
  background: url(/img/about/bg_circle_yello.png) no-repeat right top;
}
.contents-info.yello .bg_heading h2 {
  padding: 160px 0 0 20px;
}
.contents-info.yello .info {
  padding-top: 20px;
  font-size: 1.2em;
  width: 700px;
}
.contents-info.yello .button {
  border: 1px solid #474747;
  margin: 20px 0 25px;
  padding: .9em 2.9em;
  font-weight: bold;
}
.contents-info.green .bg_heading {
  background: url(/img/about/bg_circle_green.png) no-repeat left top;
  height: 482px;
}
.contents-info.green .bg_heading h2 {
  padding: 185px 0 0 90px;
}
.contents-info.green {
  margin-bottom: 65px;
}
.contents-info.green .info {
  padding: 20px 0 0 400px;
  font-size: 1.2em;
}
.contents-info sup {
vertical-align: baseline;
font-size: .5em;
}
.contents-info .bg_heading h2 img {
transition: 1s;
}
.contents-info .bg_heading h2 img {
  opacity: 0;
  transform: translate(60px,0);
  -webkit-transform: translate(60px,0);
}
.contents-info.yello .bg_heading h2 img {
  transform: translate(-60px,0);
  -webkit-transform: translate(-60px,0);
}
.contents-info .bg_heading h2 img.fadein{
  opacity: 1.0;
  transform: translate(0,0);
  -webkit-transform: translate(0,0);
}

.explanation {
    margin-bottom: 40px;
}
.explanation__inner {
    width: 1090px;
    margin-right: auto;
    margin-left: auto;
    border: 1px solid #030000;
}
.explanation_fes {
  border-bottom: 1px solid #030000;
  padding: 40px 50px;
}
.explanation_fes .button {
  border: 1px solid #474747;
  margin: 20px 0 25px;
  padding: .9em 2.9em;
  font-weight: bold;
}
.explanation_fes .logo {
  float: left;
  margin-right: 30px;
}
.explanation__inner .text {
  font-size: 18px;
}


.explanation_award {
  padding: 40px 50px;
}
.explanation_award .logo {
  float: left;
  margin-right: 15px;
}
.explanation_award .text {
  float: left;
  width: 434px;
}

.hold {
  margin-bottom: 35px;
}
.hold__inner {
    width: 1092px;
    margin-right: auto;
    margin-left: auto;
}
.clear:after {
  content: "";
  clear: both;
  display: block;
}
.hold h3 {
  color: #fff;
  background: #000;
  font-size: 24px;
  font-weight: bold;
  padding: 15px;
  margin-bottom: 22px;
}
.hold .photo {
  width: 320px;
  float: left;
  margin-right: 30px;
}
.hold .photo img:first-child {
  margin-bottom: 20px;
}
.hold .text {
  width: 742px;
  float: left;
  font-size: 1.2857em;
}
.hold .text p {
  margin-bottom: 2.8rem;
}
.hold .text p:last-child {
  margin-bottom: 0;
}
.hold .button__lists {
  text-align: center;
  margin-top: 90px;
}
.hold .button {
  margin-top: 0;
  font-size: 24px;
  font-weight: normal;
  border: 1px solid #120a08;
}
.hold .button:first-child {
margin-right: 20px;
}

.history {
  width: 100%;
  height: auto;
  background: url(/img/about/bg_history.jpg) center center no-repeat;
  background-size: cover;
  position: relative;
  padding: 76px 0;
  text-align: center;
  margin-bottom: 30px;
}
.history .button {
  margin-top: 0;
  font-size: 24px;
  font-weight: normal;
  border: 1px solid #120a08;
}
.history .button:after {
    content: none;
    margin-top: 0;
}
.history .button:before {
    position: absolute;
    content: '';
    top: 50%;
    left: 70px;
    width: 31.5px;
    height: 32.5px;
    margin-top: -16.25px;
    background: url(/img/icon_pdf.png) 0 0 no-repeat;
    background-size: 100% auto;
}

@media screen and (max-width: 640px) {
.mainvisual {
    margin-top: 10vw;
    margin-bottom: 0;
    padding-bottom: 12vw;
}
.mainvisual__inner {
    width: 100%;
}
.mainvisual__inner p {
    text-align: center;
    font-size: 2rem;
    padding-top: 6vw;
}

.concept {
    width: 90%;
    margin: 0 auto;
}
.concept li {
    padding: 8vw 0 0;
    width: 30%;
}
.concept li:nth-child(2) {
    padding: 8vw 4vw 0;
}

.contents-info__inner {
    width: 90%;
}
.contents-info.purple {
    margin-bottom: 10vw;
}
.contents-info.purple .bg_heading {
  background-size: 55% auto;
}
.contents-info.purple .bg_heading h2 {
    padding: 19vw 0 0 2vw;
}
.contents-info.purple .info {
    padding: 26vw 0 0 0;
    font-size: 2rem;
}
.contents-info.purple .button {
    padding: .9em 0;
    width: 100%;
    margin-top: 20px;
}
.contents-info.purple .caution {
    text-align: left;
}

.contents-info.yello {
    margin-bottom: 10vw;
}
.contents-info.yello .bg_heading {
  background-size: 55% auto;
}
.contents-info.yello .bg_heading h2 {
    padding: 17vw 2vw 0 0;
}
.contents-info.yello .info {
    padding: 26vw 0 0 0;
    font-size: 2rem;
}
.contents-info.yello .button {
    padding: .9em 0;
    width: 100%;
    margin-top: 20px;
}
.contents-info.yello .info {
    width: 100%;
}

.contents-info.green {
    margin-bottom: 10vw;
}
.contents-info.green .bg_heading {
  background-size: 55% auto;
  height: auto;
}
.contents-info.green .bg_heading h2 {
    padding: 20vw 0 0 5vw;
}
.contents-info.green .info {
    padding: 26vw 0 0 0;
    font-size: 2rem;
}
.contents-info.green .button {
    padding: .9em 0;
    width: 100%;
    margin-top: 20px;
}
.contents-info.green .info {
    width: 100%;
}

.explanation__inner {
  width: 90%;
  font-size: 2rem;
}
.explanation_fes,
.explanation_award {
    padding: 5vw;
}
.explanation_fes .logo,
.explanation_award .logo {
    float: none;
    margin-right: 0;
    text-align: center;
    margin-bottom: 5vw;
}
.explanation_fes .logo img {
    width: 50%;
}
.explanation__inner .text {
    font-size: 2rem;
}
.explanation_award .text {
    float: none;
    width: 100%;
}
.explanation_award .logo img {
    width: 75%;
}

.hold__inner {
    width: 90%;
}
.hold h3 {
    font-size: 3rem;
    padding: 2vw;
    margin-bottom: 5vw;
}
.hold .photo {
    width: 100%;
    float: none;
    margin-right: 0;
}
.hold .photo img {
    width: 100%;
    margin-bottom: 5vw;
}
.hold .text {
    width: 100%;
    float: none;
    font-size: 2rem;
}
.hold .button__lists {
    margin-top: 10vw;
}
.hold .button:first-child {
    margin-right: 0;
    margin-bottom: 5vw;
}
.hold .button {
    margin-top: 0;
    font-size: 2rem;
    width: 100%;
    padding: .9em 0;
}

.history .button {
    font-size: 2rem;
}
.history .button:before {
    position: absolute;
    top: 50%;
    left: 10vw;
    width: 15.75px;
    height: 16.25px;
    margin-top: -8.125px;
    background-size: 100% auto;
}


}



.contents__outer#schedule {
  border-bottom: none;
}

#schedule .legend dt {
  width: 15%;
  float: left;
  font-size: 80%;
}
#schedule .legend dd {
  width: 85%;
  float: left;
  font-size: 80%;
}
#schedule .legend {
  margin-bottom: 1em;
}
#schedule dl.legend:last-child {
  margin-bottom: 0;
}
#schedule .legend:after {
  content: "";
  clear: both;
  display: block;
}
#schedule .legend img {
  width: 24px;
  vertical-align: middle;
  margin-right: 5px;
}
#schedule h2 {
  color: #fff;
  font-size: 18px;
  height: 40px;
  line-height: 40px;
  font-weight: bold;
  padding: 0 10px;
  margin: 40px 0 20px;
}
#schedule h3 {
  margin-top: 40px;
}
#schedule h2.blue {
  background: #009fe8;
}
#schedule h2.red {
  background: #e50012;
}
#schedule h2.purple {
  background: #910085;
}
#schedule h3.blue {
  color: #009fe8;
}
#schedule h3.red {
  color: #e50012;
}
#schedule h3.purple {
  color: #910085;
}
#schedule table {
  width: 100%;
}
#schedule td {
  border-bottom: 1px solid #ccc;
  padding: 1em 0;
}
#schedule .title {
  width: 40%;
}
#schedule .date {
  width: 30%;
  padding-left: 1em;
}
#schedule .icon {
  width: 10%;
}
#schedule .place {
  width: 20%;
  padding-left: 1em;
}
#schedule .icon img {
  width: 24px;
  vertical-align: middle;
  margin-right: 5px;
}
/*#schedule .title a {
    text-decoration: none;
    border-bottom: 1px solid #000;
    padding-bottom: 0.1rem;
}
#schedule .title a:hover {
    border-bottom: none;
}*/
#schedule h1 {
  text-align: center;
  font-size: 46px;
  line-height: 1;
  margin-bottom: 38px;
}
#schedule h1 span{
  font-size: 20px;
}


@media screen and (max-width: 640px) {
.contents-info__inner {
    width: 100%;
    padding-top: 10px;
    font-size: 2rem;
}
#schedule .legend dt {
  width: 100%;
  float: none;
  font-size: 100%;
  margin: 2em 0 0;
}
#schedule .legend#ud dt {
  margin: 0;
}
#schedule .legend dd {
  width: 100%;
  float: none;
  margin: 1em 0 0;
}
#schedule .legend {
  margin-bottom: 0;
}
#schedule h2 {
  height: initial;
  line-height: initial;
  padding: 10px;
  margin: 20px 0 0;
}
#schedule h3 {
  margin-top: 20px;
}
#schedule td {
  display: block;
}
#schedule .title {
  width: 100%;
  border: none;
  padding: 1em 0 0;
  font-weight: bold;
}
#schedule .date {
  width: 100%;
  padding: 0;
  border: none;
  font-size: 90%;
}
#schedule .icon {
  width: 100%;
  border: none;
  padding: 0;
}
#schedule .icon img {
  padding: .2em 0;
}
#schedule .place {
  width: 100%;
  padding: 0 0 1.1em;
  font-size: 80%;
}
#schedule h1 {
  font-size: 4rem;
  margin-bottom: 19px;
}
}


.contents__outer#comment {
  border-bottom: 1px solid #000;
  padding-bottom: 4em;
  line-height: 1.8;
}
#comment h1 {
  text-align: center;
  font-size: 46px;
  line-height: 1;
  margin-bottom: 38px;
}
#comment h1 span{
  font-size: 20px;
}
#comment h2 {
  font-size: 23px;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 1em;
  border-bottom: 1px solid #000;
  position: relative;
  padding-left: 33px;
}
#comment h2:before {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 28px;
    height: 28px;
    background: url(/img/icon_crown.png) 0 0 no-repeat;
    background-size: 100% auto;
}
#comment h2 span {
  font-size: 70%;
}
#comment h2.icon_none {
  font-size: 30px;
  border-bottom: none;
  padding-left: 0;
}
#comment h2.icon_none:before {
    background: none;
}
#comment .contents-info h3 {
  font-size: 18px;
  font-weight: bold;
  margin: 2em 0 1em;
}
#comment .contents-info h4 {
  font-weight: bold;
}

#comment .contents-info a {
  color: #d61518;
  -webkit-transition: .2s ease-in-out;
  -moz-transition: .2s ease-in-out;
  transition: .2s ease-in-out;
}
#comment a:hover {
  text-decoration: underline;
  -webkit-transition: .2s ease-in-out;
  -moz-transition: .2s ease-in-out;
  transition: .2s ease-in-out;
}
#comment .contents-info .indent {
  margin-bottom: 1.8em;
}
#comment .contents-info .indent li {
  text-indent: -1em;
  padding-left: 1em;
  float: none;
}
#comment .contents-info .indent li:first-child {
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 0;
}
#comment .catch {
  margin-bottom: 4em;
}
#comment .award_detail {
  width: 100%;
  margin-bottom: 3em;
}
#comment .award_detail th {
  width: 15%;
}
#comment .award_detail td {
  width: 85%;
}
#comment .award_detail th,
#comment .award_detail td {
  border-bottom: 1px solid #ccc;
  padding: 1em;
}
#comment .comment_box li span {
  font-size: 80%;
}
#comment .photos {
  display: flex;
  margin-bottom: 2em;
}
#comment .photos li:nth-child(odd) {
  padding-right: 1em;
}
#comment .photos li:nth-child(even) {
  padding-left: 1em;
}

#comment .comment_box {
  margin-bottom: 5em;
}
#comment .comment_box ul:after {
  content: "";
  clear: both;
  display: block;
}
#comment .comment_box li {
  float: left;
}
#comment .comment_box li:first-child {
  margin-right: 1em;
}
#comment .comment_box li img {
  height: 300px;
}
#comment .comment_box .photo_three li:nth-child(2) {
  margin-right: 1em;
}
#comment .comment_box .photo_three li img {
  height: 239px;
}
#comment .comment_box li.pc img {
  height: 150px;
}
#comment .comment_box li.sp img {
  display: none;
}
#comment .comment_box li span {
  font-size: 80%;
  display: block;
}


@media screen and (max-width: 640px) {
#comment h1 {
  font-size: 4rem;
  margin-bottom: 19px;
}
#comment h2 {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 1em;
  border-bottom: 1px solid #000;
  position: relative;
  padding: 0 0 5px 25px;
}
#comment h2:before {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    background: url(/img/icon_crown.png) 0 0 no-repeat;
    background-size: 100% auto;
}
#comment h2.icon_none {
  font-size: 24px;
  border-bottom: none;
  padding: 0;
}
#comment h2.icon_none:before {
    background: none;
}
#comment h3 {
  font-size: 18px;
  font-weight: bold;
  margin: 2em 0 1em;
}
#comment .comment_box {
  margin-bottom: 5em;
}
#comment .comment_box li {
  float: none;
}
#comment .comment_box li:first-child {
  margin: 0 0 1em 0;
}
#comment .comment_box li img,
#comment .comment_box .photo_three li img {
  width: 100%;
  height: auto;
}
#comment .comment_box .photo_three li:nth-child(2) {
  margin: 0 0 1em 0;
}
#comment .comment_box li.pc img {
  display: none;
}
#comment .comment_box li.sp img {
  display: block;
}

#comment .award_detail th,
#comment .award_detail td {
  width: 90%;
  display: block;
  padding: 2.5% 5%;
  border-bottom: none;
}
#comment .award_detail th {
  background: #ccc;
}
#comment .award_detail td {
  padding-bottom: 5%;
}
#comment .photos {
  flex-direction: column;
}
#comment .photos li:nth-child(odd) {
  padding-right: 0;
  margin-bottom: 1em;
}
#comment .photos li:nth-child(even) {
  padding-left: 0;
}
}

/* ---------------------------------------------
*   news
--------------------------------------------- */
.important__inner {
  background: #ffffff;
  position: relative;
  width: 1092px;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  z-index: 20;
  border: 4px solid #e50012;
  box-sizing: border-box;
  padding: 1em 1em 0;
}
.important__inner h2 {
  text-align: center;
  font-weight: bold;
  font-size: 1.5em;
  color: #e50012;
  margin-bottom: 1rem;
}
.important__inner p {
  text-align: left;
  margin-bottom: 1em;
}
.important__inner .link {
  font-weight: bold;
}
@media screen and (max-width: 640px) {
  .important__inner {
    width: 100%;
    text-align: center;
  }
  .important__inner h2 {
    font-size: 1.2em;
  }
}