@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Lora:ital@1&display=swap");
div#event-top-img {
  padding-top: 30px; }
  div#event-top-img img {
    width: 100%;
    height: auto; }

p#all-reserved {
  text-align: center;
  border: thin solid #eeeff0;
  padding: 10px;
  margin-top: 30px; }

div.ttl_common {
  color: #604c3f;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 100px;
  border-bottom: thin solid #ccc;
  line-height: 30px;
  padding-bottom: 10px;
  position: relative; }
  div.ttl_common h2 {
    float: left;
    font-weight: normal;
    font-size: 30px; }
  div.ttl_common p {
    float: right;
    font-family: 'Lora', serif; }
  @media screen and (max-width: 768px) {
    div.ttl_common {
      padding-top: 10px; }
      div.ttl_common h2, div.ttl_common p {
        float: none;
        text-align: center; }
      div.ttl_common h2 {
        font-size: 20px; }
      div.ttl_common p {
        font-size: 12px;
        position: relative;
        right: 0; } }

div.newsbox {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto; }
  div.newsbox div.mainimg {
    width: 40%;
    padding: 5%;
    float: left; }
  @media screen and (max-width: 768px) {
    div.newsbox {
      margin-bottom: 50px; }
      div.newsbox div.mainimg {
        width: 70%;
        padding: 15%;
        float: none; } }

div.content-lead {
  width: 100%;
  max-width: 1200px;
  margin: 30px auto 0;
  font-size: 16px;
  text-align: left;
  line-height: 30px;
  color: #604c3f; }
  @media screen and (max-width: 768px) {
    div.content-lead {
      width: 80%;
      margin: 30px auto; } }

div.pickup-cont, div.pickup-dsp {
  width: 40%;
  padding: 5%;
  float: right;
  text-align: center; }
  @media screen and (max-width: 768px) {
    div.pickup-cont, div.pickup-dsp {
      width: 90%;
      float: none;
      overflow: hidden; } }
  div.pickup-cont div.pickup, div.pickup-dsp div.pickup {
    width: 80%;
    margin-top: -50px; }
    @media screen and (max-width: 768px) {
      div.pickup-cont div.pickup, div.pickup-dsp div.pickup {
        width: 100%;
        margin-top: 0; } }
    div.pickup-cont div.pickup div.pickup-head, div.pickup-dsp div.pickup div.pickup-head {
      position: relative; }
      div.pickup-cont div.pickup div.pickup-head div.pickup-pop, div.pickup-dsp div.pickup div.pickup-head div.pickup-pop {
        position: absolute;
        width: 100%;
        right: -175px;
        bottom: -34px; }
        div.pickup-cont div.pickup div.pickup-head div.pickup-pop img, div.pickup-dsp div.pickup div.pickup-head div.pickup-pop img {
          width: 165px;
          height: auto; }
        @media screen and (max-width: 768px) {
          div.pickup-cont div.pickup div.pickup-head div.pickup-pop, div.pickup-dsp div.pickup div.pickup-head div.pickup-pop {
            overflow: hidden;
            right: -146px;
            bottom: 0; }
            div.pickup-cont div.pickup div.pickup-head div.pickup-pop img, div.pickup-dsp div.pickup div.pickup-head div.pickup-pop img {
              width: 115px; } }
      div.pickup-cont div.pickup div.pickup-head h2, div.pickup-dsp div.pickup div.pickup-head h2 {
        font-size: 14px;
        text-align: left;
        color: #604c3f;
        padding: 10px 0; }
      div.pickup-cont div.pickup div.pickup-head p, div.pickup-dsp div.pickup div.pickup-head p {
        font-size: 30px;
        line-height: 50px;
        text-align: left;
        color: #604c3f;
        padding: 10px 0 20px 0; }
    div.pickup-cont div.pickup div.pickup-imgcont, div.pickup-dsp div.pickup div.pickup-imgcont {
      border-radius: 5px;
      overflow: hidden; }
      div.pickup-cont div.pickup div.pickup-imgcont img, div.pickup-dsp div.pickup div.pickup-imgcont img {
        width: 100%;
        height: auto; }
    div.pickup-cont div.pickup div.pickup-discript, div.pickup-dsp div.pickup div.pickup-discript {
      padding: 30px 0;
      font-size: 16px;
      text-align: left;
      line-height: 30px;
      color: #604c3f; }
      div.pickup-cont div.pickup div.pickup-discript h3, div.pickup-dsp div.pickup div.pickup-discript h3 {
        margin-bottom: 1rem;
        font-weight: normal;
        font-size: 1.2rem;
        letter-spacing: 0.2rem;
        border-bottom: thin dotted #ccc; }
      div.pickup-cont div.pickup div.pickup-discript p, div.pickup-dsp div.pickup div.pickup-discript p {
        margin-bottom: 2rem; }
        div.pickup-cont div.pickup div.pickup-discript p span, div.pickup-dsp div.pickup div.pickup-discript p span {
          font-size: 0.8rem; }
      div.pickup-cont div.pickup div.pickup-discript ul, div.pickup-dsp div.pickup div.pickup-discript ul {
        margin-bottom: 2rem; }
        div.pickup-cont div.pickup div.pickup-discript ul li, div.pickup-dsp div.pickup div.pickup-discript ul li {
          padding: 0.3rem 0;
          font-size: 1.2rem;
          letter-spacing: 0.1rem;
          float: none;
          border-bottom: thin dashed #ccc; }
    div.pickup-cont div.pickup div.pickup-price, div.pickup-dsp div.pickup div.pickup-price {
      padding: 30px 0 10px 0;
      text-align: left;
      font-size: 50px;
      color: #604c3f; }
      div.pickup-cont div.pickup div.pickup-price span, div.pickup-dsp div.pickup div.pickup-price span {
        font-size: 12px; }
      @media screen and (max-width: 768px) {
        div.pickup-cont div.pickup div.pickup-price, div.pickup-dsp div.pickup div.pickup-price {
          text-align: center; } }

a.btn-reserve {
  display: block;
  width: 100%;
  border: thin solid #ccc;
  color: #604c3f;
  margin-top: 30px;
  padding: 10px 0;
  position: relative;
  text-align: center; }
  a.btn-reserve:after {
    position: absolute;
    top: 50%;
    right: 20px;
    width: 0;
    height: 0;
    content: '';
    margin-top: -1px;
    margin-left: -3px;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-top: 3px solid #534741; }
  a.btn-reserve:hover {
    opacity: 0.5; }

div.wideimg {
  width: 100%;
  height: 500px;
  overflow: hidden;
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  position: relative; }
  div.wideimg h2 {
    background-color: #fff;
    font-size: 14px;
    padding: 20px;
    color: #604c3f;
    position: absolute;
    bottom: 0;
    left: 0;
    font-weight: normal; }
  @media screen and (max-width: 768px) {
    div.wideimg {
      background-attachment: inherit; }
      div.wideimg h2 {
        font-size: 10px;
        padding: 5px 10px; } }

@media screen and (max-width: 768px) {
  div#concept {
    padding: 50px 0; } }
div#concept h2 {
  text-align: center; }
  div#concept h2 p {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    /* すべて縦方向に表示 */
    text-align: left;
    display: inline-block;
    font-weight: normal;
    line-height: 50px;
    letter-spacing: 5px;
    font-size: 24px;
    color: #604c3f; }
div#concept ul {
  display: table;
  padding-top: 50px;
  max-width: 700px;
  width: 100%;
  margin: 0 auto; }
  div#concept ul li {
    display: table-cell;
    width: 33.3%;
    text-align: center; }
    div#concept ul li img {
      height: auto; }
  div#concept ul > li:nth-child(1) img {
    width: 81.9%; }
  div#concept ul > li:nth-child(2) img {
    width: 96.9%; }
  div#concept ul > li:nth-child(3) img {
    width: 79.3%; }
div#concept div.concept-body {
  margin-top: 50px; }
  div#concept div.concept-body p {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    /* すべて縦方向に表示 */
    text-align: left;
    display: inline-block;
    font-weight: normal;
    line-height: 30px;
    letter-spacing: 5px;
    font-size: 14px;
    color: #604c3f; }
    @media screen and (max-width: 768px) {
      div#concept div.concept-body p {
        font-size: 10px;
        line-height: 18px; } }
    @media screen and (max-width: 320px) {
      div#concept div.concept-body p {
        display: none; } }
div#concept div.concept-imgs {
  display: table;
  margin: 0 auto; }
  div#concept div.concept-imgs p {
    display: table-cell;
    padding: 2%; }
    div#concept div.concept-imgs p img {
      width: 96%;
      height: auto; }
  @media screen and (max-width: 768px) {
    div#concept div.concept-imgs {
      display: block; }
      div#concept div.concept-imgs p {
        display: block;
        padding: 10%; }
        div#concept div.concept-imgs p img {
          width: 80%; } }

div#why {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 50px 0; }
  div#why div#why-head {
    display: table;
    width: 100%; }
    div#why div#why-head div {
      display: table-cell;
      width: 42%;
      padding: 4%; }
      div#why div#why-head div img {
        width: 100%;
        height: auto; }
    @media screen and (max-width: 768px) {
      div#why div#why-head {
        display: block; }
        div#why div#why-head div {
          width: 70%;
          display: block;
          padding: 5% 15%; } }
  div#why div#why-body {
    color: #604c3f;
    padding: 4%;
    font-size: 20px;
    line-height: 40px; }
    @media screen and (max-width: 768px) {
      div#why div#why-body {
        padding: 10%;
        font-size: 16px;
        line-height: 35px; } }

div.archive-cont {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 30px 0 100px 0; }

div.menu-item {
  border-radius: 10px;
  border: thin solid #ccc;
  overflow: hidden;
  width: 22%;
  margin: 1%;
  float: left; }
  div.menu-item p.item-img {
    width: 100%;
    color: #604c3f; }
    div.menu-item p.item-img img {
      width: 100%; }
  div.menu-item div {
    width: 80%;
    padding: 0 10% 10%;
    color: #604c3f;
    position: relative; }
    div.menu-item div h3 {
      font-weight: normal;
      height: 70px;
      line-height: 70px;
      text-align: center;
      width: 100%; }
      div.menu-item div h3 span {
        font-size: 10px; }
    div.menu-item div p {
      font-size: 12px; }
    div.menu-item div p.item-date {
      position: absolute;
      bottom: 10px;
      right: 10px;
      font-family: 'Lora', serif; }
  @media screen and (max-width: 768px) {
    div.menu-item {
      display: block;
      width: 45%;
      padding: 0;
      margin: 2%;
      float: left; }
      div.menu-item > p, div.menu-item > div {
        display: block;
        width: 100%; }
      div.menu-item div {
        width: 90%;
        padding: 0 5%;
        position: relative;
        height: 200px; }
        div.menu-item div h3 {
          font-size: 12px;
          padding: 0;
          text-align: center; }
        div.menu-item div p {
          font-size: 10px;
          line-height: 18px;
          padding-bottom: 20px; }
        div.menu-item div p.item-date {
          position: absolute;
          padding-bottom: 0;
          font-size: 12px; } }

div.access-cont {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  color: #604c3f; }
  div.access-cont div.access-left {
    float: left;
    width: 23.2%; }
    div.access-cont div.access-left p#access-map {
      padding: 30px 0;
      margin-bottom: 30px; }
    div.access-cont div.access-left p#access-add {
      font-size: 14px;
      margin-bottom: 10px; }
    div.access-cont div.access-left p#access-link {
      text-align: center; }
      div.access-cont div.access-left p#access-link a {
        font-size: 20px;
        text-decoration: underline; }
  div.access-cont div.access-right {
    float: right;
    width: 66.8%;
    padding: 0 5%; }
    div.access-cont div.access-right div#access-announce {
      position: relative;
      margin-top: 51px; }
      div.access-cont div.access-right div#access-announce div#announce {
        border: thin solid #ccc;
        border-radius: 10px;
        padding: 30px 0;
        width: 70%;
        text-align: center;
        position: relative;
        font-size: 20px;
        line-height: 35px; }
        div.access-cont div.access-right div#access-announce div#announce p.baloon-root {
          position: absolute;
          right: -35px;
          top: 50%; }
          div.access-cont div.access-right div#access-announce div#announce p.baloon-root img {
            width: 40px;
            height: auto; }
      div.access-cont div.access-right div#access-announce p#usagi {
        position: absolute;
        top: -30px;
        right: 0; }
        div.access-cont div.access-right div#access-announce p#usagi img {
          width: 191px;
          height: auto; }
    div.access-cont div.access-right div#access-txt {
      margin-top: 30px;
      font-size: 20px;
      line-height: 35px; }
      div.access-cont div.access-right div#access-txt p {
        margin-bottom: 30px; }
        div.access-cont div.access-right div#access-txt p span {
          font-size: 12px;
          line-height: 20px; }
  @media screen and (max-width: 768px) {
    div.access-cont div.access-left {
      float: none;
      width: 60%;
      padding: 20%;
      text-align: center; }
    div.access-cont div.access-right {
      float: none;
      width: 90%;
      overflow: hidden; }
      div.access-cont div.access-right div#access-announce div#announce {
        font-size: 14px;
        line-height: 25px;
        width: 33%;
        padding: 30px 10%; }
      div.access-cont div.access-right div#access-announce p#usagi img {
        width: 100%; }
    div.access-cont div#access-txt {
      font-size: 16px;
      padding-left: 10%;
      width: 80%; } }

div.menu-box {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  margin-top: 30px;
  color: #604c3f; }
  div.menu-box div#menu-head {
    margin: 30px 0;
    display: table; }
    div.menu-box div#menu-head div#menu-head-usagi {
      display: table-cell;
      vertical-align: middle;
      width: 25.4%;
      padding: 0 5%; }
      div.menu-box div#menu-head div#menu-head-usagi img {
        width: 100%; }
    div.menu-box div#menu-head div#menu-head-baloon {
      display: table-cell;
      vertical-align: middle;
      width: 33.8%;
      padding-right: 5%;
      margin: 0 5%;
      position: relative; }
      div.menu-box div#menu-head div#menu-head-baloon p.menu-announce {
        border: thin solid #ccc;
        border-radius: 10px;
        padding: 30px;
        font-size: 20px;
        line-height: 35px; }
      div.menu-box div#menu-head div#menu-head-baloon p.baloon-root {
        position: absolute;
        left: -35px;
        top: 50%; }
        div.menu-box div#menu-head div#menu-head-baloon p.baloon-root img {
          width: 40px;
          height: auto; }
    div.menu-box div#menu-head div#menu-head-cafe {
      display: table-cell;
      vertical-align: middle;
      width: 40%; }
      div.menu-box div#menu-head div#menu-head-cafe img {
        width: 100%;
        height: auto; }
    @media screen and (max-width: 768px) {
      div.menu-box div#menu-head {
        display: block;
        overflow: hidden;
        position: relative; }
        div.menu-box div#menu-head div#menu-head-usagi {
          float: left;
          display: block;
          width: 35%; }
          div.menu-box div#menu-head div#menu-head-usagi img {
            width: 100%; }
        div.menu-box div#menu-head div#menu-head-baloon {
          float: right;
          display: block;
          width: 49%;
          margin: 0; }
          div.menu-box div#menu-head div#menu-head-baloon p.menu-announce {
            font-size: 14px;
            line-height: 25px;
            padding: 30px 10%; }
        div.menu-box div#menu-head div#menu-head-cafe {
          clear: both;
          display: block;
          width: 80%;
          margin: 0 10% 30px 10%;
          padding-top: 30px; } }

/* ラジオボタン･チェックボックス用ラベル(フォーカス取得時) */
.focus_label {
  border-style: solid;
  border-width: 1px;
  border-color: #0066ff !important; }

/* ラジオボタン･チェックボックス用ラベル(フォーカス喪失時) */
.blur_label {
  border-style: dashed !important;
  border-width: 1px;
  border-color: #ccc !important; }

/* 今月の研究発表 */
section#pickup-section, section#ec-section {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  margin-top: 30px;
  display: table; }
  section#pickup-section div.pickup-cont, section#ec-section div.pickup-cont {
    display: table-cell;
    vertical-align: middle;
    float: none;
    padding: 5% 0; }
    section#pickup-section div.pickup-cont div.pickup, section#ec-section div.pickup-cont div.pickup {
      width: 100%; }
  section#pickup-section div.pickup-dsp, section#ec-section div.pickup-dsp {
    display: table-cell;
    vertical-align: middle;
    float: none;
    padding: 5%;
    width: 100%; }
    section#pickup-section div.pickup-dsp div.pickup, section#ec-section div.pickup-dsp div.pickup {
      width: 100%; }
  @media screen and (max-width: 768px) {
    section#pickup-section, section#ec-section {
      width: 90%; }
      section#pickup-section div.pickup-cont, section#pickup-section div.pickup-dsp, section#ec-section div.pickup-cont, section#ec-section div.pickup-dsp {
        float: none;
        display: block;
        width: 100%;
        padding: 5% 0; } }

section#reserve-section {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  margin-top: 30px; }
  section#reserve-section div#inquiry-head {
    vertical-align: top;
    display: table-cell;
    padding-top: 2rem;
    width: 50%; }
    section#reserve-section div#inquiry-head h2 {
      font-size: 2rem;
      padding: 2rem 1rem;
      color: #604c3f; }
    section#reserve-section div#inquiry-head p {
      font-size: 1.6rem;
      line-height: 3rem;
      padding: 0 1rem; }
  section#reserve-section div.pickup-cont {
    float: left; }
  section#reserve-section div#inquiry-form {
    vertical-align: top;
    width: 45%;
    float: right;
    padding-right: 5%;
    padding-bottom: 100px; }
    section#reserve-section div#inquiry-form h3 {
      text-align: center;
      font-weight: normal;
      padding: 0.5rem 5%;
      margin-top: 30px; }
      @media screen and (max-width: 768px) {
        section#reserve-section div#inquiry-form h3 {
          margin-top: 0;
          border: thin solid #ccc; } }
    section#reserve-section div#inquiry-form div#address {
      width: 100%;
      margin: 0 auto;
      margin-top: 4rem; }
      section#reserve-section div#inquiry-form div#address > div {
        margin-bottom: 20px; }
        section#reserve-section div#inquiry-form div#address > div > p:first-child {
          padding: 10px 0;
          color: #604c3f; }
        section#reserve-section div#inquiry-form div#address > div > p:nth-child(2) {
          width: 100%;
          text-align: center; }
          section#reserve-section div#inquiry-form div#address > div > p:nth-child(2) input, section#reserve-section div#inquiry-form div#address > div > p:nth-child(2) textarea {
            padding: 1rem 4%;
            margin: 0 0.5rem 0 -2%;
            font-size: 1rem;
            border: thin solid #ccc;
            border-radius: 4px;
            width: 96%; }
        section#reserve-section div#inquiry-form div#address > div > ul.ratiogroup {
          display: table;
          width: 100%; }
          section#reserve-section div#inquiry-form div#address > div > ul.ratiogroup li {
            display: table-cell;
            text-align: center;
            padding: 10px; }
            section#reserve-section div#inquiry-form div#address > div > ul.ratiogroup li p {
              border: thin solid #ccc;
              border-radius: 5px;
              padding: 10px;
              color: #604c3f; }
              section#reserve-section div#inquiry-form div#address > div > ul.ratiogroup li p label {
                margin-left: 10px;
                cursor: pointer; }
              section#reserve-section div#inquiry-form div#address > div > ul.ratiogroup li p input[type='radio'] {
                display: none; }
      section#reserve-section div#inquiry-form div#address h4 {
        text-align: center; }
        section#reserve-section div#inquiry-form div#address h4 input.btn-submit {
          width: 100%;
          background-color: #f2eae1;
          padding: 10px 0;
          font-size: 18px;
          border-radius: 6px;
          margin: 0 auto;
          text-align: center; }
        section#reserve-section div#inquiry-form div#address h4 input.btn-submit:hover {
          background-color: #fff; }
  @media screen and (max-width: 768px) {
    section#reserve-section {
      padding-bottom: 100px; }
      section#reserve-section div.pickup-cont {
        float: none; }
      section#reserve-section div#inquiry-form {
        float: none;
        width: 80%;
        padding: 0 10%; } }

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer; }

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none; }

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px; }

/* form.php でのスタイル */
section.form-cont {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  border-radius: 10px;
  background-color: #fff;
  filter: drop-shadow(0px 0px 15px rgba(0, 0, 0, 0.05));
  margin-top: 50px;
  padding: 50px; }
  @media screen and (max-width: 768px) {
    section.form-cont {
      width: 80%;
      margin: 30px auto;
      padding: 50px 5%; } }
  section.form-cont form {
    color: #604c3f; }
    section.form-cont form h2 {
      text-align: left;
      font-size: 20px;
      font-weight: normal; }
    section.form-cont form h3 {
      padding: 50px 0;
      font-size: 16px;
      font-weight: normal; }
    section.form-cont form p.error_messe {
      font-size: 16px;
      padding: 10px 0;
      color: #540505; }
    section.form-cont form div.btn_back {
      margin-top: 50px; }
      section.form-cont form div.btn_back input, section.form-cont form div.btn_back p {
        width: 100%;
        background-color: #ccc;
        padding: 10px 0;
        font-size: 18px;
        border-radius: 6px;
        margin: 0 auto;
        text-align: center;
        color: #fff; }
    section.form-cont form button.btn_submit {
      width: 100%;
      background-color: #f2eae1;
      padding: 10px 0;
      font-size: 18px;
      border-radius: 6px;
      margin: 0 auto;
      text-align: center;
      border: none;
      margin-top: 30px;
      cursor: pointer; }

div.form-line {
  padding: 5px 0; }
  div.form-line div {
    padding: 10px 0; }
  div.form-line div.form-th {
    width: 100%;
    border-bottom: thin solid #ccc; }
  div.form-line div.form-td {
    width: 100%;
    text-align: right; }

div#form-thx h1 {
  font-family: 'Lora', serif;
  text-align: center;
  padding: 30px; }
div#form-thx p {
  padding: 10px 0;
  text-align: center; }
div#form-thx p#thx-usagi {
  text-align: center; }
  div#form-thx p#thx-usagi img {
    width: 50%; }
