@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
@import url("https://fonts.googleapis.com/css2?family=Kaisei+HarunoUmi&family=Zen+Old+Mincho&display=swap");
@media (min-width: 960px) {
  .-parallel-bottom .l-header__logo {
    padding: 5px 0;
  }
}

@media (min-width: 960px) {
  .-parallel .l-header__logo .c-catchphrase {
    margin-top: 0;
  }
}
@media (min-width: 600px) {
  .p-mainVisual.-margin-on {
    padding: 0px 80px 80px 80px;
  }
}
@media screen and (min-width: 960px) {
  .l-header {
    border-top: none;
  }
}
@media screen and (max-width: 959px), print {
  .p-mainVisual.-margin-on {
    padding: 0px;
  }
}
.-height-full .p-mainVisual__slide,
.-height-set .p-mainVisual__slide {
  border-radius: 50px;
}
@media screen and (max-width: 959px), print {
  .-height-full .p-mainVisual__slide,
  .-height-set .p-mainVisual__slide {
    border-radius: 0px;
  }
}
.p-mainVisual__scrollArrow {
  height: 40px;
  width: 40px;
}
@media screen and (max-width: 959px), print {
  .p-mainVisual__scrollArrow {
    height: 20px;
    width: 20px;
  }
}
@media screen and (max-width: 959px), print {
  .column-reverse {
    flex-direction: column-reverse;
  }
}
.c-headLogo__img {
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
@media screen and (max-width: 959px), print {
  .c-headLogo__img {
    top: 10px;
    width: 80px !important;
    height: 80px !important;
  }
}

.p-mainVisual__slideTitle {
  font-size: 46px;
  text-align: initial;
  display: flex;
  align-items: center;
  justify-content: center;
  writing-mode: vertical-rl;
  background-color: rgba(238, 111, 94, 0.7);
  width: 200px;
  margin: 0 auto;
  padding: 20px 0 0px;
  font-family: "Kaisei HarunoUmi", serif;
  font-weight: 400;
  font-style: normal;
  border-radius: 50px;
}
@media screen and (max-width: 959px), print {
  .p-mainVisual__slideTitle {
    font-size: 28px;
    width: 140px;
  }
}
* {
  font-family: "Kaisei HarunoUmi", serif;
  font-weight: 400;
  font-style: normal;
}
.post_content h2 {
  margin-top: 0;
  font-size: 36px !important;
}
@media screen and (max-width: 959px), print {
  .post_content h2 {
    font-size: 28px !important;
  }
}
.top #content {
  padding-top: 0;
}
.p-mainVisual__scroll {
  opacity: 1;
  font-size: 20px;
}

.c-gnav > .menu-item > a .ttl {
  font-size: 16px;
  color: #333;
}
.l-header .c-gnav > li > a::after {
  background: #ee6f5e;
}
@media (min-width: 960px) {
  .-series .l-header__inner {
    padding: 0;
    margin: 0 auto;
    justify-content: space-between;
  }
}
.c-pageTitle__subTitle {
  font-style: normal;
  margin-left: 0;
  opacity: 1;
  top: 0;
  display: block;
  font-size: 19px;
}
.l-content {
  margin: 0 auto 0em;
}
.w-footer__box {
  margin: 0 auto !important;
  display: block;
  width: 80%;
}

.w-beforeFooter {
  margin: 0em auto 0em;
}
.jitaku p.has-text-align-center span {
  background: #fff;
  padding: 10px 40px;
  display: inline-block;
  border-radius: 30px;
}
@media screen and (max-width: 959px), print {
  .jitaku p.has-text-align-center span {
    padding: 10px 10px;
    text-align: left;
  }
}
.jitaku .c-bannerLink {
  border-radius: 50px;
}
@media screen and (max-width: 959px), print {
  .jitaku .c-bannerLink {
    border-radius: 30px;
  }
}
.jitaku {
  position: relative;
  background-color: #eee9da !important;
}
.jitaku::before {
  background-image: repeating-linear-gradient(
    -45deg,
    #fff 0 6px,
    transparent 6px 12px
  );
  content: "";
  display: block;
  opacity: 0.1;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}
.c-widget + .c-widget {
  margin-top: 0em;
}
.br50 {
  border-radius: 50px;
}
.br50 img {
  border-radius: 50px;
}
.access {
  position: relative;
  background-color: #ee6f5e !important;
}
.access::before {
  background-image: repeating-linear-gradient(
    -45deg,
    #fff 0 6px,
    transparent 6px 12px
  );
  content: "";
  display: block;
  opacity: 0.1;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

.access .cont > div {
  width: 1268px;
  position: relative;
  border-radius: 50px;
  padding: 50px;
  background-color: #fff;
  max-width: 90%;
}
@media screen and (max-width: 959px), print {
  .access .cont > div {
    border-radius: 40px;
    padding: 40px 20px;
  }
}
@media screen and (max-width: 959px), print {
  .access figure img {
    width: 130px !important;
  }
}
@media screen and (max-width: 959px), print {
  .wp-block-table > table tr > :first-child:not(.-no1) {
    max-width: 100%;
  }
}
@media screen and (max-width: 959px), print {
  .l-footer__nav a {
    font-size: 4vw;
  }
}
.access .wp-block-columns {
  justify-content: center;
}
.map .wp-block-columns {
  gap: 0 !important;
}
@media (min-width: 600px) {
  .l-footer__nav a {
    border: none;
    font-size: 16px;
    padding: 0 0.75em;
  }
}
@media (min-width: 600px) {
  .l-footer__nav li:first-child a {
    border-left: none;
  }
}
.p-postList .p-postList__title {
  font-weight: normal;
}
.p-mainVisual__scrollLabel {
  font-size: 20px;
  font-weight: 600;
}
@media screen and (max-width: 959px), print {
  .p-mainVisual__scrollLabel {
    font-size: 15px;
  }
}
@media (min-width: 600px) {
  .c-pageTitle {
    font-size: 2em;
  }
}
/* 左上ボタンの見た目 */
.shop-cta-left {
  display: flex;
  background: #ee6f5e;
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  order: -999;
  align-self: center;
  justify-content: center;
  align-items: center;
  width: 280px;
  text-align: center;
  height: 70px;
  transition: 0.25s;
  flex-direction: column;
  line-height: 1.3;
  border-radius: 50px;
}
.shop-cta-left span {
  font-size: 22px;
}

.tel-cta-left {
  height: 70px;
  background: #80b995;
  color: #fff;
  width: 250px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.25s;
  flex-direction: column;
  line-height: 1.3;
  border-radius: 50px;
}
.l-header__customBtn {
  display: none;
}
.tel-cta-left span {
  font-size: 26px;
}
/* ヘッダーがflexでないテーマ構成でも左上固定にできる保険（コメントアウト→必要時に使う） */
/*
.l-header { position:relative; }
.shop-cta-left{
  position:absolute; left:16px; top:50%; transform:translateY(-50%);
  margin-right:0; order:0; align-self:auto;
}
*/

.shop-cta-left:hover,
.tel-cta-left:hover {
  opacity: 0.5;
}
/* モバイルはサイズ・位置を少しゆるく */
@media (max-width: 959px) {
  .shop-cta-left {
    padding: 10px 14px;
    font-weight: 700;
    margin-right: 8px;
  }
}
.c-gnav {
  position: absolute;
  left: 0;
}
.header-cta-group {
  display: flex;
  align-items: center;
  position: absolute;
  right: 0;
  flex-direction: row-reverse;
  top: 16px;
  gap: 0 10px;
}
.no-display {
  opacity: 0;
}
@media screen and (max-width: 959px), print {
  .page-id-399 .wp-block-columns {
    --wp-column-gap: 0.5em;
  }
}
@media screen and (max-width: 959px), print {
  .page-id-399 .shadow_on > .wp-block-column {
    padding: 1em;
  }
}
.l-footer {
  color: #333;
  position: relative;
  background-color: #eee9da !important;
  z-index: 99;
}
.l-footer__nav {
  z-index: 9;
  position: relative;
}
.l-footer:before {
  background-image: repeating-linear-gradient(
    -45deg,
    #fff 0 6px,
    transparent 6px 12px
  );
  content: "";
  display: block;
  opacity: 0.1;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}
@media screen and (max-width: 959px), print {
  #fixed-bottom-menu {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 99;
    text-align: center;
    --wp-column-gap: 0;
  }
  .l-footer {
    padding-bottom: 110px;
  }

  #fixed-bottom-menu .wp-block-column {
    border-right: 1px solid #fff;
    line-height: 1.25;
    padding: 20px 0;
    display: block;
  }
  .l-footer__foot,
  .l-footer__widgetArea {
    padding-bottom: 0em;
    padding-top: 0em;
  }
  #fixed-bottom-menu .wp-block-column > p {
    padding: 0px;
  }
  #fixed-bottom-menu .wp-block-columns {
    column-gap: 0 !important;
  }

  #fixed-bottom-menu .wp-block-column.last {
    border-right: none;
  }
  #fixed-bottom-menu .swell-block-button__link[data-has-icon] {
    padding: 1em 1em;
  }
}
@media screen and (max-width: 959px), print {
  .header-cta-group {
    display: none;
  }
}
@media screen and (max-width: 959px), print {
  .p-fixBtnWrap {
    bottom: 5.25em;
  }
}
m .page-id-411 button,
.page-id-411 input,
.page-id-411 select,
.page-id-411 textarea {
  background-color: #fff;
  border: 1px solid hsla(0, 0%, 78%, 0.5);
  border-radius: 0;
  color: #333;
  padding: 0.25em 0.5em;
  margin-bottom: 20px;
  max-width: 100%;
  width: 100%;
}
.wpcf7-radio input {
  width: auto;
}
.wpcf7-form .required {
  background: #ee6f5e;
  font-size: 14px;
  padding: 0px 8px;
  color: #fff;
  margin-left: 10px;
}
.wpcf7-form .wpcf7-submit {
  background: none;
  border: 1px solid;
  color: var(--the-btn-color, var(--color_main));
  position: relative;
  transition: background-color 0.25s;
  border-radius: 80px;
  padding: 0.75em 1.5em;
  width: 260px;
  text-align: center;
  margin: 0 auto;
  display: block;
}
.wpcf7-form .wpcf7-submit:hover {
  background: #ee6f5e;
  border-color: transparent;
  color: #fff !important;
}
.wpcf7-form {
  width: 678px;
  margin: 0 auto;
  max-width: 100%;
}
#sb_instagram #sbi_load .sbi_load_btn, #sb_instagram .sbi_follow_btn a, .et-db #et-boc .et-l .et_pb_module .sbi_follow_btn a {
	margin: 0px auto 0;
}