@charset "UTF-8";
/*
Theme Name: genbu-kaikei
Theme URL: https://genbu.biz
Description: genbuさまホームページ用テーマ
Author: savie
Version: 1.0
*/
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@500;700&display=swap");
img {
  width: 100%;
  height: auto; }

.container {
  text-align: center; }

p {
  font-size: 0.9rem;
  text-align: left; }

div, a {
  background-repeat: no-repeat; }

* {
  color: #604c3f; }

main {
  min-height: 100vh; }

/* for animation */
.html {
  overflow-x: hidden; }

.fade {
  opacity: 0; }

.bmd-layout-drawer {
  position: fixed; }

.navbar {
  box-shadow: none; }

main {
  padding-top: 0px; }

.nav_btn {
  border: none;
  background-color: transparent;
  margin: 0 0 0 auto; }

.bmd-drawer-f-l > .bmd-layout-drawer {
  width: 90vw;
  height: 94%;
  margin: 3% 5%;
  transform: translateX(-100vw);
  opacity: 0; }

:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-l > .bmd-layout-drawer {
  opacity: 1; }

#dw-p1 .navbar {
  flex-direction: row; }

.bmd-layout-header i {
  color: white;
  font-size: 2rem; }

.maru {
  font-family: 'M PLUS Rounded 1c', sans-serif; }

.btn_yellow {
  background-color: #ffe943;
  padding: 15px 40px;
  font-weight: bold;
  border-radius: 10px;
  color: #604c3f;
  font-size: 1.2rem; }
  .btn_yellow:hover {
    background-color: coral;
    text-decoration: none; }

.blog_box {
  background-color: white;
  border: 2px solid #ffe943;
  border-radius: 20px;
  padding: 20px; }

.balloon_b {
  margin-top: 40px;
  position: relative;
  display: inline-block;
  padding: 10px;
  width: 300px;
  margin-left: auto;
  margin-right: auto;
  color: #604c3f;
  font-size: 1.2rem;
  background: #ffe943;
  height: 50px;
  border-radius: 50px;
  line-height: 30px; }
  .balloon_b.cross {
    top: -25px;
    margin-top: 0; }
  .balloon_b.l {
    height: 80px;
    border-radius: 80px;
    line-height: 60px;
    font-size: 2rem;
    width: 400px; }
    .balloon_b.l.cross {
      top: -20px;
      margin-top: 0; }
  .balloon_b:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -10px;
    border: 10px solid transparent;
    border-top: 10px solid #ffe943; }

/* 吹き出し本体 - 枠線付きの吹き出し */
.balloon_l, .balloon_r {
  position: relative;
  padding: 15px;
  background-color: #ffe943;
  border: 2px solid white;
  border-radius: 30px;
  /* 角丸を指定 */
  box-shadow: 5px 5px 5px 0px #a7a7a7;
  margin-bottom: 80px;
  width: fit-content;
  font-size: 1rem;
  font-weight: bold;
  min-width: 330px;
  margin-left: 0;
  margin-right: auto;
  /* 三角アイコン - 枠線付きの吹き出し */ }
  @media (max-width: 575.99px) {
    .balloon_l, .balloon_r {
      width: 100%;
      margin-bottom: 20px; } }
  .balloon_l img, .balloon_r img {
    display: block;
    width: 300px !important;
    margin: 15px auto; }
  .balloon_l::before, .balloon_r::before {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: -10px;
    top: 50%;
    margin-top: -10px;
    border-right: 10px solid white;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent; }
    @media (max-width: 575.99px) {
      .balloon_l::before, .balloon_r::before {
        left: 50%;
        right: 0;
        margin-left: -10px;
        bottom: -10px;
        top: auto;
        border-top: 10px solid white;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: none; } }
  .balloon_l::after, .balloon_r::after {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: -7px;
    top: 50%;
    margin-top: -10px;
    border-right: 10px solid #ffe943;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent; }
    @media (max-width: 575.99px) {
      .balloon_l::after, .balloon_r::after {
        top: auto;
        left: 50%;
        right: 0;
        margin-left: -10px;
        bottom: -7px;
        border-top: 10px solid #ffe943;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: none; } }

/* 吹き出し本体 - 枠線付きの吹き出し */
.balloon_r {
  background-color: white;
  margin-left: auto;
  margin-right: 0; }
  .balloon_r::before {
    right: -10px;
    left: auto;
    border-left: 10px solid white;
    border-right: none; }
    @media (max-width: 575.99px) {
      .balloon_r::before {
        right: 0;
        left: 50%;
        border-left-color: transparent;
        border-right: 10px solid transparent; } }
  .balloon_r::after {
    left: auto;
    right: -7px;
    border-left: 10px solid white;
    border-right: none; }
    @media (max-width: 575.99px) {
      .balloon_r::after {
        right: 0;
        left: 50%;
        border-top-color: white;
        border-left-color: transparent;
        border-right: 10px solid transparent; } }

.balloon_t {
  position: relative;
  padding: 40px;
  background-color: white;
  border: 2px solid #ffe943;
  border-radius: 30px; }
  .balloon_t::before {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: 50%;
    margin-left: -30px;
    top: -30px;
    border-right: 30px solid transparent;
    border-bottom: 30px solid #ffe943;
    border-left: 30px solid transparent; }
  .balloon_t::after {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: 50%;
    margin-left: -30px;
    top: -27px;
    border-right: 30px solid transparent;
    border-bottom: 30px solid white;
    border-left: 30px solid transparent; }

.bkg_white {
  background-color: white; }

.bkg_blue {
  background-color: rgba(82, 228, 237, 0.75); }

.c_black {
  color: black !important; }

body, #dw-p1 {
  background-image: linear-gradient(-45deg, white 25%, #e0f1f4 25%, #e0f1f4 50%, white 50%, white 75%, #e0f1f4 75%, #e0f1f4);
  background-size: 20px 20px;
  background-attachment: fixed; }

#top img {
  width: 50%;
  margin-top: 40px;
  margin-bottom: 40px; }
  .child_page #top img {
    width: 40%; }
  @media (max-width: 767.99px) {
    #top img {
      width: 80%; }
      .child_page #top img {
        width: 60%; } }

#hello {
  margin-top: -58px; }
  #hello div {
    padding: 0; }
  #hello .col-lg-8 {
    padding-left: 10%; }
    @media (max-width: 991.99px) {
      #hello .col-lg-8 {
        padding-left: 2%; } }
  @media (max-width: 991.99px) {
    #hello img {
      padding: 2%; } }
  #hello h3 {
    text-align: left;
    margin-top: 20px;
    font-weight: bold;
    color: #604c3f;
    font-size: 1.5rem; }
    @media (max-width: 575.99px) {
      #hello h3 {
        margin-top: 40px; } }
    #hello h3 span {
      text-align: center;
      background-color: #52e4ed;
      width: 80px;
      height: 80px;
      border-radius: 40px;
      color: white;
      display: inline-block;
      font-size: 1rem;
      font-weight: bold;
      line-height: 85px;
      position: relative;
      top: -5px;
      margin-right: 20px; }
  #hello p {
    margin-bottom: 20px; }

#menu .inner_menu a, #dw-p1 .inner_menu a {
  color: #604c3f;
  display: block;
  font-size: 2rem;
  margin-bottom: 20px; }
#menu .container, #dw-p1 .container {
  width: 50%; }
  #menu .container > a, #dw-p1 .container > a {
    background-image: url("images/btn-blog.png");
    height: 211px;
    background-size: contain;
    width: 100%;
    display: block;
    background-position: center;
    margin-top: 20px;
    margin-bottom: 80px; }
    #menu .container > a:hover, #dw-p1 .container > a:hover {
      background-image: url("images/btn-blog-h.png"); }
  #menu .container h2, #dw-p1 .container h2 {
    margin-bottom: 40px; }
  @media (max-width: 991.99px) {
    #menu .container, #dw-p1 .container {
      width: 75%; } }
  @media (max-width: 575.99px) {
    #menu .container, #dw-p1 .container {
      width: 90%; } }
  #menu .container .row .col-md-6, #dw-p1 .container .row .col-md-6 {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    margin-left: auto;
    margin-right: auto; }
    @media (max-width: 767.99px) {
      #menu .container .row .col-md-6, #dw-p1 .container .row .col-md-6 {
        margin-top: 0;
        margin-bottom: 0;
        width: 100%; }
        #menu .container .row .col-md-6:first-of-type, #dw-p1 .container .row .col-md-6:first-of-type {
          background-position: left; }
        #menu .container .row .col-md-6:last-of-type, #dw-p1 .container .row .col-md-6:last-of-type {
          background-position: right; } }
    #menu .container .row .col-md-6:last-of-type, #dw-p1 .container .row .col-md-6:last-of-type {
      margin-top: 200px; }
      @media (max-width: 767.99px) {
        #menu .container .row .col-md-6:last-of-type, #dw-p1 .container .row .col-md-6:last-of-type {
          margin-top: 0; } }
  #menu .container .row:first-of-type .col-md-6:first-of-type, #dw-p1 .container .row:first-of-type .col-md-6:first-of-type {
    background-image: url("images/m-genbu.png");
    height: 344px; }
    #menu .container .row:first-of-type .col-md-6:first-of-type:hover, #dw-p1 .container .row:first-of-type .col-md-6:first-of-type:hover {
      background-image: url("images/m-genbu-h.png"); }
  #menu .container .row:first-of-type .col-md-6:last-of-type, #dw-p1 .container .row:first-of-type .col-md-6:last-of-type {
    background-image: url("images/m-born.png");
    height: 321px; }
    #menu .container .row:first-of-type .col-md-6:last-of-type:hover, #dw-p1 .container .row:first-of-type .col-md-6:last-of-type:hover {
      background-image: url("images/m-born-h.png"); }
  #menu .container .row:last-of-type .col-md-6:first-of-type, #dw-p1 .container .row:last-of-type .col-md-6:first-of-type {
    background-image: url("images/m-policy.png");
    height: 294px; }
    #menu .container .row:last-of-type .col-md-6:first-of-type:hover, #dw-p1 .container .row:last-of-type .col-md-6:first-of-type:hover {
      background-image: url("images/m-policy-h.png"); }
  #menu .container .row:last-of-type .col-md-6:last-of-type, #dw-p1 .container .row:last-of-type .col-md-6:last-of-type {
    background-image: url("images/m-price.png");
    height: 318px; }
    #menu .container .row:last-of-type .col-md-6:last-of-type:hover, #dw-p1 .container .row:last-of-type .col-md-6:last-of-type:hover {
      background-image: url("images/m-price-h.png"); }

#dw-p1 {
  border-radius: 20px; }
  #dw-p1 > a {
    background-image: url("images/btn-blog.png");
    height: 211px;
    background-size: contain;
    width: 80%;
    display: block;
    background-position: center;
    margin-top: 0;
    margin-bottom: 40px;
    margin-left: auto;
    margin-right: auto; }
    #dw-p1 > a:hover {
      background-image: url("images/btn-blog-h.png"); }
  #dw-p1 header img {
    width: 30%;
    margin-bottom: 20px; }
    @media (max-width: 767.99px) {
      #dw-p1 header img {
        width: 50%; } }
  #dw-p1 i {
    color: white;
    font-size: 1.2rem; }
  #dw-p1 .container {
    width: 60%; }
    @media (max-width: 767.99px) {
      #dw-p1 .container .row:first-of-type .col-md-6:first-of-type,
      #dw-p1 .container .row:last-of-type .col-md-6:first-of-type,
      #dw-p1 .container .row:first-of-type .col-md-6:last-of-type,
      #dw-p1 .container .row:last-of-type .col-md-6:last-of-type {
        height: 250px; } }
    @media (max-width: 575.99px) {
      #dw-p1 .container .row:first-of-type .col-md-6:first-of-type,
      #dw-p1 .container .row:last-of-type .col-md-6:first-of-type,
      #dw-p1 .container .row:first-of-type .col-md-6:last-of-type,
      #dw-p1 .container .row:last-of-type .col-md-6:last-of-type {
        height: 350px; } }

#about dl {
  width: 50%;
  margin-top: 20px; }
  @media (max-width: 575.99px) {
    #about dl {
      width: 80%; } }
  #about dl dt {
    width: 80px;
    padding: 5px;
    background-color: #52e4ed;
    color: white;
    font-size: 0.9rem;
    border-radius: 5px;
    display: inline-block;
    text-align: center; }
  #about dl dt.blank {
    background-color: inherit; }
    #about dl dt.blank + dd {
      margin-bottom: 0;
      position: relative;
      top: -10px; }
  #about dl dd {
    color: #604c3f;
    font-size: 1rem;
    display: inline-block;
    margin-left: 20px; }
#about iframe {
  height: 400px;
  margin-top: 40px;
  margin-bottom: 40px; }

#contact {
  margin-bottom: 80px; }
  #contact .container > p {
    font-size: 1rem;
    font-weight: bold;
    margin-top: 40px;
    margin-bottom: 20px; }
  #contact form {
    padding-top: 80px;
    margin-left: auto;
    margin-right: auto;
    width: 80%; }
    @media (max-width: 767.99px) {
      #contact form {
        width: 90%; } }
    #contact form p {
      text-align: center; }
  #contact dl {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0; }
  #contact dt {
    width: 30%;
    text-align: right;
    font-size: 0.9rem;
    font-weight: normal; }
  #contact dd {
    width: 65%;
    text-align: left;
    padding-left: 5%;
    margin-bottom: 20px; }
    #contact dd:last-of-type {
      margin-bottom: 0; }
  @media (max-width: 575.99px) {
    #contact dd, #contact dt {
      width: 90%;
      text-align: left; }
    #contact dt::before {
      content: "● "; } }
  #contact input, #contact textarea {
    width: 100%; }
  #contact input[type="submit"] {
    width: 50%;
    background-color: #52e4ed;
    border-radius: 20px;
    margin-left: auto;
    margin-right: auto;
    color: white;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 1.2rem;
    border: none;
    margin-top: 40px;
    margin-bottom: 20px; }
    #contact input[type="submit"]:hover {
      background-color: #ffe943; }
  #contact .btn {
    margin-bottom: 40px; }

footer {
  font-size: 1rem;
  padding-top: 10px;
  padding-bottom: 10px;
  width: 100%; }

#page_content {
  margin-top: -60px;
  padding-top: 80px;
  padding-bottom: 80px; }
  #page_content .circle {
    background-color: white;
    border: 1px solid #ffe943;
    border-radius: 150px;
    height: 300px;
    width: 300px;
    margin: 0 20px 80px 20px; }
    @media (max-width: 767.99px) {
      #page_content .circle {
        border-radius: 100px;
        height: 200px;
        width: 200px; } }
    @media (max-width: 575.99px) {
      #page_content .circle {
        border-radius: 65px;
        height: 130px;
        width: 130px; } }
    #page_content .circle p {
      font-size: 1.2rem;
      padding-top: 30px;
      text-align: center; }
      @media (max-width: 767.99px) {
        #page_content .circle p {
          padding-bottom: 0;
          margin-bottom: 0; } }
      @media (max-width: 575.99px) {
        #page_content .circle p {
          font-size: 1rem;
          padding-top: 20px; } }
    #page_content .circle:first-of-type img {
      width: 60%; }
    #page_content .circle:last-of-type img {
      width: 75%;
      padding-top: 20px; }
      @media (max-width: 575.99px) {
        #page_content .circle:last-of-type img {
          padding-top: 10px; } }
  #page_content .sensei_img img, #page_content .genchan_img img {
    margin-bottom: 40px; }
  #page_content .sensei_img img {
    width: 200px; }
    @media (max-width: 991.99px) {
      #page_content .sensei_img img {
        width: 80%; } }
    @media (max-width: 575.99px) {
      #page_content .sensei_img img {
        width: 50%; } }
  #page_content .genchan_img img {
    width: 250px; }
    @media (max-width: 991.99px) {
      #page_content .genchan_img img {
        width: 100%; } }
    @media (max-width: 575.99px) {
      #page_content .genchan_img img {
        width: 60%; } }
  @media (max-width: 575.99px) {
    #page_content .genchan_container {
      flex-direction: column-reverse; } }

.home_content *:hover {
  text-decoration: none; }
.home_content .btn_yellow {
  width: fit-content;
  padding: 10px 15px 15px;
  line-height: 20px;
  margin-left: auto;
  margin-right: 0; }

#single_content {
  padding-bottom: 80px; }
  #single_content .container {
    text-align: left;
    margin-bottom: 80px; }
    #single_content .container img {
      padding: 15px; }
    #single_content .container figcaption {
      text-align: center;
      font-size: 0.9rem; }
  #single_content.home_content .container:hover {
    background-color: #F9FAE2; }
    #single_content.home_content .container:hover .title {
      color: #483A0C; }
  #single_content .balloon_b.l.cross {
    top: -40px; }
  #single_content > img {
    width: 180px;
    display: block;
    margin: 0 auto 80px; }
  #single_content.home_content .date {
    margin-top: -35px; }
  #single_content .date {
    background-color: #ffe943;
    border-radius: 10px;
    width: fit-content;
    padding: 5px 10px; }
  #single_content.home_content .title {
    margin-top: 35px; }
  #single_content .title {
    font-size: 1.5rem;
    font-weight: bold;
    text-align: left;
    color: #604c3f; }
  #single_content .category {
    font-size: 0.9rem; }
    #single_content .category::before {
      content: '#'; }
    #single_content .category::after {
      content: '、'; }
    #single_content .category:last-of-type::after {
      content: none; }

.screen-reader-response {
  position: relative;
  top: 40px; }
  .screen-reader-response p {
    text-align: center; }
