@charset "UTF-8";
/*
Theme Name: kuramochi
Theme URI: https://example.com/
Author: 
Author URI: https://example.com/
Description: オリジナルテーマ
Version: 1.0.0
Text Domain: kura-sou
*/
*, *::before, *::after, div, li, a, label, input {
  margin: 0;
  padding: 0;
}

html, body {
  height: 100%;
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
p, figure, blockquote {
  margin: 0;
}

ul, ol, li, dd, dl {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: inherit;
}

button,
input,
select,
textarea {
  font-size: inherit;
  color: inherit;
  border: none;
  outline: none;
  background: none;
  margin: 0;
  padding: 0;
}

a {
  color: inherit;
  text-decoration: none;
  margin: 0;
  padding: 0;
  font-size: inherit;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  width: 100%;
  margin: 0;
  padding: 0;
}

body {
  position: relative;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 400;
  color: #47392A;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0;
  background-color: #F0EEE7;
  scroll-behavior: smooth;
  margin: 0;
  padding: 0;
}

a {
  transition: opacity 0.3s ease;
  text-decoration: none;
}

/* 見出し */
.home .h1 {
  color: #000000;
  font-size: 1.6rem;
  font-weight: 400;
}

.under .h1-box {
  min-height: 420px;
  position: relative;
  background-image: url(./../images/logo-w.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 250px;
}
@media screen and (max-width: 768px) {
  .under .h1-box {
    min-height: 200px;
    background-size: 200px;
  }
}
.under .h1-box .h1 {
  position: absolute;
  top: calc(50% + 0.8em);
  width: 100%;
  transform: translateY(-50%);
  font-size: 3.2rem;
  text-align: center;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .under .h1-box .h1 {
    font-size: 2.6rem;
  }
}
.under .h1-box .h1 .en {
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .under .h1-box .h1 .en {
    font-size: 1.8rem;
    font-weight: 400;
  }
}

.home .h2 {
  font-size: 2.4rem;
  font-weight: 600;
  padding: 30px 20px;
  position: relative;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .home .h2 {
    font-size: 2rem;
    padding: 16px 10px;
    margin-bottom: 20px;
  }
}
.home .h2::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #47392A;
}
.home .h2 .en {
  font-size: 1.8rem;
  padding-top: 10px;
  font-family: "Roboto", sans-serif;
}
@media screen and (max-width: 768px) {
  .home .h2 .en {
    font-size: 1.4rem;
  }
}

.under .h2 {
  font-size: 3.6rem;
  text-align: center;
  position: relative;
  padding-bottom: 20px;
  color: #08B07E;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .under .h2 {
    font-size: 2rem;
    font-weight: 500;
  }
}

/* 画像 */
img {
  width: 100%;
  height: auto;
  display: block;
}

/* ボタン・フォーム */
button,
select,
input {
  cursor: pointer;
}

/* テーブル */
table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
table th, table td {
  padding: 10px 20px;
  text-align: left;
}
@media screen and (max-width: 768px) {
  table th, table td {
    padding: 10px 4px;
  }
}

.Wrapper {
  min-height: 500px;
}

.l-wrap {
  padding-right: clamp(10px, 4.2vw, 80px);
}
@media screen and (max-width: 768px) {
  .l-wrap {
    padding: 0 10px;
  }
  .l-wrap.tab-nopad {
    padding: 0;
  }
}

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

.l-m-container {
  max-width: 900px;
  margin: 0 auto;
}

.l-s-container {
  max-width: 700px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .l-m-tab-container {
    padding: 0 10px;
  }
}

@media screen and (max-width: 768px) {
  .l-s-tab-container {
    padding: 0 20px;
  }
}

section {
  margin: 120px 0;
}
@media screen and (max-width: 768px) {
  section {
    margin: 30px 0;
  }
}
section.first-section {
  margin: 0 0 50px 0;
}
@media screen and (max-width: 768px) {
  section.first-section {
    margin: 0 0 30px 0;
  }
}

.yu-gothic-ui {
  font-family: "Yu Gothic UI", "Yu Gothic", sans-serif;
}

.roboto {
  font-family: "Roboto", sans-serif;
}

.fs-catch {
  font-size: 3.2rem;
}
@media screen and (max-width: 768px) {
  .fs-catch {
    font-size: 2.4rem;
  }
}

.fs-lead {
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .fs-lead {
    font-size: 1.8rem;
  }
}

.black {
  color: #000000;
}

.black2 {
  color: #2e2e2e;
}

.brown {
  color: #877967;
}

.white {
  color: #F0EEE7;
}

.green {
  color: #08B07E;
}

.orange {
  color: #FA3D0D;
}

/* テキスト */
.t-center {
  text-align: center;
}

.t-left {
  text-align: left;
}

.t-right {
  text-align: right;
}

@media screen and (max-width: 768px) {
  .mb-t-center {
    text-align: center;
  }
  .mb-t-left {
    text-align: left;
  }
  .mb-t-right {
    text-align: right;
  }
}
/* フォントウェイト */
.fw-r {
  font-weight: 400;
}

.fw-m {
  font-weight: 500;
}

.fw-b {
  font-weight: 600;
}

.fw-h {
  font-weight: 700;
}

.fw-m-r {
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .fw-m-r {
    font-weight: 400;
  }
}

/* ディスプレイ */
.sp {
  display: none;
}
@media screen and (max-width: 480px) {
  .sp {
    display: block;
  }
}

.tab {
  display: none;
}
@media screen and (max-width: 768px) {
  .tab {
    display: block;
  }
}

.spc {
  display: none;
}
@media screen and (max-width: 950px) {
  .spc {
    display: block;
  }
}

.pc {
  display: block;
}
@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

.lh-20 {
  line-height: 2;
}

.pl-20 {
  padding-left: 20px;
}

.pl-tab-0 {
  padding-left: 0;
}

/*topページ*/
body.is-menu-open {
  overflow: hidden;
}

.sidebar {
  top: 0;
  z-index: 9999;
  width: 260px;
  padding: 50px 30px 0 0;
  position: fixed;
  background-color: #F0EEE7;
  height: 100%;
}
@media screen and (max-width: 950px) {
  .sidebar {
    width: 180px;
    padding: 50px 10px 0 0;
  }
}
@media screen and (max-width: 768px) {
  .sidebar {
    padding: 10px;
    width: 100%;
    height: 60px;
  }
}
.sidebar .hamburger {
  display: none;
  width: 44px;
  height: 44px;
  border: 0;
  background: transparent;
  position: relative;
  cursor: pointer;
  z-index: 10001; /* メニューより上 */
}
.sidebar .hamburger span {
  position: absolute;
  left: 10px;
  right: 10px;
  height: 1px;
  background: #000;
  transition: 0.3s;
}
.sidebar .hamburger span:nth-child(3) {
  background-color: transparent;
  left: 7px;
  font-size: 1.2rem;
}
@media screen and (max-width: 768px) {
  .sidebar .hamburger {
    display: block;
    margin: 0 0 0 auto;
  }
  .sidebar .hamburger.is-open span:nth-child(1) {
    transform: rotate(45deg);
    top: 21px;
  }
  .sidebar .hamburger.is-open span:nth-child(2) {
    transform: rotate(-45deg);
    top: 21px;
  }
  .sidebar .hamburger.is-open span:nth-child(3) {
    opacity: 0;
  }
}
.sidebar .hamburger span:nth-child(1) {
  top: 14px;
}
.sidebar .hamburger span:nth-child(2) {
  top: 21px;
}
.sidebar .hamburger span:nth-child(3) {
  top: 28px;
}
.sidebar__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: column;
  width: 60%;
  margin: 0 0 0 auto;
  text-align: center;
  color: #000000;
}
@media screen and (max-width: 768px) {
  .sidebar__inner {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .sidebar__inner {
    margin: 0;
  }
}
.sidebar__inner .sidebar__logo {
  padding-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .sidebar__inner .sidebar__logo {
    width: 30px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 10px;
    padding: 0;
  }
}
.sidebar__inner .sidebar__logo img {
  width: 90%;
  margin: 0 auto;
}
.sidebar__inner .sidebar__logo span {
  padding-top: 10px;
  display: block;
}
@media screen and (max-width: 768px) {
  .sidebar__inner .sidebar__logo span {
    display: none;
  }
}
.sidebar__inner .menu-lists {
  width: 100%;
}
.sidebar__inner .menu-lists ul li {
  margin-bottom: 10px;
}
.sidebar__inner .menu-lists a {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 10px 0 14px 0;
}
.sidebar__inner .menu-lists a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 10px;
  width: 30%;
  height: 1px;
  background-color: #08B07E;
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  transition: transform 0.25s ease;
}
.sidebar__inner .menu-lists a:hover::after, .sidebar__inner .menu-lists a:focus-visible::after {
  transform: translateX(-50%) scaleX(1);
}
@media screen and (max-width: 768px) {
  .sidebar__inner .menu-lists {
    position: fixed;
    inset: 0;
    background: #F0EEE7;
    z-index: 10000;
    /* フェード */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.35s ease, visibility 0.35s ease;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .sidebar__inner .menu-lists ul {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
    display: flex;
    flex-direction: column;
  }
  .sidebar__inner .menu-lists ul li {
    line-height: normal;
    margin-bottom: 0;
  }
  .sidebar__inner .menu-lists ul li.hamburger-logo {
    max-width: 100px;
    margin: 0 auto;
  }
  .sidebar__inner .menu-lists ul li.hamburger-logo img {
    padding: 20px 20px 10px 20px;
  }
  .sidebar__inner .menu-lists a {
    font-size: 1.8rem;
    text-decoration: none;
  }
  .sidebar__inner .menu-lists a::after {
    content: none;
  }
  .sidebar__inner .menu-lists {
    /* 開いた状態 */
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .sidebar__inner .menu-lists a {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .sidebar__inner .menu-lists.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

.contents-wrapper {
  padding-left: 260px;
}
@media screen and (max-width: 950px) {
  .contents-wrapper {
    padding-left: 180px;
  }
}
@media screen and (max-width: 768px) {
  .contents-wrapper {
    padding-left: 0;
    padding-top: 60px;
  }
}

/*topページ*/
.footer {
  position: relative;
  padding-left: 260px;
}
@media screen and (max-width: 768px) {
  .footer {
    padding-left: 0;
  }
}
.footer .footer-wrap {
  padding: 30px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .footer .footer-wrap {
    padding: 20px 0 80px 0;
  }
}
.footer .footer-wrap .company-info {
  width: 40%;
}
@media screen and (max-width: 768px) {
  .footer .footer-wrap .company-info {
    width: 100%;
    margin-bottom: 20px;
  }
}
.footer .footer-wrap .company-info__name {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .footer .footer-wrap .company-info__name {
    font-size: 1.4rem;
    line-height: 3;
  }
}
.footer .footer-wrap .company-info__name span {
  display: block;
  width: 50%;
  min-width: 200px;
}
.footer .footer-wrap .company-info__address th, .footer .footer-wrap .company-info__address td {
  line-height: 2;
  padding: 0;
  font-weight: 400;
}
.footer .footer-wrap .company-info__address th {
  width: 4em;
}
.footer .footer-wrap .company-info__address td {
  padding-left: 2em;
}
.footer .footer-wrap .link-box {
  flex: 1;
  align-self: flex-start;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .footer .footer-wrap .link-box {
    width: 100%;
    position: fixed;
    bottom: 0;
  }
}
.footer .footer-wrap .link-box__btn {
  display: flex;
  justify-content: left;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .footer .footer-wrap .link-box__btn {
    flex-direction: row-reverse;
  }
  .footer .footer-wrap .link-box__btn .tel-box,
  .footer .footer-wrap .link-box__btn .mail-box {
    width: 50%;
  }
}
.footer .footer-wrap .link-box .menu-lists {
  margin-top: 80px;
  width: 100%;
}
.footer .footer-wrap .link-box .menu-lists ul {
  display: flex;
  justify-content: left;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0 20px;
}

.fade-in,
.fade-right,
.fade-left {
  opacity: 0;
  transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.25, 0.1, 0.25, 1);
  will-change: transform, opacity;
}
.fade-in.is-active,
.fade-right.is-active,
.fade-left.is-active {
  opacity: 1;
  transform: translate(0, 0);
}
.fade-in.delay-1,
.fade-right.delay-1,
.fade-left.delay-1 {
  transition-delay: 0.15s;
}
.fade-in.delay-2,
.fade-right.delay-2,
.fade-left.delay-2 {
  transition-delay: 0.3s;
}
.fade-in.delay-3,
.fade-right.delay-3,
.fade-left.delay-3 {
  transition-delay: 0.45s;
}

/* 下から */
.fade-in {
  transform: translateY(60px);
}

/* 右から */
.fade-right {
  transform: translateX(60px);
}

/* 左から */
.fade-left {
  transform: translateX(-60px);
}

.c-button--to-top {
  position: fixed;
  bottom: 20%;
  right: 0;
  z-index: 999;
  background: #333;
  border-radius: 10px 0 0 10px;
  border: 1px solid #ffffff;
  padding: 10px;
  opacity: 0.5;
  transition: 0.3s;
}
.c-button--to-top:hover {
  opacity: 1;
}
.c-button__link {
  width: 40%;
  max-width: 250px;
  border: 1px solid #877967;
  transition: 0.3s ease-in-out;
  text-align: center;
  padding: 10px;
  margin-right: 20px;
  font-size: 1.4rem;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .c-button__link {
    margin: 0;
    padding: 6px 4px;
    max-width: unset;
  }
}
.c-button__link.tel-box {
  color: #2e2e2e;
  background-color: #F0EEE7;
}
.c-button__link.tel-box:hover {
  color: #F0EEE7;
  background-color: #877967;
}
.c-button__link.tel-box:hover .tel::before {
  opacity: 0;
}
.c-button__link.tel-box:hover .tel::after {
  opacity: 1;
}
.c-button__link.tel-box .tel {
  font-family: "Roboto", sans-serif;
  padding-left: 30px;
  position: relative;
  font-size: 2.4rem;
}
.c-button__link.tel-box .tel::before, .c-button__link.tel-box .tel::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-size: contain;
  transition: 0.3s ease-in-out;
}
.c-button__link.tel-box .tel::before {
  background-image: url(./../images/tel.png);
  opacity: 1;
}
.c-button__link.tel-box .tel::after {
  background-image: url(./../images/tel2.png);
  opacity: 0;
}
@media screen and (max-width: 768px) {
  .c-button__link.tel-box .tel {
    font-size: 2rem;
  }
}
.c-button__link.mail-box {
  color: #F0EEE7;
  background-color: #877967;
}
.c-button__link.mail-box:hover {
  color: #2e2e2e;
  background-color: #F0EEE7;
}
.c-button__link.mail-box:hover .mail::before {
  opacity: 0;
}
.c-button__link.mail-box:hover .mail::after {
  opacity: 1;
}
.c-button__link.mail-box .mail {
  font-family: "Roboto", sans-serif;
  padding-left: 30px;
  position: relative;
  font-size: 2.4rem;
}
.c-button__link.mail-box .mail::before, .c-button__link.mail-box .mail::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-size: contain;
  transition: 0.3s ease-in-out;
}
.c-button__link.mail-box .mail::before {
  background-image: url(./../images/mail.png);
  opacity: 1;
}
.c-button__link.mail-box .mail::after {
  background-image: url(./../images/mail2.png);
  opacity: 0;
}
@media screen and (max-width: 768px) {
  .c-button__link.mail-box .mail {
    font-size: 2rem;
  }
}
.c-button__common {
  font-family: "Yu Gothic UI", "Yu Gothic", sans-serif;
  display: block;
  width: 350px;
  padding: 10px;
  text-align: center;
  background-color: #08B07E;
  color: #F0EEE7;
  font-size: 2rem;
  transition: 0.3s ease-in-out;
  margin: 0 auto;
  letter-spacing: 3px;
  border: 1px solid #08B07E;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .c-button__common {
    width: 300px;
  }
}
.c-button__common:hover {
  background-color: #F0EEE7;
  color: #08B07E;
}

#mainVisual {
  width: 100%;
}
#mainVisual .mv-swiper {
  width: 100%;
  height: 90vh;
  height: 90svh;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #mainVisual .mv-swiper {
    height: 60vh;
    height: 60svh;
  }
}
#mainVisual .mv-swiper .swiper-wrapper {
  height: 100%;
}
#mainVisual .swiper-slide {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-position: center 30%;
}
#mainVisual .swiper-slide.slide1 {
  background-image: url(./../images/top/slide-1.png);
}
@media screen and (max-width: 768px) {
  #mainVisual .swiper-slide.slide1 {
    background-image: url(./../images/top/slide-1_sp.png);
  }
}
#mainVisual .swiper-slide.slide2 {
  background-image: url(./../images/top/slide-2.jpg);
}
@media screen and (max-width: 768px) {
  #mainVisual .swiper-slide.slide2 {
    background-image: url(./../images/top/slide-2_sp.png);
  }
}
#mainVisual .swiper-slide.slide3 {
  background-image: url(./../images/top/slide-3.jpg);
}
@media screen and (max-width: 768px) {
  #mainVisual .swiper-slide.slide3 {
    background-image: url(./../images/top/slide-3_sp.png);
  }
}
#mainVisual .swiper-slide .mv-text {
  position: absolute;
  width: -moz-max-content;
  width: max-content;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #ffffff;
  text-shadow: 0 4px 4px #000000;
  font-size: 2.8rem;
}
#mainVisual .swiper-pagination {
  bottom: 16px !important;
}
#mainVisual .swiper-button-prev,
#mainVisual .swiper-button-next {
  width: 44px;
  height: 44px;
}
#mainVisual .mainVisual-text {
  padding: 10px 20px;
  font-size: 2.4rem;
}

#gifts .gifts-swiper {
  width: 100%;
}
#gifts .swiper-slide {
  width: 100%;
  height: 100%;
}

.c-post .c-post__list {
  list-style: none;
  padding: 0;
}
.c-post .c-post__list-item {
  padding: 0 0 10px 0;
}
.c-post .c-post__list-item-frontPage {
  margin-bottom: 20px;
}
.c-post .c-post__list-item-frontPage::nth-of-type(3) {
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .c-post .c-post__list-item-frontPage::nth-of-type(3) {
    margin-bottom: 20px;
  }
}
.c-post .c-post__list-item-frontPage a {
  border-bottom: 1px solid #877967;
}
.c-post .c-post__list-item a {
  padding: 10px 0;
  display: block;
}
.c-post .c-post__list-item-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .c-post .c-post__list-item-box {
    flex-direction: column;
  }
}
.c-post .c-post__list-item-box.frontPage .text-box {
  width: 100%;
  display: flex;
  justify-content: left;
  align-items: flex-start;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
}
.c-post .c-post__list-item-box.frontPage .text-box .news-list__date {
  margin-bottom: 0;
  padding-top: 2px;
}
.c-post .c-post__list-item-box.frontPage .text-box .news-list__category {
  margin-bottom: 0;
}
.c-post .c-post__list-item-box.frontPage .text-box .news-list__category .cat {
  padding: 4px 10px;
  background-color: unset;
  color: #47392A;
  border: 1px solid #FA3D0D;
}
.c-post .c-post__list-item-box.frontPage .text-box .news-list__title {
  position: relative;
  padding-right: 3em;
  margin-bottom: 0;
}
.c-post .c-post__list-item-box.frontPage .text-box .news-list__title::after {
  content: "＞";
  position: absolute;
  right: 0;
}
.c-post .c-post__list-item-box .text-box {
  width: 50%;
  padding: 0 20px 0 0;
  font-family: "Yu Gothic UI", "Yu Gothic", sans-serif;
}
@media screen and (max-width: 768px) {
  .c-post .c-post__list-item-box .text-box {
    width: 100%;
    padding: 0 0 20px 0;
  }
}
.c-post .c-post__list-item-box .text-box .news-list {
  line-height: 30px;
}
.c-post .c-post__list-item-box .text-box .news-list__title {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 10px;
}
.c-post .c-post__list-item-box .text-box .news-list__date {
  display: block;
  margin-bottom: 10px;
  font-family: "Roboto", sans-serif;
}
.c-post .c-post__list-item-box .text-box .news-list__category {
  margin-bottom: 10px;
}
.c-post .c-post__list-item-box .text-box .news-list__category .cat {
  color: #F0EEE7;
  background-color: #FA3D0D;
  padding: 6px;
  font-weight: 600;
}
.c-post .c-post__list-item-box .text-box .news-list__excerpt {
  margin-bottom: 10px;
}
.c-post .c-post__list-item-box .image-box {
  width: 50%;
  min-height: 350px;
  align-self: stretch;
  border: 1px solid #000000;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .c-post .c-post__list-item-box .image-box {
    width: 100%;
    min-height: 300px;
  }
}
.c-post .c-post__list-item-box .image-box img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.c-post .c-post__list-item-box .image-box img.no-image {
  max-width: 200px;
}
.c-post .c-post__thumbnail {
  width: 30%;
  max-width: 150px;
  height: 100px;
}
.c-post .c-post__thumbnail img {
  -o-object-fit: contain;
     object-fit: contain;
  height: 100%;
}
.c-post .c-post__text {
  padding-left: 20px;
}

#page404 {
  text-align: center;
}
#page404 a {
  padding: 10px;
  margin-top: 30px;
  text-decoration: underline;
  color: #47392A;
  display: block;
}

.home .our-service .service-box {
  position: relative;
  padding: 50px 0 150px 20px;
}
@media screen and (max-width: 768px) {
  .home .our-service .service-box {
    padding: 10px 0;
  }
}
.home .our-service .service-box .top-image-box {
  position: absolute;
  width: 22%;
  min-width: 150px;
  max-width: 250px;
  height: auto;
  top: 0;
  right: 50px;
}
.home .our-service .service-box .bottom-image-box {
  position: absolute;
  width: 22%;
  max-width: 250px;
  min-width: 150px;
  height: auto;
  bottom: 50px;
  right: 150px;
}
.home .our-service .service-box .top-person-image-box {
  position: absolute;
  width: 15%;
  min-width: 150px;
  max-width: 200px;
  height: auto;
  top: 28%;
  right: 20px;
}
.home .our-service .service-box .bottom-person-image-box {
  position: absolute;
  width: 15%;
  max-width: 65px;
  min-width: 65px;
  height: auto;
  bottom: 0;
  right: 28%;
}
.home .our-service .service-box .base-box {
  width: 55%;
  max-width: 650px;
}
@media screen and (max-width: 768px) {
  .home .our-service .service-box .base-box {
    width: 100%;
    max-width: unset;
  }
}
.home .our-service .service-box .base-box .text-box p {
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .home .our-service .service-box .base-box .text-box p {
    margin-bottom: 20px;
  }
}
.home .our-service .service-box .base-box .image-box {
  width: 80%;
  margin-top: 70px;
}
@media screen and (max-width: 768px) {
  .home .our-service .service-box .base-box .image-box {
    width: 100%;
    margin-top: 40px;
  }
}
.home .about .about-box {
  position: relative;
  padding: 0 0 600px 20px;
}
@media screen and (max-width: 950px) {
  .home .about .about-box {
    padding: 0 0 450px 20px;
  }
}
@media screen and (max-width: 768px) {
  .home .about .about-box {
    padding: 0 0 0 10px;
  }
}
.home .about .about-box .base-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .home .about .about-box .base-box {
    flex-direction: column;
  }
}
.home .about .about-box .base-box .text-box {
  width: 55%;
  max-width: 650px;
  align-self: start;
}
@media screen and (max-width: 768px) {
  .home .about .about-box .base-box .text-box {
    width: 100%;
    max-width: unset;
  }
}
.home .about .about-box .base-box .text-box p {
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .home .about .about-box .base-box .text-box p {
    margin-bottom: 20px;
  }
}
.home .about .about-box .base-box .image-box {
  padding-top: 3em;
  flex: 1;
  width: 30%;
  max-width: 300px;
}
@media screen and (max-width: 768px) {
  .home .about .about-box .base-box .image-box {
    width: 100%;
    margin-top: 40px;
    padding-top: 0;
  }
}
.home .about .about-box .bottom-box {
  position: absolute;
  bottom: 0;
  left: 7em;
  padding-right: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 950px) {
  .home .about .about-box .bottom-box {
    left: 10px;
  }
}
@media screen and (max-width: 768px) {
  .home .about .about-box .bottom-box {
    display: none;
  }
}
.home .about .about-box .bottom-box .image-box.left {
  width: 40%;
  padding-left: 50px;
  min-width: 200px;
}
.home .about .about-box .bottom-box .image-box.left.person img {
  width: 170px;
  margin: 0 auto;
}
.home .about .about-box .bottom-box .image-box.right {
  width: 60%;
  padding: 0 50px;
  min-width: 250px;
}
.home .works .works-box {
  padding: 0 0 0 20px;
}
@media screen and (max-width: 768px) {
  .home .works .works-box {
    padding: 0 10px;
  }
}
.home .works .image-box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .home .works .image-box {
    flex-direction: column-reverse;
  }
}
.home .works .image-box .image-lists {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin: 50px 0;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .home .works .image-box .image-lists {
    flex-direction: column;
    margin: 40px 0;
  }
}
.home .works .image-box .image-lists .image-item {
  width: 45%;
}
@media screen and (max-width: 768px) {
  .home .works .image-box .image-lists .image-item {
    width: 100%;
    margin-bottom: 20px;
  }
}
.home .works .image-box .image-lists .image-item .caption {
  font-family: "Yu Gothic UI", "Yu Gothic", sans-serif;
  font-size: 1.8rem;
  padding-top: 10px;
}
@media screen and (max-width: 768px) {
  .home .works .image-box .c-button__common {
    margin-top: 30px;
  }
}
.home .satte .satte-box {
  padding: 0 0 0 20px;
}
@media screen and (max-width: 768px) {
  .home .satte .satte-box {
    padding: 0 10px;
  }
}
.home .satte .image-box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .home .satte .image-box {
    flex-direction: column-reverse;
  }
}
.home .satte .image-box .image-lists {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin: 50px 0;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .home .satte .image-box .image-lists {
    flex-direction: column;
    margin: 40px 0;
  }
}
.home .satte .image-box .image-lists .image-item {
  width: 45%;
}
@media screen and (max-width: 768px) {
  .home .satte .image-box .image-lists .image-item {
    width: 100%;
    margin-bottom: 20px;
  }
}
.home .satte .image-box .image-lists .image-item .caption {
  font-family: "Yu Gothic UI", "Yu Gothic", sans-serif;
  font-size: 1.8rem;
  padding-top: 10px;
}
@media screen and (max-width: 768px) {
  .home .satte .image-box .c-button__common {
    margin-top: 30px;
  }
}
.home .news .h2 {
  text-align: center;
}
.home .news .h2::before {
  content: none;
}

.sidebar__logo {
  color: #000000;
}

.slug-service .h2 {
  font-size: 3.2rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .slug-service .h2 {
    font-size: 2.4rem;
  }
}
.slug-service .service-h2 {
  width: 600px;
  height: 600px;
  background-image: url(./../images/bg-home.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .slug-service .service-h2 {
    width: 100%;
    height: 100%;
  }
}
@media screen and (max-width: 768px) {
  .slug-service .service-h2.reform-top {
    line-height: 1;
  }
}
@media screen and (max-width: 768px) {
  .slug-service .service-h2 .h2 {
    padding-bottom: 6px;
  }
}
.slug-service .service-h2 .item-box {
  padding: 150px 50px 50px;
}
@media screen and (max-width: 768px) {
  .slug-service .service-h2 .item-box {
    padding: 60px 20px 20px;
  }
}
.slug-service .service-h2 .item-box .line-img {
  position: relative;
  width: 75%;
  margin: 0 auto;
}
.slug-service .service-h2 .item-box .line-img::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #f8f6f2;
  transform: scaleX(1);
  transform-origin: right;
  transition: transform 1.5s ease;
}
.slug-service .service-h2 .item-box .image-box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 30px;
}
@media screen and (max-width: 768px) {
  .slug-service .service-h2 .item-box .image-box {
    padding: 10px;
    max-width: 330px;
    margin: 0 auto;
  }
}
.slug-service .service-h2.is-active .line-img::before {
  transform: scaleX(0);
}
.slug-service .service-h3 .h3 {
  text-align: center;
  color: #08B07E;
  margin: 50px 0;
  font-size: 2.4rem;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .slug-service .service-h3 .h3 {
    font-size: 2rem;
    margin: 20px 0;
  }
}
.slug-service .service-h3 .text-box p {
  line-height: 2;
  color: #2e2e2e;
  margin-bottom: 20px;
}
.slug-service .gifts .text-box {
  line-height: 2;
  color: #2e2e2e;
}
.slug-service .gifts .swiper-gifts {
  padding: 40px 0;
}
@media screen and (max-width: 768px) {
  .slug-service .gifts .swiper-gifts {
    padding: 20px 0;
  }
}
.slug-service .staff .h2 {
  padding-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .slug-service .staff .h2 {
    padding-bottom: 20px;
  }
}
.slug-service .staff .staff-box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .slug-service .staff .staff-box {
    flex-direction: column;
    margin-bottom: 20px;
  }
}
.slug-service .staff .staff-box .image-box {
  width: 220px;
}
.slug-service .staff .staff-box .text-box {
  padding-left: 30px;
  flex: 1;
}
@media screen and (max-width: 768px) {
  .slug-service .staff .staff-box .text-box {
    width: 100%;
    margin-top: 20px;
  }
}
.slug-service .staff .staff-box .text-box p {
  padding-bottom: 20px;
  font-family: "Yu Gothic UI", "Yu Gothic", sans-serif;
}
.slug-service .staff .staff-box .text-box .post {
  font-size: 1.4rem;
}
.slug-service .staff .staff-box .text-box .post .name {
  font-size: 1.8rem;
  font-weight: 700;
  padding-right: 1em;
}
.slug-service .staff .staff-box .text-box .licences .licence {
  font-weight: 600;
}
.slug-service .staff .staff-box .text-box .zayu {
  border-top: 1px solid #000000;
}
@media screen and (max-width: 768px) {
  .slug-service .staff .staff-box .text-box .zayu {
    border-top: none;
    border-bottom: 1px solid #000000;
  }
}
.slug-service .staff .staff-box .text-box .zayu .zayu-title {
  font-weight: 600;
}

.slug-company .company-h2 {
  position: relative;
}
.slug-company .company-h2 .h2 {
  color: #47392A;
  z-index: 10;
  font-size: 3.2rem;
}
@media screen and (max-width: 768px) {
  .slug-company .company-h2 .h2 {
    font-size: 2.4rem;
  }
}
.slug-company .company-h2 .image-box {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 70%;
}
@media screen and (max-width: 768px) {
  .slug-company .company-h2 .image-box {
    width: 100%;
    max-width: 350px;
  }
}
.slug-company .greeting .greeting-box {
  margin: 100px 0 50px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .slug-company .greeting .greeting-box {
    margin: 30px 0;
    flex-direction: column;
  }
}
.slug-company .greeting .greeting-box .image-box {
  width: 300px;
  align-self: start;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .slug-company .greeting .greeting-box .image-box {
    align-self: center;
  }
}
.slug-company .greeting .greeting-box .text-box {
  flex: 1;
  padding-left: 50px;
  line-height: 2;
  color: #2e2e2e;
}
@media screen and (max-width: 768px) {
  .slug-company .greeting .greeting-box .text-box {
    width: 100%;
    padding: 30px 0;
  }
}
.slug-company .greeting .greeting-box .text-box p {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .slug-company .greeting .greeting-box .text-box p {
    margin-bottom: 10px;
  }
}
.slug-company .greeting .greeting-box .text-box p.sign {
  width: 250px;
  margin: 0 0 0 auto;
}
@media screen and (max-width: 768px) {
  .slug-company .greeting .greeting-box .text-box p.sign {
    width: 200px;
  }
}
@media screen and (max-width: 768px) {
  .slug-company .philosophy .company-h2 .image-box {
    top: -30px;
  }
}
.slug-company .philosophy .text-box {
  margin: 150px 0 50px 0;
  line-height: 2;
  color: #2e2e2e;
}
@media screen and (max-width: 768px) {
  .slug-company .philosophy .text-box {
    margin: 80px 0 30px 0;
  }
}
.slug-company .history {
  margin: 150px 0 120px 0;
}
@media screen and (max-width: 768px) {
  .slug-company .history {
    margin: 50px 0 30px 0;
  }
}
.slug-company .history .company-h2 {
  margin-bottom: 150px;
}
@media screen and (max-width: 768px) {
  .slug-company .history .company-h2 {
    margin-bottom: 100px;
  }
}
.slug-company .history .company-h2 .image-box {
  top: -70px;
}
@media screen and (max-width: 768px) {
  .slug-company .history .company-h2 .image-box {
    top: -40px;
  }
}
.slug-company .history .history-box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 50px 0;
}
@media screen and (max-width: 768px) {
  .slug-company .history .history-box {
    flex-direction: column;
  }
}
.slug-company .history .history-box .image-box {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .slug-company .history .history-box .image-box {
    width: 100%;
  }
}
.slug-company .history .history-box.row-reverse {
  flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  .slug-company .history .history-box.column-reverse {
    flex-direction: column-reverse;
  }
}
.slug-company .history .history-box .text-box {
  width: 50%;
  padding: 0 50px;
  line-height: 2;
  color: #2e2e2e;
}
@media screen and (max-width: 768px) {
  .slug-company .history .history-box .text-box {
    width: 100%;
    padding: 20px 0;
  }
}
.slug-company .history .history-box .text-box .year {
  padding-bottom: 20px;
}
.slug-company .history .history-box .text-box .year span {
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 1.6;
  padding-right: 1em;
}
.slug-company .overview .company-h2 .image-box {
  top: -30px;
}
@media screen and (max-width: 768px) {
  .slug-company .overview .company-h2 .image-box {
    top: -10px;
  }
}
.slug-company .overview-box {
  margin-top: 100px;
}
@media screen and (max-width: 768px) {
  .slug-company .overview-box {
    margin-top: 50px;
  }
}
.slug-company .overview-box table th, .slug-company .overview-box table td {
  line-height: 3;
}
@media screen and (max-width: 768px) {
  .slug-company .overview-box table th, .slug-company .overview-box table td {
    line-height: 1.6rem;
  }
}
.slug-company .overview-box table th {
  width: 10em;
}
@media screen and (max-width: 768px) {
  .slug-company .overview-box table th {
    width: 100%;
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .slug-company .overview-box table td {
    display: block;
    padding-left: 3em;
    line-height: 1.6;
  }
}
.slug-company .access .access-box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .slug-company .access .access-box {
    flex-direction: column;
  }
}
.slug-company .access .access-box .text-box {
  color: #2e2e2e;
  flex: 1;
  padding-right: 80px;
}
@media screen and (max-width: 768px) {
  .slug-company .access .access-box .text-box {
    padding-right: 0;
  }
}
.slug-company .access .access-box .text-box .car-icon {
  font-size: 1.8rem;
  padding-left: 50px;
  margin-bottom: 20px;
  position: relative;
}
.slug-company .access .access-box .text-box .car-icon::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background-image: url("./../images/company/car.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.slug-company .access .access-box .map-box {
  width: 60%;
}
@media screen and (max-width: 768px) {
  .slug-company .access .access-box .map-box {
    width: 100%;
    margin-top: 30px;
  }
}
.slug-company .access .access-box .map-box .map {
  position: relative;
  padding-top: 56.25%;
  height: 0;
  width: 100%;
}
.slug-company .access .access-box .map-box .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.slug-works .message {
  color: #2e2e2e;
  line-height: 2;
}
.slug-works .message-box p {
  margin-bottom: 20px;
}
.slug-works .works-box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 30px 0;
}
@media screen and (max-width: 768px) {
  .slug-works .works-box {
    flex-direction: column;
  }
}
.slug-works .works-box .text-box {
  flex: 1;
  padding-right: 30px;
  line-height: 3;
  font-family: "Yu Gothic UI", "Yu Gothic", sans-serif;
}
@media screen and (max-width: 768px) {
  .slug-works .works-box .text-box {
    padding-right: 0;
    padding: 20px 0;
  }
}
.slug-works .works-box .text-box .title {
  font-weight: 600;
  font-size: 2rem;
}
.slug-works .works-box .text-box .category {
  padding-bottom: 10px;
}
.slug-works .works-box .text-box .category span {
  background-color: #94C58B;
  font-weight: 600;
  padding: 2px 6px;
}
.slug-works .works-box .text-box .text {
  line-height: 1.6;
}
.slug-works .works-box .image-box {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .slug-works .works-box .image-box {
    width: 100%;
  }
}

.slug-satte {
  color: #2e2e2e;
}
.slug-satte .h2 {
  font-size: 2.4rem;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .slug-satte .h2 {
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .slug-satte .satte-main .l-wrap {
    padding: 0;
  }
  .slug-satte .satte-main .l-m-tab-container {
    padding: 0;
  }
}
.slug-satte .hanare {
  line-height: 2;
}
.slug-satte .hanare .image-box {
  width: 80%;
  margin: 30px 0 0 auto;
}
@media screen and (max-width: 768px) {
  .slug-satte .hanare .image-box {
    width: 100%;
    margin: 20px 0;
  }
}
.slug-satte .project p {
  margin-bottom: 30px;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .slug-satte .project p {
    margin-bottom: 10px;
  }
}
.slug-satte .explain {
  width: 650px;
  margin: 0 auto 30px auto;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .slug-satte .explain {
    width: 100%;
    margin: 0 auto 10px auto;
  }
}
.slug-satte .dental-hanare .h2 {
  text-align: center;
}
.slug-satte .area-hanare .h2 {
  text-align: center;
}

.slug-contact .form .form-box .input-box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  font-family: "Yu Gothic UI", "Yu Gothic", sans-serif;
  line-height: 2;
  color: #000000;
  font-size: 2rem;
  margin-bottom: 30px;
}
@media screen and (max-width: 950px) {
  .slug-contact .form .form-box .input-box {
    flex-direction: column;
    margin-bottom: 20px;
    justify-content: start;
  }
}
.slug-contact .form .form-box .input-box .label-box {
  width: 15em;
}
@media screen and (max-width: 950px) {
  .slug-contact .form .form-box .input-box .label-box {
    width: 100%;
    margin-bottom: 10px;
  }
}
.slug-contact .form .form-box .input-box .label-box.textarea {
  align-self: start;
  padding-top: 4px;
}
.slug-contact .form .form-box .input-box .label-box label {
  padding-right: 4em;
  position: relative;
}
@media screen and (max-width: 950px) {
  .slug-contact .form .form-box .input-box .label-box label {
    padding-right: 3em;
  }
}
.slug-contact .form .form-box .input-box .label-box.required label::after {
  content: "必須";
  position: absolute;
  font-size: 1.6rem;
  line-height: 1.6;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  padding: 2px 4px;
  background-color: #FF09B5;
  color: #ffffff;
}
.slug-contact .form .form-box .input-box .field-box {
  flex: 1;
  max-width: 600px;
}
@media screen and (max-width: 950px) {
  .slug-contact .form .form-box .input-box .field-box {
    width: 100%;
    max-width: unset;
  }
}
.slug-contact .form .form-box .input-box .field-box.radio .wpcf7-list-item {
  margin: 0;
}
.slug-contact .form .form-box .input-box .field-box.radio .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 6px;
}
.slug-contact .form .form-box .input-box .field-box.radio .wpcf7-list-item label .wpcf7-list-item-label {
  width: 100px;
}
.slug-contact .form .form-box .input-box .field-box.radio .wpcf7-list-item label input {
  width: 20px;
}
.slug-contact .form .form-box .input-box .field-box input,
.slug-contact .form .form-box .input-box .field-box textarea {
  padding: 10px 2em;
  background-color: #ffffff;
  width: 100%;
}
@media screen and (max-width: 950px) {
  .slug-contact .form .form-box .input-box .field-box input,
  .slug-contact .form .form-box .input-box .field-box textarea {
    padding: 10px;
  }
}
.slug-contact .form .form-box .policy-area {
  font-family: "Yu Gothic UI", "Yu Gothic", sans-serif;
  color: #000000;
  line-height: 2;
}
.slug-contact .form .form-box .policy-area .policy-text {
  margin: 30px 0 50px 0;
  background-color: #ffffff;
  padding: 20px 40px;
  height: 200px;
  overflow-y: scroll;
}
@media screen and (max-width: 768px) {
  .slug-contact .form .form-box .policy-area .policy-text {
    margin: 20px 0 40px 0;
  }
}

.single-post {
  padding-top: 50px;
}
.single-post .c-post__list-item-box .text-box {
  width: 100%;
}
.single-post .c-post__list-item-box .image-box {
  display: none;
}/*# sourceMappingURL=style.css.map */