@charset "UTF-8";
/*---------------------------------------------*/
/* カラー設定                                  */
/*---------------------------------------------*/
/*---------------------------------------------*/
/* SCSS Load                                   */
/*---------------------------------------------*/
/* loading anime */
/*-------------------------------------------*/
/* laoding                                   */
/*-------------------------------------------*/
#loader-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #FFF;
  z-index: 999; }
  #loader-bg #loader {
    position: fixed;
    color: #E60012;
    z-index: 1000;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    #loader-bg #loader .spinner {
      margin: 100px auto 0;
      width: 70px;
      text-align: center; }
      #loader-bg #loader .spinner > div {
        width: 18px;
        height: 18px;
        background-color: #E60012;
        border-radius: 100%;
        display: inline-block;
        -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
        animation: sk-bouncedelay 1.4s infinite ease-in-out both; }
    #loader-bg #loader .spinner .bounce1 {
      -webkit-animation-delay: -0.32s;
      animation-delay: -0.32s; }
    #loader-bg #loader .spinner .bounce2 {
      -webkit-animation-delay: -0.16s;
      animation-delay: -0.16s; }
@-webkit-keyframes sk-bouncedelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0); }
  40% {
    -webkit-transform: scale(1); } }
@keyframes sk-bouncedelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0); }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1); } }
/*基本*/
html {
  width: 100%;
  height: 100%;
  font-size: 62.5%; }

body {
  width: 100%;
  height: 100%;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 175%;
  font-family: fot-matisse-pron,sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #000;
  background-color: #FFF; }

/* IEのみ 
@media all and (-ms-high-contrast: none) {
	body {
		font-family: 'ヒラギノ明朝 Pro W3','Hiragino Mincho Pro','ＭＳ Ｐ明朝','MS PMincho',serif,メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif;
	}	
}
*/
a {
  color: #1C4B9F;
  text-decoration: none;
  transition: 0.5s all ease; }

a:hover {
  color: #1C4B9F;
  text-decoration: none; }

a.link-btn {
  display: block;
  background-color: #1C4B9F;
  color: #FFF;
  text-align: center;
  padding: 10px 15px;
  border-radius: 5px;
  margin-top: auto;
  border: 1px solid #1C4B9F;
  font-weight: bold; }
  a.link-btn:hover {
    background-color: #FFF;
    color: #1C4B9F; }
  a.link-btn::after {
    content: "\f0a9";
    font-family: 'fontawesome-s';
    margin-left: 5px;
    font-weight: normal; }

p {
  font-size: 18px; }

@media (max-width: 767px) {
  p {
    font-size: 16px; } }
hr {
  border-top-color: #999;
  border-right-color: #999;
  border-bottom-color: #999;
  border-left-color: #999;
  margin-top: 10px;
  margin-bottom: 10px; }

/*スペース*/
.bt-sp10 {
  margin-bottom: 10px !important; }

.bt-sp20 {
  margin-bottom: 20px !important; }

.bt-sp30 {
  margin-bottom: 30px !important; }

.bt-sp40 {
  margin-bottom: 40px !important; }

.bt-sp80 {
  margin-bottom: 80px !important; }

.tp-pad80 {
  padding-top: 80px !important; }

.tp-pad20 {
  padding-top: 20px !important; }
  @media (max-width: 767px) {
    .tp-pad20 {
      padding-top: 0px !important; } }

/*グリッドシステムのガター調整*/
.row-0 {
  margin-left: 0px;
  margin-right: 0px; }
  .row-0 > div {
    padding-right: 0px;
    padding-left: 0px;
    padding-bottom: 0px; }

.row-10 {
  margin-left: -5px;
  margin-right: -5px; }
  .row-10 > div {
    padding-right: 5px;
    padding-left: 5px;
    padding-bottom: 10px; }

.row-20 {
  margin-left: -10px;
  margin-right: -10px; }
  .row-20 > div {
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 20px; }

.row-30 {
  margin-left: -15px;
  margin-right: -15px; }
  .row-30 > div {
    padding-right: 15px;
    padding-left: 15px;
    padding-bottom: 30px; }

/*比率を保って拡大・縮小処理*/
.photo-area {
  overflow: hidden;
  position: relative;
  margin-bottom: 0px;
  display: block;
  	/*display: flex;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap;*/ }
  .photo-area img {
    width: 100%;
    height: auto;
    display: block; }
  .photo-area figcaption {
    padding: 5px;
    display: block;
    line-height: 160%; }

@media (min-width: 768px) {
  .photo-area figcaption {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 10px;
    display: inline-block;
    background-color: rgba(28, 75, 159, 0.8);
    color: white; } }
.photo-h100 img {
  width: auto;
  height: 100%; }

.ratio-1_1:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
  /* 1:1 */ }

.ratio-7_3:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 30%;
  /* 7:3 */ }

.ratio-7_5:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 40%;
  /* 7:5 */ }

.ratio-8_2:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 20%;
  /* 8:2 */ }

.ratio-1_2:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 200%;
  /* 1:2 */ }

.ratio-4_3:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 75%;
  /* 4:3 */ }

.ratio-16_9:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 56.25%;
  /* 16:9 */ }

.ratio-8_5:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 62.5%;
  /* 8:5 ≒ 黄金比 */ }

.ratio-tate:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 148%;
  /* 縦写真専用 1:2 */ }

.ratio-tate2:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 120%;
  /* 縦写真専用 */ }

.ratio-49:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 48.999%;
  /* 4:3 */ }

.ratio-1_1,
.ratio-7_3,
.ratio-7_5,
.ratio-8_2,
.ratio-1_2,
.ratio-4_3,
.ratio-16_9,
.ratio-8_5,
.ratio-49,
.ratio-tate,
.ratio-tate2 {
  position: relative;
  overflow: hidden; }

/*---------------------------------------------*/
/*追加グリッド                                 */
/*---------------------------------------------*/
.col-xs-15,
.col-sm-15,
.col-md-15,
.col-lg-15 {
  position: relative;
  min-height: 1px; }

.col-xs-15 {
  -ms-flex: 0 0 20%;
  flex: 0 0 20%;
  max-width: 20%; }

@media (min-width: 768px) {
  .col-sm-15 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%; } }
@media (min-width: 992px) {
  .col-md-15 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%; } }
@media (min-width: 1200px) {
  .col-lg-15 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%; } }
.row1-gutters {
  margin-left: -1px;
  margin-right: -1px;
  margin-bottom: 0px; }
  .row1-gutters > div {
    padding: 0px 1px 2px 1px; }

/*---------------------------------------------*/
/* webfont load                                */
/*---------------------------------------------*/
@font-face {
  font-family: 'fontawesome';
  src: url("../fonts/fa-brands-400.eot");
  src: url("../fonts/fa-brands-400.eot") format("embedded-opentype"), url("../fonts/fa-brands-400.woff2") format("woff2"), url("../fonts/fa-brands-400.woff") format("woff"), url("../fonts/fa-brands-400.ttf") format("truetype"), url("../fonts/fa-brands-400.svg") format("svg");
  font-weight: normal;
  font-style: normal; }
@font-face {
  font-family: 'fontawesome-s';
  src: url("../fonts/fa-solid-900.eot");
  src: url("../fonts/fa-solid-900.eot") format("embedded-opentype"), url("../fonts/fa-solid-900.woff2") format("woff2"), url("../fonts/fa-solid-900.woff") format("woff"), url("../fonts/fa-solid-900.ttf") format("truetype"), url("../fonts/fa-solid-900.svg") format("svg");
  font-weight: normal;
  font-style: normal; }
/*---------------------------------------------*/
/* 見出し                                      */
/*---------------------------------------------*/
h1 {
  font-size: 46px;
  font-size: 4.6rem;
  line-height: 1.2;
  word-wrap: break-word; }

h2 {
  font-size: 46px;
  font-size: 4.6rem;
  line-height: 1.25;
  word-wrap: break-word; }

h3 {
  font-size: 35px;
  font-size: 3.5rem;
  line-height: 1.3;
  word-wrap: break-word; }

h4 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.35;
  word-wrap: break-word; }

h5 {
  font-size: 20px;
  font-size: 2.0rem;
  line-height: 1.4;
  word-wrap: break-word; }

h6 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.45;
  word-wrap: break-word; }

@media (max-width: 1200px) {
  h2 {
    font-size: calc(1.525rem + 2vw);
    word-wrap: break-word;
    overflow-wrap: break-word; }

  h3 {
    font-size: calc(1.525rem + 1.8vw); }

  h4 {
    font-size: calc(1.525rem + 1.0vw); } }
/*---------------------------------------------*/
/* 最大幅で活用                                */
/*---------------------------------------------*/
.max-img {
  width: 100%;
  height: auto; }

/*---------------------------------------------*/
/*画像マスク処理                               */
/*---------------------------------------------*/
.bg-photo {
  position: relative;
  overflow: hidden;
  margin-bottom: 0px;
  width: 100%; }
  .bg-photo img {
    height: 100%;
    width: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }

.bg-photo-w {
  position: relative;
  overflow: hidden;
  margin-bottom: 0px;
  width: 100%;
  display: flex;
  align-items: center; }
  .bg-photo-w img {
    height: auto;
    width: 100%;
    top: 0;
    left: 0;
    position: absolute; }

/*---------------------------------------------*/
/*DLリストのスタイル                           */
/*---------------------------------------------*/
.dl-style dd {
  margin-bottom: 20px; }

/*---------------------------------------------*/
/*リストをインライン化                         */
/*---------------------------------------------*/
.list-inline {
  margin-left: -10px;
  letter-spacing: -.4em;
  list-style: none !important;
  padding: 0px; }
  .list-inline li {
    display: inline-block;
    padding-left: 10px;
    margin-bottom: 5px;
    letter-spacing: normal; }

.li-kutou li:not(:last-child):after {
  content: "、"; }

/*---------------------------------------------*/
/*リストをテーブル化                           */
/*---------------------------------------------*/
.list-table,
.list-table_xs {
  display: block;
  padding: 0px;
  margin-bottom: 0px;
  list-style: none; }

.line-table > li {
  border-bottom: 1px solid #999; }

.list-table_xs > li {
  width: 100%;
  display: flex;
  list-style: none;
  margin-bottom: 10px;
  justify-content: space-between;
  align-items: flex-start; }
  .list-table_xs > li > div:first-child {
    padding: 0px 5px 0px 0px;
    min-width: 100px; }
  .list-table_xs > li > div:last-child {
    padding: 0px 0px 0px 5px;
    width: 100%; }

.cell-50p li > div {
  width: 50%;
  min-width: 50% !important; }

@media (min-width: 768px) {
  .list-table > li {
    width: 100%;
    display: table;
    list-style: none;
    margin-bottom: 10px; }
    .list-table > li > div:first-child {
      display: table-cell;
      padding: 10px;
      vertical-align: top; }
    .list-table > li > div:last-child {
      display: table-cell;
      padding: 10px;
      vertical-align: top; }
      .list-table > li > div:last-child ul {
        list-style: disc; }

  .cell-10 li > div:first-child {
    width: 10%; }

  .cell-20 li > div:first-child {
    width: 20%; }

  .cell-25 li > div:first-child {
    width: 25%; }

  .cell-30 li > div:first-child {
    width: 30%; } }
@media (max-width: 767px) {
  .list-table > li {
    margin-bottom: 20px; }
    .list-table > li > div:first-child {
      padding: 5px 0px 5px 0px; }
    .list-table > li > div:last-child {
      padding: 0px 0px 10px 0px; }
    .list-table > li a {
      display: block; } }
.data-table > li {
  margin-bottom: 0px; }
  .data-table > li > div:first-child {
    background-color: rgba(28, 75, 159, 0.4); }

@media (max-width: 767px) {
  .data-table > li {
    margin-bottom: 20px;
    border-bottom: 0px; } }
.waku-line {
  border: 1px solid #999;
  position: relative;
  padding: 20px; }

.list-table_line li {
  border-bottom: 1px solid #999;
  padding-bottom: 10px; }

/*---------------------------------------*/
/*gmapとyoutube                          */
/*---------------------------------------*/
.gmap {
  position: relative;
  width: 100%;
  padding-top: 320px;
  overflow: hidden; }

.gmap2 {
  position: relative;
  width: 100%;
  padding-top: 62.5%;
  overflow: hidden; }

.youtube {
  position: relative;
  width: 100%;
  padding-top: 75%; }

.gmap iframe,
.gmap2 iframe,
.youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/*---------------------------------------*/
/* パンくず             　               */
/*---------------------------------------*/
.breadcrumb-div {
  margin-bottom: 30px;
  font-size: 12px;
  font-size: 1.2rem;
  padding: 15px 0 5px 0;
  -webkit-overflow-scrolling: touch;
  overflow-x: auto; }

.breadcrumb {
  background-color: transparent !important;
  border-radius: 0px;
  margin-bottom: 0px;
  padding: 0px; }

.breadcrumb::-webkit-scrollbar {
  height: 5px; }

.breadcrumb::-webkit-scrollbar-track {
  border-radius: 5px;
  background: #eee; }

.breadcrumb::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background: #999; }

.breadcrumb {
  display: flex;
  white-space: nowrap;
  flex-wrap: nowrap;
  align-items: center; }

.breadcrumb li {
  padding: 5px;
  border-radius: 5px;
  line-height: 100%;
  position: relative; }

.breadcrumb li:last-child:after {
  display: none; }

@media (min-width: 768px) {
  .breadcrumb li {
    margin-right: 0px !important; }

  .breadcrumb li:after {
    content: ">"; } }
@media (max-width: 767px) {
  .breadcrumb li {
    margin-right: 10px;
    background-color: #CCC; }

  .breadcrumb li:after {
    content: "";
    position: absolute;
    right: -19px;
    border-style: solid;
    border-color: transparent;
    border-left-color: #CCC;
    border-width: 7px 12px;
    width: 0;
    height: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); } }
/*---------------------------------------------*/
/* デザインテーマ設定                          */
/*---------------------------------------------*/
/* Header Css */
/* footer Css */
#footer {
  position: relative;
  padding-top: 100px;
  background-color: #000;
  z-index: 10; }
  #footer .support {
    text-align: center;
    color: #FFF; }
    #footer .support h4 {
      margin-bottom: 30px;
      padding-bottom: 30px;
      font-size: 26px;
      border-bottom: 1px solid #FFF; }
    #footer .support ul {
      list-style: none;
      padding-left: 0;
      margin: 0; }
      #footer .support ul li {
        font-size: 18px; }
        #footer .support ul li:first-child {
          margin-bottom: 10px; }
  #footer .copy {
    text-align: center;
    color: #FFF;
    margin-top: 60px; }
    #footer .copy h4 {
      margin-bottom: 30px;
      padding-bottom: 30px;
      font-size: 26px;
      border-bottom: 1px solid #FFF; }
    #footer .copy h2 {
      max-width: 200px;
      margin: 0 auto; }
    #footer .copy .contents-link {
      width: 80%;
      margin: 40px auto 0 auto; }
      #footer .copy .contents-link a {
        display: block;
        background-color: #E60012;
        border: 1px solid #FFF;
        font-size: 18px;
        padding: 10px 0;
        color: #FFF;
        border-radius: 5px; }
        #footer .copy .contents-link a::before {
          content: "\f0a9";
          font-family: 'fontawesome-s';
          margin-right: 10px; }
        #footer .copy .contents-link a:hover {
          background-color: #FFF;
          color: #E60012; }
    #footer .copy > p {
      margin-top: 40px;
      margin-bottom: 0; }
  #footer .copyright {
    margin-top: 40px;
    background-color: #E60012;
    color: #FFF;
    margin-bottom: 0; }

@media (max-width: 767px) {
  #footer .copy .contents-link {
    width: 100%; }
    #footer .copy .contents-link .col-md-6:first-child {
      margin-bottom: 15px; } }
/* ページトップ CSS */
#page-top {
  display: block;
  width: 50px;
  height: 50px;
  position: fixed;
  padding: 10px;
  z-index: 99;
  bottom: 0;
  right: 0;
  background-color: #1C4B9F;
  cursor: pointer; }
  #page-top::before {
    font-family: 'fontawesome-s';
    content: "\f062";
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    font-size: 20px;
    transform: translate(-50%, -50%); }

/*トップページスタイル*/
/* Scss Document */
/* ロゴ CSS */
#header {
  height: 100%;
  display: block; }
  #header .logo-div {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10; }
    #header .logo-div h1 {
      padding: 0px;
      margin-left: 15px;
      margin-bottom: 0;
      width: 240px; }
      #header .logo-div h1 img {
        width: 100%; }
  #header .over-img {
    width: 100%;
    height: 100%;
    background-image: url("../../asset/img/over.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center; }
    #header .over-img::after {
      display: none;
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.3);
      z-index: 1; }
    #header .over-img img {
      width: 100%; }
    #header .over-img .over-title {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      max-width: 760px;
      width: 100%;
      z-index: 2; }
    #header .over-img a {
      display: inline-block;
      position: absolute;
      right: 40px;
      bottom: 0;
      z-index: 2;
      padding: 10px 10px 110px;
      overflow: hidden;
      color: #fff;
      font-size: 14px;
      line-height: 1;
      letter-spacing: .2em;
      text-transform: uppercase;
      text-decoration: none;
      writing-mode: vertical-lr;
      color: #FFF; }
      #header .over-img a::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 1px;
        height: 100px;
        background: rgba(255, 255, 255, 0.6); }
      #header .over-img a::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 1px;
        height: 100px;
        background: #FFF;
        animation: sdl 3s cubic-bezier(1, 0, 0, 1) infinite; }
@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0; }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0; }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%; }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%; } }
/* メインビジュアル CSS */
#main-visual {
  overflow: hidden;
  position: fixed;
  right: 0;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: -1; }

#main-contents {
  position: relative;
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 0;
  transform: translate(0, 100px);
  transition: all 2000ms;
  padding-top: 200px; }
  #main-contents::after {
    position: absolute;
    top: -300px;
    left: 0;
    content: "";
    width: 100%;
    height: 300px;
    display: block;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
    z-index: 10; }
  #main-contents .sub-title {
    color: #FFF;
    text-align: center; }
    #main-contents .sub-title h2 {
      font-size: 46px;
      margin-bottom: 0; }
    #main-contents .sub-title h3 {
      font-size: 26px; }
    #main-contents .sub-title p {
      margin-top: 100px;
      margin-bottom: 0;
      line-height: 42px; }
  #main-contents .yakudo {
    margin: 40px auto 0;
    width: 80%; }
    #main-contents .yakudo .col-md-6:nth-child(n+3) {
      margin-top: 20px; }
    #main-contents .yakudo .col-md-6 .yakudo-photo {
      position: relative;
      overflow: hidden; }
      #main-contents .yakudo .col-md-6 .yakudo-photo p {
        display: inline-block;
        background-color: #FFF;
        padding: 5px 15px;
        position: absolute;
        right: 0;
        bottom: 0;
        text-align: center;
        margin-bottom: 0; }
  #main-contents .view {
    width: 100%;
    height: 400px;
    background-color: #FFF;
    position: relative; }
    #main-contents .view figure {
      position: relative;
      overflow: hidden;
      margin-bottom: 0; }
      #main-contents .view figure::before {
        content: "";
        display: block;
        width: 100%;
        padding-top: 30%; }
      #main-contents .view figure img {
        width: 100%;
        height: auto;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 0;
        display: block; }
    #main-contents .view div {
      display: inline-block; }
      #main-contents .view div p {
        display: inline-block;
        margin-bottom: 0; }
  #main-contents .scroll-view {
    margin-top: 100px;
    height: 60vh; }
    #main-contents .scroll-view .inner {
      height: 100%;
      width: 100%;
      position: relative;
      overflow: hidden; }
      #main-contents .scroll-view .inner p {
        display: inline-block;
        position: absolute;
        bottom: 0;
        right: 0;
        background-color: #FFF;
        padding: 5px 15px;
        z-index: 1;
        margin-bottom: 0; }
      #main-contents .scroll-view .inner .scroll-bg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
        #main-contents .scroll-view .inner .scroll-bg .scroll-bg-img {
          background: url("../../asset/img/view.jpg");
          background-repeat: no-repeat;
          background-size: cover;
          background-position: center top;
          height: 100%;
          width: 100%; }
  #main-contents > .vr360 {
    margin-top: 100px;
    background-color: #FFF;
    position: relative;
    overflow: hidden; }
    #main-contents > .vr360 .kirin {
      background-repeat: no-repeat;
      background-size: cover;
      position: absolute;
      z-index: 5;
      bottom: 0;
      width: 100%;
      max-width: 30%;
      padding-top: 40%; }
    #main-contents > .vr360 #kirin-left {
      background-image: url("../../asset/img/left.png");
      background-position: center right;
      left: -6%; }
    #main-contents > .vr360 #kirin-right {
      background-image: url("../../asset/img/right.png");
      background-position: center left;
      right: -6%; }
    #main-contents > .vr360 .introduction {
      color: #000;
      text-align: center;
      position: relative;
      z-index: 10; }
      #main-contents > .vr360 .introduction h4 {
        font-size: 36px;
        margin-bottom: 30px;
        padding-bottom: 30px;
        border-bottom: 1px solid #E60012; }
      #main-contents > .vr360 .introduction p {
        line-height: 42px;
        margin-bottom: 0; }
      #main-contents > .vr360 .introduction .vr-contents {
        padding: 100px 0; }
        #main-contents > .vr360 .introduction .vr-contents .row {
          margin-top: 40px; }
          #main-contents > .vr360 .introduction .vr-contents .row .col-lg-4 > div {
            background-color: #FFF;
            padding-bottom: 20px;
            border: 1px solid #E60012; }
            #main-contents > .vr360 .introduction .vr-contents .row .col-lg-4 > div h5 {
              color: #000;
              margin: 15px 0 10px; }
            #main-contents > .vr360 .introduction .vr-contents .row .col-lg-4 > div a {
              background-color: #dd0000;
              border: 1px solid #dd0000;
              display: inline-block;
              color: #FFF;
              padding: 5px 20px;
              border-radius: 5px; }
              #main-contents > .vr360 .introduction .vr-contents .row .col-lg-4 > div a::before {
                content: "\f0a9";
                font-family: 'fontawesome-s';
                margin-right: 5px; }
              #main-contents > .vr360 .introduction .vr-contents .row .col-lg-4 > div a:hover {
                background-color: #FFF;
                color: #dd0000; }
  #main-contents .details {
    margin-top: 0;
    padding: 100px 0;
    background-color: #BE000E; }
    #main-contents .details .details-title {
      color: #FFF;
      text-align: center;
      margin-bottom: 40px; }
      #main-contents .details .details-title h4 {
        margin-bottom: 30px;
        padding-bottom: 30px;
        font-size: 26px;
        border-bottom: 1px solid #FFF; }
      #main-contents .details .details-title p {
        line-height: 42px; }
    #main-contents .details .div-slide {
      padding-bottom: 40px; }
      #main-contents .details .div-slide .contents-slide > div {
        padding: 0 15px;
        color: #FFF; }
        #main-contents .details .div-slide .contents-slide > div h5 {
          font-size: 22px;
          text-align: center;
          margin-top: 10px;
          height: 100%; }
          #main-contents .details .div-slide .contents-slide > div h5 span {
            font-size: 12px; }
        #main-contents .details .div-slide .contents-slide > div p {
          margin-bottom: 0; }
        #main-contents .details .div-slide .contents-slide > div p.area,
        #main-contents .details .div-slide .contents-slide > div p.time {
          text-align: center; }
        #main-contents .details .div-slide .contents-slide > div p.time {
          margin-bottom: 15px; }
        #main-contents .details .div-slide .contents-slide > div hr {
          border-color: #FFF;
          margin: 10px 0; }
    #main-contents .details .swiper-pagination {
      top: inherit !important;
      bottom: 0 !important; }
  #main-contents .gallery {
    margin-top: 0;
    padding-top: 100px; }
    #main-contents .gallery > .container-fluid {
      padding: 0px; }
      #main-contents .gallery > .container-fluid .gallery-title {
        padding: 0 15px;
        text-align: center;
        color: #FFF; }
        #main-contents .gallery > .container-fluid .gallery-title h4 {
          margin-bottom: 60px;
          font-size: 26px; }
      #main-contents .gallery > .container-fluid .swiper-cover {
        position: relative; }
        #main-contents .gallery > .container-fluid .swiper-cover::before {
          content: "";
          width: 100%;
          height: 100%;
          background-color: #FFF;
          position: absolute;
          top: 0;
          left: 0;
          z-index: 2;
          opacity: 0; }

@media (max-width: 991px) {
  #header .over-img {
    background-image: url("../../asset/img/over-sp.jpg"); }
    #header .over-img .over-title {
      top: inherit;
      bottom: 20px;
      transform: translate(-50%, 0%);
      max-width: 90%; }

  #main-contents .sub-title p {
    text-align: left; }
    #main-contents .sub-title p br {
      display: none; }
  #main-contents .yakudo {
    width: 100%; }
  #main-contents .vr360 .kirin {
    display: none; }
  #main-contents .details .details-title p {
    text-align: left; } }
@media (max-width: 767px) {
  #main-contents .sub-title p {
    line-height: 32px; }
  #main-contents .yakudo .col-md-6:first-child {
    margin-bottom: 20px; }
  #main-contents .vr360 .kirin {
    max-width: 40%; }
  #main-contents .vr360 .introduction .vr-contents .col-md-6:first-child {
    margin-bottom: 20px; }
  #main-contents .details .details-title p {
    line-height: 32px; } }
/* スクロールアニメーション */
#main-contents.scrollin {
  opacity: 1;
  transform: translate(0, 0px); }

/*------------------------------------*/
/* wordpress用style                   */
/*------------------------------------*/
