@charset "UTF-8";
/*--------------------------------------------------
  media queries
--------------------------------------------------*/
/*--------------------------------------------------
  base
--------------------------------------------------*/
@font-face {
  font-family: 'Satisfy', cursive;
  font-family: 'Pattaya', sans-serif;
  font-family: 'Averia Libre', sans-serif;
  font-family: 'Arbutus Slab', sans-serif; }
* {
  box-sizing: border-box; }

html {
  height: auto;
  color: #333;
  font-size: 14px;
font-family: "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
  word-break: break-all; }

body {
  height: 100%;
	font-size: 17px;
	font-family: 'Hiragino Kaku Gothic Pro', 'Meiryo', '游ゴシック体', 'Yu Gothic', 'メイリオ', sans-serif; }


a, a:hover, a:active, a:focus {
  color: #333;
  text-decoration: none; }

img {
  vertical-align: middle; }

table {
  border-collapse: collapse; }

/*--------------------------------------------------
  common modules
--------------------------------------------------*/
.header {
  position: fixed;
  top: 0;
  z-index: 200;
  width: 100%;
  height: 100px;
  /* :checked 擬似クラスを使って、#openがチェック状態になった時に、#menuが「right: 0;」になります。 */ }
  @media screen and (max-width: 767px) {
    .header {
      height: 50px; } }
  .header-inner {
    position: relative;
    height: 100%; }
  .header-logo {
    background: url(../images/wall.jpg) no-repeat 50%/100%;
    margin: 0;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .header-logo {
        background-size: 200%;
        padding-right: 14px;
        text-align: right; } }
    .header-logo a {
      position: relative;
      z-index: 10; }
    .header-logo img {
      width: 235px;
      height: auto;
      padding: 25px 0; }
      @media screen and (max-width: 767px) {
        .header-logo img {
          box-sizing: content-box;
          width: auto;
          height: 26px;
          padding: 12px 0; } }
  .header ul {
    background-color: rgba(0, 0, 0, 0.8);
    color: #fff;
    height: 100%;
    margin: 0;
    padding: 36px 0 0;
    width: 320px; }
  .header li {
    list-style-type: none; }
    .header li:first-child {
      border-top: 2px solid #fff; }
    .header li:not(:first-child) {
      border-top: 1px solid #fff; }
    .header li:last-child {
      border-bottom: 2px solid #fff; }
    .header li.main {
      background-color: rgba(0, 0, 0, 0.8); }
    .header li:not(.main) {
      background-color: rgba(75, 75, 75, 0.8); }
    .header li a {
      background: url(../images/header_arrow.png) no-repeat 302px 50%/6px;
      color: #fff;
      display: block;
      font-size: 13px;
      line-height: 34px;
      padding-left: 36px;
      position: relative; }
      @media screen and (max-width: 767px) {
        .header li a {
          padding-left: 18px; } }
      .header li a:after {
        content: '';
        background: url(../images/nav_arrow.png) no-repeat 50%/100%;
        display: block;
        position: absolute;
        right: 12px;
        width: 6px;
        height: 12px;
        top: 0;
        bottom: 0;
        margin: auto; }
  .header #headerToggleBtn .header-toggle_btn-border:before, .header #headerToggleBtn .header-toggle_btn-border:after {
    background-color: #fff;
    content: '';
    display: block;
    height: 4px;
    position: absolute;
    width: 100%;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.4); }
    @media screen and (max-width: 767px) {
      .header #headerToggleBtn .header-toggle_btn-border:before, .header #headerToggleBtn .header-toggle_btn-border:after {
        height: 2px; } }
  .header #headerToggleBtn {
    position: fixed;
    top: 0;
    left: 20px;
    cursor: pointer;
    min-width: 120px;
    height: 100px;
    transition: left .5s, right .5s;
    /* アニメーション */
    text-shadow: 0 0 12px rgba(0, 0, 0, 0.5); }
    @media screen and (max-width: 767px) {
      .header #headerToggleBtn {
        font-size: 12px;
        left: 14px;
        height: 50px; } }
    .header #headerToggleBtn label {
      color: #fff;
      cursor: pointer;
      display: block;
      font-family: 'Avenir', "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
      font-weight: 600;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      z-index: 15;
      margin: auto;
      width: 100%;
      height: 26px;
      line-height: 26px;
      padding: 3px 0 0 50px; }
      @media screen and (max-width: 767px) {
        .header #headerToggleBtn label {
          padding: 0 0 0 30px; } }
    .header #headerToggleBtn .header-toggle_btn-border {
      background-color: #fff;
      color: #fff;
      width: 34px;
      height: 4px;
      position: absolute;
      top: 11px;
      left: 0;
      box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.4); }
      @media screen and (max-width: 767px) {
        .header #headerToggleBtn .header-toggle_btn-border {
          width: 20px;
          height: 2px; } }
      .header #headerToggleBtn .header-toggle_btn-border:before {
        top: -11px; }
        @media screen and (max-width: 767px) {
          .header #headerToggleBtn .header-toggle_btn-border:before {
            top: -7px; } }
      .header #headerToggleBtn .header-toggle_btn-border:after {
        bottom: -11px; }
        @media screen and (max-width: 767px) {
          .header #headerToggleBtn .header-toggle_btn-border:after {
            bottom: -7px; } }
    .header #headerToggleBtn .header-toggle_btn-text {
      -webkit-transition: all 1s;
      -moz-transition: all 1s;
      -ms-transition: all 1s;
      -o-transition: all 1s;
      transition: all 1s;
      opacity: 1; }
      .header #headerToggleBtn .header-toggle_btn-text.fade {
        opacity: 0; }
  .header #menu {
    position: fixed;
    top: 0;
    left: -320px;
    /* メニューのwidth + padding */
    z-index: 200;
    width: 300px;
    /* メニューのwidth */
    height: 100%;
    transition: left .5s, right .5s;
    /* アニメーション */ }
    @media screen and (max-width: 767px) {
      .header #menu {
        width: 70%;
        max-width: 300px;
        left: -70%; } }
  .header #menuWrapper {
    display: none;
    position: fixed;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100%; }
  .header #open {
    display: none; }
  .header #open:checked + #headerToggleBtn + #menu {
    left: 0; }
  .header #open:checked + #headerToggleBtn {
    left: 340px; }
    @media screen and (max-width: 767px) {
      .header #open:checked + #headerToggleBtn {
        left: 74%; } }

#open:checked + #headerToggleBtn + #menu + #menuWrapper {
  display: block; }

.footer {
  background-color: #000;
  border-top: #999 thin;
  color: #fff;
  display: block;
  font-size: 14px;
  padding: 30px 0 100px;
  text-align: center;
  width: 100%; }
  @media screen and (max-width: 767px) {
    .footer {
      padding-bottom: 40px; } }
  .footer-columns {
    display: flex;
    justify-content: center;
    margin-bottom: 40px; }
    @media screen and (max-width: 767px) {
      .footer-columns {
        display: block; } }
    .footer-columns a {
      color: #fff;
      display: block; }
  .footer dl {
    margin: 0;
    padding: 0 20px; }
    @media screen and (max-width: 767px) {
      .footer dl {
        margin-bottom: 20px; } }
    .footer dl:last-child-item-title {
      font-family: 'Arbutus Slab', sans-serif; }
  .footer-item-title {
    font-family: 'Satisfy';
    font-size: 24px;
    margin-bottom: 12px; }
    @media screen and (max-width: 767px) {
      .footer-item-title {
        font-size: 16px;
        margin-bottom: 8px; } }
  .footer-item-child {
    margin-left: 0; }
    .footer-item-child ul {
      margin: 0;
      padding-left: 0; }
      .footer-item-child ul li {
        list-style-type: none;
        line-height: 2em; }
        @media screen and (max-width: 767px) {
          .footer-item-child ul li {
            font-size: 8px;
            line-height: 2.4; } }
  .footer-logo {
    margin-bottom: 20px;
    display: block; }
    @media screen and (max-width: 767px) {
      .footer-logo {
        width: 43.75%;
        margin: 0 auto 20px; } }
    @media screen and (max-width: 767px) {
      .footer-logo img {
        width: 100%;
        height: auto; } }
  .footer-copy {
    line-height: 1.4em;
    margin: 0;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .footer-copy {
        font-size: 8px; } }

.breadcrumb {
  list-style-type: none;
  padding-left: 0;
  /* 配置位置による設定の調整 */ }
  @media screen and (max-width: 767px) {
    .breadcrumb {
      font-size: 10px;
      text-align: center; } }
  .breadcrumb li {
    color: #837165;
    display: inline-block;
    letter-spacing: 0.22em;
    line-height: 1.7;
    vertical-align: middle; }
    .breadcrumb li a {
      color: #837165;
      display: inline-block;
      vertical-align: middle; }
    .breadcrumb li:not(:last-child):after {
      content: '>';
      display: inline-block;
      letter-spacing: 0.22em;
      line-height: 1.7;
      margin: 0 12px;
      vertical-align: middle; }
      @media screen and (max-width: 767px) {
        .breadcrumb li:not(:last-child):after {
          margin: 0 6px; } }
  .breadcrumb--upper .breadcrumb {
    margin: 36px 0 20px; }
    @media screen and (max-width: 767px) {
      .breadcrumb--upper .breadcrumb {
        margin: 0 9.375% 20px; } }

/*--------------------------------------------------
  common parts
--------------------------------------------------*/
.clearfix::after {
  content: "";
  display: block;
  clear: both; }

.btn-square--01 {
  background-color: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(0, 0, 0, 0.5);
  color: #000;
  display: block;
  letter-spacing: 0.05em;
  line-height: 50px;
  padding-left: 20px;
  position: relative;
  width: 350px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease; }
  @media screen and (max-width: 767px) {
    .btn-square--01 {
      border-color: #000;
      font-size: 12px;
      line-height: 40px;
      padding-left: 16px;
      width: 100%; } }
  .btn-square--01:after {
    content: '';
    display: block;
    box-sizing: border-box;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 10px solid #000;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    width: 0;
    height: 12px; }
    @media screen and (max-width: 767px) {
      .btn-square--01:after {
        border-top: 5px solid transparent;
        border-bottom: 5px solid transparent;
        border-left: 6px solid #000;
        height: 10px;
        right: 14px; } }
  .btn-square--01:hover {
    background-color: #000;
    color: #fff; }
    .btn-square--01:hover:after {
      border-left-color: #fff; }
.btn-square--02 {
  background-color: #000;
  border: 1px solid #000;
  padding: 8px;
  display: block;
  margin: 0 auto;
  text-align: center;
  width: 416px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease; }
  @media screen and (max-width: 767px) {
    .btn-square--02 {
      padding: 5px;
      width: 100%; } }
  .btn-square--02:hover {
    background-color: #fff; }
    .btn-square--02:hover .btn-square--02-border {
      border-color: #000;
      color: #000; }
      .btn-square--02:hover .btn-square--02-border:after {
        border-left-color: #000; }
  .btn-square--02-border {
    position: relative;
    border: 1px solid #fff;
    color: #fff;
    display: block;
    line-height: 49px;
    padding-right: 30px; }
    @media screen and (max-width: 767px) {
      .btn-square--02-border {
        font-size: 11px;
        line-height: 30px; } }
    .btn-square--02-border span {
      padding-right: 18px;
      vertical-align: middle; }
      @media screen and (max-width: 767px) {
        .btn-square--02-border span {
          font-size: 11px; } }
    .btn-square--02-border:after {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      right: 30px;
      display: block;
      box-sizing: border-box;
      border-top: 8px solid transparent;
      border-bottom: 8px solid transparent;
      border-left: 10px solid #fff;
      height: 0;
      margin: auto;
      vertical-align: middle;
      width: 0; }
      @media screen and (max-width: 767px) {
        .btn-square--02-border:after {
          border-top-width: 5px;
          border-bottom-width: 5px;
          border-left-width: 6px; } }

.balloon-update {
  background-color: #000;
  border: 1px solid #000;
  border-radius: 50%;
  box-sizing: border-box;
  color: #fff;
  display: block;
  height: 200px;
  padding: 42px 8px 20px;
  position: absolute;
  width: 200px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease; }
  @media screen and (max-width: 767px) {
    .balloon-update {
      width: 100px;
      height: 100px;
      padding: 20px 6px 8px; } }
  .balloon-update:active, .balloon-update:focus, .balloon-update:visited {
    color: #fff; }
  .balloon-update span {
    display: block;
    text-align: center; }
    .balloon-update span:first-child {
      border-bottom: 1px solid #fff;
      font-family: 'Satisfy';
      font-size: 30px;
      margin-bottom: 20px;
      padding-bottom: 18px; }
      @media screen and (max-width: 767px) {
        .balloon-update span:first-child {
          font-size: 15px;
          margin-bottom: 8px;
          padding-bottom: 6px; } }
    .balloon-update span:nth-child(2) {
      font-family: 'Pattaya';
      font-size: 21px;
      letter-spacing: 0.08em; }
      @media screen and (max-width: 767px) {
        .balloon-update span:nth-child(2) {
          font-size: 11px;
          margin-bottom: 4px; } }
    .balloon-update span:nth-child(3) {
      font-family: 'Averia Libre';
      font-size: 19px; }
      @media screen and (max-width: 767px) {
        .balloon-update span:nth-child(3) {
          font-size: 10px; } }
      .balloon-update span:nth-child(3):after {
        content: '';
        display: block;
        box-sizing: border-box;
        border-top: 10px solid #fff;
        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        position: absolute;
        left: 0;
        right: 0;
        margin: 4px auto 0;
        width: 0; }
        @media screen and (max-width: 767px) {
          .balloon-update span:nth-child(3):after {
            border-top-width: 5px;
            border-left-width: 4px;
            border-right-width: 4px;
            bottom: 9px; } }

/*--------------------------------------------------
  body content
--------------------------------------------------*/
.cont-inner {
  max-width: 900px;
  width: 70%;
  margin: 0 auto; }
  @media screen and (max-width: 1200px) {
    .cont-inner {
      min-width: 900px;
      max-width: inherit; } }
  @media screen and (max-width: 899px) {
    .cont-inner {
      width: 92%;
      min-width: 92%; } }
  @media screen and (max-width: 767px) {
    .cont-inner {
      width: 90%;
      min-width: 90%; } }
  .cont-inner img {
    width: 100%;
    height: auto; }
.cont-title {
  font-family: 'Satisfy';
  font-size: 65px;
  font-weight: 300;
  line-height: 1;
  margin: 0; }
  @media screen and (max-width: 767px) {
    .cont-title {
      font-size: 40px;
      text-align: center; } }
.cont-sub_title {
  font-size: 21px;
  font-weight: 600;
  letter-spacing: 0.22em;
  margin: 0; }
  @media screen and (max-width: 767px) {
    .cont-sub_title {
      font-size: 12px;
      line-height: 1.75;
      text-align: center; } }
.cont-columns {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 767px) {
    .cont-columns {
      display: block;
      padding: 0 9.375%; } }
.cont--top01 {
  background: url(../images/imgMission_title_bk.jpg) no-repeat 50% bottom/cover;
  padding: 80px 0 300px; }
  @media screen and (max-width: 767px) {
    .cont--top01 {
      background: none;
      padding: 0; } }
  .cont--top01 .cont-title {
    line-height: 1.6;
    margin-bottom: 50px; }
    @media screen and (max-width: 767px) {
      .cont--top01 .cont-title {
        background: url(../images/imgMission_title_bk.jpg) no-repeat 50% bottom/cover;
        margin-bottom: 0;
        padding: 8% 0 32%; } }
  .cont--top01 .cont-sub_title {
    margin-bottom: 20px; }
    .cont--top01 .cont-sub_title span {
      display: block; }
  .cont--top01 .cont-columns {
    padding-top: 40px;
    padding-bottom: 30px; }
  .cont--top01-text {
    letter-spacing: 0.15em;
    line-height: 1.88;
    margin: 0; }
    @media screen and (max-width: 767px) {
      .cont--top01-text {
        font-size: 12px;
        line-height: 1.83;
        margin-bottom: 30px; } }
  .cont--top01-links {
    margin: 0;
    padding-left: 80px; }
    @media screen and (max-width: 767px) {
      .cont--top01-links {
        padding-left: 0; } }
    .cont--top01-links li {
      list-style-type: none; }
      .cont--top01-links li:not(:last-child) {
        margin-bottom: 12px; }
.cont--top02 {
  padding: 130px 0; }
  @media screen and (max-width: 767px) {
    .cont--top02 {
      padding: 30px 0 60px; } }
  .cont--top02 .cont-title {
    margin-bottom: 60px; }
    @media screen and (max-width: 767px) {
      .cont--top02 .cont-title {
        margin-bottom: 12px; } }
  .cont--top02 .cont-sub_title {
    margin-bottom: 80px; }
    @media screen and (max-width: 767px) {
      .cont--top02 .cont-sub_title {
        margin-bottom: 16px; } }
  .cont--top02 .cont-inner {
    position: relative; }
    @media screen and (max-width: 767px) {
      .cont--top02 .cont-inner {
        padding: 0 9.375%; } }
  .cont--top02 .balloon-update {
    top: -24px;
    right: 0;
    z-index: 2; }
    @media screen and (max-width: 767px) {
      .cont--top02 .balloon-update {
        display: none; } }
  .cont--top02 .news-articles {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around; }
    @media screen and (max-width: 767px) {
      .cont--top02 .news-articles {
        display: block;
        padding: 0; } }
    .cont--top02 .news-articles article {
      max-width: 400px;
      width: 50%; }
      @media screen and (max-width: 899px) {
        .cont--top02 .news-articles article {
          width: 49%; } }
      @media screen and (max-width: 767px) {
        .cont--top02 .news-articles article {
          min-width: inherit;
          width: 100%; } }
  .cont--top02-btn_article {
    background-color: #000;
    border: 9px solid #000;
    display: block;
    margin: 0 auto;
    text-align: center;
    width: 416px; }
    .cont--top02-btn_article-border {
      border: 1px solid #fff;
      color: #fff;
      display: block;
      line-height: 49px; }
      .cont--top02-btn_article-border span {
        padding-right: 18px;
        vertical-align: middle; }
      .cont--top02-btn_article-border:after {
        content: '';
        display: inline-block;
        box-sizing: border-box;
        border-top: 8px solid transparent;
        border-bottom: 8px solid transparent;
        border-left: 10px solid #fff;
        height: 0;
        vertical-align: middle;
        width: 0; }
.cont--top03 {
  padding: 80px 0 100px; }
  @media screen and (max-width: 767px) {
    .cont--top03 {
      padding: 30px 0; } }
  .cont--top03 .cont-title {
    margin-bottom: 60px; }
    @media screen and (max-width: 767px) {
      .cont--top03 .cont-title {
        margin-bottom: 16px; } }
  .cont--top03 .cont-sub_title {
    line-height: 52px; }
    @media screen and (max-width: 767px) {
      .cont--top03 .cont-sub_title {
        line-height: 1;
        margin-bottom: 20px; } }
  .cont--top03 .cont-columns {
    margin-bottom: 60px; }
    @media screen and (max-width: 767px) {
      .cont--top03 .cont-columns {
        margin-bottom: 30px; } }
.cont--top04 {
  padding-bottom: 100px; }
  @media screen and (max-width: 767px) {
    .cont--top04 {
      padding: 30px 0; } }
  .cont--top04 .cont-title {
    margin-bottom: 50px; }
    @media screen and (max-width: 767px) {
      .cont--top04 .cont-title {
        margin-bottom: 20px; } }
  .cont--top04 .cont-sub_title {
    line-height: 52px; }
    @media screen and (max-width: 767px) {
      .cont--top04 .cont-sub_title {
        line-height: 1;
        margin-bottom: 20px; } }
  .cont--top04 .cont-columns {
    margin-bottom: 60px; }
    @media screen and (max-width: 767px) {
      .cont--top04 .cont-columns {
        margin-bottom: 30px; } }
@media screen and (max-width: 767px) {
  .cont--common_QA {
    padding-top: 30px; } }
.cont--common_QA .cont-title {
  font-family: 'Arbutus Slab', sans-serif;
  margin-bottom: 50px; }
  @media screen and (max-width: 767px) {
    .cont--common_QA .cont-title {
      margin-bottom: 24px; } }
.cont--common_QA .cont-sub_title {
  line-height: 52px; }
  @media screen and (max-width: 767px) {
    .cont--common_QA .cont-sub_title {
      line-height: 1;
      margin-bottom: 20px; } }
.cont--common_QA .cont-columns {
  margin-bottom: 60px; }
  @media screen and (max-width: 767px) {
    .cont--common_QA .cont-columns {
      margin-bottom: 48px; } }
.cont--common_QA-img {
  background: url(../images/parallaxBk_02.jpg) no-repeat 50%/cover;
  overflow: hidden;
  position: relative;
  width: 100%;
  margin-bottom: 24px;
  padding-top: 34%; }
.cont--common_access {
  background-color: #fff;
  padding: 120px 0 85px; }
  @media screen and (max-width: 767px) {
    .cont--common_access {
      padding: 30px 0; } }
  .cont--common_access .cont-title {
    margin-bottom: 20px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .cont--common_access .cont-title {
        margin-bottom: 10px; } }
  .cont--common_access .cont-sub_title {
    margin-bottom: 40px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .cont--common_access .cont-sub_title {
        margin-bottom: 20px; } }
  .cont--common_access #map_custmomize {
    width: 100%;
    height: 378px;
    margin-bottom: 50px; }
    @media screen and (max-width: 767px) {
      .cont--common_access #map_custmomize {
        height: 252px;
        margin-bottom: 20px; } }
  @media screen and (max-width: 767px) {
    .cont--common_access .cont-inner {
      padding: 0 8%; } }
  @media screen and (max-width: 375px) {
    .cont--common_access .cont-inner {
      padding: 0 4%; } }
  @media screen and (max-width: 320px) {
    .cont--common_access .cont-inner {
      min-width: 300px; } }
  .cont--common_access-table {
    margin: 0 auto;
    max-width: 582px;
    text-align: center; }
    .cont--common_access-table caption {
      font-size: 21px;
      font-weight: 600;
      letter-spacing: 0.22em;
      margin-bottom: 20px;
      text-align: center;
      width: 100%; }
      @media screen and (max-width: 767px) {
        .cont--common_access-table caption {
          font-size: 16px;
          margin-bottom: 10px; } }
    .cont--common_access-table th,
    .cont--common_access-table td {
      border: 1px solid #000; }
    .cont--common_access-table thead th {
      border-bottom-width: 2px;
      font-size: 20px;
      height: 40px; }
      @media screen and (max-width: 767px) {
        .cont--common_access-table thead th {
          font-size: 12px;
          height: 20px; } }
    .cont--common_access-table tbody th {
      font-size: 18px;
      font-weight: 300;
      letter-spacing: -0.02em;
      width: 150px;
      height: 50px; }
      @media screen and (max-width: 767px) {
        .cont--common_access-table tbody th {
          font-size: 8px;
          min-width: 30px;
          height: 25px; } }
    .cont--common_access-table tbody td {
      font-size: 26px;
      width: 60px; }
      @media screen and (max-width: 767px) {
        .cont--common_access-table tbody td {
          font-size: 12px; } }
  .cont--common_access-caution {
    font-size: 14px;
    line-height: 1.6;
    margin: 16px 0 70px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .cont--common_access-caution {
        font-size: 8px;
        margin: 10px 0 20px; } }
  .cont--common_access .cont-columns {
	  max-width: 720px;
	  margin: 0 auto;
}
  .cont--common_access-address {
    line-height: 1.68; }
    @media screen and (max-width: 767px) {
      .cont--common_access-address {
        font-size: 12px;
        font-weight: 600;
        margin-bottom: 16px;
        text-align: center; } }
    .cont--common_access-address span {
      display: block; }
  .cont--common_access-feature {
    list-style-type: none;
    margin: 0 0 60px;
    padding-left: 0;
    display: flex; }
    @media screen and (max-width: 767px) {
      .cont--common_access-feature {
width: 249px;
margin: 0 auto 26px; } }
    .cont--common_access-feature li {
      background-color: #000;
      border-radius: 4px;
      color: #fff;
      display: table;
      height: 90px;
      margin-right: 6px;
      text-align: center;
      width: 90px; }
      @media screen and (max-width: 767px) {
        .cont--common_access-feature li {
          height: 45px;
          width: 45px; } }
      .cont--common_access-feature li:last-child {
        margin-right: 0; }
      .cont--common_access-feature li .cont--common_access-feature-inner {
        display: table-cell;
        vertical-align: middle; }
        .cont--common_access-feature li .cont--common_access-feature-inner span {
          display: block;
          font-size: 18px; }
          @media screen and (max-width: 767px) {
            .cont--common_access-feature li .cont--common_access-feature-inner span {
              font-size: 9px; } }
          .cont--common_access-feature li .cont--common_access-feature-inner span.num {
            display: inline-block;
            font-size: 50px;
            font-family: 'Avenir Next', "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
            font-weight: 600;
            line-height: 50px; }
            @media screen and (max-width: 767px) {
              .cont--common_access-feature li .cont--common_access-feature-inner span.num {
                font-size: 25px;
                line-height: 1; } }
            .cont--common_access-feature li .cont--common_access-feature-inner span.num + span {
              display: inline-block;
              font-size: 26px; }
              @media screen and (max-width: 767px) {
                .cont--common_access-feature li .cont--common_access-feature-inner span.num + span {
                  font-size: 13px; } }
  .cont--common_access-reservation {
    border-top: 2px solid #000;
    border-bottom: 2px solid #000;
    padding: 8px 0; }
    @media screen and (max-width: 767px) {
      .cont--common_access-reservation {
        margin: 0 9.375%;
        padding: 6px 0; } }
    .cont--common_access-reservation dl {
      border-top: 1px solid #000;
      border-bottom: 1px solid #000;
      margin: 0;
      padding: 38px 0 42px;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .cont--common_access-reservation dl {
          padding: 20px 0 28px; } }
    .cont--common_access-reservation dt {
      display: block;
      font-size: 26px;
      line-height: 1.5;
      margin-bottom: 8px; }
      @media screen and (max-width: 767px) {
        .cont--common_access-reservation dt {
          font-size: 16px; } }
      .cont--common_access-reservation dt span {
        display: block; }
    .cont--common_access-reservation dd {
      font-size: 48px;
      font-family: 'Helvetica Neue', sans-serif;
      font-weight: 600;
      margin-left: 0; }
      @media screen and (max-width: 767px) {
        .cont--common_access-reservation dd {
          font-size: 28px; } }

/*--------------------------------------------------
  .index
--------------------------------------------------*/
.index .header {
  width: 160px; }
  @media screen and (max-width: 767px) {
    .index .header {
      width: 100px; } }

#loading {
  position: fixed;
  z-index: 500;
  width: 100%;
  height: 100%;
  background-color: black;
  -webkit-transition: all 2s;
  -moz-transition: all 2s;
  -ms-transition: all 2s;
  -o-transition: all 2s;
  transition: all 2s;
  opacity: 0; }
  #loading.active {
    opacity: 1; }
    #loading.active img {
      opacity: 1; }
  #loading .loading-inner {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 1em;
    height: 1em; }
  #loading .loader {
    color: #ffffff;
    font-size: 10px;
    width: 1em;
    height: 1em;
    border-radius: 50%;
    position: relative;
    text-indent: -9999em;
    -webkit-animation: load4 1.3s infinite linear;
    animation: load4 1.3s infinite linear;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0); }
@-webkit-keyframes load4 {
  0%,
    100% {
    box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0; }
  12.5% {
    box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em; }
  25% {
    box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em; }
  37.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em; }
  50% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em; }
  62.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em; }
  75% {
    box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0; }
  87.5% {
    box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em; } }
@keyframes load4 {
  0%,
    100% {
    box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0; }
  12.5% {
    box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em; }
  25% {
    box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em; }
  37.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em; }
  50% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em; }
  62.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em; }
  75% {
    box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0; }
  87.5% {
    box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em; } }
#wrapper {
  position: relative;
  height: 100%;
  background-color: #fff; }

.fade-in-cont {
  position: relative;
  width: 100%;
  background-color: #fff; }
  @media screen and (max-width: 767px) {
    .fade-in-cont {
      position: relative; } }

#plxCont02, #plxCont03, #plxCont04, #plxCont05, #plxCont06, #plxCont07, #plxCont08, #plxCont09 {
  opacity: 0; }
  @media screen and (max-width: 767px) {
    #plxCont02, #plxCont03, #plxCont04, #plxCont05, #plxCont06, #plxCont07, #plxCont08, #plxCont09 {
      opacity: 1; } }

#plxCont01 {
  z-index: 3; }

#plxCont02, #plxCont03, #plxCont05, #plxCont06, #plxCont07, #plxCont09, #plxCont10 {
  z-index: 2; }

#plxCont04 {
  background-color: #fff;
  z-index: 0;
  overflow: hidden; }
  @media screen and (max-width: 767px) {
    #plxCont04 {
      margin-bottom: 30px;
      padding-top: 31.25%; } }

#plxCont05Wrapper {
  background-color: #fff;
  position: relative; }

#plxCont07 {
  padding-bottom: 50px; }

#plxCont08 {
  background-color: #fff;
  z-index: 0;
  overflow: hidden; }
  @media screen and (max-width: 767px) {
    #plxCont08 {
      margin-bottom: 30px;
      padding-top: 31.25%; } }

.plxContPllxWrapper {
  background-color: #fff;
  position: relative; }

#plxContQA {
  overflow: hidden;
  position: relative;
  width: 100%;
  margin-bottom: 24px;
  padding-top: 34%; }
  #plxContQA img {
    position: absolute;
    top: 0; }

/*--------------------------------------------------
  .hero
--------------------------------------------------*/
.hero {
  position: relative;
  overflow: hidden;
  /*@include media767 {
    overflow: visible;
  }*/
  /* Opening
-----------------------------------------*/ }
  .hero--under {
    padding-top: 100px; }
    @media screen and (max-width: 767px) {
      .hero--under {
        padding-top: 50px; } }
  .hero .header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2; }
  .hero-logo {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 100;
    width: 300px;
    height: 164px;
    margin: auto;
    text-align: center; }
    @media screen and (max-width: 899px) {
      .hero-logo {
        width: 60%;
        height: auto;
        padding-top: 47%; } }
    @media screen and (max-width: 767px) {
      .hero-logo {
        width: 60%;
        height: auto;
        padding-top: 0;
        top: inherit;
        bottom: 40px; } }
    .hero-logo img {
      width: 100%; }
      @media screen and (max-width: 899px) {
        .hero-logo img {
          max-width: 80%; } }
      @media screen and (max-width: 767px) {
        .hero-logo img {
          max-width: inherit;
          width: 100%; } }
  .hero-read_more {
    top: 110px;
    right: 80px;
    z-index: 100;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }
    @media screen and (max-width: 1200px) {
      .hero-read_more {
        top: 60px;
        right: 60px; } }
    @media screen and (max-width: 767px) {
      .hero-read_more {
        right: 30px; } }
    .hero-read_more:hover {
      color: #000;
      background-color: #fff; }
      .hero-read_more:hover span:first-child {
        border-bottom-color: #000; }
      .hero-read_more:hover span:nth-child(3):after {
        border-top-color: #000; }
  .hero-slider {
    margin: 0;
    padding: 0; }
    .hero-slider .pc {
      display: block; }
      @media screen and (max-width: 767px) {
        .hero-slider .pc {
          display: none; } }
    .hero-slider .sp {
      display: none; }
      @media screen and (max-width: 767px) {
        .hero-slider .sp {
          display: block; } }
  .hero .Opening {
    position: relative;
    background-color: #FFF; }
  .hero .Opening ul {
    height: 100%;
    padding-left: 0;
    margin-top: 0; }
  .hero .Opening ul li {
    position: relative;
    overflow: hidden;
    width: 100%;
    text-align: center; }
  .hero .Opening ul li img.Opening__text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    z-index: 9; }
  .hero .Opening ul li span img.Opening__img {
    max-width: inherit;
    width: 100%;
    height: auto; }

/*--------------------------------------------------
  news-articles
--------------------------------------------------*/
.news-articles {
  border-bottom: 1px dashed #230303;
  margin-bottom: 35px;
  padding-bottom: 30px; }
  @media screen and (max-width: 767px) {
    .news-articles {
      margin-bottom: 20px; } }
  .news-articles article {
    border: 1px solid #000;
    margin-bottom: 20px;
    padding-left: 55px;
    position: relative;
    height: 100px; }
    @media screen and (max-width: 767px) {
      .news-articles article {
        height: 80px;
        margin-bottom: 10px;
        padding-left: 40px; } }
    .news-articles article:last-child {
      margin-bottom: 40px; }
      @media screen and (max-width: 767px) {
        .news-articles article:last-child {
          margin-bottom: 20px; } }
    .news-articles article a {
      display: block;
      height: 100%;
      width: 100%; }
      .news-articles article a:hover .news-articles-desc {
        background-color: #000;
        color: #fff; }
      .news-articles article a:hover .news-articles-more:after {
        border-left-color: #fff; }
    .news-articles article h3 {
      background-color: #000;
      color: #fff;
      font-size: 16px;
      font-weight: 300;
      margin: 0;
      width: 55px;
      height: 100%;
      line-height: 55px;
      text-align: center;
      -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
      position: absolute;
      left: 0;
      top: 0; }
      @media screen and (max-width: 767px) {
        .news-articles article h3 {
          font-size: 13px;
          line-height: 40px;
          width: 40px; } }
  .news-articles-desc {
    font-size: 17px;
    height: 100%;
    position: relative; }
  .news-articles-text {
    letter-spacing: 0.1em;
    line-height: 1.4;
    margin: 0;
    padding: 12px 12px 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }
    @media screen and (max-width: 767px) {
      .news-articles-text {
        font-size: 13px;
        padding-top: 10px;
        max-height: 45px;
        overflow: hidden; } }
  .news-articles-bottom_bar {
    display: flex;
    justify-content: space-between;
    padding: 0 12px;
    position: absolute;
    bottom: 12px;
    width: 100%; }
    @media screen and (max-width: 767px) {
      .news-articles-bottom_bar {
        bottom: 10px; } }
  .news-articles-date {
    font-family: 'Pattaya';
    letter-spacing: 0.08em;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }
    @media screen and (max-width: 767px) {
      .news-articles-date {
        font-size: 13px; } }
  .news-articles-more {
    font-family: 'Averia Libre';
    position: relative;
    display: inline-block;
    padding-right: 16px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }
    @media screen and (max-width: 767px) {
      .news-articles-more {
        font-size: 13px;
        padding-right: 12px; } }
    .news-articles-more:after {
      content: '';
      display: block;
      box-sizing: border-box;
      border-top: 7px solid transparent;
      border-bottom: 7px solid transparent;
      border-left: 8px solid #000;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      margin: auto;
      width: 0;
      height: 0;
      -webkit-transition: all 0.3s ease;
      -moz-transition: all 0.3s ease;
      -o-transition: all 0.3s ease;
      transition: all 0.3s ease; }
      @media screen and (max-width: 767px) {
        .news-articles-more:after {
          border-top: 5px solid transparent;
          border-bottom: 5px solid transparent;
          border-left: 6px solid #000; } }

/*--------------------------------------------------
  pages
--------------------------------------------------*/
.page {
  /* galleryページ */
  /* staffページ */
  /* Q&Aページ */
  /* missionページ */ }
  .page-title {
    font-family: 'Satisfy';
    font-size: 65px;
    font-weight: 300;
    line-height: 1;
    margin: 0;
    padding: 70px 0 30px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .page-title {
        font-size: 40px;
        padding: 30px 0 130px; } }
  .page-sub_title {
    font-size: 21px;
    font-weight: 600;
    letter-spacing: 0.22em;
    margin: 0;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .page-sub_title {
        font-size: 13px; } }
  .page.gallery .hero--gallery {
    background: url(../images/imgGallery_title_bk.jpg) no-repeat 50% bottom/100%; }
    @media screen and (max-width: 767px) {
      .page.gallery .hero--gallery {
        background: none; } }
  @media screen and (max-width: 767px) {
    .page.gallery .page-title {
      background: url(../images/imgGallery_title_bk.jpg) no-repeat 50% bottom/100%;
      padding: 9.375% 0 41%; } }
  @media screen and (max-width: 767px) {
    .page.gallery .page-sub_title {
      font-size: 13px;
      margin-top: 30px; } }
  .page.gallery .gallery-body {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 940px;
    margin: 0 auto;
    padding: 40px 0 50px; }
    @media screen and (max-width: 899px) {
      .page.gallery .gallery-body {
        width: 92%;
        min-width: 92%; } }
    @media screen and (max-width: 767px) {
      .page.gallery .gallery-body {
        display: block;
        padding: 40px 9.375% 0; } }
    .page.gallery .gallery-body .btn-square--02 {
      width: 100%;
      margin: 0; }
  .page.gallery .gallery-item {
    width: 45%;
    max-width: 410px;
    margin-bottom: 40px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .page.gallery .gallery-item {
        width: 100%;
        margin-bottom: 30px; } }
    .page.gallery .gallery-item img {
      width: 100%;
      height: auto; }
    .page.gallery .gallery-item:first-child .gallery-desc {
      letter-spacing: -0.05em; }
  .page.gallery .gallery-title {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 8px; }
    @media screen and (max-width: 767px) {
      .page.gallery .gallery-title {
        font-size: 12px;
        margin-bottom: 4px; } }
  .page.gallery .gallery-desc {
    font-size: 12px;
    margin: 0 0 12px; }
    @media screen and (max-width: 767px) {
      .page.gallery .gallery-desc {
        font-size: 10px;
        margin-bottom: 6px; } }
  .page.gallery .gallery-link-text {
    font-size: 12px;
    line-height: 1.6;
    margin: 50px 0 20px; }
    @media screen and (max-width: 767px) {
      .page.gallery .gallery-link-text {
        font-size: 10px;
        margin: 20px 0 10px; } }
  .page.staff .hero--staff .page-title {
    padding: 120px 0 70px; }
    @media screen and (max-width: 767px) {
      .page.staff .hero--staff .page-title {
        padding: 30px 0 40px; } }
  .page.staff .hero--staff .page-sub_title {
    margin-bottom: 24px; }
    @media screen and (max-width: 767px) {
      .page.staff .hero--staff .page-sub_title {
        margin-bottom: 12px; } }
  .page.staff .hero--staff .staff-text {
    line-height: 1.8;
    margin: 0 auto 50px;
    width: 560px; }
    @media screen and (max-width: 767px) {
      .page.staff .hero--staff .staff-text {
        width: 80%;
        font-size: 12px; } }
  .page.staff .staff-img img {
    width: 100%;
    height: auto; }
  .page.staff .cont--staff {
    padding-top: 130px; }
    @media screen and (max-width: 767px) {
      .page.staff .cont--staff {
        padding-top: 30px;
        padding-bottom: 50px; } }
    .page.staff .cont--staff .cont-title {
      margin-bottom: 80px;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .page.staff .cont--staff .cont-title {
          margin-bottom: 40px; } }
    .page.staff .cont--staff .cont-sub_title {
      margin-bottom: 70px;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .page.staff .cont--staff .cont-sub_title {
          font-size: 13px;
          margin-bottom: 28px; } }
  .page.staff .staff-item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 100px; }
    @media screen and (max-width: 767px) {
      .page.staff .staff-item {
        display: block;
        width: 80%;
        margin: 0 auto 50px; } }
    .page.staff .staff-item-left {
      width: 450px;
      max-width: 44%; }
      @media screen and (max-width: 767px) {
        .page.staff .staff-item-left {
          width: 100%;
          min-width: 224px;
          margin: 0 auto 18px; } }
      .page.staff .staff-item-left img {
        height: auto;
        margin-right: 60px;
        width: 100%; }
        @media screen and (max-width: 767px) {
          .page.staff .staff-item-left img {
            margin-bottom: 0; } }
    .page.staff .staff-item-right {
      width: 50%; }
      @media screen and (max-width: 767px) {
        .page.staff .staff-item-right {
          width: 100%; } }
    .page.staff .staff-item-name {
      font-size: 20px;
      margin: 0 0 32px;
      font-weight: 600; }
      @media screen and (max-width: 767px) {
        .page.staff .staff-item-name {
          font-size: 14px;
          margin-bottom: 18px;
          text-align: center; } }
    .page.staff .staff-item-role {
      border-bottom: 1px solid #000;
      font-size: 14px;
      font-weight: 600;
      line-height: 1.75;
      margin: 0 0 24px;
      padding-bottom: 18px; }
      @media screen and (max-width: 767px) {
        .page.staff .staff-item-role {
          font-size: 10px;
          margin-bottom: 16px;
          padding-bottom: 12px;
          text-align: center; } }
    .page.staff .staff-item ul {
      font-size: 14px;
      list-style-type: none;
      margin: 0 0 20px;
      padding-left: 0; }
      .page.staff .staff-item ul.papers {
        margin-bottom: 0; }
        .page.staff .staff-item ul.papers li {
          line-height: 1.5; }
          .page.staff .staff-item ul.papers li:not(:last-child) {
            margin-bottom: 4px; }
          .page.staff .staff-item ul.papers li span {
            text-decoration: underline; }
      .page.staff .staff-item ul li {
        line-height: 1.7; }
        @media screen and (max-width: 767px) {
          .page.staff .staff-item ul li {
            font-size: 10px; } }
    .page.staff .staff-item dl {
      font-size: 14px;
      margin: 0; }
      .page.staff .staff-item dl dt {
        margin-bottom: 6px; }
        @media screen and (max-width: 767px) {
          .page.staff .staff-item dl dt {
            font-size: 10px; } }
      .page.staff .staff-item dl dd {
        margin-left: 0; }
  .page.qa .hero--qa {
    background: url(../images/imgQA_title_bk.jpg) no-repeat 50% bottom/100%; }
    @media screen and (max-width: 767px) {
      .page.qa .hero--qa {
        background: none; } }
    .page.qa .hero--qa .page-title {
      font-family: 'Arbutus Slab', sans-serif; }
      @media screen and (max-width: 767px) {
        .page.qa .hero--qa .page-title {
          background: url(../images/imgQA_title_bk.jpg) no-repeat 50% bottom/100%;
          padding: 9.375% 0 41%; } }
  @media screen and (max-width: 767px) {
    .page.qa .page-sub_title {
      font-size: 13px;
      margin-top: 30px; } }
  .page.qa .cont--qa {
    padding-top: 30px; }
  .page.qa .cont-inner {
    padding: 0 9.375%; }
  .page.qa .qa-list {
    color: #230303;
    margin: 0 auto 30px;
    width: 720px; }
    @media screen and (max-width: 767px) {
      .page.qa .qa-list {
        width: 100%; } }
    .page.qa .qa-list-head {
      border-bottom: 1px solid #230303;
      cursor: pointer;
      font-weight: 600;
      line-height: 60px;
      position: relative; }
      @media screen and (max-width: 767px) {
        .page.qa .qa-list-head {
          display: flex;
          font-size: 13px;
          line-height: 1.38;
          padding-bottom: 8px; } }
      .page.qa .qa-list-head:before {
        content: 'Q';
        display: inline-block;
        font-family: 'Arbutus Slab', sans-serif;
        font-size: 24px;
        font-weight: 600;
        margin-top: -10px;
        margin-right: 8px;
        vertical-align: middle; }
        @media screen and (max-width: 767px) {
          .page.qa .qa-list-head:before {
            vertical-align: top; } }
      @media screen and (max-width: 767px) {
        .page.qa .qa-list-head-question {
          width: 70%; } }
      .page.qa .qa-list-head .toggle-list-control {
        bottom: 0;
        color: #230303;
        font-size: 12px;
        height: 26px;
        line-height: 26px;
        position: absolute;
        right: 0; }
        .page.qa .qa-list-head .toggle-list-control:after {
          content: '';
          display: inline-block;
          border-right: 5px solid transparent;
          border-left: 5px solid transparent;
          border-top: 6px solid #230303;
          border-bottom: 0 solid transparent;
          margin-left: 6px;
          margin-bottom: 1px; }
      .page.qa .qa-list-head.active .toggle-list-control {
        color: #837165; }
        .page.qa .qa-list-head.active .toggle-list-control:after {
          border-top: 0 solid transparent;
          border-bottom: 6px solid #837165; }
    .page.qa .qa-list-body {
      display: none;
      line-height: 1.6;
      margin-left: 0;
      padding-top: 12px; }
      @media screen and (max-width: 767px) {
        .page.qa .qa-list-body {
          font-size: 13px; } }
  .page.mission .hero--mission {
    background: url(../images/imgMission_title_bk.jpg) no-repeat 50% bottom/100%;
    min-height: 800px;
    padding-bottom: 50px; }
    @media screen and (max-width: 767px) {
      .page.mission .hero--mission {
        background: none;
        min-height: inherit;
        padding-bottom: 0; } }
  .page.mission .page-title {
    margin-bottom: 50px;
    padding-top: 120px; }
    @media screen and (max-width: 767px) {
      .page.mission .page-title {
        background: url(../images/imgMission_title_bk.jpg) no-repeat 50% bottom/100%;
        margin-bottom: 24px;
        padding: 9.375% 0 41%; } }
  .page.mission .page-sub_title {
    line-height: 1.6;
    margin-bottom: 50px; }
    @media screen and (max-width: 767px) {
      .page.mission .page-sub_title {
        margin-bottom: 24px; } }
    .page.mission .page-sub_title span {
      display: block; }
  .page.mission .mission-text {
    line-height: 1.8;
    margin: 0 auto;
    width: 560px; }
    @media screen and (max-width: 767px) {
      .page.mission .mission-text {
        width: 80%;
        font-size: 12px;
        margin-bottom: 30px; } }
  @media screen and (max-width: 767px) {
    .page.mission .move-img {
      margin: 30px 0; } }
  .page.mission .move-img img {
    width: 100%;
    height: auto; }
  .page.mission .mission-cont {
    color: #230303; }
    .page.mission .mission-cont--01 {
      background-color: #f3f1d7;
      padding: 50px 0; }
      @media screen and (max-width: 767px) {
        .page.mission .mission-cont--01 {
          padding: 30px 0; } }
    .page.mission .mission-cont--02 {
      padding-top: 70px; }
      @media screen and (max-width: 767px) {
        .page.mission .mission-cont--02 {
          padding-top: 30px; } }
    .page.mission .mission-cont--03 {
      background-color: #f3f1d7;
      margin-bottom: 125px;
      padding: 90px 0; }
      @media screen and (max-width: 767px) {
        .page.mission .mission-cont--03 {
          margin-bottom: 24px;
          padding: 30px 0; } }
    @media screen and (max-width: 767px) {
      .page.mission .mission-cont .cont-inner {
        padding: 0 9.375%; } }
    .page.mission .mission-cont-title {
      border-bottom: 1px solid #230303;
      font-size: 21px;
      line-height: 40px;
      margin: 0 0 24px; }
      @media screen and (max-width: 767px) {
        .page.mission .mission-cont-title {
          font-size: 17px; } }
    .page.mission .mission-cont-text {
      line-height: 1.4;
      margin: 0 0 24px; }
      @media screen and (max-width: 767px) {
        .page.mission .mission-cont-text {
          font-size: 12px;
          line-height: 1.66; } }
    .page.mission .mission-cont-link-text {
      font-weight: 600;
      line-height: 1.5;
      margin: 40px auto 20px;
      text-align: center;
      width: 540px; }
      @media screen and (max-width: 767px) {
        .page.mission .mission-cont-link-text {
          font-size: 12px;
          margin: 24px auto 18px;
          text-align: left;
          width: 80%; } }
      .page.mission .mission-cont-link-text span {
        display: block; }
        @media screen and (max-width: 767px) {
          .page.mission .mission-cont-link-text span {
            display: inline; } }
    .page.mission .mission-cont-link-btn {
      background-color: #230303;
      margin-bottom: 46px; }
      @media screen and (max-width: 767px) {
        .page.mission .mission-cont-link-btn {
          width: 80%;
          margin: 0 auto 34px; } }
      .page.mission .mission-cont-link-btn:hover {
        background-color: #fff; }
    .page.mission .mission-cont-img img {
      width: 100%;
      height: auto; }
    .page.mission .mission-cont-undr_text {
      line-height: 1.5;
      margin: 30px 0 0;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .page.mission .mission-cont-undr_text {
          font-size: 10px;
          margin: 20px auto 0;
          width: 80%; } }
  .page.mission .mission-medical h4 {
    font-size: 21px;
    line-height: 1.2;
    margin-top: 70px; }
    @media screen and (max-width: 767px) {
      .page.mission .mission-medical h4 {
        font-size: 17px;
        margin-top: 34px;
        margin-bottom: 18px; } }
  .page.mission .mission-medical-list {
    list-style-type: none;
    margin: 0;
    padding-left: 0; }
  .page.mission .mission-medical dl {
    border: 1px solid #230303; }
    @media screen and (max-width: 767px) {
      .page.mission .mission-medical dl {
        margin: 0 0 6px; } }
  .page.mission .mission-medical-head {
    background-color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    font-weight: 600;
    line-height: 50px;
    padding-left: 20px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .page.mission .mission-medical-head {
        font-size: 13px;
        line-height: 36px; } }
    .page.mission .mission-medical-head .toggle-list-control {
      bottom: 0;
      color: #230303;
      font-size: 12px;
      height: 20px;
      line-height: 20px;
      margin: auto;
      position: absolute;
      right: 20px;
      top: 0; }
      @media screen and (max-width: 767px) {
        .page.mission .mission-medical-head .toggle-list-control {
          font-size: 10px; } }
      .page.mission .mission-medical-head .toggle-list-control:after {
        content: '';
        display: inline-block;
        border-right: 5px solid transparent;
        border-left: 5px solid transparent;
        border-top: 6px solid #230303;
        border-bottom: 0 solid transparent;
        margin-left: 6px;
        margin-bottom: 1px; }
    .page.mission .mission-medical-head.active .toggle-list-control {
      color: #837165; }
      .page.mission .mission-medical-head.active .toggle-list-control:after {
        border-top: 0 solid transparent;
        border-bottom: 6px solid #837165; }
  .page.mission .mission-medical-body {
    display: none;
    line-height: 1.6;
    margin-left: 0;
    padding: 0 20px 20px; }
    @media screen and (max-width: 767px) {
      .page.mission .mission-medical-body {
        font-size: 12px; } }
    .page.mission .mission-medical-body img {
      width: 50%;
      display: block;
      margin: 20px auto; }
      @media screen and (max-width: 767px) {
        .page.mission .mission-medical-body img {
          width: 100%; } }
  .page.mission .mission-beauty {
    margin: 50px auto 0;
    width: 70%; }
    @media screen and (max-width: 767px) {
      .page.mission .mission-beauty {
        font-size: 12px;
        margin-top: 20px;
        width: 80%; } }
    @media screen and (max-width: 767px) {
      .page.mission .mission-beauty-list {
        margin: 0; } }
    .page.mission .mission-beauty-list dt {
      font-weight: 600;
      line-height: 1.4; }
      @media screen and (max-width: 767px) {
        .page.mission .mission-beauty-list dt {
          line-height: 1.66; } }
      @media screen and (max-width: 767px) {
        .page.mission .mission-beauty-list dt span {
          display: block; } }
      .page.mission .mission-beauty-list dt:before {
        content: '・'; }
    .page.mission .mission-beauty-list dd {
      line-height: 1.4;
      margin: 0 0 24px 0; }
      @media screen and (max-width: 767px) {
        .page.mission .mission-beauty-list dd {
          line-height: 1.66; } }

/*--------------------------------------------------
  body.news
  --------------------------------------------------
  categoryとsingle
--------------------------------------------------*/
/* newsページ */
.news {
  /* 投稿アーカイブページ */
  /* 投稿アーカイブページ */
  /* 投稿個別ページ */ }
  .news .hero--news {
    height: 660px; }
    .news .hero--news.archive {
      background: url(../images/imgNews_title_bk01.jpg) no-repeat 50% top/100%; }
      @media screen and (max-width: 767px) {
        .news .hero--news.archive .page-title {
          background: url(../images/imgNews_title_bk01.jpg) no-repeat 50% top/100%; } }
    .news .hero--news.category {
      background: url(../images/imgNews_title_bk02.jpg) no-repeat 50% top/100%; }
      @media screen and (max-width: 767px) {
        .news .hero--news.category .page-title {
          background: url(../images/imgNews_title_bk02.jpg) no-repeat 50% top/100%; } }
    @media screen and (max-width: 767px) {
      .news .hero--news {
        background: none;
        height: auto; } }
    .news .hero--news .page-title {
      padding-top: 80px; }
      @media screen and (max-width: 767px) {
        .news .hero--news .page-title {
          padding: 30px 0 41%; } }
    .news .hero--news .page-sub_title {
      line-height: 1.6; }
      @media screen and (max-width: 767px) {
        .news .hero--news .page-sub_title {
          margin: 24px 0 20px; } }
    .news .hero--news .balloon-update {
      bottom: 30px;
      right: 80px;
      z-index: 2; }
      @media screen and (max-width: 767px) {
        .news .hero--news .balloon-update {
          display: none; } }
  .news .cont--news .cont-inner {
    margin: 0 auto;
    max-width: 1024px;
    width: 100%; }
  .news .cont--news .news-image {
    height: 440px; }
    @media screen and (max-width: 767px) {
      .news .cont--news .news-image {
        height: 0;
        padding-top: 63%; } }
  .news .cont--news.archive .news-image {
    background: url(../images/imgNews_01.jpg) no-repeat 50%/100%; }
  .news .cont--news.category .news-image {
    background: url(../images/imgNews_02.jpg) no-repeat 50%/100%; }
  .news .pagination {
    border-top: 1px dashed #230303;
    width: 100%;
    height: 90px; }
    @media screen and (max-width: 767px) {
      .news .pagination {
        border-bottom: none;
        height: 58px; } }
    .news .pagination a {
      font-size: 22px;
      line-height: 90px; }
      @media screen and (max-width: 767px) {
        .news .pagination a {
          font-size: 11px;
          line-height: 58px; } }
    .news .pagination .pagination-inner {
      border-bottom: 1px dashed #230303;
      width: 100%; }
    .news .pagination .page-numbers {
      display: none; }
  .news .news-articles {
    border-bottom: none; }
    .news .news-articles article {
      width: 100%; }
      .news .news-articles article:last-child {
        margin-bottom: 0; }
    .news .news-articles .pagination a {
      position: relative; }
    .news .news-articles .pagination .page-numbers {
      display: none; }
    .news .news-articles .pagination .page-numbers.prev {
      display: block;
      float: left;
      padding-left: 30px; }
      .news .news-articles .pagination .page-numbers.prev:before {
        content: '';
        display: block;
        box-sizing: border-box;
        border-top: 8px solid transparent;
        border-bottom: 8px solid transparent;
        border-right: 10px solid #000;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 6px;
        margin: auto;
        width: 0;
        height: 12px; }
    .news .news-articles .pagination .page-numbers.next {
      display: block;
      float: right;
      padding-right: 30px; }
      .news .news-articles .pagination .page-numbers.next:after {
        content: '';
        display: block;
        box-sizing: border-box;
        border-top: 8px solid transparent;
        border-bottom: 8px solid transparent;
        border-left: 10px solid #000;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 6px;
        margin: auto;
        width: 0;
        height: 12px; }
  .news.category .cont-inner {
    padding-top: 40px; }
    @media screen and (max-width: 767px) {
      .news.category .cont-inner {
        padding-top: 0; } }
  .news.category .breadcrumb {
    margin-top: 0; }
  .news.single .cont--news {
    padding-top: 100px; }
    @media screen and (max-width: 767px) {
      .news.single .cont--news {
        padding-top: 50px; } }
    @media screen and (max-width: 767px) {
      .news.single .cont--news .news-image {
        display: none; } }
    .news.single .cont--news .cont-inner {
      max-width: 1064px;
      min-width: inherit;
      padding: 70px 20px 0; }
      @media screen and (max-width: 767px) {
        .news.single .cont--news .cont-inner {
          padding: 24px 0 0; } }
  .news.single .breadcrumb {
    margin-top: 0; }
    .news.single .breadcrumb--under {
      border-top: 1px dashed #230303;
      width: 100%;
      height: 90px;
      padding: 30px 0; }
      @media screen and (max-width: 767px) {
        .news.single .breadcrumb--under {
          padding: 20px 0;
          height: 58px; } }
  .news .news-single {
    max-width: 70%;
    padding-right: 60px;
    width: 700px; }
    @media screen and (max-width: 767px) {
      .news .news-single {
        max-width: 100%;
        width: 100%;
        padding: 0 9.375%; } }
    .news .news-single-title {
      font-size: 21px;
      font-weight: 300;
      margin: 0 0 26px;
      line-height: 1.4; }
      @media screen and (max-width: 767px) {
        .news .news-single-title {
          font-size: 14px; } }
    .news .news-single-date {
      font-family: 'Pattaya';
      margin: 0 0 40px; }
      @media screen and (max-width: 767px) {
        .news .news-single-date {
          margin-bottom: 14px; } }
    .news .news-single-thumbnail img {
      max-width: 100%;
      height: auto; }
    .news .news-single-desc {
      line-height: 1.76;
      margin-top: 30px;
      margin-bottom: 100px;
      /*-- 投稿内の各タグ設定 --*/ }
      @media screen and (max-width: 767px) {
        .news .news-single-desc {
          font-size: 12px;
          line-height: 1.5;
          margin-top: 12px;
          margin-bottom: 50px; } }
      .news .news-single-desc h2, .news .news-single-desc h3, .news .news-single-desc h4, .news .news-single-desc h5 {
        font-size: 17px; }
        @media screen and (max-width: 767px) {
          .news .news-single-desc h2, .news .news-single-desc h3, .news .news-single-desc h4, .news .news-single-desc h5 {
            font-size: 12px; } }
      @media screen and (max-width: 767px) {
        .news .news-single-desc p {
          font-size: 12px; } }
      @media screen and (max-width: 767px) {
        .news .news-single-desc ul {
          font-size: 12px;
          padding-left: 20px; } }
    .news .news-single .pagination a {
      position: relative; }
    .news .news-single .pagination .page-numbers.prev {
      display: block;
      float: left; }
      .news .news-single .pagination .page-numbers.prev a {
        display: block;
        padding-left: 30px; }
        .news .news-single .pagination .page-numbers.prev a:before {
          content: '';
          display: block;
          box-sizing: border-box;
          border-top: 8px solid transparent;
          border-bottom: 8px solid transparent;
          border-right: 10px solid #000;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 6px;
          margin: auto;
          width: 0;
          height: 12px; }
    .news .news-single .pagination .page-numbers.next {
      display: block;
      float: right; }
      .news .news-single .pagination .page-numbers.next a {
        display: block;
        padding-right: 30px; }
        .news .news-single .pagination .page-numbers.next a:after {
          content: '';
          display: block;
          box-sizing: border-box;
          border-top: 8px solid transparent;
          border-bottom: 8px solid transparent;
          border-left: 10px solid #000;
          position: absolute;
          top: 0;
          bottom: 0;
          right: 6px;
          margin: auto;
          width: 0;
          height: 12px; }
  .news .news-columns {
    display: flex;
    justify-content: space-between;
    margin-bottom: 70px;
    padding-top: 10px; }
    @media screen and (max-width: 767px) {
      .news .news-columns {
        display: block;
        margin-bottom: 0;
        padding-top: 0; } }
  .news .news-articles {
    max-width: 70%;
    margin-bottom: 0;
    padding-bottom: 0;
    width: 640px; }
    @media screen and (max-width: 767px) {
      .news .news-articles {
        max-width: 100%;
        width: 100%;
        padding: 0 9.375%; } }
  .news .news-sidebar {
    width: 25%;
    min-width: 258px; }
    @media screen and (max-width: 767px) {
      .news .news-sidebar {
        max-width: 100%;
        width: 100%;
        padding: 0 9.375%; } }
    .news .news-sidebar-categories {
      border-top: 1px dashed #230303;
      border-bottom: 1px dashed #230303; }
      @media screen and (max-width: 767px) {
        .news .news-sidebar-categories {
          border-bottom: none; } }
    @media screen and (max-width: 767px) {
      .news .news-sidebar-latest {
        display: none; } }
    .news .news-sidebar-title {
      font-size: 17px;
      margin: 0;
      padding: 30px 0;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .news .news-sidebar-title {
          font-size: 11px;
          padding-bottom: 16px; } }
    .news .news-sidebar-list {
      list-style-type: none;
      margin: 0;
      padding: 0 0 36px 0; }
      .news .news-sidebar-list li {
        margin-bottom: 12px; }
        @media screen and (max-width: 767px) {
          .news .news-sidebar-list li {
            font-weight: 600;
            text-align: center; } }
        .news .news-sidebar-list li a {
          background-color: rgba(255, 255, 255, 0.5);
          border: 1px solid rgba(0, 0, 0, 0.5);
          color: #000;
          display: block;
          letter-spacing: 0.05em;
          line-height: 50px;
          padding-left: 20px;
          position: relative;
          width: 260px;
          -webkit-transition: all 0.3s ease;
          -moz-transition: all 0.3s ease;
          -o-transition: all 0.3s ease;
          transition: all 0.3s ease; }
          @media screen and (max-width: 767px) {
            .news .news-sidebar-list li a {
              font-size: 11px;
              padding-left: 0;
              width: 100%; } }
          .news .news-sidebar-list li a:after {
            content: '';
            display: block;
            box-sizing: border-box;
            border-top: 8px solid transparent;
            border-bottom: 8px solid transparent;
            border-left: 10px solid #000;
            position: absolute;
            top: 0;
            bottom: 0;
            right: 20px;
            margin: auto;
            width: 0;
            height: 0;
            -webkit-transition: all 0.3s ease;
            -moz-transition: all 0.3s ease;
            -o-transition: all 0.3s ease;
            transition: all 0.3s ease; }
            @media screen and (max-width: 767px) {
              .news .news-sidebar-list li a:after {
                right: 35px;
                border-top: 5px solid transparent;
                border-bottom: 5px solid transparent;
                border-left: 6px solid #000; } }
          .news .news-sidebar-list li a:hover {
            color: #fff;
            background-color: #000; }
            .news .news-sidebar-list li a:hover:after {
              border-left-color: #fff; }
        .news .news-sidebar-list li:not(:last-child) {
          margin-bottom: 12px; }
    .news .news-sidebar .news-articles {
      max-width: inherit;
      width: 100%; }
      .news .news-sidebar .news-articles article {
        padding-left: 45px; }
        .news .news-sidebar .news-articles article:last-child {
          margin-bottom: 20px; }
        .news .news-sidebar .news-articles article h3 {
          width: 45px;
          line-height: 45px; }
      .news .news-sidebar .news-articles-desc {
        font-size: 13px; }
    .news .news-sidebar .btn-square--02 {
      border-width: 1px;
      width: 100%;
      padding: 5px; }
      .news .news-sidebar .btn-square--02-border {
        height: 32px;
        line-height: 26px;
        font-size: 12px; }
        .news .news-sidebar .btn-square--02-border:after {
          border-top: 5px solid transparent;
          border-bottom: 5px solid transparent;
          border-left: 6px solid #fff; }
        .news .news-sidebar .btn-square--02-border:hover:after {
          border-left-color: #000; }

.page404 main {
  height: 100%; }
  @media screen and (max-width: 767px) {
    .page404 main {
      height: 50%; } }
.page404 .cont {
  padding-top: 150px;
  height: 100%; }
  @media screen and (max-width: 767px) {
    .page404 .cont {
      padding: 36% 9.375% 0; } }
  .page404 .cont p {
    text-align: center; }
    @media screen and (max-width: 767px) {
      .page404 .cont p {
        font-size: 12px; } }
.page404 .footer {
  position: absolute;
  bottom: 0; }
  @media screen and (max-width: 767px) {
    .page404 .footer {
      position: relative; } }

/*# sourceMappingURL=styles.css.map */
