﻿@charset "utf-8";
/*---------------------------------------------
  Browser Default Initialization
  ---------------------------------------------*/
html {
  overflow-y: scroll;
}
body, div, dl, dt, dd, ul, ul li, h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea, p, blockquote, th, td,
section, nav, article, aside, hgroup, header, address,
figure, figcaption {
  margin: 0;
  padding: 0;
  line-height: 2;
}
address, caption, cite, code, dfn, em, th, var {
  font-style: normal;
  font-weight: normal;
}
strong {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
q:before ,q:after {
  content: '';
}
object, embed {
  vertical-align: top;
}
hr, legend {
  display: none;
}
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}
img, abbr, acronym, fieldset {
  border: 0;
}
img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: top;
  -ms-interpolation-mode: bicubic;
}
video {
  width: 100%;
  max-width: 100%;
  height: auto;
  outline: none;
  cursor: pointer;
}
ul li {
  display: inline-block;
  list-style-type: none;
}
p {
  margin-bottom: 30px;
  font-size: 15px;
  line-height: 2.3em;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  p {
    font-size: 13px;
    line-height: 2.0em;
  }
}

.pc {
  display: block;
}
.sp {
  display: none;
}
span.comma {
  display: none;
}
@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  span.comma {
    display: inline-block;
  }
}

/* ------ body ------ */
body {
  width: 100%;
  min-width: 320px;
  margin: 0 auto;
  color: #494949;
  font-size: 14px;
  font-weight: 400;
  font-family: garamond-premier-pro, a-otf-ryumin-pr6n, "Yu Mincho", "YuMincho", serif;
  text-align: center;
  letter-spacing: 0.2em;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 12px;
    font-weight: 100;
    text-align: left;
    -webkit-text-size-adjust: 100%; /* 文字サイズの自動調整機能のキャンセル */
    letter-spacing: -0.001em;       /* iOS4でのテキストの隙間への対応 */
  }
}

/* ------ anchor ------ */
a, a:link, a:visited {
  color: #494949;
  font-weight: bold;
  text-decoration: none;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
  transition: 0.3s;
  outline: none;
}
a:hover, a:focus, a:link:hover, a:link:focus, a:visited:hover, a:visited:focus {
  color: #724391;
}

/* ------ inner ------ */
.inner {
  width: 80%;
  max-width: 1200px;
  /* min-width: 900px; */
  margin: 0 auto;
  padding: 0px 10%;
}
.access > .inner {
  padding-bottom: 50px;
}
.news_list > .inner {
  padding-bottom: 50px;
}
@media screen and (max-width: 900px) {
  .inner {
    width: 90%;
    max-width: 90%;
    min-width: auto;
    padding: 0px 5%;
  }
}
@media screen and (max-width: 768px) {
  .about > .inner, .about_detail > .inner,
  .grounds > .inner,
  .access > .inner,
  .news_list .inner, .news_detail > .inner
   {
    padding-top: 70px;
  }
  .about_detail > .inner {
    padding-bottom: 20px;
  }
  .access > .inner {
    padding-bottom: 10px;
  }
  .info > .inner {
    width: 94%;
    max-width: 94%;
    padding: 70px 0% 0px;
  }
}

/* ------ heading ------ */
h1 {
  font-size: 10px;
}
h2 {
  padding: 80px 20px;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.2em;
}
.news_detail h2 {
  padding: 80px 0px;
  text-align: left;
}
.news_detail h2 span {
  margin-bottom: 10px;
  font-size: 14px;
  display: block;
}
h3 {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
}
h3 span.small {
  font-size: 14px;
  font-weight: 400;
  display: block;
  letter-spacing: 0.1em;
}
.about_detail h3 span {
  font-size: 15px;
}
.news_con h3 {
  margin-top: 60px;
  text-align: left;
}
.access h3 {
  margin-bottom: 20px;
}
h4 {
  font-size: 16px;
  font-weight: bold;
}
.con.list li h4 {
  margin: 20px 0 10px;
  font-size: 16px;
  font-weight: 500;
}
.news_con h4 {
  margin: 60px 0px 20px;
  text-align: left;
}
@media screen and (max-width: 900px) {
  .news_detail h2 span {
    font-size: 12px;
  }
}
@media screen and (max-width: 768px) {
  h2 {
    padding: 50px 20px;
    font-size: 18px;
    font-weight: 400;
  }
  .news_detail h2 {
    padding: 50px 0px;
    line-height: 1.5;
  }
  .news_detail h2 span {
    margin-bottom: 13px;
    font-size: 11px;
  }
  h3 {
    margin-bottom: 20px;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.1em;
  }
  h3 span.small {
    font-size: 13px;
  }
  .about_detail h3 span {
    font-size: 13px;
  }
  .news_con h3 {
    margin-top: 50px;
  }
  h4 {
    font-size: 14px;
  }
  .news_con h4 {
    margin: 40px 0px 15px;
  }
}


/*-----------------------------------------------------  */
/*  Header */
/*-----------------------------------------------------  */
header {
  width: 100%;
  max-width: 1400px;
  height: 80px;
  margin: 0 auto;
  display: flex;
  overflow: hidden;
}
header h1 {
  width: 25%;
  height: 80px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  float: left;
}
header img.logo {
  width: 230px;
  margin: 0 0 0 auto;
}
header img.logo.lower {
  display: none!important;
}
header ul {
  width: 100%;
  height: 80px;
  text-align: right;
  float: right;
}
header li {
  padding: 25px 1.0%;
  font-size: 14px;
  vertical-align: top;
}
header li.instagram {
  padding: 28px  1.5% 22px 1.5%;
}
header li.instagram img {
  width: 20px;
  height: 20px;
}
header li.instagram img:hover {
  opacity: 0.8;
}
/* ------ top ------ */
.top header {
  width: 95%;
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.top header h1,
.top header img.logo {
  width: 0px;
  height: 0px;
  display: none;
}
.top header ul {
  width: 100%;
  height: auto;
  padding: 0;
  text-align: center;
  float: none;
  clear: both;
}
.menu_btn, .menu_bg {
  display: none;
}
@media screen and (max-width: 1400px) {
  .top header {
    width: 100%;
  }
  header h1 {
    margin: 0 auto;
  }
  header h1 a {
    width: 50%;
    display: inline-block;
  }
  header ul {
    width: 70%;
    padding-top: 25px;
    margin: 0 auto;
  }
  header li {
    padding: 10px 0.7%;
    font-size: 12px;
    line-height: 0.5;
  }
  header li.instagram {
    padding: 5px 15px 5px 10px!important;
  }
  header li.instagram img {
    width: 15px;
    height: 15px;
  }
}
@media screen and (max-width: 900px) {
  header li {
    font-size: 11px;
  }
}
@media screen and (max-width: 768px) {
  header {
    height: 150px;
    position: absolute;
  }
  header h1 {
    width: 80%;
    /* width: auto; */
    margin: 0 auto;
    padding-left: 5%;
    position: absolute;
  }
  header.open h1 {
    width: 50px;
    height: auto;
    margin: 0 auto;
    padding: 0;
    text-align: center;
    display: block;
    top: 15px;
    left: 0!important;
    right: 0;
    z-index: 100;
    position: fixed;
  }
  header.open h1 a {
    width: 100%;
    transition: 0s;
  }
  header img.logo {
    margin: 0;
  }
  header img.logo.sp {
    display: none!important;
  }
  header img.logo.lower {
    width: 100%;
    margin-top: -10px;
    display: block!important;
  }
  header.open img.logo.sp {
    margin: 0 auto;
    filter: invert(0%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(0%) contrast(100%)!important;
    display: block!important;
  }
  header.open img.logo.lower {
    display: none!important;
  }
  header ul {
    width: 100%;
    height: auto;
    padding: 0;
    background: #fff;
    text-align: center;
    float: none;
    clear: both;
    display: none;
    position: fixed;
    top: 0;
    z-index: 50;
  }
  header li {
    padding: 20px 10px!important;
    font-size: 13px;
    letter-spacing: 0.1em;
    display: block;
  }
  header li.instagram {
    padding: 20px 10px 50px!important
  }
  header li:nth-of-type(1) {
    padding-top: 160px!important;
  }
  /* header li:last-child {
    padding-bottom: 50px!important;
  } */
  /* ------ top ------ */
  .top header {
    width: 100%;
  }
  .top header img.logo.sp.lower {
    display: none!important;
  }
  .top header h1 {
    width: 50px;
    height: auto;
    margin: 0 auto;
    padding: 0;
    top: 15px;
    left: 15px;
    display: block;
    z-index: 100;
  }
  .top header li {
    font-size: 13px;
  }
  .top header img.logo.sp {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    padding: 0;
    filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%);
    display: block!important;
  }
  /* ------ menu_btn ------ */
  .menu_btn {
    width: 65px;
    height: 70px;
    background: #fff;
    display: block;
    z-index: 999;
    position: fixed;
    top: 0;
    right: 0;
  }
  .menu_btn span {
    height: 25px;
    font-size: 12px;
    text-align: center;
    position: absolute;
    top: 35px;
    left: 0;
    right: 0;
  }
  header.open .menu_btn span {
    display: none;
  }
  .menu_btn span::before {
    content: "";
    width: 45%;
    margin: 0 auto;
    border-top: 2px solid #333;
    position: absolute;
    top: -50%;
    right: -5%;
    left: 0;
  }
  .menu_btn::before {
    content: "";
    width: 50%;
    margin: 0 auto;
    border-top: 2px solid #333;
    position: absolute;
    top: 22%;
    right: 0;
    left: 0;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -ms-transition: 0.3s;
    transition: 0.3s;
  }
  header.open .menu_btn::before {
    transform: rotate(45deg);
    top: 33%;
  }
  .menu_btn::after {
    content: "";
    width: 40%;
    margin: 0 auto;
    border-top: 2px solid #333;
    position: absolute;
    top: 44%;
    right: -10%;
    left: 0;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -ms-transition: 0.3s;
    transition: 0.3s;
  }
  header.open .menu_btn::after {
    transform: rotate(-45deg);
    width: 50%;
    top: 33%;
    right: 0;
  }
  .menu_bg {
    width: 100%;
    height: 0px;
    background: rgba(0,0,0,0.6);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 40;
    display: block;
    opacity: 0;
  }
}


/*-----------------------------------------------------  */
/*  Button */
/*-----------------------------------------------------  */
.more_button {
  width: 140px;
  margin: 0 auto;
  padding: 5px 0px;
  text-align: center;
  display: block;
  position: relative;
  z-index: 30;
  outline: none;
}
.grounds .more_button,
.access .more_button {
  width: 280px;
  margin-bottom: 40px;
  white-space: nowrap;
}
.more_button:hover {
  color: #000!important;
}
.more_button::before,
.more_button::after {
  content: "";
  position: absolute;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
  transition: 0.3s;
}
.more_button::before {
  border-left: 1px solid #6d6d6d;
  border-right: 1px solid #6d6d6d;
  width: 104%;
  height: 106%;
  left: -3%;
  top: -3%;
}
.more_button::after {
  border-top: 1px solid #6d6d6d;
  border-bottom: 1px solid #6d6d6d;
  width: 100%;
  height: 110%;
  left: 0;
  top: -8%;
}
.more_button:hover::before {
  width: 100%;
  height: 98%;
  left: -2%;
  top: 3%;
}
.more_button:hover::after {
  width: 98%;
  height: 100%;
  top: 0%;
}
.grounds .more_button::before,
.access .more_button::before {
  width: 102%;
  height: 100%;
  left: -1.2%;
  top: 1%;
}
.grounds .more_button:hover::before,
.access .more_button:hover::before {
  width: 100%;
  height: 98%;
  left: -0.3%;
  top: 2.5%;
}
.grounds .more_button::after,
.access .more_button::after {
  width: 100%;
  height: 120%;
  left: 0;
  top: -12%;
}
.grounds .more_button:hover::after,
.access .more_button:hover::after {
  width: 98%;
  height: 100%;
  left: 1.2%;
  top: 0%;
}
@media screen and (max-width: 768px) {
  .more_button {
    font-size: 13px;
    letter-spacing: 0.1em;
  }
  .more_button::before,
  .more_button:hover::before {
    width: 104%;
    height: 106%;
    left: -3%;
    top: -3%;
  }
  .more_button::after,
  .more_button:hover::after {
    width: 99%;
    height: 110%;
    top: -7%;
  }
  .grounds .more_button,
  .access .more_button {
    width: 250px;
  }
  .grounds .more_button::before,
  .grounds .more_button:hover::before,
  .access .more_button::before,
  .access .more_button:hover::before {
    width: 102%!important;
    height: 102%!important;
    left: -1.2%!important;
    top: -2%!important;
  }
  .grounds .more_button::after,
  .grounds .more_button:hover::after,
  .access .more_button::after,
  .access .more_button:hover::after {
    width: 100%!important;
    height: 110%!important;
    left: 0!important;
    top: -6%!important;
  }
}


/*-----------------------------------------------------  */
/*  TOP */
/*-----------------------------------------------------  */
.top {
  position: relative;
}
/* ------ mv ------ */
.mv {
  width: 100%;
  min-height: 350px;
  overflow: hidden;
  position: relative;
}
.mv_txt {
  width: 25%;
  max-width: 25%;
  position: absolute;
  top: 16%;
  right: 10%;
  z-index: 30;
}
.mv > div#slideshow {
  position: relative;
}
.mv > div#slideshow img {
  position: absolute;
  opacity: 0;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
  transition: 3s;
}
.mv > div#slideshow img.show {
  opacity: 1;
  transition: 3s;
}
.mv > div#slideshow img.pc {
  display: block;
}
.mv > div#slideshow img.sp {
  display: none;
}
/*右下NEWS用*/
/* .mv > div:nth-of-type(2) {
  width: auto;
  max-width: 50%;
  color: #fff;
  text-align: left;
  padding: 15px 40px 22px;
  background-color: rgba(0,0,0,0.6);
  position: absolute;
  bottom: 0;
  left: 0;
}
.mv > div:nth-of-type(2) span {
  padding-bottom: 5px;
  display: block;
}
.mv > div:nth-of-type(2) a {
  color: #fff;
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
  text-decoration: underline;
  vertical-align: text-bottom;
}
.mv > div:nth-of-type(2) a:hover {
  opacity: 0.7;
} */
/*mv下リンクボタン用*/
.mv div.contactus {
  background: #fff;
  position: absolute;
  bottom: 20px;
  right: 20px;
  transition: 2s;
  opacity: 1;
}
.mv div.contactus.hide {
  opacity: 0;
  transition: 1.5s;
  visibility: hidden;
}
.mv div.contactus a {
  padding: 10px 20px;
  display: block;
}
@media screen and (max-width: 768px) {
  .mv {
    min-height: 500px;
  }
  /*右下NEWS用*/
  /* .mv > div:nth-of-type(2) {
    display: none;
  } */
  /*mv下リンクボタン用*/
  .mv div.contactus {
    max-width: 200px;
    margin: 0 10px 0 auto;
    text-align: center;
    bottom: 10px;
    right: 0;
    left: 0;
    transition: 1s;
    opacity: 1;
  }
  .mv div.contactus a {
    padding: 5px 0px;
  }
  .mv_txt {
    width: 40%;
    max-width: none;
    position: absolute;
    top: 160px;
    right: 4%;
    transition: 2s;
  }
  .mv_txt.hide {
    opacity: 0;
  }
  .mv > div#slideshow img.sp {
    display: block;
  }
  .mv > div#slideshow img.pc {
    display: none;
  }
}

/* ------ main ------ */
.main {
  padding-bottom: 60px;
  background: #f9f9f9;
}
.main .contents {
  min-width: 800px;
  max-height: 500px;
  margin: 0 auto 80px;
  padding: 0px;
  background: #fff;
  display: flex;
  position: relative;
}
.main .contents::after {
  content: "";
  border: 1px solid #eaeaea;
  position: absolute;
  width: 97.6%;
  height: 93%;
  top: 3.4%;
  left: 1.1%;
}
.main .contents img {
  width: 67%;
  max-width: 800px;
  height: auto;
  object-fit: cover;
}
.main .contents > div {
  width: 28.5%;
  min-width: 230px;
  text-align: center;
}
.main .contents:nth-of-type(1) > div {
  padding: 9.5% 2%;
}
.main .contents:nth-of-type(2) > div {
  padding: 6.3% 2.5%;
}
.main .contents p {
  margin-bottom: 40px;
  line-height: 2.5em;
}
.main .contents p span {
  font-size: 12px;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .main {
    padding-bottom: 30px;
  }
  .main .contents {
    width: 100%;
    min-width: auto;
    height: auto;
    max-height: initial;
    margin: 0 auto 30px;
    display: block;
  }
  .main .contents::after {
    width: 95%;
    height: 96.6%;
    top: 1.6%;
    left: 2.3%;
  }
  .main .contents img {
    width: 100%;
  }
  .main .contents > div {
    width: 100%;
    display: block;
  }
  .main .contents:nth-of-type(1) > div,
  .main .contents:nth-of-type(2) > div {
    padding: 30px 0% 50px;
  }
  
}

/* ------ guide ------ */
.guide {
  padding-bottom: 80px;
}
.guide ul {
  display: flex;
  overflow: hidden; 
}
.guide li {
  width: 31%;
  height: 450px;
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top,center,bottom;
}
.guide li:nth-of-type(1) {
  background-image: url(../img/guide/guide_01.jpg);
  display: block;
}
.about .guide li:nth-of-type(1) {
  display: none;
}
.guide li:nth-of-type(2) {
  margin: 0px 4%;
  background-image: url(../img/guide/guide_02.jpg);
}
.about .guide li:nth-of-type(2) {
  margin: 0;
}
.guide li:nth-of-type(3) {
  margin: 0px 4%;
  background-image: url(../img/guide/guide_04.jpg);
  background-position: 0% 0%;
  display: none;
}
.about .guide li:nth-of-type(3) {
  display: block;
}
.guide li:nth-of-type(4) {
  background-image: url(../img/guide/guide_03.jpg);
}
.guide li a {
  width: 100%;
  height: 100%;
  display: block;
}
.guide li a div {
  width: 100%;
  height: 100%;
  background: #000;
  display: block;
  opacity: 0.3;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
  transition: 0.3s;
}
.guide li a:hover div {
  opacity: 0;
}
.guide li a span {
  font-size: 20px;
  font-weight: normal;
  position: absolute;
  top: 36%;
  left: 45%;
  color: #fff;
  letter-spacing: 0.5em;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.guide li:nth-of-type(3) a span {
  top: 40%;
}
@media screen and (max-width: 1230px) {
  .guide li a span {
    left: 44%;
  }
}
@media screen and (max-width: 900px) {
  .guide li a span {
    left: 42%;
  }
}
@media screen and (max-width: 768px) {
  .guide {
    padding-bottom: 30px;
  }
  .guide ul {
    display: block;
  }
  .guide li {
    width: 100%;
    height: 300px;
    margin: 0 auto 30px!important;
    display: block;
    background-position: 0% 55%;
  }
  .guide li a span {
    font-size: 15px;
    top: 34%;
    left: 46%;
  }
  .guide li:nth-of-type(3) {
  width: 110%;
  }
  .guide li:nth-of-type(3) a span {
    top: 38%;
    left: 42%;
  }
  .guide li:nth-of-type(4) a span {
    top: 32%;
  }
}

/* ------ original_video ------ */
.original_video {
  padding-bottom: 100px;
}
.original_video h2,
.seiryuden_video h2 {
  padding: 80px 20px 40px;
}
@media screen and (max-width: 768px) {
  .original_video {
    padding-bottom: 70px;
  }
  .original_video h2, 
  .seiryuden_video h2 {
    padding: 50px 20px 30px;
    font-size: 17px;
    line-height: 1.8;
  }
}


/*-----------------------------------------------------  */
/*  News  */
/*-----------------------------------------------------  */
.news_list header li:nth-of-type(5) a,
.news_detail header li:nth-of-type(5) a {
  color: #724391;
}
.news ul {
  margin: 0 auto;
}
.news li {
  border-bottom: 1px solid #ddd;
  display: block;
}
/* ------ news_list ------ */
.news_list .news ul {
  margin-top: -50px;
}
.news_list .news li {
  padding: 50px 0px;
}
.news_list .news li a {
  width: 100%;
  text-align: left;
  display: block;
}
.news_list .news li a:hover {
  opacity: 0.8;
}
.news_list .news li p {
  max-width: 58%;
  margin-bottom: 0px;
  font-weight: bold;
  text-align: left;
  display: inline-block;
  line-height: 1.5;
  vertical-align: middle;
}
.news_list .news li p span {
  margin-bottom: 20px;
  font-size: 13px;
  font-weight: normal;
  display: block;
}
/* .news_list .news li:nth-of-type(5n),
.news_list .news li:last-child {
  border-bottom: none;
} */
.news_list .news li img {
  width: 30%;
  max-width: 350px;
  height: auto;
  margin-right: 10%;
  display: inline-block;
  vertical-align: middle;
}
/* ------ top ------ */
.top .news {
  padding-bottom: 40px;
  background: #f9f9f9;
}
.top .news .inner {
  margin-bottom: 60px;
}
.top .news img {
  width: 0px;
  height: 0px;
  display: none;
}
.top .news ul {
  width: 560px;
  margin-top: -20px;
}
.top .news li {
  padding: 20px 30px;
}
.top .news li p {
  margin: 0;
  font-size: 14px;
  font-weight: bold;
  text-align: left;
  display: flex;
  line-height: 1.5;
}
.top .news li p span {
  margin-right: 50px;
  font-size: 14px;
  font-weight: normal;
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.news_pager {
  width: 50%;
  margin: 50px auto;
  padding: 30px 0px;
}
.news_pager ul {
  margin: 0 auto!important;
  text-align: center;
  display: block;
}
.news_pager li {
  width: 5%;
  margin: 10px 10px!important;
  padding: 0px!important;
  border: none;
  display: inline-block;
  cursor: pointer;
}
.news_pager li.active,
.news_pager li:hover {
  color: #724391;
  font-weight: bold;
}
.news_pager input {
  width: 0px;
  height: 0px;
  border: none;
  display: none;
}
/* ------ news_detail ------ */
.news_con {
  /* width: 75%;
  max-width: 870px; */
  margin: 50px auto;
}
.news_con p {
  text-align: left;
}
.news_con p strong {
  font-size: 18px;
}
/* .news_con img {
  width: auto;
} */
 .news_other {
  margin: 0 auto;
}
.news_other ul {
  display: flex;
  padding: 100px 0px;
}
.news_other li {
  width: 50%;
}
.news_other li:nth-of-type(1) {
  text-align: left;
}
.news_other li:nth-of-type(2) {
  text-align: right;
}
.news_other li a {
  letter-spacing: 4px;
  font-weight: 400;
}
.news_con table {
  width: 100%;
  margin: 40px 0px;
  text-align: left;
  border: 1px solid #ddd;
}
.news_con th {
  width: 40%;
  padding: 10px 20px;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  background: #f5f5f5;
}
.news_con td {
  width: 60%;
  padding: 10px 20px;
  border-bottom: 1px solid #ddd;
}
.news_con tr:last-child th,
.news_con tr:last-child td {
  border-bottom: none;
}
.news_con ul {
  margin: 40px 0px;
  padding-left: 25px;
  text-align: left;
  display: block;
}
.news_con li {
  display: list-item;
  list-style-type: disc;
}
.news_con ol {
  margin: 40px 0px;
  padding-left: 30px;
  text-align: left;
  display: block;
}
.news_con ol li {
  display: list-item;
  list-style-type: decimal;
}
.news_img_two {
  display: flex;
  margin-bottom: 20px;
}
.news_img_two img {
  width: 49%;
  padding-right: 2%;
}
.news_img_two img:nth-of-type(2) {
  padding-right: 0;
}
.news_img_three {
  display: flex;
}
.news_img_three div:nth-of-type(1) {
  width: 47.9%;
}
.news_img_three div:nth-of-type(1) img:nth-of-type(1) {
  margin-bottom: 3%;
}
.news_img_three div:nth-of-type(2) {
  width: 52%;
  padding-left: 1.5%;
}
.news_text-img,
.news_img-text {
  display: flex;
}
.news_text-img div:nth-of-type(2),
.news_img-text div:nth-of-type(2) {
  width: 62%;
}
.news_text-img div:nth-of-type(2) {
  margin-right: 3%;
}
.news_img-text div:nth-of-type(2) {
  margin-left: 3%;
}
.news_text-img div:nth-of-type(3),
.news_img-text div:nth-of-type(1) {
  width: 35%;
}
.news_text-img p, .news_img-text p {
  margin-bottom: 0;
}
.news_text-img p span.small,
.news_img-text p span.small {
  font-size: 12px;
}
.news_text-img p span.middle,
.news_img-text p span.middle {
  font-size: 18px;
}
.iframe_wrap {
  position: relative;
}
.iframe_wrap img {
  visibility: hidden!important;
}
.iframe_wrap iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 900px) {
  .news_list .news li img {
    margin-right: 6%;
  }
  .news_con {
    width: 90%;
  }
 .news_other {
    width: 90%;
 }
}
@media screen and (max-width: 768px) {
  .top .news {
    padding-bottom: 10px;
  }
  .top .news .inner {
    margin-bottom: 50px;
  }
  .top .news ul {
    width: 100%;
    padding: 0px;
  }
  .top .news li {
    padding: 20px 20px;
  }
  .top .news li p {
    font-size: 12px;
  }
  .top .news li p span {
    margin-right: 35px;
    font-size: 12px;
  }
  .news_list .news ul {
    margin-top: -30px;
  }
  .news_list .news li {
    padding: 30px 0px;
  }
  .news_list .news li a:hover {
    opacity: 1;
  }
  .news_list .news li img {
    width: 30%;
    height: auto;
    margin-right: 4%;
    vertical-align: top;
  }
  .news_list .news li p {
    vertical-align: top;
  }
  .news_list .news li p span {
    margin-bottom: 12px;
  }
  .news_con {
    width: 100%;
    margin: 40px auto;
  }
  .news_other {
    width: 100%;
  }
  .news_other ul {
    display: flex;
    padding: 30px 0px 60px;
  }
  .news_other li a {
    letter-spacing: 3px;
  }
  .news_pager {
    width: 95%;
    margin: 20px auto;
     padding: 10px 0px;
  }
  .news_con table {
    margin: 30px 0px;
  }
  .news_con th {
    width: 35%;
    padding: 5px 15px;
  }
  .news_con td {
    width: 65%;
    padding: 5px 15px;
  }
  .news_con ul {
    margin: 30px 0px;
    padding-left: 20px;
  }
  .news_con ol {
    margin: 30px 0px;
    padding-left: 20px;
  }
  .news_con p strong {
    font-size: 14px;
  }
  .news_img_three div:nth-of-type(1) {
    width: 48%;
  }
  .news_img_two {
    margin-bottom: 3%;
  }
  .news_img_two img {
    width: 48.5%!important;
    height: 49%;
    padding-right: 3%;
  }
  .news_text-img, 
  .news_img-text {
    display: block;
  }
  .news_text-img div:nth-of-type(1), .news_img-text div:nth-of-type(2),
  .news_text-img div:nth-of-type(2), .news_img-text div:nth-of-type(1) {
    width: 100%;
    margin: 0 auto;
  }
  .news_text-img p, .news_img-text p {
    margin-top: 20px;
  }
  .news_text-img p span.small, .news_img-text p span.small {
    font-size: 10px;
  }
  .news_text-img p span.middle, .news_img-text p span.middle {
    font-size: 16px;
  }
}


/*-----------------------------------------------------  */
/*  Contents-inner  */
/*-----------------------------------------------------  */
.con {
  width: 80%;
  margin: 0px auto 50px;
  padding: 0px 10% 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #ddd;
}
.about_detail .con:nth-of-type(1) {
  border: none;
}
.con:last-child {
  border-bottom: none;
}
.con p {
  max-width: 860px;
  margin: 0 auto 30px;
  text-align: left;
}
.access .con p {
  text-align: center;
}
.con img {
  width: 125%;
  max-width: 125%;
  margin-bottom: 30px;
  margin-left: -12.5%;
  display: block;
}
.con.list {
  width: 100%;
  margin-top: 70px;
  padding: 0px;
}
.con.list ul {
  text-align: center;
}
.con.list li {
  width: 47%;
  padding-bottom: 30px;
  text-align: left;
  display: inline-block;
  vertical-align: text-top;
}
.con.list li:nth-child(odd) {
  padding-right: 2%;
}
.con.list li:nth-child(even) {
  padding-left: 2%;
}
.con.list li img {
  width: 100%;
  max-width: 100%;
  margin-bottom: 0px;
  margin-left: 0%;
}
@media screen and (max-width: 900px) {
  .con {
    width: 90%;
    padding: 0px 5% 20px;
  }
  .con img {
    width: 110%;
    max-width: 110%;
    margin-left: -5%;
  }
}
@media screen and (max-width: 768px) {
  .con {
    width: 100%;
    padding: 0px 0px 20px;
  }
  .access .con {
    padding: 0px 0px 30px;
  }
  .con:last-child {
    margin-bottom: 10px;
  }
  .con img {
    width: 100%;
    max-width: 100%;
    margin-left: 0%;
  }
  .con.list {
    margin-top: 50px;
  }
  .con.list li {
    width: 100%;
    padding: 0px 0px 20px!important;
    display: block;
  }
  .con.list li:last-child{
    /*display: none;*/
  }
}


/*-----------------------------------------------------  */
/*  About  */
/*-----------------------------------------------------  */
.about header li:nth-of-type(1) a,
.about_detail li:nth-of-type(3) a {
  color: #724391;
}
.about .guide {
  background: #f9f9f9;
}
.about_detail .inner > p {
  max-width: 850px;
  margin: 40px auto;
  text-align: left;
}
.about_detail .inner > p span.bold {
  font-size: 17px;
  font-weight: bold;
  margin-bottom: 5px;
  display: block;
}
@media screen and (max-width: 786px) {
  .about_detail .inner > p {
    width: 100%;
  }
  .about_detail .inner > p span.bold {
    font-size: 15px;
  }
}


/*-----------------------------------------------------  */
/*  Grounds  */
/*-----------------------------------------------------  */
.grounds header li:nth-of-type(2) a {
  color: #724391;
}
.grounds .inner > p {
  max-width: 850px;
  margin: 40px auto;
  text-align: left;
}
.grounds .inner > p span.bold {
  font-size: 17px;
  font-weight: bold;
  margin-bottom: 5px;
  display: block;
}
@media screen and (max-width: 786px) {
  .grounds .inner > p {
    width: 100%;
  }
  .grounds .inner > p span.bold {
    font-size: 15px;
  }
}


/*-----------------------------------------------------  */
/*  Seiryusha  */
/*-----------------------------------------------------  */
.seiryuden_list header li:nth-of-type(4) a, 
.seiryuden_detail header li:nth-of-type(4) a {
  color: #724391;
}
.seiryuden_list header li:nth-of-type(5) a,
.seiryuden_detail header li:nth-of-type(5) a {
  color: #494949;
}
.seiryuden_list .inner > p {
  max-width: 850px;
  margin: 40px auto;
  text-align: left;
}
.seiryuden_list .inner > p span.bold {
  font-size: 17px;
  font-weight: bold;
  margin-bottom: 5px;
  display: block;
}
.seiryuden_list .inner > p span.right {
  margin-top: 10px;
  text-align: right;
  display: block;
}
.seiryuden_list .inner > ul {
  margin-top: 60px;
}
@media screen and (max-width: 786px) {
  .seiryuden_list .inner > p {
    width: 100%;
  }
  .seiryuden_list .inner > p span.bold {
    font-size: 15px;
  }
}


/*-----------------------------------------------------  */
/*  Access  */
/*-----------------------------------------------------  */
.access header li:nth-of-type(6) a {
  color: #724391;
}
.access .map {
  width: 100%;
  height: 600px;
  margin-bottom: 20px;
}
.access .map iframe {
  border: none;
}
.access .con:nth-of-type(3) {
  margin-bottom: 0px;
  border: none;
}
.access .map02 {
  margin-bottom: 50px;
  padding-bottom: 60px;
  border-bottom: 1px solid #ddd;
}
@media screen and (max-width: 900px) {
  .access .map {
    height: 400px;
  }
}
@media screen and (max-width: 768px) {
  .access .map {
    height: 300px;
  }
}


/*-----------------------------------------------------  */
/*  Information  */
/*-----------------------------------------------------  */
.info header li:nth-of-type(8) a {
  color: #724391;
}
.info h2 {
  padding: 80px 20px 50px;
}
.info p {
  margin-bottom: 40px;
}
.info p strong {
  margin-bottom: -30px;
  font-size: 17px;
  font-weight: bold;
  display: block;
}
.info p span {
  color: #724391;
  font-size: 16px;
}
.info div.form {
  width: 80%;
  margin: 0 auto 100px;
  padding: 80px 10%;
  text-align: left;
  background: #f9f9f9;
}
.info form label {
  width: 30%;
  font-size: 18px;
  font-weight: 400;
  display: inline-block;
}
.info form label::after {
  content: "※";
  padding-left: 3px;
  color: #724391;
  font-size: 16px;
}
.info form input, .info form textarea {
  width: 66%;
  height: 40px;
  padding: 0px 1%;
  margin-bottom: 50px;
  font-size: 16px;
  border: none;
  display: inline-block;
  font-family: garamond-premier-pro, a-otf-ryumin-pr6n, "Yu Mincho", "YuMincho", serif;
  outline: none;
}
.info form input::placeholder, .info form textarea::placeholder {
  color: #999;
}
.info form input:-ms-input-placeholder, .info form textarea:-ms-input-placeholder { /* IE */
  color: #999;
}
.info form input::-ms-input-placeholder, .info form textarea::-ms-input-placeholder { /* Edge */
  color: #999;
}
.info form textarea {
  width: 66%;
  height: 200px;
  margin-bottom: 0px;
  padding: 0px 1%;
  font-size: 16px;
  border: none;
  display: inline-block;
  vertical-align: middle;
  resize: none;
  outline: none;
  font-family: garamond-premier-pro, a-otf-ryumin-pr6n, "Yu Mincho", "YuMincho", serif;
}
.info .form button {
  width: 50%;
  margin: 100px auto 0px;
  padding: 20px;
  font-size: 16px;
  color: #fff;
  background: #494949;
  border: 0;
  display: block;
  outline: none;
  cursor: pointer;
}
.info .form button.btnBack {
  background: #999;
}
.form p.error_messe:nth-of-type(1) {
  margin-top: 50px!important;
}
.form .error_messe span{
  color: #494949;
}
.form div.error,
.form.confirm_ng > div.confirm {
  color: red;
  font-size: 15px;
  font-weight: bold;
  text-align: center;
}
.form.confirm_ok > div.confirm {
  color: #333;
  font-size: 15px;
  font-weight: bold;
  text-align: center;
}
.form.confirm_ng p {
  width: 520px;
  margin: 0px auto 15px;
}
table.contact_confirm {
  width: 70%;
  margin: 50px auto 80px;
  text-align: left;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  overflow: hidden;
}
table.contact_confirm th {
  width: 140px;
  padding: 30px 0px;
  border-top: 1px solid #e5e5e5;
  vertical-align: top;
}
table.contact_confirm td {
  width: 96%;
  min-height: 24px;
  margin-left: 20px;
  padding: 30px 0px;
  display: inline-block;
  border-top: 1px solid #e5e5e5;
}
table.contact_confirm tr:first-child th,
table.contact_confirm tr:first-child td {
  border-top: none;
}
.form.completed {
  padding: 50px 2% 20px;
  text-align: center!important;
}
.form.completed > div {
  color: #666;
  font-size: 16px;
  font-weight: bold;
}
.form.completed a {
  width: 50%;
  margin: 50px auto 40px;
  padding: 20px;
  font-size: 15px;
  color: #fff;
  background: #494949;
  border: 0;
  display: block;
  outline: none;
  cursor: pointer;
}
@media screen and (max-width: 900px) {
  .info div.form {
    width: 90%;
    margin: 0 auto 80px;
    padding: 40px 5% 60px;
  }
  .info form label, 
  .info form input, 
  .info form textarea {
    width: 98%;
    margin: 0 auto;
    display: block;
  }
  .info form input {
    margin-bottom: 30px;
  }
  .info .form button {
    margin: 70px auto 0px;
    font-size: 15px;
  }
  .form p.error_messe:nth-of-type(1) {
    margin-top: 30px;
  }
  .form.completed {
    padding: 50px 5% 30px;
  }
}
@media screen and (max-width: 768px) {
  .info h2 {
    padding: 50px 20px;
  }
  .info p strong {
    font-size: 15px;
  }
  .info p span {
    font-size: 14px;
  }
  .info div.form {
    width: 96%;
    margin: 0 auto 50px;
    padding: 20px 2% 40px;
  }
  .info form label {
    font-size: 16px;
  }
  .info form label::after {
    font-size: 15px;
  }
  .info .form button {
    width: 90%;
    margin: 40px auto 0px;
    padding: 15px 20px;
    font-size: 13px;
  }
  table.contact_confirm {
    width: 100%;
    margin: 30px auto 50px;
  }
  table.contact_confirm th {
    width: 100px;
    padding: 20px 0px;
  }
  table.contact_confirm td {
    width: 91%;
    min-height: 24px;
    margin-left: 15px;
    padding: 20px 0px;
  }
  .form.confirm_ok > div.confirm,
  .form.completed > div {
    font-size: 14px;
  }
  .form p.error_messe:nth-of-type(1) {
    margin-top: 30px!important;
  }
  .form.confirm_ng p {
    width: 100%;
  }
  .form.confirm_ng {
    padding-bottom: 40px;
  }
  .form.confirm_ok {
    padding-bottom: 10px!important;
  }
  .form.completed {
    padding-top: 50px!important;
  }
  .form.completed a {
    width: 80%;
    margin: 40px auto 20px;
    padding: 15px 20px;
    font-size: 13px;
    background: #494949;
    color: #fff;
    display: block;
  }
}


/*-----------------------------------------------------  */
/*  Footer  */
/*-----------------------------------------------------  */
footer {
  padding: 70px 60px 60px;
  color: #fff;
  text-align: center;
  background: #282828;
}
footer img.logo {
  width: 63px;
  /* filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%); */
}
footer p {
  margin: 0px;
  font-size: 14px;
}
footer p:nth-of-type(1) {
  margin-top: 40px;
}
footer a {
  color: #fff!important;
  font-weight: 400!important;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  footer {
    padding: 50px 20px;
  }
  footer a {
    font-weight: 200!important;
    pointer-events: auto;
  }
  footer img.logo {
    width: 58px;
  }
  footer p:nth-of-type(1) {
    margin-top: 30px;
  }
  footer p {
    font-size: 11px;
  }
}
