@charset "UTF-8";
/*
Theme Name: 「b」project
Text Domain: b-project
Version: 1.0
Requires at least: 5.3
Requires PHP: 7.4
Description: 
Author: 「b」project事務局
Author URI: https://b-project.net
*/
@font-face {
  font-family: "YuGothicWin";
  font-weight: normal;
  src: local("YuGothic-Medium"), local("Yu Gothic Medium"), local("YuGothic-Regular"); }
@font-face {
  font-family: "YuGothicWin";
  font-weight: bold;
  src: local("YuGothic-bold"), local("Yu Gothic"); }
p, ul, ol, pre, table, blockquote {
  margin-top: 2rem;
  margin-bottom: 2rem; }

hr {
  border: 1px solid;
  margin: -1px 0; }

ul ul, ol ol, ul ol, ol ul {
  margin-top: 0;
  margin-bottom: 0; }

b, strong, em, small, code {
  line-height: 1; }

sup, sub {
  vertical-align: baseline;
  position: relative;
  top: -0.4em; }

sub {
  top: 0.4em; }

a:link, a:visited {
  text-decoration: underline; }

a:hover, a:active {
  text-decoration: none; }

.noLink {
  cursor: default; }

.red {
  color: #FF0000; }

.note {
  color: #785039; }

.list-bull,
.list-square {
  padding-left: 1.6rem; }
  .list-bull li,
  .list-square li {
    list-style: none;
    text-indent: -1.6rem; }
    .list-bull li::before,
    .list-square li::before {
      display: inline;
      margin-right: .6em; }

.list-bull li::before {
  content: "・"; }

.list-square li::before {
  content: "■"; }

.table-list-bull {
  padding-left: 1.6rem; }
  .table-list-bull th {
    padding-right: 1rem;
    text-indent: -1.6rem;
    font-weight: normal; }
    .table-list-bull th::before {
      content: "・";
      display: inline;
      margin-right: .6em; }

body .cc-color-override--364301564.cc-window {
  background-color: rgba(0, 65, 74, 0.8); }
body#arch .cc-color-override--364301564.cc-window {
  background-color: rgba(142, 97, 66, 0.8); }

html {
  font-family: YuGothicWin, YuGothic, -apple-system, BlinkMacSystemfont, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-size: 100%;
  line-height: 1.875em;
  color: #333;
  -webkit-text-size-adjust: 100%; }

body {
  background: #FFF; }

section::after,
article::after,
header::after,
footer::after {
  clear: both;
  content: "";
  display: table; }

.container-Full,
.container {
  padding-left: 10px;
  padding-right: 10px;
  box-sizing: border-box; }

.container-Full {
  max-width: 1520px;
  margin: 0 auto; }

.container {
  max-width: 1020px;
  margin: 0 auto; }

.box-900 {
  max-width: 920px;
  padding-left: 10px;
  padding-right: 10px;
  margin: 0 auto;
  box-sizing: border-box; }

img {
  max-width: 100%;
  width: auto;
  height: auto; }

.image-headline,
.image-name {
  margin: 0;
  font-size: 0;
  line-height: 0;
  text-align: center; }

.image-box {
  line-height: 0; }

header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  padding-bottom: env(safe-area-inset-bottom);
  background-color: #EFF6F2;
  z-index: 100; }
  @media screen and (max-width: 800px) {
    header {
      bottom: 0;
      top: auto;
      background-color: #ffffff; }
      header .container {
        padding: 0; } }
  header .global-nav {
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 35px 0 14px; }
    @media screen and (max-width: 800px) {
      header .global-nav {
        padding: 0 1.5px; } }
    header .global-nav li {
      list-style: none;
      text-align: center;
      border-right: solid 1px #3C897D; }
      header .global-nav li.nav-contact {
        border-right: none; }
      header .global-nav li.nav-other {
        display: none; }
        header .global-nav li.nav-other .nav-children {
          display: none; }
      header .global-nav li > a,
      header .global-nav li > span {
        display: block;
        padding: .3em .75em;
        color: #3C897D;
        font-size: 1.125rem;
        line-height: 1em;
        text-decoration: none;
        white-space: nowrap; }
        @media screen and (max-width: 800px) {
          header .global-nav li > a,
          header .global-nav li > span {
            display: flex;
            justify-content: center;
            align-items: center;
            flex-wrap: wrap;
            width: 100%;
            height: 100%;
            padding: .3rem;
            font-size: 1rem;
            line-height: 1.4em;
            background: #EFF6F2;
            box-sizing: border-box; } }
      header .global-nav li .kana {
        font-size: .75em;
        font-style: normal; }
        @media screen and (max-width: 800px) {
          header .global-nav li .kana {
            display: block;
            width: 100%;
            font-size: .9em; } }
      @media screen and (max-width: 800px) {
        header .global-nav li .break {
          display: block;
          width: 100%; } }
      @media screen and (max-width: 800px) {
        header .global-nav li {
          width: 100%;
          text-align: center;
          border: none; }
          header .global-nav li > a,
          header .global-nav li > span {
            border-left: solid 1.5px #ffffff;
            border-right: solid 1.5px #ffffff;
            border-top: solid 3px #ffffff;
            border-bottom: solid 3px #ffffff; }
          header .global-nav li.nav-reserve, header .global-nav li.nav-access, header .global-nav li.nav-contact {
            display: none; }
          header .global-nav li.nav-other {
            display: block; }
            header .global-nav li.nav-other > span {
              position: relative;
              z-index: 100;
              cursor: pointer; }
              header .global-nav li.nav-other > span img {
                width: 26px;
                pointer-events: none; }
            header .global-nav li.nav-other #nav-other-children {
              position: fixed;
              right: 0;
              bottom: -180px;
              width: 24%;
              padding: 1.5px 0;
              background-color: #ffffff;
              z-index: 90; }
              header .global-nav li.nav-other #nav-other-children.open {
                display: flex;
                justify-content: center;
                flex-wrap: wrap;
                bottom: 60px;
                transition: bottom .3s ease-out; }
              header .global-nav li.nav-other #nav-other-children.close {
                bottom: -180px;
                transition: bottom .3s ease-out; }
              header .global-nav li.nav-other #nav-other-children li {
                min-height: 56px; }
                header .global-nav li.nav-other #nav-other-children li > a,
                header .global-nav li.nav-other #nav-other-children li > span {
                  border-left: solid 3px #ffffff;
                  border-right: solid 3px #ffffff;
                  border-top: solid 1.5px #ffffff;
                  border-bottom: solid 1.5px #ffffff; }
                header .global-nav li.nav-other #nav-other-children li.nav-reserve, header .global-nav li.nav-other #nav-other-children li.nav-access, header .global-nav li.nav-other #nav-other-children li.nav-contact {
                  display: block; }
            header .global-nav li.nav-other > a,
            header .global-nav li.nav-other > span {
              background-color: #A1C6C0; } }

footer {
  background-color: #DEEAE5; }
  footer .container {
    display: flex;
    align-items: flex-end;
    justify-content: space-between; }
    @media screen and (max-width: 800px) {
      footer .container {
        flex-wrap: wrap; } }
  footer .menu {
    padding: 8.5% 0 8.6% 4%;
    margin: 0; }
    @media screen and (max-width: 800px) {
      footer .menu {
        width: 100%;
        padding: 4% 0 0; } }
    @media screen and (max-width: 559px) {
      footer .menu {
        padding-top: 8.5%; } }
    footer .menu li {
      list-style: none; }
      footer .menu li[class^='btn-'] {
        width: 440px;
        height: 52px;
        margin-bottom: 8px;
        text-align: center; }
        @media screen and (max-width: 800px) {
          footer .menu li[class^='btn-'] {
            width: 100%;
            height: 52px; } }
        footer .menu li[class^='btn-'] a {
          display: block;
          width: 100%;
          height: 100%;
          font-size: 1.625rem;
          line-height: 52px;
          color: #ffffff;
          text-decoration: none; }
          footer .menu li[class^='btn-'] a .kana {
            font-size: .54em;
            font-style: normal; }
          footer .menu li[class^='btn-'] a .sub {
            font-size: .54em;
            padding-right: 1rem; }
            @media screen and (max-width: 559px) {
              footer .menu li[class^='btn-'] a .sub {
                display: block;
                padding-right: 0;
                margin-bottom: -1em; } }
          @media screen and (max-width: 559px) {
            footer .menu li[class^='btn-'] a {
              font-size: 1.25rem; } }
      footer .menu li.btn-contact {
        background-color: #3C897D; }
      footer .menu li.btn-arch {
        background-color: #785039; }
        @media screen and (max-width: 559px) {
          footer .menu li.btn-arch a {
            line-height: 30px; } }
      footer .menu li.text-menu a {
        font-size: .75rem;
        line-height: 1em;
        color: #3C897D;
        text-decoration: none; }
  footer .note {
    padding: 11% 0 8.6%;
    color: #3C897D;
    text-align: right;
    font-size: 1.125rem;
    line-height: 1.67em; }
    @media screen and (max-width: 800px) {
      footer .note {
        margin-top: 32px;
        padding-top: 0;
        padding-bottom: calc(8.6% + 60px);
        text-align: left; } }
    footer .note .author {
      margin: 0 0 18px; }
    footer .note small {
      display: block;
      font-size: .75rem;
      line-height: 1.5em; }
  footer #contact {
    display: none; }
    footer #contact input,
    footer #contact textarea {
      width: 100%; }

main {
  padding-top: calc(80px + 81px); }
  @media screen and (max-width: 800px) {
    main {
      padding-top: 32px; } }

.modaal-container {
  background-color: #EFF6F2; }

#contact,
#first_reserve {
  display: none; }

#contact-box .logo-box,
#first_reserve-box .logo-box {
  margin-bottom: 20.8%;
  line-height: 0; }
  #contact-box .logo-box .logo-buson,
  #first_reserve-box .logo-box .logo-buson {
    max-width: 130px;
    margin-right: 48px; }
  #contact-box .logo-box .logo-arch,
  #first_reserve-box .logo-box .logo-arch {
    max-width: 142px; }
#contact-box p,
#first_reserve-box p {
  margin: 0; }
#contact-box .label,
#first_reserve-box .label {
  display: inline-block;
  width: 100%;
  margin-bottom: 2.8%;
  color: #3C897D;
  font-weight: bolder;
  font-size: 1.25rem;
  line-height: 1em; }
#contact-box input,
#contact-box textarea,
#first_reserve-box input,
#first_reserve-box textarea {
  width: 100%;
  padding: 6px .6rem;
  margin-top: 1%;
  font-size: 1rem;
  border: solid 1px #90BCB5;
  box-sizing: border-box; }
#contact-box input,
#first_reserve-box input {
  line-height: 1em; }
  #contact-box input[type='submit'],
  #first_reserve-box input[type='submit'] {
    padding: .625em 0;
    font-size: 1.25rem;
    line-height: 1em;
    color: #ffffff;
    background-color: #3C897D;
    cursor: pointer; }
    #contact-box input[type='submit'][disabled],
    #first_reserve-box input[type='submit'][disabled] {
      background-color: #90BCB5;
      cursor: not-allowed; }
  #contact-box input[type='checkbox'],
  #first_reserve-box input[type='checkbox'] {
    display: none; }
    #contact-box input[type='checkbox'] + .wpcf7-list-item-label::before,
    #first_reserve-box input[type='checkbox'] + .wpcf7-list-item-label::before {
      display: inline-block;
      width: 1.25rem;
      height: 1.25rem;
      margin: 0 6px 3px 0;
      line-height: 1em;
      vertical-align: middle;
      background-color: #ffffff;
      border: solid 1px #90BCB5;
      box-sizing: border-box; }
    #contact-box input[type='checkbox']:checked + .wpcf7-list-item-label::before,
    #first_reserve-box input[type='checkbox']:checked + .wpcf7-list-item-label::before {
      background: #90BCB5 url("img/icon-checked.png") center center no-repeat; }
#contact-box textarea,
#first_reserve-box textarea {
  line-height: 1.6em; }
#contact-box a,
#first_reserve-box a {
  display: inline-block;
  padding: 0 0 3px;
  color: #3C897D;
  line-height: 1em;
  text-decoration: none;
  border-bottom: solid 1px #3C897D; }
#contact-box .text,
#first_reserve-box .text {
  margin-bottom: 4%;
  text-align: center;
  color: #3C897D;
  font-size: 1.25rem;
  font-weight: bold; }
#contact-box .space-name,
#first_reserve-box .space-name {
  display: block;
  margin-top: 1.4%; }
  #contact-box .space-name .wpcf7-list-item,
  #first_reserve-box .space-name .wpcf7-list-item {
    display: inline-block;
    padding-right: 2rem; }
#contact-box .policy,
#first_reserve-box .policy {
  display: inline-block;
  width: 100%; }
  #contact-box .policy .wpcf7-acceptance,
  #first_reserve-box .policy .wpcf7-acceptance {
    display: inline-block;
    width: 100%; }
    #contact-box .policy .wpcf7-acceptance .wpcf7-list-item,
    #first_reserve-box .policy .wpcf7-acceptance .wpcf7-list-item {
      display: inline-block;
      width: 100%; }
#contact-box .quiz input,
#first_reserve-box .quiz input {
  width: 5rem;
  margin-right: 6px; }
#contact-box .quiz > label:after,
#first_reserve-box .quiz > label:after {
  content: "府";
  display: inline-block; }
#contact-box .wpcf7-list-item,
#first_reserve-box .wpcf7-list-item {
  margin-left: 0; }
#contact-box .wpcf7-not-valid-tip,
#first_reserve-box .wpcf7-not-valid-tip {
  margin-top: 6px;
  font-size: 1rem; }
#contact-box .wpcf7-response-output,
#first_reserve-box .wpcf7-response-output {
  margin: 0;
  padding: .6em;
  border: none; }
  #contact-box .wpcf7-response-output.wpcf7-mail-sent-ok,
  #first_reserve-box .wpcf7-response-output.wpcf7-mail-sent-ok {
    background-color: rgba(127, 211, 165, 0.6); }
  #contact-box .wpcf7-response-output.wpcf7-validation-errors, #contact-box .wpcf7-response-output.wpcf7-acceptance-missing,
  #first_reserve-box .wpcf7-response-output.wpcf7-validation-errors,
  #first_reserve-box .wpcf7-response-output.wpcf7-acceptance-missing {
    background-color: rgba(247, 231, 0, 0.6); }
  #contact-box .wpcf7-response-output.wpcf7-mail-sent-ng,
  #first_reserve-box .wpcf7-response-output.wpcf7-mail-sent-ng {
    background-color: rgba(255, 125, 125, 0.6); }
  #contact-box .wpcf7-response-output.wpcf7-spam-blocked,
  #first_reserve-box .wpcf7-response-output.wpcf7-spam-blocked {
    background-color: rgba(255, 165, 0, 0.6); }

#contact-box .image-headline {
  max-width: 207px;
  margin: 0 auto 2.8%; }

#first_reserve-box .image-headline {
  max-width: 242px;
  margin: 0 auto 4%; }

#hero .image-headline {
  margin-bottom: 3.5%; }
  #hero .image-headline img {
    width: 222px; }
    @media screen and (max-width: 559px) {
      #hero .image-headline img {
        max-width: 155px;
        max-height: 50px;
        margin-left: auto;
        margin-right: auto; } }
#hero .container-Full {
  max-width: 1500px;
  padding-left: 0;
  padding-right: 0; }
#hero .image-box {
  margin-bottom: 4.8%; }
  @media screen and (max-width: 559px) {
    #hero .image-box {
      margin-bottom: 8.6%; } }

#news .container {
  position: relative; }
#news .image-headline {
  max-width: 720px;
  margin: 0 auto 3%;
  text-align: left; }
  #news .image-headline img {
    width: 66px; }
  @media screen and (max-width: 559px) {
    #news .image-headline {
      margin-bottom: 8.6%; } }
#news .btn-archive {
  position: absolute;
  right: 0;
  top: -.5rem;
  width: 100%; }
  #news .btn-archive .box {
    max-width: 720px;
    margin: 0 auto;
    padding: 0 10px;
    text-align: right; }
  #news .btn-archive a {
    display: inline-block;
    padding: 0 0 3px;
    color: #3C897D;
    line-height: 1em;
    text-decoration: none;
    border-bottom: solid 1px #3C897D; }
    #news .btn-archive a .icon-arw {
      position: relative;
      top: 2px;
      display: inline-block;
      font-size: 2rem; }
#news .news-list {
  max-width: 720px;
  margin: 0 auto 8.2%;
  padding: 0; }
  #news .news-list li {
    list-style: none;
    border-bottom: solid 1px #3C897D; }
    #news .news-list li:first-child a {
      padding-top: 0; }
    #news .news-list li:last-child {
      border-bottom: none; }
      #news .news-list li:last-child a {
        padding-bottom: 0; }
    #news .news-list li a {
      display: flex;
      padding: .8em 0;
      color: #3C897D;
      font-size: 1rem;
      line-height: 1.625em;
      text-decoration: none; }
      #news .news-list li a .date {
        margin-right: 22px;
        white-space: nowrap; }
      @media screen and (max-width: 559px) {
        #news .news-list li a {
          flex-wrap: wrap; }
          #news .news-list li a .date {
            width: 100%; } }

#funding-lead {
  margin: 0 auto 8.2%; }
  #funding-lead .lead-text {
    margin-bottom: 1%;
    font-size: 1.25rem;
    text-align: center;
    color: #3C897D; }
  #funding-lead .btn-funding {
    display: block;
    padding: 1rem 0;
    text-align: center;
    text-decoration: none;
    line-height: 0;
    background-color: #3C897D; }
    #funding-lead .btn-funding img {
      display: inline-block; }
      #funding-lead .btn-funding img:first-child {
        max-width: 163px;
        margin-right: 1px; }
        @media screen and (max-width: 559px) {
          #funding-lead .btn-funding img:first-child {
            margin-right: 0;
            margin-bottom: 10px; } }
      #funding-lead .btn-funding img:last-child {
        max-width: 344px; }

#funding .image-headline {
  padding: 8% 0 10px;
  margin-bottom: 2%;
  border-bottom: solid 1px #3C897D; }
  #funding .image-headline img {
    max-width: 193px; }
#funding .funding-list {
  margin-bottom: 8%;
  color: #3C897D; }
  #funding .funding-list ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0; }
    #funding .funding-list ul li {
      width: 33%; }
      @media screen and (max-width: 999px) {
        #funding .funding-list ul li {
          width: 49%; } }
      @media screen and (max-width: 559px) {
        #funding .funding-list ul li {
          width: 100%; } }

#archive header,
#single header {
  background-color: #ffffff; }
#archive main,
#single main {
  background-color: #EFF6F2; }
#archive footer .menu li.btn-contact,
#single footer .menu li.btn-contact {
  background-color: #ffffff; }
  #archive footer .menu li.btn-contact a,
  #single footer .menu li.btn-contact a {
    color: #3C897D; }

#news-archive .logo-box {
  margin-bottom: 13.8%;
  line-height: 0; }
  #news-archive .logo-box .logo-buson {
    max-width: 130px;
    margin-right: 48px; }
  #news-archive .logo-box .logo-arch {
    max-width: 142px; }
#news-archive .image-headline {
  position: relative;
  width: 100%;
  margin: 0 0 6.2%; }
  #single #news-archive .image-headline {
    text-align: left; }
  #news-archive .image-headline .headline {
    max-width: 91px; }
  #news-archive .image-headline .btn-back {
    position: absolute;
    right: 0;
    top: 10px;
    margin-bottom: 0; }
#news-archive .news-list {
  list-style: none;
  margin: 0 0 9%;
  padding: 0; }
  #news-archive .news-list li {
    margin-bottom: calc(3.8% - .8em); }
    #news-archive .news-list li a {
      display: flex;
      padding: .4em 0;
      color: #3C897D;
      font-size: 1rem;
      line-height: 1.625em;
      text-decoration: none; }
      #news-archive .news-list li a .date {
        margin-right: 22px;
        white-space: nowrap; }
      @media screen and (max-width: 559px) {
        #news-archive .news-list li a {
          flex-wrap: wrap; }
          #news-archive .news-list li a .date {
            width: 100%; } }

.pagination {
  display: flex;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0 0 9%; }
  #single .pagination {
    margin-bottom: 4%; }
  .pagination .inactive {
    display: none; }
  .pagination .prev a,
  .pagination .prev span,
  .pagination .next a,
  .pagination .next span {
    display: block;
    padding: .6em 1.6em;
    margin: 0 40px;
    font-size: 1.25rem;
    line-height: 1em;
    color: #3C897D;
    text-decoration: none;
    background-color: #ffffff;
    border: solid 1px #90BCB5;
    box-sizing: border-box; }
    .pagination .prev a:hover,
    .pagination .prev span:hover,
    .pagination .next a:hover,
    .pagination .next span:hover {
      color: #ffffff;
      background-color: #3C897D; }

.btn-back {
  display: flex;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0 0 9%; }
  .btn-back a {
    display: block;
    padding: .6rem 1.6rem;
    line-height: 1em;
    font-size: 1.25rem;
    color: #3C897D;
    text-decoration: none;
    border: solid 1px #3C897D;
    border-radius: 2rem; }

#post-area {
  color: #3C897D;
  font-size: 1rem;
  line-height: 1.625em; }
  #post-area .post-title {
    padding-bottom: .8rem;
    margin-bottom: 4%;
    border-bottom: solid 1px #3C897D; }
    #post-area .post-title .date {
      margin: 0;
      padding-bottom: .5rem;
      font-size: 1.25rem;
      line-height: 1em; }
    #post-area .post-title .title {
      margin: 0;
      font-size: 1.75rem;
      line-height: 1.4em;
      font-weight: normal; }

#tinymce {
  font-family: YuGothicWin, YuGothic, -apple-system, BlinkMacSystemfont, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  color: #3C897D;
  font-size: 1rem;
  line-height: 1.625em;
  background-color: #EFF6F2; }

.post-body h1, .post-body h2, .post-body h3, .post-body h4, .post-body h5, .post-body h6,
.post-body p,
.post-body ul, .post-body ol,
.post-body blockquote {
  margin: 3% 0; }
.post-body h1, .post-body h2, .post-body h3, .post-body h4, .post-body h5, .post-body h6 {
  margin-top: 6%; }
.post-body h1 {
  padding-bottom: .8rem;
  margin-bottom: 4%;
  font-size: 1.75rem;
  line-height: 1.4em;
  font-weight: normal;
  border-bottom: solid 1px #3C897D; }
.post-body h2 {
  font-size: 1.75rem;
  line-height: 1.4em; }
.post-body h3 {
  font-size: 1.5rem;
  line-height: 1.4em; }
.post-body h4 {
  font-size: 1.25rem;
  line-height: 1.4em; }
.post-body h5 {
  font-size: 1.125rem;
  line-height: 1.4em; }
.post-body h6 {
  font-size: 1rem;
  line-height: 1.4em; }
.post-body ul ul, .post-body ul ol,
.post-body ol ul, .post-body ol ol {
  margin: 1% 0; }
.post-body a {
  color: #3C897D; }
.post-body blockquote {
  position: relative;
  padding: 1px 3%;
  background-color: rgba(179, 212, 193, 0.6); }
  .post-body blockquote::before, .post-body blockquote::after {
    position: absolute;
    display: block;
    font-size: 5rem;
    line-height: 1em;
    color: rgba(60, 137, 125, 0.3); }
  .post-body blockquote::before {
    content: "“";
    left: 5px;
    top: 0; }
  .post-body blockquote::after {
    content: "”";
    right: 2px;
    bottom: -.5em; }
.post-body img {
  display: block;
  margin-left: auto;
  margin-right: auto; }
.post-body .gallery {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  list-style: none;
  width: 100%;
  padding: 0; }
  .post-body .gallery br {
    display: none; }
  .post-body .gallery .gallery-item {
    margin-top: 0;
    margin-bottom: 2%;
    float: none; }
  .post-body .gallery dt {
    display: block;
    max-width: 100%; }
  .post-body .gallery a {
    display: block;
    width: 100%;
    height: 100%; }
  .post-body .gallery img {
    object-fit: cover;
    width: 100%;
    height: 100%; }
  .post-body .gallery dd {
    margin: 0;
    padding: 6px 0 0 0;
    text-align: left;
    font-size: 1rem;
    line-height: 1.4em; }
  .post-body .gallery.gallery-columns-1 .gallery-item {
    width: 100%; }
    .post-body .gallery.gallery-columns-1 .gallery-item dt {
      width: 100vw;
      max-height: 1000px;
      height: 95vw; }
  .post-body .gallery.gallery-columns-2 .gallery-item {
    width: 49%; }
    .post-body .gallery.gallery-columns-2 .gallery-item dt {
      width: 49vw;
      max-height: 490px;
      height: 46vw; }
  .post-body .gallery.gallery-columns-3 .gallery-item {
    width: 32%; }
    .post-body .gallery.gallery-columns-3 .gallery-item dt {
      width: 32vw;
      max-height: 320px;
      height: 30vw; }
  .post-body .gallery.gallery-columns-4 .gallery-item {
    width: 24%; }
    .post-body .gallery.gallery-columns-4 .gallery-item dt {
      width: 24vw;
      max-height: 240px;
      height: 22vw; }
  .post-body .gallery.gallery-columns-5 .gallery-item {
    width: 19%; }
    .post-body .gallery.gallery-columns-5 .gallery-item dt {
      width: 19vw;
      max-height: 190px;
      height: 18vw; }
  .post-body .gallery.gallery-columns-6 .gallery-item {
    width: 16%; }
    .post-body .gallery.gallery-columns-6 .gallery-item dt {
      width: 16vw;
      max-height: 160px;
      height: 15vw; }
  .post-body .gallery.gallery-columns-7 .gallery-item {
    width: 14%; }
    .post-body .gallery.gallery-columns-7 .gallery-item dt {
      width: 14vw;
      max-height: 140px;
      height: 13vw; }
  .post-body .gallery.gallery-columns-8 .gallery-item {
    width: 12%; }
    .post-body .gallery.gallery-columns-8 .gallery-item dt {
      width: 12vw;
      max-height: 120px;
      height: 12vw; }
  .post-body .gallery.gallery-columns-9 .gallery-item {
    width: 11%; }
    .post-body .gallery.gallery-columns-9 .gallery-item dt {
      width: 11vw;
      max-height: 110px;
      height: 11vw; }
.post-body .wp-playlist {
  border-color: #3C897D; }
  .post-body .wp-playlist-light .wp-playlist-caption {
    color: #3C897D; }
  .post-body .wp-playlist .wp-playlist-item-title {
    font-weight: bold; }
  .post-body .wp-playlist .wp-playlist-item-album {
    font-style: normal; }
  .post-body .wp-playlist .wp-playlist-item-length {
    color: #3C897D; }
.post-body .mejs-audio .mejs-controls,
.post-body .mejs-video .mejs-controls {
  background: #26665d; }
.post-body .mejs-video {
  background: #b6d1c6; }

#lead-box {
  background-color: #EFF6F2; }
  #lead-box .lead-text {
    margin: 0;
    padding: 8.4% 0;
    color: #3C897D;
    font-size: 1.25rem;
    line-height: 1.8em;
    text-align: center; }
    @media screen and (max-width: 559px) {
      #lead-box .lead-text {
        padding-top: 8.6%;
        text-align: left; } }
  #lead-box .image-photo_with_text {
    padding: 0;
    margin: 0; }
    #lead-box .image-photo_with_text li {
      display: flex;
      list-style: none;
      margin-bottom: 5.7%; }
      #lead-box .image-photo_with_text li:nth-child(even) {
        flex-direction: row-reverse; }
      #lead-box .image-photo_with_text li:nth-child(odd) .image-box img {
        float: right; }
      #lead-box .image-photo_with_text li .image-box {
        max-width: 750px;
        width: 100%;
        height: auto;
        min-height: 155px;
        line-height: 0; }
        @media screen and (max-width: 999px) {
          #lead-box .image-photo_with_text li .image-box {
            max-width: auto;
            width: auto;
            overflow: hidden; }
            #lead-box .image-photo_with_text li .image-box img {
              min-width: 290px;
              min-height: 155px; } }
      #lead-box .image-photo_with_text li .text-box {
        display: flex;
        justify-content: center;
        align-items: center;
        max-width: 500px;
        width: 500px;
        min-width: 500px;
        margin: 0;
        padding: 0 100px;
        color: #3C897D;
        background-color: #fff;
        box-sizing: border-box; }
        @media screen and (max-width: 999px) {
          #lead-box .image-photo_with_text li .text-box {
            min-width: 350px;
            padding: 0 3%; } }
        #lead-box .image-photo_with_text li .text-box p {
          margin: 0; }
      @media screen and (max-width: 559px) {
        #lead-box .image-photo_with_text li {
          flex-wrap: wrap; }
          #lead-box .image-photo_with_text li .text-box {
            max-width: 100%;
            width: 100%;
            min-width: auto;
            padding: 2rem 10%; } }
  #lead-box .image-photo {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-bottom: 20%; }
    #lead-box .image-photo .image-box {
      margin-bottom: 34px; }
      #lead-box .image-photo .image-box:nth-last-child(-n+2) {
        margin-bottom: 0; }
    @media screen and (max-width: 999px) {
      #lead-box .image-photo {
        margin-left: 10%;
        margin-right: 10%;
        padding-bottom: 12%; }
        #lead-box .image-photo .image-box {
          width: 48%;
          margin-bottom: 4%; }
          #lead-box .image-photo .image-box img {
            width: 100%;
            height: auto; }
        #lead-box .image-photo .image-long {
          order: 5;
          width: 100%; } }
    @media screen and (max-width: 559px) {
      #lead-box .image-photo {
        margin: 0;
        padding-bottom: 32%; } }

#movie {
  background-color: #EFF6F2; }
  #movie .image-headline {
    margin-bottom: 4.1%; }
    #movie .image-headline img {
      width: 139px; }
      @media screen and (max-width: 559px) {
        #movie .image-headline img {
          max-width: 107px;
          max-height: 44.6px;
          margin-left: auto;
          margin-right: auto; } }
    @media screen and (max-width: 559px) {
      #movie .image-headline {
        margin-bottom: 8.5%; } }
  #movie .video {
    margin-bottom: 8.4%;
    line-height: 0; }
    @media screen and (max-width: 999px) {
      #movie .video {
        margin-bottom: 12%; } }
    @media screen and (max-width: 559px) {
      #movie .video {
        margin-bottom: 20%; } }
    #movie .video iframe {
      max-width: 900px;
      width: 100%;
      max-height: 506px;
      height: 56.22vw; }

#sns {
  background-color: #EFF6F2; }
  #sns .container {
    max-width: 1000px;
    padding: 0;
    background-color: #ffffff; }
  #sns .image-headline {
    padding-top: 8.8%;
    margin-bottom: 3.6%; }
    #sns .image-headline img {
      width: 177px; }
      @media screen and (max-width: 559px) {
        #sns .image-headline img {
          max-width: 138px;
          max-height: 44.6px;
          margin-left: auto;
          margin-right: auto; } }
  #sns .social-icon {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0 0 3.8%; }
    #sns .social-icon li {
      width: 80px;
      height: 80px;
      margin: 0; }
      #sns .social-icon li.sns-facebook {
        margin-left: -3px;
        margin-right: -3px; }
      #sns .social-icon li img {
        width: 80px;
        pointer-events: none; }
        @media screen and (max-width: 559px) {
          #sns .social-icon li img {
            width: 62px;
            height: 62px; } }
      @media screen and (max-width: 559px) {
        #sns .social-icon li {
          width: 62px;
          height: 62px; } }
      #sns .social-icon li a {
        display: block;
        width: 100%;
        height: 100%; }
      #sns .social-icon li #line-official {
        display: none; }
  #sns #instagram {
    margin-bottom: 7.8%; }

.line-official-box {
  max-width: 360px;
  margin: 0 auto;
  font-size: .875rem;
  line-height: 1.6em; }
  .line-official-box p {
    margin-bottom: .5rem; }
  .line-official-box img + p {
    margin-top: .5rem;
    margin-bottom: 0; }
  .line-official-box strong {
    color: #07b53b; }

#access {
  background-color: #EFF6F2; }
  #access .image-headline {
    padding-top: 8.5%;
    margin-bottom: 3.7%; }
    @media screen and (max-width: 999px) {
      #access .image-headline {
        padding-top: 12%; } }
    @media screen and (max-width: 559px) {
      #access .image-headline {
        margin-bottom: 8.5%; } }
    #access .image-headline img {
      width: 193px; }
      @media screen and (max-width: 559px) {
        #access .image-headline img {
          max-width: 150px;
          max-height: 44.5px;
          margin-left: auto;
          margin-right: auto; } }
  #access .map {
    margin-bottom: 4%;
    line-height: 0; }
    #access .map iframe {
      width: 100%;
      max-height: 688px;
      height: 68.8vw; }
  #access .route {
    padding: 0;
    margin: 0 0 8.5%; }
    @media screen and (max-width: 999px) {
      #access .route {
        margin-bottom: 4%; } }
    @media screen and (max-width: 559px) {
      #access .route {
        margin-bottom: 8.5%; } }
    #access .route li {
      list-style: none;
      font-size: 1.125rem;
      line-height: 1.67em;
      text-align: center;
      color: #3C897D; }
      #access .route li::before {
        content: "◎";
        display: inline-block;
        margin-right: .6em; }
      @media screen and (max-width: 559px) {
        #access .route li {
          text-align: left; } }

.instagram-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 5%; }

.instagram-item {
  position: relative;
  width: 32%;
  margin-bottom: 16px; }
  .instagram-item.VIDEO::before, .instagram-item.CAROUSEL_ALBUM::before {
    content: "";
    position: absolute;
    right: 14px;
    top: 16px;
    width: 18px;
    height: 18px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100%;
    z-index: 10;
    filter: drop-shadow(0 0 3px black); }
  .instagram-item.VIDEO::before {
    background-image: url("img/ico-video.svg"); }
  .instagram-item.CAROUSEL_ALBUM::before {
    background-image: url("img/ico-carousel.svg"); }
  @media screen and (max-width: 999px) {
    .instagram-item {
      width: 48%; } }

a.instagram-card {
  display: block;
  position: relative;
  color: #333;
  text-decoration: none; }

.instagram-card__media {
  display: block;
  max-width: 288px;
  width: 32vw;
  max-height: 288px;
  height: 32vw;
  border: solid 1px #eee;
  box-sizing: border-box;
  overflow: hidden; }
  .instagram-card__media > img,
  .instagram-card__media > video {
    object-fit: cover;
    width: 100%;
    height: 100%; }
  @media screen and (max-width: 999px) {
    .instagram-card__media {
      max-width: 432px;
      width: 43vw;
      max-height: 432px;
      height: 43vw; } }

.instagram-card__badge {
  position: absolute;
  top: 8px;
  left: 0;
  display: flex;
  padding: 6px 18px;
  align-items: center;
  line-height: 1;
  font-size: 14px;
  color: #ef8089;
  background-color: #fff;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px; }

.instagram-icon {
  display: block;
  width: 20px;
  height: 20px;
  fill: #ef8089; }

.instagram-card__comment {
  padding: 6px 0;
  font-size: 1rem;
  line-height: 1.4em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

#arch header {
  background-color: #F4F1EF; }
  @media screen and (max-width: 800px) {
    #arch header {
      background-color: #ffffff; } }
  #arch header .global-nav li {
    border-color: #785039; }
    #arch header .global-nav li > a,
    #arch header .global-nav li > span {
      color: #785039; }
      @media screen and (max-width: 800px) {
        #arch header .global-nav li > a,
        #arch header .global-nav li > span {
          background: #F4F1EF; } }
    @media screen and (max-width: 800px) {
      #arch header .global-nav li.nav-other > a,
      #arch header .global-nav li.nav-other > span {
        background-color: #B9A499; } }
#arch #hero .image-headline {
  margin-bottom: 6.2%; }
  #arch #hero .image-headline img {
    width: 290px; }
    @media screen and (max-width: 559px) {
      #arch #hero .image-headline img {
        max-width: 167px;
        margin-left: auto;
        margin-right: auto; } }
#arch #hero .image-box {
  margin-bottom: 5.7%; }
#arch #lead-text {
  text-align: center;
  color: #785039; }
  #arch #lead-text p {
    margin-top: 0;
    margin-bottom: 4%;
    font-size: 1.25rem;
    line-height: 1.8em; }
    @media screen and (max-width: 559px) {
      #arch #lead-text p {
        font-size: 1rem;
        line-height: 1.875em;
        text-align: left; } }
    #arch #lead-text p .point {
      font-size: 1.75rem;
      line-height: 1.64em;
      font-weight: normal; }
      @media screen and (max-width: 559px) {
        #arch #lead-text p .point {
          font-size: 1.25rem;
          line-height: 1.9em; } }
    #arch #lead-text p:last-child {
      margin-bottom: 8.4%; }
#arch #floor_map {
  background-color: #F4F1EF; }
  #arch #floor_map .container > .image-box {
    margin-bottom: 8.5%;
    margin-top: 48vh;
    text-align: center; }
    #arch #floor_map .container > .image-box img {
      max-height: 80vh;
      margin-top: -48vh; }
    #arch #floor_map .container > .image-box .pc {
      display: inline-block; }
    #arch #floor_map .container > .image-box .sp {
      display: none; }
    @media screen and (max-width: 559px) {
      #arch #floor_map .container > .image-box {
        margin-top: 28vh; }
        #arch #floor_map .container > .image-box .pc {
          display: none; }
        #arch #floor_map .container > .image-box .sp {
          display: inline-block;
          margin-top: -28vh; } }
  #arch #floor_map .container > .text-box {
    text-align: center;
    color: #785039; }
    #arch #floor_map .container > .text-box p {
      margin-top: 0;
      margin-bottom: 4%;
      font-size: 1.25rem;
      line-height: 1.8em; }
      @media screen and (max-width: 559px) {
        #arch #floor_map .container > .text-box p {
          font-size: 1rem;
          line-height: 1.875em;
          text-align: left; } }
      #arch #floor_map .container > .text-box p .point {
        font-size: 1.75rem;
        line-height: 1.64em;
        font-weight: normal; }
        @media screen and (max-width: 559px) {
          #arch #floor_map .container > .text-box p .point {
            font-size: 1.25rem;
            line-height: 1.9em; } }
      #arch #floor_map .container > .text-box p:last-child {
        margin-bottom: 8.4%; }
        @media screen and (max-width: 559px) {
          #arch #floor_map .container > .text-box p:last-child {
            margin-bottom: 20%; } }
  #arch #floor_map .image-photo_with_text {
    padding: 0;
    margin: 0; }
    #arch #floor_map .image-photo_with_text li {
      display: flex;
      list-style: none;
      margin-bottom: 5.7%; }
      #arch #floor_map .image-photo_with_text li:nth-child(even) {
        flex-direction: row-reverse; }
      #arch #floor_map .image-photo_with_text li:nth-child(odd) .image-box img {
        float: right; }
      #arch #floor_map .image-photo_with_text li .image-box {
        max-width: 500px;
        width: 100%;
        height: auto;
        min-height: 155px;
        line-height: 0; }
        @media screen and (max-width: 999px) {
          #arch #floor_map .image-photo_with_text li .image-box {
            max-width: auto;
            width: auto;
            overflow: hidden; }
            #arch #floor_map .image-photo_with_text li .image-box img {
              min-width: 290px;
              min-height: 155px; } }
        @media screen and (max-width: 559px) {
          #arch #floor_map .image-photo_with_text li .image-box {
            max-width: 100%;
            width: 100%; }
            #arch #floor_map .image-photo_with_text li .image-box img {
              width: 100%;
              height: auto; } }
      #arch #floor_map .image-photo_with_text li .text-box {
        display: flex;
        justify-content: center;
        align-items: center;
        max-width: 500px;
        width: 500px;
        min-width: 500px;
        margin: 0;
        padding: 0 100px;
        color: #785039;
        background-color: #E5DED9;
        box-sizing: border-box; }
        @media screen and (max-width: 999px) {
          #arch #floor_map .image-photo_with_text li .text-box {
            min-width: 350px;
            padding: 0 3%; } }
        #arch #floor_map .image-photo_with_text li .text-box p {
          margin: 0; }
        #arch #floor_map .image-photo_with_text li .text-box .image-name {
          margin-bottom: 6%;
          text-align: center; }
          #arch #floor_map .image-photo_with_text li .text-box .image-name img {
            width: 85px; }
        #arch #floor_map .image-photo_with_text li .text-box .btn {
          margin-top: 4.8%;
          text-align: center; }
          #arch #floor_map .image-photo_with_text li .text-box .btn a {
            display: inline-block;
            padding: 4px .8em;
            line-height: 1em;
            color: #ffffff;
            text-decoration: none;
            background-color: #785039; }
      @media screen and (max-width: 559px) {
        #arch #floor_map .image-photo_with_text li {
          flex-wrap: wrap; }
          #arch #floor_map .image-photo_with_text li .text-box {
            max-width: 100%;
            width: 100%;
            min-width: auto;
            padding: 2rem 10%; } }
  #arch #floor_map #booth-info {
    padding: 5%;
    margin-bottom: 8.6%;
    color: #785039;
    background-color: #ffffff;
    border: solid 5px #785039;
    box-sizing: border-box; }
    #arch #floor_map #booth-info > .list-square {
      margin-top: 0;
      margin-bottom: 2.4%; }
    #arch #floor_map #booth-info .booth-details {
      display: flex;
      flex-direction: row-reverse;
      flex-wrap: wrap;
      margin-bottom: 2.4%; }
      @media screen and (max-width: 559px) {
        #arch #floor_map #booth-info .booth-details {
          flex-direction: column-reverse;
          margin-bottom: 8%; } }
      #arch #floor_map #booth-info .booth-details .detail {
        width: 50%;
        padding-left: 1rem;
        box-sizing: border-box; }
        @media screen and (max-width: 559px) {
          #arch #floor_map #booth-info .booth-details .detail {
            width: 100%;
            padding-left: 0;
            padding-top: 4%; } }
        #arch #floor_map #booth-info .booth-details .detail .booth-name {
          width: 100%;
          margin-top: 0;
          font-size: 1rem;
          border-bottom: solid 1px #785039; }
        #arch #floor_map #booth-info .booth-details .detail .list-square {
          margin: 0; }
          #arch #floor_map #booth-info .booth-details .detail .list-square ul {
            margin: 0;
            padding: 0; }
      #arch #floor_map #booth-info .booth-details .image-box {
        width: 50%; }
        @media screen and (max-width: 559px) {
          #arch #floor_map #booth-info .booth-details .image-box {
            width: 100%; } }
        #arch #floor_map #booth-info .booth-details .image-box img {
          width: 100%;
          height: auto; }
      #arch #floor_map #booth-info .booth-details + .note {
        margin-top: 3.2%;
        margin-bottom: 0; }
#arch #terms_of_use {
  color: #785039;
  text-align: center;
  background-color: #F4F1EF; }
  #arch #terms_of_use .headline {
    margin: 0 0 6px;
    font-size: 1.5rem;
    line-height: 1.4em;
    text-align: center;
    font-weight: normal; }
  #arch #terms_of_use .acc_btn {
    position: relative;
    display: inline-block;
    padding: 4px 2.6rem 4px .8rem;
    margin: 0 auto 1.4%;
    font-size: 1rem;
    line-height: 1em;
    border: solid 1px #785039;
    box-sizing: border-box;
    cursor: pointer; }
    #arch #terms_of_use .acc_btn::after {
      content: "";
      position: absolute;
      right: .8rem;
      display: block;
      width: 1rem;
      height: 1rem;
      border-left: solid 1px #785039;
      border-top: solid 1px #785039; }
    #arch #terms_of_use .acc_btn.open::after {
      top: 9px;
      transform: rotate(45deg); }
    #arch #terms_of_use .acc_btn.close::after {
      bottom: 9px;
      transform: rotate(-135deg); }
  #arch #terms_of_use .list-terms {
    padding: 0 5%;
    margin-bottom: 8.6%;
    text-align: left;
    box-sizing: border-box; }
    @media screen and (max-width: 559px) {
      #arch #terms_of_use .list-terms {
        padding: 0; } }
    #arch #terms_of_use .list-terms dt::before {
      content: "＜";
      display: inline; }
    #arch #terms_of_use .list-terms dt::after {
      content: "＞";
      display: inline; }
    #arch #terms_of_use .list-terms dd {
      margin: 0; }
      #arch #terms_of_use .list-terms dd p, #arch #terms_of_use .list-terms dd ul, #arch #terms_of_use .list-terms dd table {
        margin: 0;
        text-indent: 0; }
      #arch #terms_of_use .list-terms dd table th,
      #arch #terms_of_use .list-terms dd table td {
        vertical-align: top; }
    #arch #terms_of_use .list-terms.open {
      line-height: 1.5em;
      opacity: 1;
      visibility: visible;
      transition: line-height .3s ease-out, opacity     .1s linear .1s, visibility  .1s linear .1s; }
      #arch #terms_of_use .list-terms.open dd {
        margin-bottom: 1rem;
        transition: margin-bottom .1s linear; }
    #arch #terms_of_use .list-terms.close {
      line-height: 0;
      opacity: 0;
      visibility: hidden;
      transition: line-height .3s ease-out, opacity     .1s linear, visibility  .1s linear; }
      #arch #terms_of_use .list-terms.close dd {
        margin-bottom: 0;
        transition: margin-bottom .1s linear; }
  #arch #terms_of_use #terms_of_use_list + iframe {
    width: 100%;
    height: 600px;
    margin-bottom: 8.6%;
    padding-top: 6px;
    background-color: #e8e3e3;
    border: solid 5px #785039 !important;
    box-sizing: border-box; }
#arch #reserve {
  background-color: #F4F1EF; }
  #arch #reserve .btn-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4% 2% calc(4% - 8px);
    margin-bottom: 0;
    margin-top: 0;
    list-style: none;
    line-height: 0;
    background-color: #ffffff; }
    @media screen and (max-width: 800px) {
      #arch #reserve .btn-box {
        flex-wrap: wrap;
        justify-content: center; } }
    @media screen and (max-width: 559px) {
      #arch #reserve .btn-box {
        margin-bottom: 8.5%; } }
    #arch #reserve .btn-box li {
      width: 100%;
      margin: 0 2% 8px;
      text-align: center; }
      #arch #reserve .btn-box li a {
        display: block;
        font-size: 1.625rem;
        line-height: 52px;
        color: #ffffff;
        text-decoration: none; }
        @media screen and (max-width: 559px) {
          #arch #reserve .btn-box li a {
            font-size: 1.125rem; } }
      #arch #reserve .btn-box li.btn-first_reserve a, #arch #reserve .btn-box li.btn-reserve a {
        background-color: #785039; }
#arch #access {
  background-color: #F4F1EF; }
  #arch #access .image-headline img.pc {
    display: inline;
    width: 446px; }
  #arch #access .image-headline img.sp {
    display: none;
    width: 279px; }
  @media screen and (max-width: 559px) {
    #arch #access .image-headline img {
      max-width: 202px;
      margin-left: auto;
      margin-right: auto; }
      #arch #access .image-headline img.pc {
        display: none; }
      #arch #access .image-headline img.sp {
        display: inline; } }
  @media screen and (max-width: 559px) {
    #arch #access .image-headline {
      margin-bottom: 8.5%; } }
  #arch #access .route li {
    color: #785039; }
#arch #sns {
  background-color: #F4F1EF; }
  #arch #sns .container {
    background-color: transparent; }
    #arch #sns .container .social-icon {
      margin: 0 0 8.5%; }
#arch footer {
  background-color: #E5DED9; }
  #arch footer .menu li.text-menu a {
    color: #785039; }
  #arch footer .menu li.btn-contact {
    background-color: #785039; }
  #arch footer .menu li.btn-buson {
    background-color: #3C897D; }
  #arch footer .note {
    color: #785039; }

#b-project header {
  background-color: #ffffff; }
#b-project main {
  padding-top: calc(208px + 81px);
  background-color: #EFF6F2; }
  @media screen and (max-width: 999px) {
    #b-project main {
      background-color: #fff; } }
  @media screen and (max-width: 800px) {
    #b-project main {
      padding-top: 8.1%; } }
#b-project #hero .container-Full {
  padding-left: 10px;
  padding-right: 10px; }
#b-project #hero .bk_image {
  display: flex;
  justify-content: center;
  align-items: center;
  max-height: 500px;
  height: 33.33vw;
  background-image: url("img/b-project/hero.jpg");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100%; }
  @media screen and (max-width: 999px) {
    #b-project #hero .bk_image {
      align-items: flex-start;
      max-height: none;
      height: auto;
      background-image: url("img/b-project/hero-sp.jpg"); } }
#b-project #hero .box {
  width: 100%; }
#b-project #hero .image-headline {
  margin-bottom: 3.1%; }
  #b-project #hero .image-headline img {
    width: 454px; }
    @media screen and (max-width: 559px) {
      #b-project #hero .image-headline img {
        max-width: 266px;
        max-height: 36px;
        margin-left: auto;
        margin-right: auto; } }
  @media screen and (max-width: 999px) {
    #b-project #hero .image-headline {
      margin-top: calc(25% - 10px);
      margin-bottom: calc(25% + 10px); } }
  @media screen and (max-width: 559px) {
    #b-project #hero .image-headline {
      margin-top: calc(25% - 9px);
      margin-bottom: calc(25% + 9px); } }
#b-project #hero .text-box {
  font-size: 1rem;
  line-height: 1.875em;
  text-align: center;
  color: #ffffff; }
  @media screen and (max-width: 999px) {
    #b-project #hero .text-box {
      margin-bottom: 8.4%;
      color: #3C897D; } }
  @media screen and (max-width: 559px) {
    #b-project #hero .text-box {
      text-align: left; } }
  #b-project #hero .text-box p {
    margin-bottom: 0; }
#b-project #about {
  text-align: center;
  color: #3C897D;
  background-color: #EFF6F2; }
  #b-project #about .headline {
    padding-top: 8.5%;
    margin-top: 0;
    margin-bottom: 4%;
    font-size: 1.125rem;
    line-height: 1em; }
    @media screen and (max-width: 559px) {
      #b-project #about .headline {
        padding-top: 14%;
        text-align: left; } }
  #b-project #about .text-box {
    margin-bottom: 8.5%; }
    @media screen and (max-width: 559px) {
      #b-project #about .text-box {
        text-align: left; } }
    #b-project #about .text-box p {
      margin-bottom: 3.8%;
      line-height: 1.875em; }
  #b-project #about .catch {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: calc(8.5% - 8px); }
    @media screen and (max-width: 559px) {
      #b-project #about .catch {
        max-width: 248px;
        margin-left: auto;
        margin-right: auto; } }
    #b-project #about .catch img {
      margin: 0 14px 24px; }
      #b-project #about .catch img:first-child {
        width: 236px; }
      #b-project #about .catch img:last-child {
        width: 369px; }
      @media screen and (max-width: 559px) {
        #b-project #about .catch img {
          margin-left: auto;
          margin-right: auto;
          margin-bottom: 14px; }
          #b-project #about .catch img:first-child {
            max-width: 157px;
            max-height: 27px; }
          #b-project #about .catch img:last-child {
            max-width: 248px;
            max-height: 23.7px; } }
    #b-project #about .catch + .image-box {
      margin-bottom: 4%; }
      @media screen and (max-width: 559px) {
        #b-project #about .catch + .image-box {
          margin-bottom: 8.5%; } }
#b-project #cta {
  background-color: #EFF6F2; }
  #b-project #cta .btn-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4% 2% calc(4% - 8px);
    margin-bottom: 21%;
    margin-top: 0;
    list-style: none;
    line-height: 0;
    background-color: #ffffff; }
    @media screen and (max-width: 800px) {
      #b-project #cta .btn-box {
        flex-wrap: wrap;
        justify-content: center; } }
    @media screen and (max-width: 559px) {
      #b-project #cta .btn-box {
        margin-bottom: 8.5%; } }
    #b-project #cta .btn-box li {
      width: 100%;
      height: 100%;
      margin: 0 2% 8px;
      text-align: center; }
      #b-project #cta .btn-box li a {
        display: block;
        color: #ffffff;
        font-size: 1.625rem;
        line-height: 52px;
        text-decoration: none; }
        #b-project #cta .btn-box li a .kana {
          font-size: .54em;
          font-style: normal; }
        #b-project #cta .btn-box li a .sub {
          font-size: .54em;
          padding-right: 1rem; }
          @media screen and (max-width: 559px) {
            #b-project #cta .btn-box li a .sub {
              display: block;
              padding-right: 0;
              margin-bottom: -1em; } }
        @media screen and (max-width: 559px) {
          #b-project #cta .btn-box li a {
            font-size: 1.25rem; } }
      #b-project #cta .btn-box li.btn-buson a {
        background-color: #3C897D; }
      #b-project #cta .btn-box li.btn-arch a {
        background-color: #785039; }
        @media screen and (max-width: 559px) {
          #b-project #cta .btn-box li.btn-arch a {
            line-height: 30px; } }
#b-project footer .menu li.btn-contact {
  background-color: #ffffff; }
  #b-project footer .menu li.btn-contact a {
    color: #3C897D; }
    @media screen and (max-width: 559px) {
      #b-project footer .menu li.btn-contact a {
        font-size: 1.25rem; } }

#page header {
  background-color: #ffffff; }
#page main {
  background-color: #EFF6F2; }
#page footer .menu li.btn-contact {
  background-color: #ffffff; }
  #page footer .menu li.btn-contact a {
    color: #3C897D; }
#page #policy .image-headline {
  max-width: 356px;
  margin: 0 auto 6%; }
#page #post-area {
  margin-bottom: 9%; }
#page .post-image {
  margin: 3% 0;
  text-align: center;
  line-height: 0; }
  #page .post-image img {
    max-width: 100%;
    width: auto;
    height: auto; }
