@charset "utf-8";
/* CSS Document01 */

/**********************************************************
 * リセット
 * ベース部分
 * ヘッダー
 * サイドバー
 * 見出し・本文設定
 * メインエリア
 * テーブル
 * フッター
 * その他
/**********************************************************/

/**********************************************************/
/* リセット */
/**********************************************************/

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

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

html {
  overflow-y: scroll;
  overflow-x: hidden;
}

blockquote,
q {
  quotes: none;
}

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

input,
textarea {
  margin: 0;
  padding: 0;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

ol {
  margin: 0;
  padding: 0;
}

li {
  margin: 0;
  padding: 0;
}

dl,
dt,
dd {
  margin: 0;
  padding: 0;
}

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

caption,
th {
  text-align: left;
}

a:focus {
  outline: none;
}

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*¥*/ /*/
	height: auto;
	overflow: hidden;
	/**/
}

.both {
  clear: both;
}

.inline_block {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

a {
  text-decoration: none;
  color: #444;
}

p a {
  text-decoration: underline;
}
p a:hover {
  color: #8b5b1b;
}

/**********************************************************/
/* ベース部分 */
/**********************************************************/

body {
  width: 100%;
  font-size: 14px;
  line-height: 1.7;
  color: #444;
}

.pc_none,
.hidden {
  display: none;
}


.to_contact a {
  width: 57px;
  height: 201px;
  background: url(../_common/images/to_contact.png) no-repeat;
  display: block;
  text-indent: -10000em;
  overflow: hidden;
  position: fixed;
  top: 120px;
  right: 0;
  transition: all 0.3s ease;
}
.to_contact a:hover {
  background: url(../_common/images/to_contact_hover.png) no-repeat;
}

/**********************************************************/
/* ヘッダー */
/**********************************************************/

.fixedbox {
  background: #fff;
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 999999;
  /*background:url(../_common/images/header/header.jpg);*/
}

header {
  width: 100%;
  height: 69px;
  margin: 0 auto;
  overflow: hidden;
  /*padding:0 43px;*/
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

#header {
  font-family: "游ゴシック", Yu Gothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN",
    "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴPro W3",
    "Hiragino Kaku Gothic Pro", "MS PGothic", sans-serif;
  height: auto;
  margin-bottom: 0;
}

header #logo {
  width: 200px;
  height: 35px;
  display: inline-block;
  overflow: hidden;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 20px;
}

header #logo img {
  width: 100%;
  height: 100%;
}

/* ナビゲーションメニュー */

nav#gnavi {
  color: #000;
  /*margin-left: auto;*/
  font-size: 0;
  display: flex;
}

nav#gnavi .gnavi_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 69px;
  padding: 0 15px;
  text-align: center;
  cursor: pointer;
  color: #333;
   font-size: 1vw; /* 0.8rem */  font-weight: bold;
}

.gnavi_btn br {
  display: none;
}

/* snsアイコン */

.sns_icon img {
  width: 40px;
  height: 40px;
  position: relative;
  top: 32px;
  transform: translateY(-50%);
}
.sns_icon {
  transition: 0.3s;
}
.sns_icon:hover {
  opacity: 0.5;
}

/* 来場予約・資料請求ボタン */

#header_restour,
#header_reqdoc {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #00A9C9;
  color: #fff;
  height: 69px;
  padding: 0 10px;
  text-align: center;
  font-size: 1vw;
  font-weight: bold;
  transition: 0.3s;
  border-right: 1px solid #fff;
}
/* 総合お問い合わせ窓口ボタン */
#inquirie {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 69px;
  background-color: #00A9C9;
  color: #fff;
  transition: 0.3s;
  text-align: center;
  font-size: 1vw;
  padding: 0 10px;
  font-weight: bold;
}

#inquirie br {
  display: none;
}
#responsive_nav_reqdoc,
#responsive_nav_restour {
  display: none;
  width: 60px;
  height: 69px;
  background-color: #00A9C9;
  transition: 0.3s;
  text-align: center;
  padding: 0 2px;
  position: fixed;
  top: 0;
  right: 70px;
  box-sizing: border-box;
  z-index: 999999;
}
#responsive_nav_reqdoc {
  right: 131px;
}
#responsive_nav_reqdoc > div,
#responsive_nav_restour > div {
  width: 69px;
  position: absolute;
  transform: translateX(-50%) translateY(-50%);
  top: 50%;
  left: 50%;
}
#responsive_nav_reqdoc img,
#responsive_nav_restour img {
  width: 25px;
  height: 25px;
  display: block;
  margin: auto;
}

#responsive_nav_reqdoc span,
#responsive_nav_restour span {
  font-weight: bold;
  font-size: 0.7rem;
  color: #fff;
}

#responsive_nav_inquiries {
  display: none;
  justify-content: center;
  align-items: center;
  height: 69px;
  vertical-align: middle;
  background-color: #00A9C9;
  color: #fff;
  transition: 0.3s;
  text-align: center;
  font-size: 0.9rem;
  padding: 0 0.5%;
  font-weight: bold;
  position: fixed;
  top: 0;
  right: 69px;
  z-index: 999999;
}
nav#gnavi .gnavi_btn:hover {
  color: #00A9C9;
}
#header_restour:hover,
#header_reqdoc:hover,
#inquirie:hover {
  opacity: 0.8;
}

/* メニューホバー時に表示される詳細メニュー */
.menu_block {
  display: block;
  visibility: hidden;
  position: absolute;
  z-index: -10;
  left: 0;
  top: 69px;
  width: 100%;
  height: 0px;
  line-height: 0px;
  background-color: rgba(0, 169, 201, 0.9);
  transition: 0.3s;
  font-size: 1rem;
  color: #fff;
  text-align: center;
}
.menu_block a {
  color: #fff;
  margin: 0 1rem;
  font-weight: bold;
  border-bottom: solid 1px #fff;
}
.menu_block a:hover {
  opacity: 0.5;
}
.menu_title {
  position: relative;
  margin-right: 30px;
  font-weight: bold;
}
.menu_title:after {
  content: "";
  position: absolute;
  display: inline-block;
  height: 0px;
  transition: 0.3s;
  width: 1px;
  background-color: #fff;
  margin: 0 30px;
}
.gnavi_btn:hover + .menu_block,
.menu_block:hover {
  visibility: visible;
  line-height: 120px;
  height: 120px;
  z-index: 10;
}
.gnavi_btn:hover + .menu_block > .menu_title:after,
.menu_block:hover > .menu_title:after {
  height: 90px;
  margin-top: 15px;
}

.cp_bana_area {
  display: block;
  max-width: 980px;
  text-align: center;
  margin: 10px auto;
}
.cp_bana_area img {
  width: 90%;
}
.cp_bana_area .annotation {
  font-size: 10px;
  display: block;
  width: 90%;
  margin: auto;
  text-align: left;
}

/****************************************/
/*　　　　レスポンシブ用　ヘッダースタイル　　　*/
/****************************************/
#responsive_glovalnav {
  position: fixed;
  z-index: 9999999;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 69px);
  overflow-y: scroll;
  background-color: rgba(0, 169, 201, 0.9);
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1);
  color: #fff;
  margin: 69px auto auto;
  text-align: center;
  /*display: none;*/
  visibility: hidden;
  box-sizing: content-box;
  transition: 0.5s;
  opacity: 0;
}
#responsive_glovalnav input[type="checkbox"] {
  display: none;
}
#responsive_glovalnav label,
#responsive_glovalnav > a {
  display: block;
  text-align: left;
  text-indent: 1rem;
  font-size: 1rem;
  font-weight: bold;
  width: 90%;
  height: auto;
  color: #fff;
  margin: auto;
  border-bottom: solid 2px #fff;
  padding: 15px 0;
  position: relative;
}
/*** スマホアコーディオン　＋,－　ボタン ***/
.accordion_toggle {
  position: absolute;
  width: 30px;
  height: 30px;
  background-color: #fff;
  border-radius: 40px;
  color: #00A9C9;
  text-indent: 0;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  transform: translateY(-50%);
  top: 50%;
  right: 0;
}

.accordion_toggle:before,
.accordion_toggle:after {
  content: "";
  position: absolute;
  width: 60%;
  height: 3px;
  background: #00A9C9;
  transform: translateX(50%) translateY(-50%);
  top: 50%;
  right: 50%;
  transition: 0.3s;
}
.accordion_toggle:after {
  transform: translateX(50%) translateY(-50%) rotate(90deg);
  transition: 0.3s;
}

#responsive_glovalnav
  input[type="checkbox"]:checked
  + label
  .accordion_toggle:after {
  transform: translateX(50%) translateY(-50%) rotate(180deg);
}
#responsive_glovalnav
  input[type="checkbox"]:checked
  + label
  .accordion_toggle:before {
  transform: translateX(50%) translateY(-50%) rotate(-180deg);
}
/*****************************************/

.link_triangle {
  position: absolute;
  width: 30px;
  height: 30px;
  transform: translateY(-50%);
  top: 50%;
  right: 0;
}

.link_triangle:after {
  content: "";
  position: absolute;
  width: 40%;
  height: 40%;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: translateY(-50%) rotate(45deg);
  top: 50%;
  right: 40%;
}
/*****************************************/
.link_external {
  position: absolute;
  width: 35px;
  height: 35px;
  transform: translateY(-50%);
  top: 50%;
  right: 0;
}

.link_external:before,
.link_external:after {
  content: "";
  position: absolute;
  border: solid 2px #fff;
  width: 10px;
  height: 10px;
}

.link_external:before {
  top: 23%;
  left: 23%;
}
.link_external:after {
  bottom: 23%;
  right: 23%;
}

/*****************************************/
#responsive_glovalnav > div.accordion_block {
  visibility: hidden;
  height: 0;
  transition: 0.3s;
}

#responsive_glovalnav
  input[type="checkbox"]:checked
  + label
  + .accordion_block {
  visibility: visible;
}

/*****************************************/

#responsive_glovalnav > div.accordion_block > a,
#responsive_glovalnav > a {
  display: block;
  opacity: 0;
  text-align: left;
  text-indent: 2rem;
  font-size: 0.9rem;
  font-weight: bold;
  width: 90%;
  height: 0px;
  color: #fff;
  margin: auto;
  border-bottom: dashed 2px #fff;
  padding: 0;
  box-sizing: border-box;
  transition: 0.2s;
  visibility: hidden;
  position: relative;
}

#responsive_glovalnav > a {
  border-bottom: solid 2px #fff;
  opacity: 1;
  padding: 15px 0;
  height: auto;
  font-size: 1rem;
  text-indent: 1rem;
  transition: 0.5s;
}
#responsive_glovalnav > div.accordion_block > a:last-of-type {
  border-bottom: solid 2px #fff;
}
/*#responsive_glovalnav>label,
#responsive_glovalnav>a{
    background-color: rgba(0,93,56,1);
    position: relative;
    z-index: 9999999;
}*/
#responsive_glovalnav
  input[type="checkbox"]:checked
  + label
  + .accordion_block
  > a {
  opacity: 1;
  padding: 15px 0;
  height: auto;
  visibility: visible;
}

#responsive_nav_open {
  display: none;
}
#responsive_nav_open + label {
  display: none;
  width: 69px;
  height: 69px;
  font-weight: bold;
  padding: 10px 10px 3px;
  background-color: #00A9C9;
  color: #fff;
  text-align: center;
  cursor: pointer;
  font-size: 0.8rem;
}
#responsive_nav_open + label > span {
  display: block;
  width: 85%;
  height: 3px;
  margin: 7px auto;
  background-color: #fff;
}
#responsive_nav_open + label > span:last-of-type {
  margin-bottom: 3px;
}

#main {
  display: block;
  margin-top: 69px;
}
/* パンくず */
#breadcrumbs {
  border-bottom: solid 1px #ccc;
  margin-top: 0;
}
#breadcrumbs p {
  max-width: 980px;
  font-size: 12px;
  padding: 5px 4%;
  margin: 0 auto;
  box-sizing: content-box;
}

/****************************************/
/*　　　　レスポンシブ用　スタイル　　　　　　　*/
/****************************************/
@media screen and (max-width: 1400px) {
  header #logo {
    width: 15%;
    max-width: 200px;
    height: auto;
  }

  #header_restour,
  #header_reqdoc,
  #inquirie,
  nav#gnavi .gnavi_btn {
    padding: 0 1.1vw; /* 0 5px */
    font-size: 1.1vw; /* 0.8rem */
  }
  .menu_block {
    font-size: 0.8rem;
  }

  .menu_block a {
    margin: 0 0.5rem;
  }

  #inquirie br {
    display: block;
  }
  .sns_icon {
    display: none;
  }

  nav#gnavi .gnavi_btn br {
    display: block;
  }
}

@media screen and (max-width: 850px) {
  .fixedbox {
    background: #fff;
    width: 100%;
  }
  header #logo {
    width: 40%;
    height: 100%;
    display: inline-block;
    overflow: hidden;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 10px;
  }
  header #logo img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  #top_img {
    display: none;
  }
  nav#gnavi,
  #inquirie {
    display: none;
  }

  #responsive_nav_inquiries {
    display: flex;
  }
  #responsive_nav_reqdoc,
  #responsive_nav_restour {
    display: block;
  }
  #responsive_nav_open + label {
    display: inline-block;
    position: fixed;
    z-index: 99999999;
    right: 0px;
    top: 0px;
    box-sizing: border-box;
  }
  #responsive_nav_open:checked + label {
    background: #00A9C9;
    border-bottom: none;
  }
  #responsive_nav_open:checked + label + #responsive_glovalnav,
  #responsive_nav_open:checked + label + #responsive_glovalnav > a {
    /*display: block;*/
    opacity: 1;
    visibility: visible;
  }
}
@media screen and (max-width: 350px) {
  header {
    padding: 0;
  }
  header #logo {
    margin-left: 0;
  }
}

/*
#headline {
    max-width: 980px;
    margin: 30px auto 40px;
}
#headline h1 {
    color: #8B5B1B;
    font-size: 2em;
    text-align: center;
    padding-top: 0;
}
.sub {
    color: #999;
    font-size: 1.1em;
    text-align: center;
}
*/
#headline {
  max-width: 980px;
  margin: 30px auto 40px;
  position: relative;
}

#headline::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 15px;
  background-color: #000000;
  left: 50%;
  top: 100%;
}

#headline h1 {
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI",
    "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Yu Gothic", Verdana,
    Meiryo, sans-serif;
  color: #000000;
  font-size: 24px;
  font-weight: normal;
  text-align: center;
  padding-top: 0;
}
.sub {
  color: #00A9C9;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin-bottom: -10px;
}
#top_img {
  height: 200px;
  text-align: center;
}

/******感染症対策　共通スタイル*******/
.taisaku_block {
  max-width: 980px;
  margin: 40px auto;
  border: solid 2px #5bc1da;
  box-sizing: border-box;
  transition: 0.3s;
}

.taisaku_block a .pc {
  display: block;
  width: 100%;
}

.taisaku_block a .sp {
  display: none;
  width: 100%;
}

.taisaku_block a p {
  text-align: center;
  padding: 10px 0;
  font-size: 16px;
  color: #5bc1da;
  font-weight: bold;
  font-family: Yu Gothic;
  transition: 0.3s;
}
.taisaku_block:hover {
  opacity: 0.8;
}

.taisaku_block a:hover > p {
  background-color: #5bc1da;
  color: #fff;
}

@media screen and (max-width: 850px) {
  #headline h1 {
    font-size: 20px;
  }
  .taisaku_block {
    width: 90%;
  }
  .taisaku_block a .pc {
    display: none;
  }

  .taisaku_block a .sp {
    display: block;
  }
  .cp_bana_area {
    display: block;
    text-align: center;
  }
  .cp_bana_area img {
    width: 90%;
  }
  .cp_bana_area .annotation {
    font-size: 10px;
    display: block;
    width: 90%;
    margin: auto;
    text-align: left;
  }
}

/***********************************/
/*----------------------------*/
.bnbox {
  margin: 0 auto 30px;
  max-width: 980px;
  /*	height:120px;*/
}
.bnbox small {
  text-align: left !important;
  font-size: 11px;
}
.bnbox a {
  transition: 0.4s;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.08);
}
.bnbox a:hover {
  opacity: 0.6;
}
.bnbox img {
  max-width: 100%;
}
.bnbox a img {
  vertical-align: bottom;
}
.bana_sp {
  display: none;
}
@media screen and (max-width: 797px) {
  .bnbox {
    max-width: 440px;
  }
  .bana_pc {
    display: none;
  }
  .bana_sp {
    display: block;
  }
}
/* --------------------------- */

/* movie */
.movie_box {
  margin: 40px 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 980px;
}
.movie_box > div {
  position: relative;
  width: 60%;
}
.movie_box > div::before {
  display: block;
  content: "";
  padding-top: 56.25%;
}
.movie_box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
