/* --------------------------------- *
 * style reset
 * --------------------------------- */
html {
  width: 100%;
  height: 100%;
  scroll-behavior: smooth;
  font-size: 1.2rem; }

body {
  height: 100%;
  scroll-behavior: smooth;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.6;
  position: relative;
  top: 0 !important;
  min-width: 320px;
  max-width: 100vw;
  min-height: 100%;
  margin: auto;
  /*
   background-image: url("/wp-content/themes/wp-child/images/bg.jpg");
   background-repeat: repeat;
   background-size: 100%;
   */ }

a {
  text-decoration: none; }
  a.link_text::before {
    width: 1.1rem;
    height: 1.1rem;
    line-height: 1rem;
    display: inline-block;
    font-family: 'Material Symbols Outlined';
    content: "\e89e";
    font-weight: normal;
    font-style: normal;
    font-size: 1.2rem;
    margin-right: 0.4rem;
    /* Preferred icon size */
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    vertical-align: middle;
    /* Support for all WebKit browsers. */
    -webkit-font-smoothing: antialiased;
    /* Support for Safari and Chrome. */
    text-rendering: optimizeLegibility;
    /* Support for Firefox. */
    -moz-osx-font-smoothing: grayscale;
    /* Support for IE. */
    font-feature-settings: 'liga'; }

p {
  margin-bottom: 0.4rem; }

input[type='text'], input[type='password'], input[type='email'], input[type='tel'], textarea {
  width: 100%;
  border-color: #ccc;
  padding: 0.2rem; }

summary {
  width: fit-content; }

main#main {
  padding-bottom: 88px; }

::backdrop {
  backdrop-filter: blur(4px); }
/* --------------------------------- *
 * 	material-icons
 * --------------------------------- */
.material-icons, .material-symbols-outlined {
  vertical-align: middle; }
/* --------------------------------- *
 * init style
 * --------------------------------- */
#header, #footer, #content, #tab, #banner {
  display: block;
  position: relative;
  max-width: 100vw;
  margin: 0 auto; }

#content2 {
  margin-top: 0px;
  padding: 8px; }
  @media screen and (max-width: 980px) {
  #content2 {
    margin-top: 100px; } }

dialog[open] {
  border: 0;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.3); }
/* --------------------------------- *
 * style heading
 * --------------------------------- */
.h1 h1 {
  font-size: 2rem;
  font-weight: 900;
  text-align: center;
  letter-spacing: 0.4rem; }
  @media screen and (max-width: 980px) {
    .h1 h1 {
      font-size: 1.6rem; } }
  .h1.title {
    margin: 0; }
  .h1.no_image {
    display: inline-block;
    position: relative;
    margin: 1%;
    padding: 1rem;
    letter-spacing: 0.2rem; }
  @media screen and (max-width: 980px) {
    .h1.no_image {
      margin: 30px 16px 16px; } }
  .h1.image {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 70%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    color: #fff;
    font-size: 5.6rem;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    text-shadow: 1px 1px 40px #333; }
  @media screen and (max-width: 980px) {
    .h1.image {
      top: 60%;
      width: 98%; } }
  .h1.logo {
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: center;
    padding: 0.4rem 4rem; }
  .h1.logo h1 {
    font-size: 1.1rem;
    letter-spacing: 0.2rem;
    margin-bottom: 0; }
  .h1.logo::before {
    content: '';
    display: block;
    background-image: url("/images/logo-wh.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 80px;
    height: 80px;
    width: 80px; }

.h2 {
  margin: 1rem 8px;
  text-align: left;
  font-size: 1.1rem;
  letter-spacing: 0.02rem; }
  .h2 h2 {
    padding: 0.3rem 0.5rem; }

.h3 {
  position: relative;
  padding: 0rem 1.6rem;
  border-bottom: 6px solid;
  margin: 0.2rem auto 16px; }
  .h3::before {
    position: absolute;
    bottom: -6px;
    left: 0;
    width: 20%;
    height: 6px;
    content: ''; }

.card-view {
  background-color: #edf4ff;
  padding: 1px 0 0 0; }
/* --------------------------------- *
 * style hr
 * --------------------------------- */
hr.hr {
  border: none;
  padding: 4px; }
/* --------------------------------- *
 *  .key_visual
 * --------------------------------- */
.key_visual {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 24vh;
  color: #fff;
  background-image: url("/images/kobe-map-top.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 0; }
  @media screen and (max-width: 980px) {
  .key_visual {
    height: 20vh; } }
  .key_visual::before {
    content: "";
    background-image: inherit;
    background-position: inherit;
    background-size: inherit;
    background-repeat: inherit;
    width: inherit;
    height: inherit;
    position: absolute;
    filter: blur(3px) brightness(0.9);
    z-index: -1; }
  @media screen and (max-width: 980px) {
    .key_visual::before {
      height: inherit; } }
  .key_visual .kv_text {
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-size: 2.6rem;
    margin: 40px 8px 8px 8px;
    text-shadow: 1px 1px 40px #333;
    line-height: 1.2; }
  @media screen and (max-width: 980px) {
    .key_visual .kv_text {
      font-size: 1.6rem; } }
/* --------------------------------- *
 * style button
 * --------------------------------- */
.button {
  border: 2px solid;
  border-radius: 8px;
  cursor: pointer;
  display: inline-block;
  padding: 8px;
  -webkit-transition: 0.25s;
  transition: 0.25s;
  text-align: center; }
  .button.w160 {
    font-size: 1rem;
    width: 160px;
    padding: 8px; }
  .button.w240 {
    border-width: 2.4px;
    width: 240px;
    padding: 8px; }
  .button.w400 {
    border-width: 2.4px;
    padding: 8px 4rem; }
  @media screen and (max-width: 440px) {
    .button.w400 {
      width: 100%; } }
  .button.w560 {
    border-width: 2.4px;
    font-size: 1.2rem;
    padding: 16px;
    width: 560px;
    letter-spacing: 0.2rem; }
  @media screen and (max-width: 580px) {
    .button.w560 {
      width: 100%;
      min-width: 300px;
      font-size: 1.1rem; } }
  .button.icons {
    display: flex;
    flex-direction: column; }
  .button:hover {
    text-decoration: none; }
  .button.disabled {
    cursor: not-allowed; }
  .button.active {
    padding: 0.3rem 0.8rem; }
  .button.active::after {
    border: 1px solid;
    content: '';
    display: block;
    margin: 2px; }
/* --------------------------------- *
 * list class
 * --------------------------------- */
dl.list {
  display: grid;
  max-width: 960px;
  margin: 0 auto 16px;
  grid-template-columns: 16rem 1fr;
  overflow-wrap: break-word; }
  @media screen and (max-width: 980px) {
  dl.list {
    display: block; } }
  dl.list dt, dl.list dd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 16px; }
  dl.list dt {
    font-weight: normal;
    position: relative;
    overflow: hidden; }
  dl.list > dt {
    width: 100%; }
  @media screen and (max-width: 980px) {
    dl.list > dt {
      width: 60%;
      padding: 4px 8px; } }
  dl.list dd {
    margin: 0; }
  dl.list > dd {
    width: 100%; }
  @media screen and (max-width: 980px) {
    dl.list > dd {
      margin-bottom: 12px; } }
  dl.list a {
    border-bottom: 4px dotted #fafafa;
    display: block;
    width: 100%; }

dl.list_border {
  display: grid;
  grid-template-columns: 12rem 1fr; }
  @media screen and (max-width: 980px) {
  dl.list_border {
    display: block; } }
  dl.list_border > dt {
    width: 100%; }
/* --------------------------------- *
 * table class
 * --------------------------------- */
dl.table {
  display: grid;
  grid-template-columns: 10rem 1fr; }

table.table {
  display: block;
  border-collapse: collapse;
  margin: 0 auto;
  max-width: 100vw; }
  table.table tbody {
    margin-bottom: 16px; }
  table.table th, table.table td {
    padding: 8px;
    text-align: center;
    border-bottom: 1px solid #ddd; }
  table.table th {
    text-align: center;
    font-weight: normal;
    font-size: 0.875rem;
    top: 0;
    border: 1px solid #fff; }
  table.table td {
    font-size: 1rem; }
  table.table caption {
    caption-side: bottom;
    display: flex;
    flex-flow: column;
    text-align: center; }
  table.table caption .note_wrap {
    display: grid;
    grid-template-columns: repeat(4, 1fr); }
    table.table caption .note_wrap .notes {
      display: flex;
      flex-direction: column;
      font-size: 0.7rem; }
  table.table caption .arrow_line {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%; }
    table.table caption .arrow_line::before, table.table caption .arrow_line::after {
      content: '';
      width: 0;
      height: 0;
      border-top: 8px solid transparent;
      border-bottom: 8px solid transparent;
      position: relative; }
    table.table caption .arrow_line::before {
      left: 16px; }
    table.table caption .arrow_line::after {
      right: 16px; }
    table.table caption .arrow_line .line {
      flex-grow: 1;
      height: 2px;
      margin: 0 8px;
      width: 80vw; }
  table.table caption .label {
    display: flex;
    justify-content: space-between;
    font-size: 0.8rem;
    margin: 0; }

.table_section {
  display: grid;
  display: -ms-grid;
  grid-rows: auto;
  -ms-grid-rows: auto;
  grid-gap: 8px;
  margin: 8px 8px 32px;
  overflow-wrap: break-word; }
  .table_section.col2 {
    grid-template-columns: repeat(2, 1fr); }
  .table_section.col2 .cell:nth-child(1) {
    -ms-grid-column: 1;
    -ms-grid-row: 1;
    -ms-grid-column-span: 1; }
    .table_section.col2 .cell:nth-child(2) {
      -ms-grid-column: 2;
      -ms-grid-row: 1;
      -ms-grid-column-span: 1; }
    .table_section.col2 .cell:nth-child(3) {
      -ms-grid-column: 1;
      -ms-grid-row: 2;
      -ms-grid-column-span: 1; }
    .table_section.col2 .cell:nth-child(4) {
      -ms-grid-column: 2;
      -ms-grid-row: 2;
      -ms-grid-column-span: 1; }
    .table_section.col2 .cell:nth-child(5) {
      -ms-grid-column: 1;
      -ms-grid-row: 3;
      -ms-grid-column-span: 1; }
    .table_section.col2 .cell:nth-child(6) {
      -ms-grid-column: 2;
      -ms-grid-row: 3;
      -ms-grid-column-span: 1; }
    .table_section.col2 .cell:nth-child(7) {
      -ms-grid-column: 1;
      -ms-grid-row: 4;
      -ms-grid-column-span: 1; }
    .table_section.col2 .cell:nth-child(8) {
      -ms-grid-column: 2;
      -ms-grid-row: 4;
      -ms-grid-column-span: 1; }
  .table_section.col3 {
    grid-template-columns: repeat(3, 1fr); }
  .table_section.col3 .cell:nth-child(1) {
    -ms-grid-column: 1;
    -ms-grid-row: 1;
    -ms-grid-column-span: 1; }
    .table_section.col3 .cell:nth-child(2) {
      -ms-grid-column: 2;
      -ms-grid-row: 1;
      -ms-grid-column-span: 1; }
    .table_section.col3 .cell:nth-child(3) {
      -ms-grid-column: 3;
      -ms-grid-row: 1;
      -ms-grid-column-span: 1; }
  .table_section .cell {
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 16px;
    width: 100%; }
  @media screen and (max-width: 980px) {
    .table_section .cell {
      display: block;
      margin-bottom: 12px; } }
  .table_section img {
    width: 100%;
    height: 100%;
    object-fit: contain; }
  .table_section .imgcaption {
    height: 270px; }
  @media screen and (max-width: 980px) {
    .table_section .imgcaption {
      height: inherit; } }
  .table_section .caption {
    margin: 8px 0 0;
    word-break: break-all; }
  .table_section .caption_text {
    text-align: center; }

.grid_container {
  display: grid;
  margin: 8px 8px 32px;
  text-align: center;
  grid-template-columns: repeat(3, 1fr); }
  @media screen and (max-width: 980px) {
  .grid_container {
    grid-template-columns: 100%; } }
/* --------------------------------- *
 * .box
 * --------------------------------- */
.box_success, .box_danger {
  border-radius: 5px;
  display: flex;
  align-items: center;
  grid-gap: 0 0.7em;
  max-width: 400px;
  margin: 16px auto 0;
  padding: 1em; }
  .box_success::before, .box_danger::before {
    width: 1.6rem;
    height: 1.6rem;
    line-height: 1;
    display: inline-block;
    font-weight: normal;
    font-style: normal;
    font-size: 1.6rem;
    /* Preferred icon size */
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    vertical-align: middle; }
  .box_success p, .box_danger p {
    margin: 0;
    padding: 0 0 0 0.7em; }

.box_success::before {
  font-family: 'Material Symbols Outlined';
  content: "\e813"; }

.box_danger::before {
  font-family: 'Material Symbols Outlined';
  content: "\e814"; }
/* --------------------------------- *
 * table_section_vertical
 * --------------------------------- */
.table_section_vertical {
  display: grid;
  grid-template-columns: 1fr;
  width: 48%;
  margin: 8px auto 32px;
  text-align: center; }
  @media screen and (max-width: 980px) {
  .table_section_vertical {
    display: block; } }
  .table_section_vertical .cell {
    position: relative;
    display: grid;
    grid-template-columns: 64% 1fr;
    left: -40%; }
  .table_section_vertical .cell img.img {
    order: 1;
    width: 100%; }
  .table_section_vertical .cell .caption {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    order: 2;
    padding: 24px;
    color: #343434;
    background-color: rgba(255, 255, 255, .8);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  .table_section_vertical .cell:nth-child(even) {
    grid-template-columns: 1fr 64%;
    left: 40%; }
    .table_section_vertical .cell:nth-child(even) img.img {
      order: 2; }
    .table_section_vertical .cell:nth-child(even) .caption {
      order: 1; }
    @media screen and (max-width: 980px) {
    .table_section_vertical .cell:nth-child(even) {
      left: 0; } }
  @media screen and (max-width: 980px) {
    .table_section_vertical .cell {
      display: block;
      left: 0; } }
/* --------------------------------- *
 * common class
 * --------------------------------- */
.align_center {
  text-align: center; }

.align_left {
  text-align: left; }

.centering {
  margin: 16px auto 16px;
  text-align: center;
  padding: 0 16px 16px;
  display: block; }
  @media screen and (max-width: 370px) {
  .centering {
    padding: 0 0 4px; } }

.flex_center {
  display: grid;
  justify-content: space-around;
  align-items: center; }

.font_size_120 {
  font-size: 1.2rem; }

.margin_narrow {
  margin: 8px; }

.margin_default {
  margin: 16px; }

.margin_wide {
  margin: 24px 24px 24px 8px; }

.margin_wide_h3 {
  margin: 24px 24px 24px -10px;
  width: 100%; }

.padding_narrow {
  padding: 8px; }

.padding_default {
  padding: 16px; }

.padding_wide {
  padding: 24px; }

.separater {
  line-height: 1.6rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 1.6rem;
  margin: 0 0.1rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  @media screen and (max-width: 980px) {
  .separater {
    font-weight: 900;
    display: block; } }
  .separater::before {
    width: 1.1rem;
    height: 1.1rem;
    line-height: 1;
    display: inline-block;
    font-family: 'Material Symbols Outlined';
    content: "\ef4a";
    font-weight: normal;
    font-style: normal;
    font-size: 16px;
    /* Preferred icon size */
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    vertical-align: middle; }

.overview {
  text-align: left;
  height: calc(1.5em * 5);
  line-height: 1.5; }

.nobr {
  display: none; }
  @media screen and (max-width: 980px) {
  .nobr {
    display: initial; } }
/* --------------------------------- *
 * archive style
 * --------------------------------- */
#index .important_content_wrap {
  border: 4px double #fff;
  margin-bottom: 16px;
  padding: 16px; }
  #index .calendar {
    display: flex; }
  @media screen and (max-width: 980px) {
    #index .calendar {
      display: block; } }
  #index .calendar aside {
    margin-left: 8px; }
    @media screen and (max-width: 980px) {
    #index .calendar aside {
      margin-left: 0; } }
/* --------------------------------- *
 * archive style
 * --------------------------------- */
#archive .wrapper, #single .wrapper {
  margin: 0; }
  #archive .wrap, #single .wrap {
    margin-bottom: 3.2rem; }
  #archive .wrap header.h2, #single .wrap header.h2 {
    margin: 0; }
  #archive .blog_content, #single .blog_content {
    display: block;
    line-height: 1.8rem;
    margin: 24px; }
  #archive .blog_content h1, #single .blog_content h1, #archive .blog_content h2, #single .blog_content h2, #archive .blog_content h3, #single .blog_content h3, #archive .blog_content h4, #single .blog_content h4, #archive .blog_content h5, #single .blog_content h5, #archive .blog_content h6, #single .blog_content h6 {
    margin-bottom: 1.6rem; }
  #archive .blog_content p, #single .blog_content p {
    margin-bottom: 0.8rem; }
  #archive .pager, #single .pager {
    display: flex;
    justify-content: center; }
  @media screen and (max-width: 980px) {
    #archive .pager, #single .pager {
      display: block; } }
  #archive .pager .next, #single .pager .next, #archive .pager .previous, #single .pager .previous {
    width: 50%; }
    @media screen and (max-width: 980px) {
    #archive .pager .next, #single .pager .next, #archive .pager .previous, #single .pager .previous {
      width: 100%; } }
  #archive .pager .next, #single .pager .next {
    text-align: right; }
/* --------------------------------- *
 * single style
 * --------------------------------- */
#single .post-detail {
  max-width: 960px;
  margin: 0 auto 16px; }
  #single .post-detail .date {
    display: block;
    margin-bottom: 0.1rem;
    text-align: right; }
  #single .post-detail .title {
    font-size: 1.6rem;
    font-weight: 400;
    font-weight: 200;
    margin: 0 0 0.8rem -0.8rem; }
  #single .post-detail .categorys {
    display: inline-block;
    margin-bottom: 0.8rem;
    padding: 0.2rem; }
  #single .post-detail .eye_catching {
    margin: 16px auto;
    text-align: center; }
    #single .post-detail .eye_catching img {
      width: auto;
      max-width: 1260px;
      height: auto;
      max-height: 630px;
      margin: 0 auto 16px; }
  #single .pagination {
    font-size: 13px;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 40px 0;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
  #single .pagination span, #single .pagination a {
    line-height: 16px;
    display: block;
    width: auto;
    margin: 4px;
    padding: 8px;
    text-align: center;
    text-decoration: none;
    border: 1px solid #000;
    background-color: #fff; }
  #single .pagination .pager {
    margin: 8px;
    padding: 0.8rem;
    border: 1px solid;
    border: 1px solid #505050; }
  #single .pagination a:hover, #single .pagination .current {
    color: #fff;
    background-color: #000; }
  #single .pagination a.before {
    margin: 8px;
    padding: 0.8rem; }
  #single .pagination a.next {
    margin: 8px;
    padding: 0.8rem; }
  #single .pagination span.page_num {
    display: none; }
/* --------------------------------- *
 * details
 * --------------------------------- */
details.tips, details.new_releases {
  width: 80%;
  margin-bottom: 5px; }
  details.tips summary, details.new_releases summary {
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
    display: flex;
    align-items: center;
    padding: 0.8rem;
    width: 100%; }
  details.tips summary::marker, details.new_releases summary::marker {
    display: none;
    content: none; }
  details.tips .content, details.new_releases .content {
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
    margin: 0 auto 5px;
    padding: 0.8rem; }
  @media screen and (max-width: 980px) {
  details.tips, details.new_releases {
    margin-left: 0;
    margin-right: 0;
    width: 100%; } }
/* --------------------------------- *
 * strong
 * --------------------------------- */
strong.highlight_yellow {
  font-weight: lighter;
  text-decoration: underline;
  text-decoration-thickness: 0.5rem;
  text-decoration-color: rgba(255, 228, 0, 0.4);
  text-underline-offset: -0.2rem;
  text-decoration-skip-ink: none; }

#content .section {
  max-width: 960px;
  margin: 0 auto 15px;
  padding: 8px; }
  @media screen and (max-width: 980px) {
    #content .section {
      margin: 0 auto 10px; } }
  #content .contact_section {
    width: 64%;
    min-width: 320px;
    margin: 4rem auto 0; }
  @media screen and (max-width: 980px) {
    #content .contact_section {
      margin: 1rem auto 0; } }
  #content .cs {
    font-size: 1.6rem;
    font-weight: 400;
    font-style: normal;
    display: block;
    margin: 16px auto 40px;
    text-align: center; }
/* --------------------------------- *
 *  style header
 * --------------------------------- */
#header .logo_wrap, #footer .logo_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem; }
  #header .logo_wrap a, #footer .logo_wrap a {
    display: flex;
    align-items: center;
    justify-content: center; }
    #header .logo_wrap a:hover, #footer .logo_wrap a:hover {
      text-decoration: none; }
  #header .logo_wrap .title h1, #footer .logo_wrap .title h1 {
    margin: -15px 0 0 0;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-size: 1.6rem; }
    #header .logo_wrap .title em, #footer .logo_wrap .title em {
      font-size: 0.9rem;
      font-style: normal;
      font-weight: 700; }
  #header .logo_wrap .logo, #footer .logo_wrap .logo {
    margin-right: 16px;
    width: 80px; }
  #header .logo_wrap header.title, #footer .logo_wrap header.title {
    margin: 10px 0 0 15px; }

#header {
  margin: 0;
  min-height: 92px; }
  #header .logo_wrap {
    justify-content: flex-start; }
  #header #nav_btn {
    cursor: pointer;
    font-family: 'Lato', sans-serif;
    font-size: 0.8rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    pointer-events: auto;
    position: fixed;
    top: -120%;
    transition: 0.3s ease-in-out;
    top: 16px;
    right: 4px;
    z-index: 9999;
    width: 64px;
    height: 64px; }
  #header #nav_btn .material-symbols-outlined {
    font-size: 2.4rem; }
  #header #nav_btn span {
    display: block;
    margin: auto;
    position: absolute;
    right: 0;
    left: 0;
    width: 60%;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out; }
    #header #nav_btn span:nth-child(1) {
      border-bottom: 4px solid #efefef;
      opacity: 0;
      top: 11px; }
    #header #nav_btn span:nth-child(2) {
      color: #efefef;
      text-align: center;
      top: 8px;
      width: 100%; }
    #header #nav_btn span:nth-child(3) {
      border-bottom: 4px solid #efefef;
      opacity: 0;
      top: 27px; }
  #header #nav_menu {
    position: fixed;
    position: fixed;
    z-index: 10001;
    backdrop-filter: blur(4px);
    bottom: -120%;
    width: 100%;
    height: 100vh;
    transition: all 0.6s; }
  #header #nav_menu .button.icons::before {
    font-size: 16px;
    font-style: normal;
    font-weight: normal; }
  #header #nav_menu .nav_list {
    display: flex;
    align-content: center;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    height: 100vh;
    position: absolute;
    top: 50%;
    left: 50%;
    overflow-wrap: break-word;
    text-align: center;
    transform: translate(-50%, -50%);
    width: 75%; }
    #header #nav_menu .nav_list .navs {
      margin: 4px; }
    #header #nav_menu .nav_list .button {
      align-items: center;
      display: flex;
      justify-content: center; }
      #header #nav_menu .nav_list .button.icons {
        display: flex;
        align-items: center;
        justify-content: center;
        height: initial;
        min-height: 64px;
        width: initial; }
    #header #nav_menu .nav_list .link_hover_show {
      display: grid;
      grid-gap: 8px;
      grid-template-columns: repeat(3, 1fr);
      opacity: 0;
      padding: 8px;
      position: absolute;
      left: 0;
      transition: 0.5s;
      visibility: hidden;
      width: 100%;
      z-index: 1; }
      @media screen and (max-width: 980px) {
    #header #nav_menu .nav_list .link_hover_show {
      width: 100vw; } }
      #header #nav_menu .nav_list .link_hover_show a {
        display: block; }
        @media screen and (max-width: 980px) {
    #header #nav_menu .nav_list .link_hover_show a {
      display: inline-block; } }
      #header #nav_menu .nav_list .link_hover_show:hover {
        visibility: visible;
        opacity: 1; }
    #header #nav_menu .nav_list .link_hover:hover + .link_hover_show {
      visibility: visible;
      opacity: 1; }
      @media screen and (max-width: 980px) {
      #header #nav_menu .nav_list .link_hover:hover + .link_hover_show {
        visibility: hidden;
        opacity: 0; } }
    @media screen and (max-width: 980px) {
        #header #nav_menu .nav_list .sub_menu .link_hover_show {
          position: absolute;
          visibility: visible;
          opacity: 1;
          bottom: 32%;
          left: 50%;
          transform: translate(-50%, 50%); } }
  #header.active #nav_btn span:nth-child(1) {
    top: 30px;
    right: 0;
    left: 0;
    margin: auto;
    opacity: 1;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }
    #header.active #nav_btn span:nth-child(2) {
      opacity: 0; }
    #header.active #nav_btn span:nth-child(3) {
      top: 30px;
      right: 0;
      left: 0;
      margin: auto;
      opacity: 1;
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg); }
  #header.active #nav_menu {
    bottom: 0; }
  #header::before {
    content: '';
    display: block;
    padding: 4px; }
/* --------------------------------- *
 * #footer
 * --------------------------------- */
#footer {
  padding: 8px 0; }
  #footer a:hover {
    text-decoration: none; }
  #footer address {
    display: flex;
    align-items: center; }
  @media screen and (max-width: 980px) {
    #footer address {
      margin: 16px;
      display: block; } }
  #footer small {
    font-weight: 400;
    display: block;
    text-align: center; }
  #footer .inner_left .table {
    display: flex;
    margin: 0 16px; }
    @media screen and (max-width: 980px) {
    #footer .inner_left .table {
      display: block;
      margin: 0 auto; } }
  @media screen and (max-width: 980px) {
    #footer .inner_left {
      display: flex;
      align-items: center; } }
  #footer .inner {
    font-size: 0.9rem;
    margin: 4px;
    padding: 0 1.6rem;
    border-left: 4px solid #c8c8c8; }
  #footer nav {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    overflow-wrap: break-word;
    margin: 16px;
    padding: 16px 0;
    text-align: center; }
  #footer nav .navs {
    margin: 16px; }
    #footer nav .navs.sub_menu {
      align-self: auto;
      display: block; }
    #footer nav .navs > a:first-child {
      border-bottom: 4px dotted #fafafa;
      display: flex;
      align-items: flex-end;
      height: 100%;
      padding: 0 16px 4px;
      width: 100%; }
    @media screen and (max-width: 980px) {
    #footer nav .navs {
      align-self: stretch;
      width: 48%;
      display: flex;
      margin: 16px 0;
      padding: 0; } }
  @media screen and (max-width: 980px) {
      #footer nav .nav_block {
        width: 100%; } }
  #footer nav a {
    margin-bottom: 8px;
    display: block;
    text-align: left;
    letter-spacing: 0.1rem; }
    #footer nav a.icons {
      display: flex;
      align-items: center;
      justify-content: flex-start; }
    #footer nav a.icons .material-symbols-outlined {
      margin-right: 0.4rem;
      text-align: left;
      text-indent: 6rem;
      text-indent: 0.6rem; }
    #footer nav a:hover {
      text-decoration: none; }
    #footer nav a.group_title {
      border-bottom: 1px solid white;
      font-weight: 400;
      text-indent: 1rem; }
  @media screen and (max-width: 980px) {
    #footer nav {
      display: flex;
      align-content: flex-end;
      flex-wrap: wrap;
      padding: 0; } }
  #footer caption {
    caption-side: bottom;
    font-size: 0.9rem;
    margin: 0 0.8rem;
    padding: 0; }
  @media screen and (max-width: 980px) {
    #footer caption {
      padding: 0.8rem; } }
  #footer .brand_area {
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    margin: 16px 32px;
    padding: 16px; }
  #footer .brand_area img {
    height: 64px;
    margin-bottom: 16px;
    margin-right: 16px; }
  #footer .brand_area .material-symbols-outlined {
    font-size: 40px;
    margin-bottom: 16px; }
/* --------------------------------- *
 * #fixed_bottom
 * --------------------------------- */
#fixed_bottom {
  position: fixed;
  bottom: 0;
  right: 0;
  width: 100%;
  z-index: 9999; }
  #fixed_bottom .inner {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-gap: 0;
    width: 50%;
    margin: 0 auto;
    max-width: 480px; }
  @media screen and (max-width: 980px) {
    #fixed_bottom .inner {
      width: 100%; } }
  #fixed_bottom .button {
    border: 0;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    flex-direction: column; }
  #fixed_bottom .button .material-symbols-outlined {
    /* margin-right: 4px; */
    font-size: 2.5em; }
  #fixed_bottom .button_text {
    line-height: 1.2; }
  #fixed_bottom .baroon {
    border-radius: 0.5rem;
    position: absolute;
    left: 4px;
    top: -2.4rem;
    z-index: 1;
    width: 48%;
    padding: 0.2rem;
    text-align: center; }
  #fixed_bottom .baroon .body {
    z-index: 10; }
  #fixed_bottom .baroon:before, #fixed_bottom .baroon:after {
    position: absolute;
    bottom: -12px;
    width: 0;
    height: 0;
    content: '';
    border-width: 14px 12px 0 12px;
    border-style: solid; }
  #fixed_bottom .baroon::before {
    left: 1em; }
  #fixed_bottom .baroon:after {
    right: 1em;
    display: none; }
  @media screen and (max-width: 980px) {
    #fixed_bottom .baroon {
      left: 4px;
      font-size: 1rem; } }
  @media screen and (max-width: 980px) {
  #fixed_bottom {
    max-width: inherit;
    text-align: center;
    right: 0;
    width: 100%; } }

#menu_list {
  font-weight: 400;
  font-style: normal;
  text-align: left;
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  #menu_list img {
    vertical-align: middle; }
  #menu_list.scroll_default {
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease; }
  #menu_list .global_header {
    max-width: 1280px;
    width: 100%;
    margin: 0 auto; }
  #menu_list .menu {
    display: flex;
    text-align: right;
    vertical-align: middle; }
  #menu_list .menu div {
    width: 25%;
    text-align: center;
    position: relative; }
    @media screen and (max-width: 980px) {
    #menu_list .menu div {
      width: 100%; } }
  #menu_list .menu a {
    display: inline-block;
    padding: 1rem 0; }
    @media screen and (max-width: 980px) {
    #menu_list .menu a {
      display: block;
      margin: 0 8px;
      border-bottom: 1px solid white;
      -webkit-transition: 0.25s;
      transition: 0.25s;
      text-align: left;
      text-indent: 1rem;
      letter-spacing: 0.05rem; } }
  #menu_list .menu .separater {
    display: inline-block;
    line-height: 3rem; }
    @media screen and (max-width: 980px) {
    #menu_list .menu .separater {
      line-height: 2.6rem;
      height: 2.6rem; }
      #menu_list .menu .separater.pc_off {
        display: none; } }
  #menu_list .menu .link_hover_show {
    width: 100%;
    position: absolute;
    top: 3rem;
    left: 0;
    visibility: hidden;
    opacity: 0;
    transition: 0.5s; }
    #menu_list .menu .link_hover_show a {
      display: block; }
    @media screen and (max-width: 980px) {
      #menu_list .menu .link_hover_show a {
        text-indent: 3.2rem; } }
    @media screen and (min-width: 980px) {
      #menu_list .menu .link_hover_show:hover {
        visibility: visible;
        opacity: 1; } }
    @media screen and (max-width: 980px) {
    #menu_list .menu .link_hover_show {
      position: initial;
      visibility: visible;
      opacity: 1; } }
  @media screen and (max-width: 980px) {
    #menu_list .menu {
      display: block;
      padding-top: 64px; }
      #menu_list .menu a {
        text-indent: 2rem; } }
  #menu_list .logo {
    margin-left: 2%;
    margin-right: 2%; }
  @media screen and (max-width: 980px) {
  #menu_list {
    display: none;
    padding: 0; }
    #menu_list.on_menu {
      position: fixed;
      z-index: 1100;
      top: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 100vh; }

    #menu_list .logo {
      display: none; }

    #menu_list .separater {
      line-height: 3.2rem;
      height: 3.2rem;
      width: 100%; }
      #menu_list .separater.pc_off {
        display: block; } }
/* --------------------------------- *
 * contact page
 * --------------------------------- */
#contact .haveto {
  font-size: 0.8rem;
  font-weight: 200;
  padding: 0.2rem; }
  #contact .any {
    font-size: 0.8rem;
    font-weight: 200;
    padding: 0.2rem;
    color: #343434;
    border: 1px solid #343434;
    background-color: #fff; }
  #contact .contact_table, #contact .accept_check {
    width: 64%;
    min-width: 320px;
    margin: 16px auto; }
  #contact .contact_table {
    display: grid;
    grid-template-columns: 16rem 1fr;
    grid-gap: 16px 2%; }
  @media screen and (max-width: 980px) {
    #contact .contact_table {
      grid-template-columns: 1fr; } }
  #contact .contact_table dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0.8rem;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-item-align: start;
    align-self: flex-start; }
  @media screen and (max-width: 980px) {
    #contact .contact_table {
      padding: 0; } }
  #contact .contact_table dd {
    margin: 0;
    padding: 0.8rem 0; }
  #contact .contact_table .contact_alert {
    display: inline-block; }
  #contact .contact_table .btn_wrap .contact_submit {
    display: block;
    margin: 0 auto;
    padding: 0.8rem;
    color: #fff;
    border: 0;
    border-radius: 10px;
    background-color: #343434; }
    #contact .contact_table .btn_wrap .contact_submit:disabled {
      color: graytext;
      border: none;
      background-color: buttonface; }
  #contact .contact_text {
    text-align: center; }
  #contact div.wpcf7-validation-errors, #contact div.wpcf7-acceptance-missing {
    max-width: 815px;
    text-align: center;
    margin: auto; }
  @media screen and (max-width: 980px) {
    #contact div.wpcf7-validation-errors, #contact div.wpcf7-acceptance-missing {
      max-width: 90%; } }
  #contact .contact_alert.margin_wide {
    text-align: center; }
/* --------------------------------- *
 * 404 page
 * --------------------------------- */
#error div#content {
  margin: 100px; }
  @media screen and (max-width: 980px) {
    #error div#content {
      margin: 100px 40px; } }
  #error div.text {
    margin: 40px; }
  @media screen and (max-width: 980px) {
    #error div.text {
      margin: 5px; } }
/* --------------------------------- *
 * WP-Members
 * --------------------------------- */
#wpmem_msg, .wpmem_msg {
  margin: 16px auto; }

#mypage .wpmembers_wrap ul {
  display: flex;
  justify-content: space-around; }
  #mypage .wpmembers_wrap ul li {
    display: inline-block; }
  #mypage .wpmembers_wrap ul li a {
    display: inline-block;
    -webkit-transition: 0.25s;
    transition: 0.25s;
    text-align: center;
    border-radius: 8px;
    border-width: 2.4px;
    font-size: 1.1rem;
    width: 240px;
    padding: 12px;
    letter-spacing: 0.1rem; }
  @media screen and (max-width: 980px) {
          #mypage .wpmembers_wrap ul li a {
            margin: 0 auto 8px; } }
/* --------------------------------- *
 * monthly_calendar
 * --------------------------------- */
.monthly {
  display: none; }
  .monthly.current {
    display: block; }
  .monthly .monthly_header {
    display: flex;
    align-items: center;
    justify-content: center; }
  .monthly .monthly_header .title {
    padding: 0 8px; }

table.monthly_calendar, table.weekly_calendar {
  display: flex;
  align-items: center;
  flex-direction: column; }
  table.monthly_calendar .forecast_wrap, table.weekly_calendar .forecast_wrap {
    padding: 0;
    position: relative; }
  table.monthly_calendar .forecast_wrap .material-symbols-outlined, table.weekly_calendar .forecast_wrap .material-symbols-outlined {
    font-size: 1.6rem; }
  table.monthly_calendar .forecast_wrap.per0::before, table.weekly_calendar .forecast_wrap.per0::before {
    content: "";
    position: absolute;
    /* top: 0; */
    left: 3px;
    bottom: 0;
    width: 5px;
    height: 0%;
    background-color: rgba(0, 90, 255, 0.729);
    pointer-events: none; }
  table.monthly_calendar .forecast_wrap.per10::before, table.weekly_calendar .forecast_wrap.per10::before {
    content: "";
    position: absolute;
    /* top: 0; */
    left: 3px;
    bottom: 0;
    width: 5px;
    height: 10%;
    background-color: rgba(0, 90, 255, 0.729);
    pointer-events: none; }
  table.monthly_calendar .forecast_wrap.per20::before, table.weekly_calendar .forecast_wrap.per20::before {
    content: "";
    position: absolute;
    /* top: 0; */
    left: 3px;
    bottom: 0;
    width: 5px;
    height: 20%;
    background-color: rgba(0, 90, 255, 0.729);
    pointer-events: none; }
  table.monthly_calendar .forecast_wrap.per30::before, table.weekly_calendar .forecast_wrap.per30::before {
    content: "";
    position: absolute;
    /* top: 0; */
    left: 3px;
    bottom: 0;
    width: 5px;
    height: 30%;
    background-color: rgba(0, 90, 255, 0.729);
    pointer-events: none; }
  table.monthly_calendar .forecast_wrap.per40::before, table.weekly_calendar .forecast_wrap.per40::before {
    content: "";
    position: absolute;
    /* top: 0; */
    left: 3px;
    bottom: 0;
    width: 5px;
    height: 40%;
    background-color: rgba(0, 90, 255, 0.729);
    pointer-events: none; }
  table.monthly_calendar .forecast_wrap.per50::before, table.weekly_calendar .forecast_wrap.per50::before {
    content: "";
    position: absolute;
    /* top: 0; */
    left: 3px;
    bottom: 0;
    width: 5px;
    height: 50%;
    background-color: rgba(0, 90, 255, 0.729);
    pointer-events: none; }
  table.monthly_calendar .forecast_wrap.per60::before, table.weekly_calendar .forecast_wrap.per60::before {
    content: "";
    position: absolute;
    /* top: 0; */
    left: 3px;
    bottom: 0;
    width: 5px;
    height: 60%;
    background-color: rgba(0, 90, 255, 0.729);
    pointer-events: none; }
  table.monthly_calendar .forecast_wrap.per70::before, table.weekly_calendar .forecast_wrap.per70::before {
    content: "";
    position: absolute;
    /* top: 0; */
    left: 3px;
    bottom: 0;
    width: 5px;
    height: 70%;
    background-color: rgba(0, 90, 255, 0.729);
    pointer-events: none; }
  table.monthly_calendar .forecast_wrap.per80::before, table.weekly_calendar .forecast_wrap.per80::before {
    content: "";
    position: absolute;
    /* top: 0; */
    left: 3px;
    bottom: 0;
    width: 5px;
    height: 80%;
    background-color: rgba(0, 90, 255, 0.729);
    pointer-events: none; }
  table.monthly_calendar .forecast_wrap.per90::before, table.weekly_calendar .forecast_wrap.per90::before {
    content: "";
    position: absolute;
    /* top: 0; */
    left: 3px;
    bottom: 0;
    width: 5px;
    height: 90%;
    background-color: rgba(0, 90, 255, 0.729);
    pointer-events: none; }
  table.monthly_calendar .forecast_wrap.per100::before, table.weekly_calendar .forecast_wrap.per100::before {
    content: "";
    position: absolute;
    /* top: 0; */
    left: 3px;
    bottom: 0;
    width: 5px;
    height: 100%;
    background-color: rgba(0, 90, 255, 0.729);
    pointer-events: none; }

table.monthly_calendar .forecast_wrap .forecast {
  padding: 1px 8px; }

table.weekly_calendar .forecast_wrap .forecast {
  padding: 8px; }
/* --------------------------------- *
 * Ivory Search
 * --------------------------------- */
.search_wrap {
  margin: 0 auto;
  width: 80%; }
/* --------------------------------- *
 * XO Event Calendar
 * --------------------------------- */
.xo-event-calendar table.xo-month .month-dayname {
  color: #79716b;
  font-size: 1.4rem; }
  .xo-event-calendar table.xo-month .month-dayname td {
    position: relative; }
  .xo-event-calendar table.xo-month .month-dayname td div {
    border-top: 8px solid transparent;
    line-height: 1rem;
    padding: 0;
    text-align: center; }
  .xo-event-calendar table.xo-month .month-dayname td div.today {
    border-color: red;
    color: red;
    font-weight: 700; }

.xo-event-list.type-short {
  text-align: center; }
  .xo-event-list.type-short a {
    border-radius: 8px;
    display: inline-block;
    margin: 8px;
    padding: 8px 24px; }
  .xo-event-list.type-short a:before {
    width: 1.1rem;
    height: 1.1rem;
    line-height: 1rem;
    display: inline-block;
    font-family: 'Material Symbols Outlined';
    content: "\e88e";
    font-weight: normal;
    font-style: normal;
    font-size: 22px;
    margin-right: 0.4rem;
    /* Preferred icon size */
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    vertical-align: middle;
    /* Support for all WebKit browsers. */
    -webkit-font-smoothing: antialiased;
    /* Support for Safari and Chrome. */
    text-rendering: optimizeLegibility;
    /* Support for Firefox. */
    -moz-osx-font-smoothing: grayscale;
    /* Support for IE. */
    font-feature-settings: 'liga'; }
  .xo-event-list dl.list_border {
    grid-template-columns: 16rem 1fr; }
/* --------------------------------- *
 * #mapcontainer
 * --------------------------------- */
#mapcontainer .movie-wrapper {
  position: relative;
  padding: 1em;
  background: white;
  border: 1px solid #ccc;
  max-width: 95vw;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  border-radius: 8px; }
  #mapcontainer .movietitle {
    display: flex;
    justify-content: space-between;
    align-items: center; }
  #mapcontainer .close-btn {
    background: transparent;
    border: none;
    font-size: 1.5em;
    color: white;
    cursor: pointer; }
  #mapcontainer .contents {
    border: 3px solid #191970;
    position: relative;
    width: 100%;
    height: 100%; }
  #mapcontainer .titlearea {
    height: auto;
    width: 100%; }
  #mapcontainer .maintitle {
    display: inline-block;
    background-color: #191970;
    color: #fff;
    padding: 5px;
    left: 0;
    margin: -1px 0 0 -1px; }
  #mapcontainer .titletext {
    margin: 0; }
  #mapcontainer .subtitle {
    margin-top: 8px;
    padding-left: 5px; }
  #mapcontainer .subtext {
    display: inline; }
  #mapcontainer .comment {
    padding-left: 5px; }
  #mapcontainer .comment2 {
    font-size: 25px;
    color: #f00; }
  #mapcontainer .maparea {
    height: calc(100% - 80px);
    width: 100%; }
  #mapcontainer .mappin {
    height: 20px;
    width: 20px; }
  #mapcontainer #mapid {
    position: relative;
    width: 100%;
    height: 100%; }
  #mapcontainer .moviecontents {
    z-index: 800;
    position: absolute;
    bottom: 4%;
    left: 3%; }
  #mapcontainer .movietitle {
    padding: 8px 10px 8px 10px;
    background-color: #191970;
    color: #fff;
    font-weight: bold; }
  #mapcontainer #movietitle {
    margin: 0;
    vertical-align: middle; }
  #mapcontainer .moviearea {
    border: 3px solid #191970; }
  #mapcontainer iframe {
    display: block;
    margin: 3px;
    width: 448px;
    height: 252px; }
  @media screen and (max-width: 993px) {
  #mapcontainer .titlearea {
    height: auto;
    width: 100%;
    margin: -1px 0 1px -1px; }
  #mapcontainer .maparea {
    height: calc(100% - 125px);
    width: 100%; }
  #mapcontainer .moviecontents {
    bottom: 3%;
    left: 7%; }
  #mapcontainer iframe {
    display: block;
    margin: 3px;
    aspect-ratio: 16 / 9;
    width: auto;
    height: 20vw; } }
  @media screen and (max-width: 496px) {
  #mapcontainer .titlearea {
    height: auto;
    width: 100%; }
  #mapcontainer .maintitle {
    width: 99vw; }
  #mapcontainer .maparea {
    height: calc(100% - 165px);
    width: 100%; }
  #mapcontainer .moviecontents {
    margin: 0 auto;
    bottom: 18px;
    left: 50%;
    transform: translateX(-50%); }
  #mapcontainer iframe {
    display: block;
    margin: 3px;
    aspect-ratio: 16 / 9;
    width: 80vw;
    height: auto; } }
/* --------------------------------- *
 * etc
 * --------------------------------- */
#wpadminbar {
  display: none; }

img.alignright {
  display: block;
  margin: 0 0 0 auto; }

img.alignleft {
  display: block;
  margin: 0 auto 0 0; }

img.aligncenter {
  display: block;
  margin: 0 auto; }

img.slide_image {
  max-width: 20vw; }
  @media screen and (max-width: 980px) {
  img.slide_image {
    max-width: 28vw; } }
/* --------------------------------- *
 *  top_menu_list
 * --------------------------------- */
.top_menu_list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 600px;
  margin: 10px auto; }
  @media screen and (max-width: 980px) {
  .top_menu_list {
    width: 90%; } }

.top_button {
  width: 100%; }
/* --------------------------------- *
 *  comment_area
 * --------------------------------- */
.character_area {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  /* 画像と吹き出しの間隔 */ }

.comment_msg {
  position: relative;
  background: #fff9c4;
  color: #333;
  border-radius: 16px;
  padding: 16px 20px;
  margin: 0;
  display: inline-block;
  max-width: 90%;
  font-size: 1rem;
  border: 1px solid #b9a600; }

.comment_msg::before {
  content: "";
  position: absolute;
  left: -18px;
  top: 20px;
  width: 0;
  height: 0;
  border-top: 13px solid transparent;
  border-bottom: 13px solid transparent;
  border-right: 18px solid #b9a600; }

.comment_msg::after {
  content: "";
  position: absolute;
  left: -16px;
  top: 21px;
  width: 0;
  height: 0;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-right: 16px solid #fff9c4; }

img.map_image {
  max-width: 100%; }
/* 余白 */
@media screen and (max-width: 980px) {
    p.margin-area {
      margin-bottom: 30px; } }
