@charset "UTF-8";
/*==============================
	
	STYLE.CSS
	
	==============================*/
/*===============
	COMMON
	variables, mixins, generic tags.
	===============*/
@media (max-width: 1199px) {
  .show-from-lg {
    display: none; } }

html {
  box-sizing: border-box; }

*, *:before, *:after {
  box-sizing: inherit; }

html, body {
  background-color: #222;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 14px;
  line-height: 1.0;
  margin: 0; }

h1, h2, h3, h4, h5, h6, p {
  margin: 0; }

figure {
  margin: 0; }

address {
  font-style: normal; }

a {
  text-decoration: none; }

.page-container {
  max-width: 1280px;
  margin: 0 auto;
  background-color: white; }

/* ボタン */
.btn > a {
  display: block;
  width: 100%;
  height: 52px;
  line-height: 52px;
  margin: 0 auto;
  color: black;
  text-decoration: none;
  font-family: "Sawarabi Mincho", "游明朝", "Yu Mincho", "游明朝体", YuMincho, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
  font-size: 1.14286rem;
  background-color: #d3be92; }
  @media (min-width: 768px) {
    .btn > a {
      -webkit-transition: background-color 0.2s linear 0s;
      -moz-transition: background-color 0.2s linear 0s;
      -ms-transition: background-color 0.2s linear 0s;
      -o-transition: background-color 0.2s linear 0s;
      transition: background-color 0.2s linear 0s; }
      .btn > a:hover {
        background-color: #bd9e5c; } }
  .btn > a:after {
    content: "";
    display: inline-block;
    width: 25px;
    height: 15px;
    background: url(../img/detail-btn-arrow@2x.png) right center/9px auto no-repeat; }

/* xsサイズでだけ表示 */
@media (min-width: 768px) {
  .show-xs {
    display: none; } }

/*===============
	_fading
	画像のフェーディング
	===============*/
@media (min-width: 768px) {
  .in-fade {
    opacity: 0;
    -webkit-transition: opacity 1s linear 0s;
    -moz-transition: opacity 1s linear 0s;
    -ms-transition: opacity 1s linear 0s;
    -o-transition: opacity 1s linear 0s;
    transition: opacity 1s linear 0s; }
    .in-fade.dly1 {
      -webkit-transition: opacity 1s linear 0.3s;
      -moz-transition: opacity 1s linear 0.3s;
      -ms-transition: opacity 1s linear 0.3s;
      -o-transition: opacity 1s linear 0.3s;
      transition: opacity 1s linear 0.3s; }
    .in-fade.dly2 {
      -webkit-transition: opacity 1s linear 0.6s;
      -moz-transition: opacity 1s linear 0.6s;
      -ms-transition: opacity 1s linear 0.6s;
      -o-transition: opacity 1s linear 0.6s;
      transition: opacity 1s linear 0.6s; }
  .in-fade.fading {
    opacity: 1.0; } }

/*===============
	.page-header
	冒頭からナビゲーションまで
	===============*/
.page-header {
  background: url(../img/page-title-bg@2x.jpg) center center/cover no-repeat;
  padding: 10px;
  position: relative;
  height: 300px; }
  @media (min-width: 992px) {
    .page-header {
      padding: 25px 30px;
      height: 600px; } }

.header-logo {
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
  height: 40px; }
  .header-logo li {
    background-size: contain;
    background-repeat: no-repeat; }
  .header-logo .prince {
    float: left;
    width: 136px;
    height: 21.6px;
    background-image: url(../img/princehr-logo@2x.png);
    background-position: left top; }
    @media (min-width: 992px) {
      .header-logo .prince {
        height: 36px; } }
  .header-logo .seibu {
    float: right;
    width: 122px;
    height: 19.8px;
    background-image: url(../img/seibug-logo@2x.png);
    background-position: right top; }
    @media (min-width: 992px) {
      .header-logo .seibu {
        height: 33px; } }
  .header-logo li > a {
    display: block;
    width: 100%;
    height: 100%;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden; }

.page-title {
  background: url(../img/page-title@2x.png) center center/contain no-repeat;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  width: 300px;
  height: 84px;
  opacity: 0;
  margin: 85px auto 0;
  /*
$a-trans-duration: 2.0s;
	$a-trans-props: margin-top $a-trans-duration ease-out, opacity $a-trans-duration ease-out;
*/
  /*
	-webkit-transition: $a-trans-props;
	-moz-transition: $a-trans-props;
	-ms-transition: $a-trans-props;
	-o-transition: $a-trans-props;
	transition: $a-trans-props;
*/ }
  .page-title.active {
    opacity: 1.0;
    margin-top: 55px; }
  @media (min-width: 544px) {
    .page-title {
      width: 450px;
      height: 123.04688px;
      margin-top: 60px; }
      .page-title.active {
        margin-top: 30px; } }
  @media (min-width: 768px) {
    .page-title {
      margin-top: 60px; }
      .page-title.active {
        margin-top: 30px; } }
  @media (min-width: 992px) {
    .page-title {
      width: 750px;
      height: 210px;
      margin-top: 175px; }
      .page-title.active {
        margin-top: 145px; } }

.header-nav {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 50px; }
  .header-nav .header-nav-container {
    position: relative;
    width: 100%;
    height: 50px;
    background: rgba(255, 255, 255, 0.8) none 10px center no-repeat;
    text-align: center;
    z-index: 1000;
    -webkit-transition: background 0.2s linear 0s;
    -moz-transition: background 0.2s linear 0s;
    -ms-transition: background 0.2s linear 0s;
    -o-transition: background 0.2s linear 0s;
    transition: background 0.2s linear 0s; }
    .header-nav .header-nav-container.fixed {
      position: fixed;
      left: 0;
      top: 0;
      -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
      -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
      background: white url(../img/nav-72-icon@2x.png) 10px center/40px auto no-repeat; }
  .header-nav .nav-switch {
    width: 100%;
    height: 50px;
    font-size: 1.2rem;
    line-height: 50px; }
    @media (min-width: 768px) {
      .header-nav .nav-switch {
        display: none; } }
    .header-nav .nav-switch > a {
      display: block;
      width: 100%;
      height: 100%;
      color: black;
      letter-spacing: 2px;
      text-decoration: none;
      background-color: transparent; }
      .header-nav .nav-switch > a:before {
        content: "";
        display: inline-block;
        width: 1.8em;
        height: 1.0em;
        background: url(../img/nav-switch-icon@2x.png) center 0.4em/50% no-repeat; }
      .header-nav .nav-switch > a:after {
        content: "";
        display: inline-block;
        width: 1.3em;
        height: 1.0em; }
      @media (min-width: 768px) {
        .header-nav .nav-switch > a {
          -webkit-transition: background-color 0.2s linear 0s;
          -moz-transition: background-color 0.2s linear 0s;
          -ms-transition: background-color 0.2s linear 0s;
          -o-transition: background-color 0.2s linear 0s;
          transition: background-color 0.2s linear 0s; }
          .header-nav .nav-switch > a:hover {
            background-color: #d3be92; } }
  .header-nav .nav-list {
    position: relative;
    overflow: hidden;
    height: 0;
    background-color: rgba(255, 255, 255, 0.92);
    margin: 0;
    padding: 0;
    list-style: none;
    display: inline-block;
    width: 280px;
    -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.5);
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.5);
    -webkit-transition: height 0.2s linear 0s;
    -moz-transition: height 0.2s linear 0s;
    -ms-transition: height 0.2s linear 0s;
    -o-transition: height 0.2s linear 0s;
    transition: height 0.2s linear 0s; }
    .header-nav .nav-list.active {
      height: 300px; }
    @media (min-width: 768px) {
      .header-nav .nav-list {
        -webkit-box-shadow: 0 0 0 transparent;
        -moz-box-shadow: 0 0 0 transparent;
        box-shadow: 0 0 0 transparent;
        height: 50px;
        background-color: transparent;
        font-size: 0;
        width: auto; } }
  .header-nav li {
    font-size: 1.2rem;
    line-height: 50px;
    margin: 0; }
    @media (min-width: 768px) {
      .header-nav li {
        display: inline-block;
        height: 100%; } }
  .header-nav li > a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    text-decoration: none;
    color: black;
    background-color: transparent; }
    @media (min-width: 768px) {
      .header-nav li > a {
        padding: 0 1.6vw;
        -webkit-transition: background-color 0.2s linear 0s;
        -moz-transition: background-color 0.2s linear 0s;
        -ms-transition: background-color 0.2s linear 0s;
        -o-transition: background-color 0.2s linear 0s;
        transition: background-color 0.2s linear 0s; }
        .header-nav li > a:hover {
          background-color: #bd9e5c; } }

/*===============
	.page-footer
	ページ最下段
	===============*/
.page-footer {
  background-color: black;
  color: white;
  padding: 22px 0; }
  .page-footer p.colophon {
    text-align: center;
    font-size: 0.85714em; }

.return-link {
  position: fixed;
  width: 100%;
  margin: 0 auto;
  height: 100%;
  pointer-events: none;
  left: 0;
  top: 0;
  display: none; }
  .return-link.active {
    display: block; }
    .return-link.active a {
      opacity: 1.0; }
    @media (min-width: 768px) {
      .return-link.active a {
        opacity: 0.3; }
      .return-link.active a:hover {
        opacity: 1.0; } }
  .return-link .top-link-container {
    position: relative;
    width: 100%;
    height: 100%;
    max-width: 1280px;
    margin: 0 auto;
    pointer-events: none; }
  .return-link a {
    display: block;
    pointer-events: all;
    width: 56px;
    height: 56px;
    position: absolute;
    right: 3%;
    bottom: 8%;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background: url(../img/return-btn@2x.png) center center/100% no-repeat;
    opacity: 0;
    -webkit-transition: opacity 0.2s linear 0s;
    -moz-transition: opacity 0.2s linear 0s;
    -ms-transition: opacity 0.2s linear 0s;
    -o-transition: opacity 0.2s linear 0s;
    transition: opacity 0.2s linear 0s; }

/*===============
	section.course
	各コースのsection
	===============*/
section.course {
  overflow: hidden;
  background-color: black;
  color: white; }
  @media (min-width: 768px) {
    section.course {
      height: 440px; } }
  @media (min-width: 992px) {
    section.course {
      height: 568px; } }
  section.course .info {
    padding: 28px 20px 106px;
    text-align: center;
    font-family: "Sawarabi Mincho", "游明朝", "Yu Mincho", "游明朝体", YuMincho, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
    position: relative;
    font-size: 1.0rem; }
    @media (min-width: 768px) {
      section.course .info {
        padding: 2.1875% 2.8125%;
        width: 33.4375%;
        height: 100%;
        float: right;
        font-size: 0.84rem; } }
    @media (min-width: 992px) {
      section.course .info {
        font-size: 1.0rem; } }
    section.course .info .lead1, section.course .info .lead2, section.course .info .desc-title {
      font-family: "Cinzel", "Times New Roman", "Times", serif;
      letter-spacing: 0.1em; }
    section.course .info .lead1 {
      font-size: 1.57143em;
      margin-bottom: 26px; }
      @media (min-width: 768px) {
        section.course .info .lead1 {
          margin-bottom: 7.30337%; } }
    section.course .info .lead2 {
      font-size: 1.07143em;
      line-height: 1.4;
      margin-bottom: 20px; }
      @media (min-width: 768px) {
        section.course .info .lead2 {
          margin-bottom: 5.61798%; } }
    section.course .info .sect-title {
      font-size: 3.07143em;
      font-weight: normal;
      margin-bottom: 24px; }
      @media (min-width: 768px) {
        section.course .info .sect-title {
          margin-bottom: 6.74157%; } }
    section.course .info .option {
      width: 100%;
      font-size: 1.21429em;
      line-height: 1.5;
      padding: 9px 0;
      border: 1px solid gray;
      border-left: none;
      border-right: none;
      margin-bottom: 26px; }
      @media (min-width: 768px) {
        section.course .info .option {
          margin-bottom: 7.30337%; } }
    section.course .info .desc {
      margin-top: 20px; }
      @media (min-width: 768px) {
        section.course .info .desc {
          margin-top: 5.61798%; } }
      section.course .info .desc .desc-title {
        font-size: 1.07143em;
        margin-bottom: 9px; }
        @media (min-width: 768px) {
          section.course .info .desc .desc-title {
            margin-bottom: 2.52809%; } }
      section.course .info .desc .desc-body {
        line-height: 1.57143; }
    section.course .info .btn.details {
      width: 100%;
      position: absolute;
      left: 0;
      bottom: 0;
      padding: 28px 20px; }
      @media (min-width: 768px) {
        section.course .info .btn.details {
          padding: 6.54206% 8.41121%; } }
      @media (min-width: 768px) and (max-width: 991px) {
        section.course .info .btn.details > a {
          height: 36px;
          line-height: 36px; } }
  section.course .gallery {
    overflow: hidden; }
    @media (min-width: 768px) {
      section.course .gallery {
        width: 66.5625%;
        height: 440px;
        float: left; } }
    @media (min-width: 992px) {
      section.course .gallery {
        height: 568px; } }
    section.course .gallery ul {
      list-style: none;
      margin: 0;
      padding: 0;
      font-size: 0; }
    section.course .gallery li {
      display: inline-block;
      position: relative;
      overflow: hidden;
      text-align: center; }
    section.course .gallery li > img {
      width: auto;
      height: 100%;
      position: relative;
      left: 50%;
      -webkit-transform: translate(-50%, 0);
      transform: translate(-50%, 0); }
    section.course .gallery li.main {
      width: 100%;
      height: 243.45775px; }
      @media (min-width: 544px) {
        section.course .gallery li.main {
          height: 343.88967px; } }
      @media (min-width: 768px) {
        section.course .gallery li.main {
          height: 295.75156px; } }
      @media (min-width: 992px) {
        section.course .gallery li.main {
          height: 382px; } }
    section.course .gallery li.sub {
      width: 33.3334%;
      height: 118.77934px; }
      @media (min-width: 544px) {
        section.course .gallery li.sub {
          height: 167.77855px; } }
      @media (min-width: 768px) {
        section.course .gallery li.sub {
          height: 144.2927px; } }
      @media (min-width: 992px) {
        section.course .gallery li.sub {
          height: 186px; } }

@media (min-width: 768px) {
  section.course.right .info {
    float: left; }
  section.course.right .gallery {
    float: right; } }

.north-banner {
  width: 33.33333%;
  padding-bottom: 13.26291%;
  background: url(../img/banner-neck72@2x.png) left top/contain no-repeat;
  position: absolute;
  left: 0;
  top: 0;
  margin: 2.34742% 0 0 2.34742%;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden; }

/*===============
	section.info
	各infoのsection
	===============*/
section.info {
  padding: 50px 20px 10px;
  text-align: center; }
  @media (min-width: 768px) {
    section.info {
      padding: 70px 40px 10px; } }
  section.info .lead {
    font-family: "Cinzel", "Times New Roman", "Times", serif;
    margin-bottom: 18px;
    font-size: 1.42857em;
    letter-spacing: 0.1em; }
  section.info .sect-title {
    font-family: "Sawarabi Mincho", "游明朝", "Yu Mincho", "游明朝体", YuMincho, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
    width: 100%;
    max-width: 450px;
    border-bottom: 1px solid black;
    padding-bottom: 22px;
    margin: 0 auto 45px;
    font-size: 2.28571em;
    font-weight: normal;
    line-height: 1.2;
    letter-spacing: 1px; }
    @media (min-width: 768px) {
      section.info .sect-title {
        font-size: 2.85714em; } }
  @media (min-width: 768px) {
    section.info .row {
      overflow: hidden; } }

/*=== access ===*/
section.info.access .means {
  margin: 0;
  padding: 15px;
  list-style: none;
  background-color: #e5e5e5;
  font-size: 0.85em; }
  @media (min-width: 768px) {
    section.info.access .means {
      float: left;
      font-size: 1.0em;
      padding: 30px 20px 35px;
      width: 48.33333%; } }
  section.info.access .means .title {
    margin-bottom: 28px; }
    section.info.access .means .title > h3 {
      font-size: 1.71429em;
      width: 100%;
      max-width: 240px;
      height: 44px;
      line-height: 44px;
      background-color: white;
      font-weight: normal;
      margin: 0 auto; }
  section.info.access .means .route {
    font-size: 1.42857em;
    position: relative;
    margin-bottom: 16px; }
    section.info.access .means .route .arrow {
      font-size: 0.7em;
      display: inline-block;
      top: -0.1em;
      position: relative;
      margin: 0 0.45em; }
  section.info.access .means .takes {
    margin-bottom: 22px;
    font-size: 1.5em; }
    section.info.access .means .takes strong {
      font-size: 2.19048em;
      font-weight: normal; }
  section.info.access .means .notes {
    font-size: 1.14286em;
    line-height: 1.4; }

section.info.access .means + .means {
  margin-top: 50px; }
  @media (min-width: 768px) {
    section.info.access .means + .means {
      margin-top: 0;
      margin-left: 3.33333%; } }

section.info.access .btn.timetable {
  margin: 50px auto 60px;
  width: 100%;
  max-width: 350px; }

section.info.access .gmap {
  width: 100%;
  height: 300px;
  position: relative; }
  @media (min-width: 768px) {
    section.info.access .gmap {
      height: 500px; } }

/*=== reservation ===*/
section.info.reservation {
  padding-bottom: 40px; }
  section.info.reservation .reserve-courses ul {
    list-style: none;
    margin: 0 auto 50px;
    width: 100%;
    max-width: 450px;
    padding: 0;
    font-size: 0; }
    @media (min-width: 768px) {
      section.info.reservation .reserve-courses ul {
        max-width: none; } }
  section.info.reservation .reserve-courses .btn {
    font-size: 1.0rem;
    width: 100%; }
    @media (min-width: 768px) {
      section.info.reservation .reserve-courses .btn {
        display: inline-block;
        width: 24.5%; } }
    section.info.reservation .reserve-courses .btn > a {
      height: 70px;
      line-height: 70px;
      font-size: 1.64286em; }
  section.info.reservation .reserve-courses .btn + .btn {
    margin-top: 8px; }
    @media (min-width: 768px) {
      section.info.reservation .reserve-courses .btn + .btn {
        margin-left: 0.6%;
        margin-top: 0; } }
  section.info.reservation .reserve-tel {
    font-size: 1.71429em;
    margin-bottom: 50px;
    line-height: 1.3; }
    @media (min-width: 768px) {
      section.info.reservation .reserve-tel {
        font-size: 2.14286em; }
        section.info.reservation .reserve-tel .tel-name {
          margin-right: 1.0em; } }
    section.info.reservation .reserve-tel a {
      color: inherit; }
      @media (min-width: 768px) {
        section.info.reservation .reserve-tel a {
          -webkit-transition: color 0.2s linear 0s;
          -moz-transition: color 0.2s linear 0s;
          -ms-transition: color 0.2s linear 0s;
          -o-transition: color 0.2s linear 0s;
          transition: color 0.2s linear 0s; }
          section.info.reservation .reserve-tel a:hover {
            color: #bd9e5c; } }
  section.info.reservation .reserve-hotels {
    margin-bottom: 100px; }
    section.info.reservation .reserve-hotels ul {
      padding: 0;
      margin: 0 auto;
      list-style: none;
      width: 100%;
      max-width: 395px; }
      @media (min-width: 768px) {
        section.info.reservation .reserve-hotels ul {
          font-size: 0;
          max-width: none; } }
    section.info.reservation .reserve-hotels .banner {
      width: 100%;
      height: 0;
      padding-bottom: 36.4557%;
      margin: 0 auto 8px;
      position: relative;
      background-position: left top;
      background-size: contain;
      background-repeat: no-repeat;
      opacity: 1.0; }
      @media (min-width: 768px) {
        section.info.reservation .reserve-hotels .banner {
          display: inline-block;
          font-size: 1.0rem;
          width: 32.91667%;
          padding-bottom: 12%;
          -webkit-transition: opacity 0.2s linear 0s;
          -moz-transition: opacity 0.2s linear 0s;
          -ms-transition: opacity 0.2s linear 0s;
          -o-transition: opacity 0.2s linear 0s;
          transition: opacity 0.2s linear 0s;
          margin-bottom: 0; } }
      section.info.reservation .reserve-hotels .banner > a {
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden; }
    @media (min-width: 768px) {
      section.info.reservation .reserve-hotels .banner + .banner {
        margin-left: 0.49375%; }
      section.info.reservation .reserve-hotels .banner:hover {
        opacity: 0.8; } }
    section.info.reservation .reserve-hotels .banner.gs {
      background-image: url(../img/banner-gs@2x.jpg); }
    section.info.reservation .reserve-hotels .banner.pgrk {
      background-image: url(../img/banner-pgrk@2x.jpg); }
    section.info.reservation .reserve-hotels .banner.kap {
      background-image: url(../img/banner-kap@2x.jpg); }
  section.info.reservation .reserve-businesshour {
    font-size: 1.28571em;
    line-height: 1.66667; }
    section.info.reservation .reserve-businesshour ul {
      list-style: none;
      padding: 0;
      margin: 0; }

/*# sourceMappingURL=style.map */